Hacker News new | past | comments | ask | show | jobs | submit login
My Mid-Career Job-Hunt: A Data Point for Job-Seeking Devs (philosophicalhacker.com)
319 points by luu 5 months ago | hide | past | favorite | 267 comments

It's alarming that there's an idea among a people -- possibly bay area -- that mid-career is six years of experience. You are your own worst enemy with that kind of belief. People reinvent themselves and their careers many times over a lifetime. It's hard to return to certain types of technical work but never impossible, especially for those who are sufficiently motivated. You will reach the limit of a pay scale, but everyone eventually does, in all professions.

I like the framing of a career into thirds of 15 years.

20-35: Find and build your skills/industries/networks and start to align that into a career. Don't be afraid to make mistakes to enhance learning.

35-50: Double down on the skills you have in the industry you know, build your personal brand, achieve your career goals.

50-65++: Give back to those earlier in their career, pay it forward, pass the torch etc.

With that framing in mind, mid career would be at least 15 years. I think what is interesting is most people underestimate how long their career is.

ps - I think the above notion is loosely based on a book I probably didn't read completely []

[] https://www.slideshare.net/BrianFetherstonhaugh/the-long-vie...

I think in "our" line of work you tend to see at most 30-some year olds actually talk about the job; I don't know what happens to people in the tech industry beyond that, they seem to have a lot less "presence".

Mind you, maybe there's just less of them because access to education and work in tech has improved so much over time?

We hear from 50+ tech people fairly often around here. For the most part, they don't seem to have careers that are all that different from the 30+ crowd. After all, they saw the same technological changes from 44 to 54 as people in their 30s saw from 24 to 34.

computers have been taking over the world for decades. so over the past several decades the demand for programmers has increased a great deal. this means that older programmers are going to remain in the minority for as long as computers keep taking over everything, because as the demand keeps increasing, every new generation of programmers will be larger than the one before.

I think most people in SWE jobs by the time they hit their late 20s move to engineering management, product management, or burn out.

While I agree that many switch onto adjacent roles, most SWEs do not do it by late 20s.

Do you have any citations for that?

Can we agree this idea of a "personal brand" is both harmful and oxymoronic? You are a person, not a product. You have a reputation. This is like adding fuel to the idea that management should look upon the people who work for them as "resources".

Can't agree, sorry. Hear the critique of the abstraction but there is a reason it exists, and to deny is to deny reality.

"Personal brand" is just another way of saying "personality, but online."

It is the nature of intelligence itself to distill and compress complex, messy stimulus/data/phenomena into shorthand. One must recognize that this is what people do when interacting with oneself, both f2f and online.

This is especially important now, given that digitally intermediated interactions will dominate the landscape for the duration of the epidemic.

People have all kinds of built-in ways of modulating their personality for f2f interactions. It is essential that they translate these to digital space.

It's one of those terms that sounds like fingernails on a blackboard to me. Probably because many of the people who use the term a lot have other annoying characteristics. But, for many, their (online and otherwise) reputation/personality is a real and important thing.

Agree completely, both wrt the grating-ness of the terminology and of its profiteers.

If this is all about online expression, why borrow something from advertising with this horrid neologism, then? We can use regular english, like "persona". We don't need this, and I think it's harmful.

I hear you. "Brand" itself is a horrible term and the awful connotations of course go way beyond advertising.

But if whatever this term should be were a horse, it left the barn ridden by "personal brand" a long time ago.

I don't discount the success of terminological improvement movements- for pronouns, most notably- but a compelling story about disadvantage -> solution -> improvement to create an alternative remains to be told, at least from my perspective.

"Persona" is not the solution. It's creepy, imprecise, and unownable. It needs to be able to become a term of art.

"Profile" also unusable, is taken for dating.

"Avatar" I think is successful, but incomplete.

Part of the problem is that the "branding" platforms are themselves universally awful, both in being hard to use, and in failing to elevate their users. It is never more clear that one is working for the machine than when one is configuring one's "profile" in LinkedIn.

It definitely seems like there is room to create a successful professional platform, with a named product- like "Highlights"- and that term could take over for "personal brand."

If you have thoughts about it, please do it! We need it!

I’ve heard this referred to as Learn, Earn, and then Return.

I honestly think that 30 is going to be the new 20 for A LOT of people are going to start their careers after that, as people will need either re-education, or career changes due to changes in their previous industries. I know it's just anecdotal, but I know a ton of people in their mid / late 20's that are going into college now, because their old jobs either don't exist, or became downsized by automation.

That sort of progression still assumes that a person does stay more or less in the same space throughout their career. I know a lot of people (including myself) who have substantially pivoted in their careers multiple times.

Obligatory- this framing of Learn/Earn/Return is a good one, but this application of the model to age cohorts is fantastically unrealistic and outdated. Especially if you have/plan to have kids.

Unless you are exceptionally, unpredictably right place/right time lucky- I cannot emphasize how exceptional and unpredictable this is, and how much it depends on right place/right time and not on any unique attributes you possess- you will need to Earn for all of your adult life.

In order to do so you will also need to Learn for all of your adult life, in cycles that are far, far tighter than 15 years.

And you will benefit from Returning as soon as you are able. Even tracing and documenting your Beginner Mindset journey will be helpful for others.

Fair point, thank you for adding this. I grabbed the notion from memory, and I don't even know if the source mentions age cohorts.

I think it is fair in the context of the OP as a mid 20's developer, but agree wholeheartedly that it doesn't need to be applied with specific ages in mind, but rather more broadly across an adult life.

I feel like the bigger problem is that SV, or at least SF, is proving itself to declare programmers "over the hill" by 35. After all, if you're older than that then you're probably not willing to sacrifice 16-20 hour days to whatever CEO thinks he or she is sitting on the next unicorn.

Is it true you still need an "open source coding resume" by mid-career stage? I can understand using that to give you an advantage for entry-level roles, but by "mid-career" shouldn't your experience and achievements in past roles speak for itself? Or do companies still want to see engineers spending their spare time doing unpaid coding? By mid-career, many people have families to support, that they also would like to spend time with in their down time. Surely this is considered during the hiring process? I don't think I would want to work somewhere that expects a married with kids mid-level engineer to spend their weekends and nights contributing to open source, just to land their next job.

If your resume is a "yes" at first read, your GitHub projects won't matter.

Likewise, if your resume experience is a "no", they're not going to visit GitHub to change their minds.

Where it starts to matter is if your resume is a "maybe" on first read. If they're not quite sure if your experience is what they're looking for, they might make an effort to probe around your GitHub profile for extra information. Having even a few good commits easily accessible on GitHub can be enough to tip the scales to "yes" and move candidates on to the next stage in the interview.

> I don't think I would want to work somewhere that expects a married with kids mid-level engineer to spend their weekends and nights contributing to open source, just to land their next job.

It's a mistake to think that's it's mandatory. I've never met a real-world hiring manager who thinks that GitHub profiles are a requirement for good candidates.

Likewise, it's a mistake when people delay their job search or applications to build up a portfolio of side projects first. Realistically, most companies are never going to check your GitHub profile in the first place.

> Realistically, most companies are never going to check your GitHub profile in the first place

This is, in my personal experience, a sad truth.

I've been seriously looking for work for the past 6 months (thank you, Covid-19, for your disruption) and I'm surprised by the number of times I've started a phone interview with questions like: "tell me about your skills" ... has the interviewer not looked at my CV with its link to GitHub and various live projects I've done?

Yes I know engineers and interviewers are busy people with real jobs and deadlines and stuff. But I've been on that side of the table too. I've conducted plenty of interviews, online and face-to-face. Not researching the candidate before you talk to them or meet them ... that's just discourteous (in my view). Even 15 mins spent checking out the links they've supplied can give the interviewer a feel for the candidate's potential strengths and weaknesses and help the interviewer personalise the "standard" questions to better fit the candidates experiences.

Interviewing is an unpleasant task for everyone. Making the experience even a little less unpleasant can help everyone make better hiring choices at the end of the day.

I've done more than a handful of interviews as an engineering manager trying to fill team positions. I can tell you the question is not looking to find out what you've done so much as to find out who you are.

When I'm trying to fill a req I will usually get hundreds or thousands of applications, which get winnowed down to a dozen or so by the HR department, or system, or something. All of those applications have resumes that looks reasonable, so I have to whittle the stack down further to 3 or 4 prime candidates. Usually, on paper, any one of those applications look like they could perform the tasks assigned.

What I need to find out in the interview is if the applicant would fit the team, not if they could perform the task. The way you answer, they way you interact, the way you look up or look down when you're trying to recall how you solved a particular problem (phone interviews are crap, we've had good video conferencing for a decade or more), these are things I base my judgement on. These are mostly intangibles and if you've gotten as far as an interview with the hiring manager but fail to get an offer, don't assume you're not good enough. The manager might know the team are a nursery of primadonna asshats that manage to produce above average but some normie not as far up the spectrum would just quit in a week if they were thrown into that pen. It's happened.

Believe me, if you put a github account on your CV I've checked it. Also, if you haven't added one, you CV goes to the bottom of the pile. Now, tell me about what you've done.

Do you think this confirms the adage that in-person interviews succeed when the interviewer is socially attracted to the candidate, as opposed to when the candidate is merely qualified?

I have no doubt, and it explains the rice-pudding consistency of the industry.

I try consciously not to let that influence my decisions, but I'm human. I notice most of the teams I've worked on look and talk a lot like me.

> "... the way you look up or look down when you're trying to recall how you solved a particular problem"

Are you talking about NLP here?

has the interviewer not looked at my CV with its link to GitHub and various live projects I've done?

No one ever looks at anyone’s Github, that’s the dirty little secret of hiring. A decade ago having a Github account was a weak-to-medium strength signal. Nowadays pretty much everyone has one and most are filled with junk (I’m sure yours isn’t but no one has the time to pore over it). You would be much better off saying “I contributed features X and Y to well-known Open Source product Z” where Z is something from the job spec.

Out of the 20 interviews I had only one person mentioned seeing my GitHub profile, but I’ve got a feeling they did so because they were naive enough to still care about the humane side of the process. It was a very pleasant interview by the way.

To be fair, how the candidate responds to "tell me about your skills" during a verbal interview is often a lot more telling than the same information on the written CV.

I don't know about other candidates, but when I'm preparing for a phone interview I'll have spent time learning about the company and will have tailored the general questions I expect the interviewer to ask me to map closer to the job spec and the company ethos. It's nice when I mention skills I've used in various projects and the interviewer knows what those projects are because they've glanced through the links supplied in my CV/application.

As an interviewer, I'd hope the applicant has done similar work. If they haven't - or give me a stock response - I'd want to spend a couple of minutes probing their response with questions about how they used those skills in their portfolio work.

Asking about the skills they've developed while building their portfolio work as a first question generally (my personal view) helps break the ice, engage us both in the conversation and make for a happier rest-of-the-interview experience.

As an interviewer, I'd hope the applicant has done similar work

Especially in this market, unless you are, you’re not a special snowflake. You need them a lot more than they need you. Why would you expect them to put in any level of work pre interview?

My last two jobs where I was coming in because they needed my set of skills and I had three offers on the table and probably would have had at least one more of I had waited, yeah the company I worked for spent as much time selling me as I did them. They made sure that they moved fast and made an offer (less than two weeks from application to offer).

But, I’ve applied for my first role at a $BigTech. I started the process near the end of April. I had my first technical interview last week and the next rounds are probably not for two weeks. Who knows how long it will take them to make a decision. I would never have accepted that turn around at smaller companies. But $BigTech doesn’t need me to rescue a failing project or process like my last two companies.

It’s more telling you about how many interviews that candidate had done just before they picked up the call with you.

If it’s worth it for me to spend time on a phone screen, it’s worth it to re-read the resume and click on a github link. When I have, it’s mostly been junked—-forked repos with no changes or trivial college assignments.

A lot of the time you’re not reviewed in isolation. There is a stack of resumes and 5 of them are a yes, but there’s a budget for 2. Or you have roughly the same experience but demand a bit more money.

In all of those cases having a real provable thing they can anchor their decision on is a big win.

Anything in a resume can be suspect. Every time you describe something awesome you did at a previous job, there is “another side” - for example you built this microservice that scales this problematic thing and everyone was happy, but after you left there is not enough docs and now people are struggling to maintain it. Or you were great at code review and everyone really appreciated your input, but it turns out they were shy and didn’t tell it to your face, but complained about you behind your back.

Anyway open source work is a very clear way for someone evaluating you to have a concrete data point. It might not be accurate, but the interviewer will often perceive it as such. The old “a bird in the hand is worth two in the bush” kind of mentality.

But its more than that. People usually make it as a ”will this achieve my goals” kind of thing. You don’t do open source _just_ so you’ll get an additional interview. You do OS because you’re helping the global human understanding, you’re becoming a better, more helpful and knowledgeable dev, and because it’s your passion.

And if you are those things, it’s a great sign for the interviewer that you can be a good fit for almost any dev position.

This is not really my experience, having worked at a number of companies. Everyone's desperate to hire as many good engineers as they can find, there's rarely a week when two qualified candidates walk in the door. Maybe other job markets are worse, but IMO the real curse is that most resumes get only a cursory glance for buzzwords before a call is made.

I have always looked a projects, portfolios, etc. No exceptions. If it's on the cover letter or CV, it's the first thing I go to -- even before I've properly read the other things. Not many people have interesting projects or have spent the time to curate a good portfolio. When they do, I tend to want to interview them regardless of their CV. I realise that I am in the minority (and I think that's crazy, but whatever).

If you have some good content, then make sure you don't waste it. Some hints here:

- If you have a main project that you have contributed to, make sure to point it out. Don't make me search for it amongst a hundred abandoned projects.

-If you are not the only (or even the main) contributor on a project at this point, make sure to point out what you did work on so I can find it.

- If you have some small experiments that you are proud of, point them out to me and tell me why you are proud of it. Personally, I love things like this. For less experienced people, if it's "I did a tutorial and modified it a bit.", tell me that. But you really have to explain why that's important to you. How did it change your outlook on things?

- If you have blog posts, show me, but point out one or two that you think are relevant for the position you are applying for. I'm impressed by a hundred blog posts, but I'm not going to read them all. I will read (um... skim... sorry) one or two, though.

- The more engaging the presentation of your projects, the more likely I am to spend time looking through it. The more time I spend looking through your projects, the more likely you are to get an interview (with cushy questions about your projects!) I'm stupid. I don't understand sunk cost fallacy :-) If you intrigue me and I spend time on you, I will secretly be hoping that you pass the interview.

Disclaimer: I'm a contractor now. I haven't done any serious interviewing for about 5 years.

> Is it true you still need an "open source coding resume" by mid-career stage?

Who knows? Every company wants something different and most of them seem reluctant to provide that information up front, inexplicably. Maybe lead with “we expect to go over some of your code with you” or “we’ll be doing 2 hours of whiteboarding, but nothing above leetcode easy” or whatever. Every interview (outside certain major companies which are quite up-front about what they want) is a mystery until they spring it on you. Wish they’d fucking settle on one thing. Let’s all do open-source (would mean everyone would have to stop forbidding it, of course) or even all do leetcode. The guessing game interviews and scattershot prep requirements are draining and a waste of everyone’s time.

I think you hit the nail on the head. The various random things that can be thrown at you is incredible.

Add that to different personality requirements. Most want extroverts during the interview process but introverted after hired.

> The various random things that can be thrown at you is incredible.

From another perspective, that's a pretty apt description of a whole class of programming jobs. Maybe it's an accidental/unintended test for a thing that really matters...

Real engineering problems are solved over weeks of research, however, not binary pass-fail pop-quiz format.

You can be a good communicator and an introvert and nail a job interview.

The hurdle for introverts is usually that they feel anxiety (some of which is normal for a job interview!) and may not come across as well as they would in a more comfortable setting.

Extroverts feel anxiety too. A job interview is a situation with an inherent power asymmetry, which is no more comforting to extroverts.

You definitely don't need an "open source coding resume" at mid-career since you don't need it in an early career job hunt. You just need to LeetCode sigh

Pretty much. In mid-career you will probably need system design as well for the >L4 roles

I had a system design interview for my L4 interview @ Google, it seems pretty typical to.

Some time ago a senior recruiter at Google suggested to me that they would have waived some interviews if I had a famous open-source project on my resume.

Famous open source project > 10000+ likes.

I'll just open source my bot that gives my project 10k likes and call it a day

GitHub likes seem like such a volatile currency for competency entities.

> By mid-career, many people have families to support, that they also would like to spend time with in their down time.

I have never hired anyone, but anecdotally from a team lead dev who has hired a couple dozen people, that is the exact kind of thing they want to avoid.

If someone was a "star" working 90 hours a week in the past but now wants to work 40, they stop being the kind of "star" some companies want.

That team lead (and companies with similar thinking) need to learn that obsessive/workaholic devs are not more productive.

If coding consumes your paid and free time, you're generally not cranking out new CRUD features requested by the marketing team. You're doing pet projects, learning new languages, or getting lost in bikeshedding, like writing a new JS framework because you think the current list sucks.

That means your workaholic employee is burning out on things that don't help your company, and their actual paid work is probably a distraction from what they really want to be doing.

By contrast, someone experienced with a family and/or hobbies working 40h will often do their work well and have ways to detox from work problems before getting started again the next morning.

A lot of that is my anecdata, but hiring people who want work/life balance is working so well that those are the only devs I have (14 at the moment).

Generalizations galore on both sides? There are probably as many 40hr Devs that just want to phone it in as there are effective ones. It's possible youve learned to weed out the former but they do exist. Similarly I'm probably one of those Workaholics, but I make an active effort not to waste time. However I do work with good effective 40hr devs and I try to make sure that we are all on the same velocity. The remaining time I spend on pet projects for sure, but I do hope they are not a waste of time for someone, be it my personal growth or my company.

90 hour a week means that the person is either not sleeping enough. Sleep deprivation means you cant be performant fully. Or the person did not had a single free day in weeks while working 12 hours a day. There are the people who do stupid decision just out of being tired.

Just about the only way I have seen people work this much and not be overly tired drag was when significant bulk of time was spent socializing and playing around. Otherwise said, it was not actually work, but it was clocked in as work.

And at this point, there is enough evidence that crunch is productive for few weeks and then productivity fails.

Not sure where these numbers come from. I come from acadrmia. The expectation (and for the most part, reality) for someone in track to become a successful tenured professor is to maintain 80 hr weeks for a couple of decades if not longer. My professors maintain this still, it's how they live now. They have kids, but they had them when they're in their 40s after getting tenure. And they are not working below optimal intellectual abilities.

You would be surprised at what your mind can do if you want it to. I made the jump to tech from academia because while I was ready to do that insane work ethic I wasn't convinced that academia as it is today was worth it.

Turns out I can't just switch off this style of working though, and hence I end up working harder than I should. I'm not wasting my time though.

What I have observed though is when engineers who are in their twenties just Naturally go into an insane work ethic without mentoring on focus and time management typically waste their time. But it is possible to be 2-3x more efficient by increasing the hours you put in as long as you are smart about it. Many of the smartest people in the world do. Of course this should be a personal choice. 90 hours is a bit much though. 80 is probably the sustainable maximum for any normal human.

> 80 is probably the sustainable maximum for any normal human.

Not according to research. I know that academia features long hours. I never heard of academia as an example of efficiency through. Game industry is another hours high occupation (and the studies about crunch are from there).

Also, having kids after 40 is not exactly advisable for women. You are getting into risk category health vise.

People who work 80 hours a week and have children simply have spouse who does all childcare related work and career sacrifice (if they had career).

This was a couple lab, both professors were intense, but yes once they had a kid the husband started working from home more. But that didn't mean he worked fewer hours. We would typically take turns being on phone with him till 10 pm every day.

I'm not advocating it to anyone who hates this. I just want to say that I didn't mind it, I liked it as long as I was working on exciting things, and so did my professors and most other professors that I knew for that matter. My professors didn't have burnout or mental breakdowns, I didnt. Some of my labmates did though, and they quit.

I do not condone how my professors did things, they were abusive for sure. But that was fairly independent of the work ethic if you ask me. Most biology labs that went on to produce Nobel laureates or path breaking vaccines are similar.

Also please go revisit your literature on women having kids after 40. It's not nearly as bad as you might think it is.

> And they are not working below optimal intellectual abilities.

How would you know?

It's possible they could have been more efficient, but given what seemed to be their upper ceiling of intellectual abilities they seemed to be quite close to it. Conjecture of course.

> Similarly I'm probably one of those Workaholics

I was too, from the age of 16 to about 26. Burnout doesn't always happen quickly.

In my case, I was able to work 80-100 hrs/wk for months at a time. Eventually I realized that my one-dimensional life wasn't getting any more work done.

Your brain needs to recharge, which can mean sleep, daydreaming, paying attention to the drone of exercise, socializing, watching TV, or any number of things.

I replied above, but I think there are some distinctions - 80 is probably the barely acceptable sustainable max you can work in a week. More importantly it's not just working longer hours, extra hours need different mental management of that time to be effective, and I got those lessons from my professors during my PhD. Probably why I haven't burned out till now.

I'm somewhat amused at this rejuvenation of the age-old belief that folks who have this as a hobby are somehow maladjusted and burning out.

Fascinating. I think it was this early belief in the 90s and then the dotcom boom had the superstars and then the next wave had the next superstars and it shifted. Now it's shifted back. Wonder what shifted it.

Well, to my people out there, do not fret: there are still places to work where you work with other obsessives, there are still people who look for that in each other, and after 20 years of messing with computers I can tell you it is still joyful. You can do what you love and make a lot of money doing it. And in these places no one will judge you for loving the thing you work on so much you do it for fun as well.

You've missed my point entirely, which is perhaps a communication failure on my part.

I believe there are obsessive coders who will have lots of money/fun. Some will be valuable to their employers. No company should only look for these coders, which is the policy I was originally trying to refute.

It's much, much easier to find productive 40 hr coders than productive 80 hr coders. The ones coding for 80 hrs are often perfectionists, or they believe they're immune to burnout.

You yourself seem to believe that loving something enough means you can avoid burnout. You can't.

Burnout is part of our physiology. If you lose even small amounts of sleep for long periods of time, your performance falls off a cliff. What's worse is that you don't know you're not at your best.

Look at pro gamers. They love games enough to play them all day, every day, but they still suffer at the end of a long session.

As someone who has been in a team lead role and hiring for many years I can't imagine a more toxic viewpoint to team building.

Stars work 90 hours a week? Are they being paid hourly? Would you pay them hourly if they requested it and would you still think they were stars if you were?

You can find whatever type of company you want.

I find the complaining of most engineers incoherent. Until March or so, more than at any point in time, being a competent software engineer opened doors at thousands of companies. I expect we'll be back there within two years tops.

When you are looking for a job, ask the person you're talking to what expectations are. Ask the hiring manager how he or she defines success for the role. Ask every employee you speak to how much they work. You'll get your answer. Pick your employer accordingly.

ps -- at my 40-ish person startup, eng rarely work more than 45h/week. And we have plenty of parents. We do however make comparatively boring software sold to enterprises, and have trouble hiring in part because of that (imo).

It's worth noting that the opposite point of view is also true: in that case, they are not the company the "ex-star" would want to work for, either.

In my experience that expectation is not normal, except at startups -- and a lot of startups don't care either.

Most of the people I've interviewed and seen hired had not made any open-source contributions, and if they had side projects they didn't mention them.

I skipped our whiteboarding exercise with a candidate based on reading an original GitHub project of his.

I didn't notice him because of the project, I wouldn't have ignored him without the project but the repo gave me enough info to know he was capable. If he hadn't already done that, then we'd just have to go through some demonstration of programming ability.

It's been a few months and I'm ready to call this a win.

As a hiring manager it’s just an additional piece of information that can add to or enhance the resume in some cases. It’s not something that candidates should stress about or worry about in my opinion, and it’s hardly required. Most candidates have nothing of interest or true significance.

But in some cases we’ve certainly become more interested in a candidate because we were impressed with something on their GitHub profile.

I've done a fair bit of technical screening of candidates at various levels. In my experience, unless you have a big open source project that people actually recognise, it's not worth mentioning. All the companies I helped interview candidates for were much more interested in

1) Experience

2) Proven programming ability, almost always measured with tests

Companies all in the Netherlands in the last ~8 years, from smaller to international.

Not only open source coding resume, but also Leetcode-hard proficiency for entry-level jobs (not joking; ofc this is waived if you know the right people). Welcome to the insanity of contemporary tech industry!

BTW, almost nobody clicks on links in your CV.

I have clicked on github links in resumes many times, and I have yet to get impressed. Most of the time you‘d find empty repositories, some forks that were never touched, and other garbage, and hardly any activity. If you can‘t clean up your profile when submitting an application, just remove that link.

Stuff you can find in my resume are links like my own self-driving car, humanoid robot, music studio, links to software that was #1 on HN etc. Yet still almost nobody clicks on them :D Recruiters/HR/interviewers seem to be quite lazy and what is on the paper must be sufficient to convince them to give you a shot or make you likable enough.

I don't know about recruiters but I am interested! Would you mind sharing those links here?

Isn't most of it about having something public you can talk about and show your contributions for?

It's not a filter in and of itself, but almost all of your other experience will be proprietary and closed, and you can at best talk in generalities about problems you've solved. You can't evidence half of it.

Open source projects allow someone who's umming and ahhing to have something concrete to see whether or not you're selling them donuts. Certainly isn't a requirement though.

I think the going consensus is that your github etc does not matter if you can leetcode. However the equation might have changed drastically in the last 8 weeks as now there are number of laid off people searching while most companies have put hiring on hold.

Tangentially related point - I've had several recruiters contact me through my Github profile (I have my location on there). While I don't know if really it makes a difference having a link to it on your resume, it can be a source of opportunities.

> do companies still want to see engineers spending their spare time doing unpaid coding?

This is a festering rot in the core of the dev hiring process. Too many applications have a required field for your side projects before you've even gotten past the first page. The fact that this is being pushed by someone and enabled by some portion of devs is dangerous.

I am curious what counts for “mid career”, he started coding ~6 years ago. Presumably he is in his 20s.

Here him talking about leaving philosophy:


Edit: LinkedIn ~agrees with this estimate

I was also curious, as they didn't mention their age.

As the age of retirement is currently ~67 (depends on the country but unlikely to go down in the future) and we assume you start your career after college in your early 20s - let's say 22 - you get ~45 years of work.

Let's say the above is closer to a maximum than an average & "generously" go with a round 40 years of work; Then mid-career would be in your 40s.

mid-career isn't necessarily a single point

It could go: early career is first 5 years. Mid-career is the next 30 years. Late-career is anything after 35 years

There's no real definition of these terms so who knows

I suspect they are conflating mid-career with mid-level engineer. The latter would generally be around 6 years of experience.

A baseball player might well do something after the majors—coaching, announcing, hawking life insurance—but it’s still reasonable to talk about a “mid-career shortstop” six years in.

In baseball the average retirement age is 32, maybe slightly more recently - so yeah, 26-27 is "mid-career". For your analogy to work, there would have to be no programmers that are 60years old, and very few that are above 40.

What percentage of people whose job duties are entirely or almost entirely programming would you say are: <40, 40-60, >60?

Don't know - and I suspect it's heavily dependent on location.

Also, if I may add, it's heavily influenced by "production" of programmers (it's really not that old of a job, 40 years ago not that many programmers were graduating from university, compared with 10years ago). Also in the case of my country it's heavily influenced by emigration (basically everybody older than me who could emigrate, did; I'm one of the first generations where it made _some_ sense to stay in the country if you were a programmer).

I definitely agree that programmers tend to skew young. But both in my current & previous companies I've worked with plenty "old" programmers - 32 is definitely not retirement age, as it is in baseball. But yes, I also admitted that many tend to move to management, too.

Ageism in tech is well-established and widely reported. If you're too old for the game by the time you reach 40, your mid-career does indeed fall somewhere in your late 20s/early 30s.

“Well-established and widely reported”: is it actually? Yes, I’ve also seen the anecdotes on HN, but I am conscious of the survivorship bias, never mind HNs overall bias towards the US/Bay Area. You might never hear from developers in their 40s and 50s who have found a job easily and don’t bother participating in such discussions. Any statistics available on age and time in current role for SDEs, preferably spread geographically?

It depends a lot on the company culture. You can find startups where they intentionally look for you people who are excited about joining their first startup. Generally they can pay these people less and give them equity.

You can also find older established companies that prefer someone with 10+ years experience in their specific industry.

There is also the issue of company hierarchy. After 10 years of experience do you want to be the lowest person within the company hierarchy. Does a company want someone with 15 years experience being told what to do by a manager with 7 years experience?

The CEO is rarely the oldest person in a large company. So some age inversion is going on.

A more reasonable comparison is how old the tooling is between industries. The rate of change in the web front end world is vastly faster than C, so having someone with 20 years of experience in each means very different things across industries.

I've noticed that while this is true, age discrimination against older job applicants in a company does correlate to the age of the CEO though.

It seems that everybody in management feels more "comfortable" hiring subordinates that are younger than themselves (perhaps because age/experience is a threat to their implied authority), so the younger the CEO is on average, the younger the other C level execs will be, etc. all the way down to the bottom ranks.

If you keep your skills sharp, marketable, and maintain a good attitude, you can get a job at any age. I was a tech recruiter for 9 years, and I saw a lot of older candidates get rejected. The reasons they go rejected usually came down to trying to sell themselves on years of experience & coasting on work they had done many years ago.

Here are some examples:

- if I ask you to tell me a story about cool work you'd done, and the most recent story you can come up with is from 14 years ago, I'm going to ask you come up with a more recent example

- if you try to sell me on your 20 years of experience, I'm going to ask you what someone with 20 years of experience can do that someone with 5 years can't do

- if you've worked on an older technology for N years and want me to hire you for a modern web development job, trying to selling on how you can learn it is not going to convince me that you want to do it, so when I ask you to show me something you made in something that people actually use these days, I need to see more than a badge you earned on Codecademy

- When you try to apply for a development job, I expect you to be a developer now, so if you look like you've been a manager for 10 years, and I ask when the last time you wrote code was, last night is a better answer than last decade

- If you want a premium salary, you need premium skills

Indeed. One needs to have an exit strategy for after 40s.

In this case, early 30s would be mid career.

Am a programmer. Mid 40s, switched jobs to a better one not long ago(was headhunted/didn't actively look for it). Still coding, don't really plan to stop soon.

I guess it depends for everyone, and yes lots of people prefer to go into management, but it's not compulsory by any means.

I'm in the mid-40's, though I went the management route because that's what I enjoy. I recently interviewed at MS and a couple FAANGs and was very happy to see that all of them had people older than me as core members of their tech teams. Now, on the startup side of things, I'm pretty sure I had domain names older than nearly all of my interviewers.

same here. I do feel a little embarrassed sometimes that i am being manager by someone 10 yrs younger than me. I have to remind myself to no think like that.

Not sure if its cultural/genetic to feel like that or what.

You should remind yourself that a good manager is there to support you/ make your job easier and more relevant. A manager is not your master. No manager is embarrassed to have an assistant younger than them, so neither should you be about having a younger manager :)

Yes, there's the small "problem" that unlike an assistant, the manager also gets to decide your compensation... but you don't want to be working for managers that look for yes-men. There's no winning in that position, those kind of persons are seldom competent and will only drag you down; better find out sooner than later, and move out.


44, write code every day and don't intend to stop any time soon.

>For the past 5 years, I hoped I was going to be a philosophy professor

Assuming he goes to university or somewhere. Because most people find it boring he should have chosen history, latin, or simply other humanities subjects. How does one even jump from tech to humanities anyways???

> How does one even jump from tech to humanities anyways???

when you're the type of person who likes to question everything and who wants to build things to make the world a "better place", then switching to humanities with a tech foundation is a good option. It can be very dangerous though. One is at risk of undoing all the previous conditioning (which costed a lot of time and money) and bring oneself to realize that it takes more than just "an idea for an app", or VC funding to actually contribute to society in a lasting and non-fraudulent way. It also might anger your colleagues who will never admit that they've been conned, drank too much of the corporate/academic kool-aid, and besides nobody likes people swimming against the stream especially when the reward isn't monetary and has even got high potential of working against you in the short term financially. How dare those damn fools who want to be better engineers and also better humans by widening their world-view!

Making lots of money is how society tells you what contributions it realy values.

A big part of the rest is empty talk. It's easy to say that we value eg teachers or nurses or janitors. Doesn't make us pay them more.

That’s not true. Getting laid is. The economy is for the benefit of your master, not you.

Artists have far more sex than programmers do. It’s called natural selection.

> Making lots of money is how society tells you what contributions it realy values.

No, not in the case of humanities (or almost any other field) in academia.

The problem with his first career choice, philosophy, is that jobs are incredibly scarce. It's not that they pay too low and no one wants to work as an academic. There are simply far too many candidates for not enough slots.

> No, not in the case of humanities (or almost any other field) in academia.

Are you sure about that? Perhaps society doesn't value them much? (I know I don't. The humanities make for great and fulfilling hobbies, sure. Doesn't mean we need to pay people for their hobbies.)

> Doesn't mean we need to pay people for their hobbies.

Well, you don't have to pay anyone for their hobbies.

The salaries for full professors in the humanities (or even STEM fields) can be anywhere from pathetic to half-decent. But that's not why people pursue a career as a professor. These are smart folks, they realize that the chances are slim for staying indefinitely in academia. Many try and many fail. They often to move on to other fields, just like physics and mathematics graduates. It's OK.

No. It’s how the economy tells you what is valuable. Economy != society. In fact (in the US) we have a terrible economic system right now for our society, but it seems to be better than anything else that’s been tried for large modern nation states.

Oh, far from it.

There are much more successful economic systems around than the US one.

America oddities like government mortgage guarantees, or federal deposit insurance, or licensing for interior designers are not necessary, and in fact not good for the economy. Neither are pervasive price controls.

The US would do better, if they moved to a more market based economy.

FYI I’m not talking about the narrow spectrum of more socialist to more free market republic/democratic capitalism. There’s plenty of details to debate there of course.

I mean general range of human experiments in how to structure society: monarchy, feudalism, religious state, empire, full socialism/communism, fascism, etc...

Oh, sure.

Giving federalism a serious try might be interesting. So that you actually have 50 different governments in the US to fuel experiments.

> How does one even jump from tech to humanities anyways???

Why would that be impossible or shocking? Most people are able to learn multiple different things and have interest in multiple different things.

Universities typically allow you to take courses from different topics too.

>Universities typically allow you to take courses from different topics too.

But in America I don't think you can do that, some families don't have the privilege to spend so much money on somebody to get a bachelor in philosophy and then have no jobs afterwards.

My understanding is To get a US degree you have to take courses outside your main topic unlike the UK

I graduated with a History degree in 2008. Had zero job success, a couple of years later went to a tech school for 2 year Computer Engineering Technologist diploma, the rest is history.... no, wait, the rest is programming.

I look at that resume and I wonder if it didn't hurt more than it helped; it's form over function, and a bit corny. The fact that he got multiple offers in two months shows how strong the software job market is.

I'm several years younger, but a staff-level hardware engineer at a second tier company (top tier being FAANG). I've had an incredibly difficult time jumping companies --- 2 years and counting. Despite being twice promoted since graduating with my PhD, most recently this past review cycle, I have yet to get past the first interview stage* with a top tier company, even with close friends at those companies referring me. It's quite frustrating and I wish I knew what the successful candidates had that I didn't.

* Note that for hardware engineering, the initial interview is a meet-and-greet with a technical question or two, so more laid back

It sounds like something about how you come off in interviews throws off red flags to the person interviewing you. Maybe you're too arrogant, not arrogant enough, not driven enough, etc. Most top tier companies will give you a list of personality qualities they are looking for that they expect you to show in the initial interview. I'd recommend doing a mock interview with someone you trust who has hired people to see what they can discern.

> Maybe you're too arrogant, not arrogant enough

For all the criticism hacker news gives whiteboard algorithm interviews, those at least are testing performance under pressure for a skill related to the job. Arrogance is a bigger problem in interviews. What comes off as confidence in an interview might come off as asshole at work.

"testing performance under pressure"

What kind of companies are these that their engineers need to write perfect code under severe (i.e. on the order of minutes) time constraints? Are they constantly opening sockets for Jack Bauer?

The only whiteboard questions I find useful as an interviewer are the super-easy ones that weed out the bozos who have somehow slipped through the initial filter. Things like "can you write a SQL join".

What I find most predictive are conversations with candidates about how they evaluate tradeoffs, approach system design, what do you do when you get stuck? Typically if they can pass the bozo filters and talk cluefully about these things, they will likely be a productive coder on straightforward applications. Which is most applications; many companies vastly overestimate the inherent complexity of their products.

>What kind of companies are these that their engineers need to write perfect code under severe (i.e. on the order of minutes) time constraints?

I, oddly, had to do that once in my career although I had an hour or so. Retail advertising, Cyber Monday, data pipeline is backing up severely, advertising budgets aren't updating, only other data person I can reach is drunk. Bottlenecking code is written in perl. I don't know perl. And no real testing environment. Very stressful hour of my life.

edit: Of course, such things happening often enough to note are generally a symptom of bad process and management, probably a lot of technical debt as well. So generally a workplace to avoid.

But you know? Do you ask a plumber to show you how to connect tubes, before hiring him?

Whiteboard interviews aren't even real life situations.

> Do you ask a plumber to show you how to connect tubes, before hiring him?

If the previous two plumbers I'd hired had turned out not to know how to connect tubes... yeah, I might.

This seems a bit unfair, as I don’t ask the plumber likely because of trade skills being centrally licensed and regulated. Presumably if they are licensed to do the job someone else has already done the vetting - which makes sense especially for consumer-focused skills where the consumer might not be able to perform an adequate vetting.

I understand the core idea of your comment, regarding the utility of whiteboard interviews to assess skill. Irrespective, vetting is a part of many skilled jobs. The difference in the analogy and software being whether a centralised institution (Licensing body) or each company does that vetting.

Presumably if they are licensed to do the job someone else has already done the vetting

That’s true but it’s also true that a candidate may have had previous jobs at a string of reputable companies, and yet that “vetting” is completely ignored and it’s back to square one.

Not to mention that a degree from a reputable university also doesn’t count. Maybe it gets them past the HR screen but no interviewers seem to believe that a degree let’s you skip the whiteboard.

Your first paragraph is all too true from personal experience. Last week I was phone interviewing a candidate who, by resume and our first 5 minutes of conversation, I knew would pass the standard coding problem we had prepared.

Felt like a waste to “vet” then, as the signal that they were a good candidate was already there.

On the other hand, getting a CS degree showed the need for additional vetting, in my experience. I saw many students who hadn’t really learned to code, and only a handful of students learned to write industry-level code.

A degree from a reputable university doesn't count in _any_ profession (ok, that's hyperbolic - it certainly counts for something in run-of-the-mill office jobs). Even doctors, lawyers, actuaries, accountants, etc. have to prove they are capable to a central authority before they can work.

I wasn't trying to have another instance of the whiteboard interview debate. My point was about arrogance and how we should give it more attention as a bad signal than we do.

definitively. Arrogance is a major red flag

You should ask your interviewers after-the-denial, explaining that you would like to understand what they would like to have seen so you can continue to prep/grow. At worst, it'll be slightly awkward (doing this via email can help mitigate that) and/or they may ignore your request. At best, they may be impressed by your grace and interest in growth (never know how things will play out--you may be their second choice and hear from them again some day).

But, really you just want honest answers and most would understand that (as most can relate to your situation). As an interviewer, I'd be more than happy to explain if anyone asked me. But, now that I think of it, I don't believe anyone ever has.

> It's quite frustrating and I wish I knew what the successful candidates had that I didn't.

Have you asked your close friends or your coworkers about this?

As a hiring manager, I liked that his cover letter spoke to the job and his qualifications for it. A "form" cover letter is worse than none, IMHO. For the resume itself, I didn't like that 1/3 of it was the corny sentence, especially since it was on the cover letter, too.

That said, he did a pretty good job highlighting his experience, which is far more important than a fancy resume. In my most recent job search, I had 4 interviews, and for three of them, the interviewers were holding printouts of my LinkedIn profile, not my meticulously edited and formatted PDF resume. Good thing I gave my LinkedIn profile the same treatment!

Regarding your own opportunities, there's nothing like experience, though hardware seems to generally require more years than software.

The market is very strong, but at the same time every single company insists on the hazing and crazy algorithm grilling. We should start accepting that not every company is FAANG, not every company is solving FAANG hard problems, and not every programmer belongs to the 0.001% best

Except even at those companies, the actual day to day work is pretty straight forward. What we really need are engineers who can produce well thought out designs, and write quality code that is easy to maintain. Unfortunately, the emphasis on tech interviews is on algorithmic questions, possibly due to desire to reduce candidate pool size, and the fact that design output are somewhat harder to quantify.

When I was looking for opportunities in Europe (specifically tech hubs - Berlin, Munich, Dublin, Amsterdam but not London) few months back, I had cold-applied on the respective Company portals to about 100-120 different Software Dev roles.

My resume was definitely good enough to be pass the HR screening at Google/Amazon/Microsoft (as they did get selected locally), and yet the ones that I heard back from and agreed to give me a phone screen numbered in single digits (about 8 - Uber, Stripe and a few more). I was also in the high-skilled category and wouldn't have a problem getting the respective visas. And I did not clear for even 1 onsite. It's just that the competition is just greater these days.

Is Europe different than the US /UK I would not normally consider applying direct to a tech company in the UK as almost 100 % of roles are via a recruiter.

Could it be that you are overqualified?

How was your PhD experience, do you think it has helped your career considering the opportunity cost?

For most programming jobs, the salary for "no industry experience, PhD" is lower than the salary for "4 years industry experience, college degree"

So it's not a big moneymaker. But it's certainly not the biggest financial hit you can take in life; having children will cost you a lot more and loads of people do that.

If you look at lifetime salary surveys, you'll find people with doctoral degrees earn more - and some people will say even if a PhD doesn't boost your salary on the day of graduation, your salary will rise faster and higher than your peers. But that could easily be confounded by the fact you've got to have good grades, or ambition towards fancy titles, in order to get a PhD.

There are exceptions, of course; if you want to become a professional academic, if you target a job at a company's research division and choose your research accordingly, or if moves you into a new immigration status. There's no doubt the likes of Chris Urmson and Anthony Levandowski made a lot of money on the back of their PhDs.

Not over-qualified (see other posts). At this point in my career, a PhD has been a net financial loss even though I managed to graduate in four years. The jobs are more interesting though. I wouldn't recommend it, honestly.

Do you have more terminal career optionality though? It feels like a PhD should be at least relatively valuable as a promotion signal, or are you arguing the 4 years of lost work experience outweigh any positives (ignoring debt and foregone income).

I had a recruiter specifically ask me to use a similar style CV with very long descriptions. I guess when companies brag about having non-technical managers (and other gate-keepers) this is the key to getting the job. I did get an offer, only to later be canceled due to too many contractors in the company (above legal limit).

> It's quite frustrating and I wish I knew what the successful candidates had that I didn't.

If you can ask your friends in top tier companies to give you a practice interview and give you feedback, I highly recommend it.

>I'm several years younger

The author looks 20 years old.

> I wish I knew what the successful candidates had that I didn't

It's not what they had, it's what they didn't... unless you're going heavy into research, I would recommend NOT getting the PhD until you hit 45+.

Hardware development jobs are PhD-only in my field (some older people get grandfathered in with an MS, but this is rare). These are not research-y jobs

Out of curiosity, what field is that?

MEMS (micro-electro-mechanical systems). Examples include the accelerometers in your smartphone

Much lower opportunity cost to a PhD if you're foregoing 4 years of a 20-year-old's wages, and you're used to the student lifestyle, than when you're foregoing a 45-year-old's wages and you've got a house and family.

> hardware engineer

Software's different because you can hire-fast & fire-fast. Unless you have broken processes and incompetent people surrounding the new hire, you can easily determine if they're good enough. Hack, it's even worth it to hire 2 devs for everyone you need and fire the worst performing one in a few months (flip a coin if they're pretty equal and can't afford them both).

Easier to get fired, easier to get hired. Churn and less from your employer giving a f about your career development. Every industry has its patterns.

Actually, imo the worst thing you can do as a software tech-lead is to structure your processes and projects so that hire-fast-fire-fast is no longer viable, do things so that your software is more like hardware - this is a sure way to inevitably kill the company/department you work for while "doing good work"...

> Hack, it's even worth it to hire 2 devs for everyone you need and fire the worst performing one in a few months (flip a coin if they're pretty equal and can't afford them both).

That is awful. Don't mess with other people's lives just because you can't make a decision.

> it's even worth it to hire 2 devs for everyone you need and fire the worst performing one in a few months (flip a coin if they're pretty equal and can't afford them both).

You're a bit of a piece of shit, aren't you? Playing with people's lives like you're a god.

And no one says that about Netflix:


If they don't then they certainly should, it sounds like a toxic workplace.

What annoyed me about that slide was the comparison to a pro sports team, which shows how the "ultra-elite" Netflix lacks the critical thinking to see that this comparison doesn't hold.

For one, performance in a pro sports team is quantifiable. So-and-so player scored so many points vs so many tries, whereas the average is so and so. It's relatively easy to plot a normal distribution.

Not quite so easy for software developers. Companies like to say they can measure performance but we all know they can't. Not easy to compare someone who got lucky and worked on greenfield projects with someone who drew the short straw to maintain some legacy code. If the latter struggles, does this say anything about the former? Can you predict the performance had the roles been reversed? No.

So it always falls back to a mix of "how much does your manager likes you" and "how well you can argue you performed". Or if you're at Google then you can add "how well you chose and optimized metrics", regardless of whether you're measuring the right thing.

Some perhaps unsolicited advice from a hiring manager in a company very similar to the great ones in which this writer was unsuccessful.

- Rare programmers won’t identify themselves as such.

- Most great companies hire for humility as a trait.

While I agree with your advice in the general case, I also find the author's data point interesting and compelling. Receiving 2 offers from 7 interviews with only 16 applications is a good rate in software engineering as far as I am aware.

It's also worth pointing out that the cover letter mentioning "rare programmer" ultimately led to an interview and an offer according to the author.

It depends. For the types of companies he was applying to - yes.

For your standard experienced “enterprise dev” in most major US cities outside of the west coast and NYC, pre-Covid the demand was so high and so few experience developers come on the market, you could usually find a job in less than a month depending on if you were looking for the “right job” or the “right now” job. That’s been my experience since 2000 with the exception of the years between 2008-2010.

Of course that’s if you do enough resume driven development and have a strong network of former coworkers and local recruiters.

So true, excessive ego is really problematic on an engineering team. There's a thin but very real line between confidant and egoistical. And most hiring managers err on the side of caution when seeing potential red flags.

I want to ask a silly question. I know there are no such things as silly questions according to some people. In any case:

What happens if great companies do not hire for humility as a trait?

Is it truly as simple as: too many unkind people get into the company?

Or could one be more cynical and say: it's easier to not have humble people negotiate tough salaries?

Or is it something completely different?

I honestly don't know and have no reference.

Maybe I was a little terse in my response. Humility often comes hand in hand with a growth mindset and a real eagerness to learn. Not hiring for that limits the long term upside of the hire ie you get what you get right now.

Is that what humility is? I find the word so confusing (non-native English speaker). When I look at the definition of it [1], I can't see that it means a growth mindset and a real eagerness to learn.

From the definition that I read, could as easily mean having a mindset of that whatever you know now is something one should be grateful for, and you don't always need to push yourself so hard.

Anyways, thanks for pointing that out. I find it much easier to think in terms of growth mindset and a real eagerness to learn.

[1] : freedom from pride or arrogance : the quality or state of being humble accepted the honor with humility The ordeal taught her humility.

Toxic people absolutely demolish morale and productivity. The effects are strong enough that even a hint of egotistical behavior is enough to put you out of the running (for good reason).

I think I am not understanding your advice (or the post). I didn’t see where the author claims to be a ”rare programmer” or does not show humility.

It's in the cover letter.

Got it, thanks. Still, I am reading it with more generous eyes I think. It seemed to be used to contextualize their communication skills. Not as ”I am better than most”, more like ”I have this unique trait that you might value”.

But I can see how it could be read

Plus he backs it up with speaking. It's narrow and credible enough that it works.

It doesn't work with a thin resume.

This is the crux of it. Even to a well calibrated tech recruiter, the resume reads thin on substance.

I really hope is humbleness and not humility. But yes, managers want people they can control.

How on earth do people have these experiences? I have to submit multiple hundreds of applications to get one interview.

Throwaway because it could turn into multiple thousands if that fact is linked to my identity.

Is America completely saturated with developers or something? If so how are their salaries still so high? In the UK I can safely say I’ve gotten an interview for every job I’ve applied for. I’m not an amazing programmer, it’s just that the general quality of applicants is very low (I’ve been on the recruiting side before). Yet I see this “I’ve sent hundreds of resumes” problem on HN frequently.

I'm not batting 1.000 for interviews/submission, but probably over 0.800. I'm also not a terribly great developer. I think this is more a measure of risk tolerance than developer skill.

I don't generally apply for highly competitive jobs, nor ones which I'm am not clearly qualified for. My strategy is normally to find jobs that are looking for candidates with a specific skillset and focus on that. Recently this has been AWS/Cloud development skills.

I think some people are not so reserved and conservative. They either want to break into a specific field for which they are currently under-qualified (like data science), or just apply for jobs that have a significant number of excellent candidates in the application pool.

Salaries are that high because only 1 person in a hundred gets those jobs. Winner is a somewhat smart one, lucky enough to have solved the random questions the interviewers cooked up, in the last week.

Interviewer proceeds to imply the other 99 are morons. Some of them are, but all are unlucky.

I'm a junior dev and my ratio last year when finding a new grad position was about 1 interview per 10 applications. I suspect you are doing something very wrong there.

And that was primarily with blind online applications.

If you would like a hand or just want someone to read over your resume and see, my email is 13mdg5@queensu.ca. Would be happy to help.

I found this to be true depending on job source.

Local positions depending on the match can be 8 / 10.

Remote roles in other countries. Indeed 1 in 25. Stackoverflow 1 in 100. Angelist 2 in 10 (best 10) then 1 in 25.

It's a lot harder for junior engineers since the market is saturated at entry level. I'm a senior engineer, and I feel I get a 80%+ response rate.

I feel you. Pre-pandemic I would get hit up pretty often by recruiters. Now the companies which have responded to my job application have dropped to a trickle (for an initial recruiter call). Most are auto-rejections.

For reference, I have also been internally referred in multiple companies including 3 FAANG style companies. Absolutely crickets on that front.

What woke me up was when I got rejected after the recruiter call with SurveyMonkey. That was whenI realized my pre-pandemic /recession attitude wouldn't hold any more and I had to show interest / motivation / better prepared at every stage and not just when the tech rounds rolled around. Since then I have been able to make progress with the few callbacks that I am getting now.

Hope that helps.

I forget what my actual stats are, but it was difficult for me, too, but I did get a successful and good job.

I think it was 55 resumes- 11 contact made/ tech exams - 21 rejections - 6 interviews - 1 offer. (about 40 days)

I am bad at technical interviews, but I got better the more I did them.

Keep at it! You can do this! :)

In general don't blindly apply unless you have no choice. Use your network, have people refer you, respond to recruiters, etc. Someone you know may know someone who can refer you and so on.

That said, going through recruiters alone should give you decently high interview rates. Assuming you have some experience and so on. If it's not then your resume needs work. For whatever reason, hiring manager look at it and don't want to talk to you further.

I've never get good recruiters. It's always some underpaid external recruiter trying to pass anyone off for some low paying, and probably mibd-killing position. The kind the heavily editorilzaze you resume unsolicited so that it matches the position description exactly and the description they send you have glaring typos and theres a small percentage its even relevant to your experience. Everytime I've tried to follow through with one it's just ended in nothing, they dont even give you straight answers most of the time when asked a question

Agreed. This is part of the reason why I refuse to work with third party recruiters any longer.

A few more are: a) They cold call you in a way which makes it obvious they don't respect your schedule. b) They just want to shoe horn you into a role, get the commission and keep moving. c) Some third party recruiters get offended when I tell them that I am also trying to get interviews on my own without them or through other third party recruiters. d) I have a sneaking suspicion that third party recruiters are paid if the candidate stays for 3 months. So if things were not to go perfect in the first few months then the company might be more inclined to fire you to save the commission.

When I get a cold call i ask them to send an email with the job description and salary range and inform them I don't reply to job descriptions without a salary range. If they don't send it I block their phone number as spam. This filter has led to me having decent experience. Very rarely do they comply.

Most 3rd party recruiters I've worked with straight out lied about the salary range of the positions they were shilling.

I don't work with 3rd party recruiters anymore.

You can fix that by having a contractually guaranteed maximum overhead they can charge for you. Make it a % and it incentives them to max out your pay. You can probably only demand those kinds of terms of you're highly sought after though.

The recruiter doesn’t work for you. Their contract is with the company. You’re the product.

I'd love to carefully tailor applications to jobs I'm suited for, get references through people, etc. Unfortunately, when I've tried this, I've been completely ignored or one-liner email rejected if I'm lucky, and it's a lot of effort - so my only option is huge volume, which means I can't carefully craft anything.

If I may offer a suggestion, what works for me is that at the start of a job search, I first make a very large resume, with several excess bullet points and detailed lists of technologies. I am the only one that sees this version of my resume. Then, for every job I apply for, I cut out all of the uninteresting bullet points and reduce irrelevant terms for that job description until my resume is about a page long. For instance, if I'm applying for a Node.js role, I minimize my past Java and .NET experience (I may mention each just once to show a little bit of breadth) so that my JavaScript experience shows through more. Likewise, if I apply to a Java role, I minimize my JavaScript experience.

After I apply to a few companies, I can easily reuse resumes with little to no modifications. The goal is to hit as many job requirements in the job description as I have experience for without overwhelming the recruiters and hiring manager with irrelevant information.

I only submit cover letters if they are required, or if I have a unique connection that I can bring up (e.g., having met the hiring manager at a recent meetup).

> I only submit cover letters if they are required

I use to think that a well crafted custom cover letter totally gives me a leg up on the competition. But recently, I've been gettin lazy and not sending cover letters and I still get responses. Go figure.

I used to have a 1.5 page resume covering boilerplate, keywords, and highlights with a longer cover letter giving more detailed background. In a post interview critique I was told that the resume was too sparse. I pointed out the cover letter has what he wanted to see but of course that never made it to his inbox. New tech job search can't reliably manage two digital documents so I just merged them into one as a safety precaution.

The notion of a cover letter is pretty outdated for most jobs. The people still teaching their use are firmly rooted in the age of sending unsolicited job applications via mail that will be screened by a human.

I still do them for some desirable ones - eg if covid hadn't intervened id have done a custom cover letter and cv for the grade 6-7 Civil service job I got pitched (Colonel to brigadier Range)

(that's around the same level of Matt Cutts Current Job)

> For instance, if I'm applying for a Node.js role, I minimize my past Java and .NET experience (I may mention each just once to show a little bit of breadth) so that my JavaScript experience shows through more.

What if you dont have any JS experience, but have say several years working on .NET and Java. Removing that experience makes it looks like you're an entry level candidate, when in reality theres actually a decent amount of transferable skill between the tech in question and if you have enough informal experience with Node (through personal projects, etc.) you should have little issue switching.

I agree with you that a lot of skill is transferable between technologies, but I suspect that some recruiters or hiring managers either don't realize that or they typecast you into a specific role. Resumes are a form of writing where being concise is better than being complete.

Also, I should have been more clear. I don't erase everything about a past experience if it's a different technology. Here are a couple hypothetical examples to help clarify. In this first version of a resume snippet, the applicant should be applying for a Java position since it's filled with terms that make sense to the Java community:

> Software Enginer at XXX Company

> * I led the design and implementation of XXX Company's internal payment processing service which processes $YYY million USD in annual revenue. The project used Java, Spring, Hibernate, and MySQL.

> * Introduced testing (JUnit and Mockito) into the engineering culture by leading brown bag talks. Increased unit test coverage on critical company projects from 0% to 73% over 2 years.

> * Used JNI to integrate critical path code with XXX Company's proprietary hardware driver, increasing average performance by 8x.

Here is a snippet representing the same experience, but catered toward a Node.js position. References to enterprise Java are removed, and the last bullet is replaced with a more relevant bullet:

> Software Enginer at XXX Company

> * I led the design and implementation of XXX Company's internal payment processing service which processes $YYY million USD in annual revenue.

> * Introduced testing into the engineering culture by leading brown bag talks. Increased unit test coverage on critical company projects from 0% to 73% over 2 years.

> * During XXX Company's annual hackathon, I implemented and presented a functional prototype service to present payment information in real-time using WebSockets.

Now these changes alone are likely not sufficient to get a call back from the Node.js job position, but it changes the automatic typecast from "experienced Java developer" to "experienced developer" Hopefully this candidate has some other past experience in Node.js/web development/JavaScript to flush out the story.

Disclaimer that I’m a PM and your experience surely may vary. But I would suggest reallocating some of your time to move deliberately instead of scattershot and tailor your resume and/or cover letters. You may also want to consider having a trusted friend or a professional review your resume to see if there may be problems you’re not aware of.

Edit: I meant to add that I am also happy to review your resume and provide feedback, too. Contact in profile.

Tell us about yourself. Are you early/mid/late career, what types of jobs you're going for, locations, etc.

If you're looking for advice, it really depends on where you are in your career.

You always want to be working with warm leads. I've only ever applied through the following:

- college OCR postings

- a recruiting firm run by people i personally know (specializing in smaller startups)

- companies that ex-co-workers work at

- FAANG recruiters that reached out via LinkedIn

- personalized emails from in-house recruiters or hiring managers

So, in all these cases, I'm already connected with someone who is incentivized to get me hired, and I start off with a recruiter screen or initial technical screen, depending on the company. And then from there, it's up to your own skills at interviewing (which are slightly correlated with your skills as an engineer).

If I was just randomly dropping resumes everywhere, no way I would ever even make it to that first screening call. You need to be paired with someone who's going to handhold your resume through the whole process until you are either hired or bomb your interview.

If you're submitting hundreds of applications, it's unlikely your'e spending hours on each application (which you probably should be)

Each resume and cover letter needs to be customized for each company. It needs to fulfil each of the roles and demonstrate compelling evidence (projects) of how you meet the requirements.

It's amazingly clear if the resume is not written for a specific job and will most likely be immediately discarded from consideration. So why bother sending all of them then?

More time on less applications leads to more interviews

in charge of hiring engineers, send me your resume at stapia@joinpapa.com and I can provide pointers to help you polish your CV.

please use PINEAPPLE in subject line so I can find you easily.

People are different. I had the exactly opposite take - I reacted because he sent so many applications and got so many rejections. The 20 or so applications he wrote is probably about equal to the amount I have written in my entire career (10+ years at 5+ different places. Not a frequent job-hopper though, two of those positions have 8+ years put together).

What is your experience level and location?

For me, every job after my first one (15 years ago) has been via reaching out to the people I have worked with before. Do you have people you have worked with who are at new places?

The problem with that approach is you get less broad based experience and limit your circle.

Should "mid-career" software developers still be focused on low-balling themselves with having to do "career growth" things like this fellow, or should they plan their exit strategy to get out of that career trajectory entirely?

Assuming mid-career is actually mid-career and not the ageist SV type of mid-career.

I mean even if we are talking about L4s and L5s at a place like Google, these careers still pay an absolute ton of money.

If I am in my 40s and I am still making ~300-400k a year, then I would consider that a good deal.

Being permanently "stuck" making the insanely high salaries of engineers at top tech companies is still a really good gig.

The latter. Build up cash and invest in a career path that values experience.

Depends. In Europe, dev salaries and taxes don't allow you to build enough cash for an exit path unless you plan on staying childless.

On the other hand I haven't really seen the oft-mentioned ageism in Europe (or well, Stockholm, which is where I have experience from). If anything the opposite - experienced devs are always much harder to find for recruiting than juniors. Which is problematic as the juniors need mentoring to properly function.

It's doable in Switzerland and in London, at least until the tax laws around contracting change.

And that's probably 10% of developers in Europe, at best. More likely 1-5%.

And what would that be exactly?

What's safe from being Ubered out of existence?

> What's safe from being Ubered out of existence?

Uberizing an industry.

Just to be clear, there's not a subtext to this question (and I'm less that two years out of school so I'm pretty sure it doesn't apply to me anyway), but would you mind laying out your approximate ranges for mid-career in both of those categories? Are you assuming a retirement age of mid-60s? Mid-70s? Between 5-10 years in a field? 10-20? Does it correlate with a particular approach or competence in their field? How does that contrast with your characterization of the "SV type of mid-career"?

I've seen comments like yours a few times, and don't think I really have a useful reference frame to fully understand what people mean by it. I'd appreciate any insight you (or anyone else that cares to chime in) might have on it.

Presumably full length of career is ~40 years. Presumably “mid” is ~half, so 20YOE? There is a claim that SV culture is biased against older people so this might cut effective max age to... idk, 50? So mid career is then ~10-15 YOE?

The retirement age in many countries is 65 and increasing.

So mid career would be something like 40-50 in my eyes: about 15 years from finishing school and 15 years from retiring.

It kind of depends on whether you like it or not I guess.

I gave up on my midcareer job hunt once COVID19 hit because it was obvious that it would be a crowded pack, and salaries would go down, and desparate visa holders would be waaaay better at leetcode than me.

I think I also did 16 companies or so but being exposed to them took longer than before.

In the past I've also gone through 16 companies in one month through one recruiter before, fielded one or two offers and landed a job.

I think this took 6 months. 3 months of trying for the wrong higher position, and then the final 3 months getting serious about leetcode.

Regarding the article, I would say there isn't much to say about coding challenges, except be ready for them at all interviews now. The article mentions that it is a good test if the company can afford false negatives, which doesn't explain ANY of the startups. The signaling at all the companies is arbitrary but especially startups.

I'm just taking a cooldown period so that all the recruiters stop passing my old/current resume around (there are also SO MANY new non-tech opportunities during COVID19 war), with regard to tech I'm going to redo all my resumes to show less experience instead of trying to hit top of market in startup salaries and big tech comp packages. I get callbacks pretty instantly, which was reassuring but something about me wasn't hitting like it used to, even after I was solving the leetcode easy problems in 5 minutes.

I don't know why you think startups can afford false negatives. They absolutely CANNOT. One bad hire will kill a startup. Even spending the one hour to interview someone is a significant hit to productivity. It's the big FAANGs fo the world that can absorb poor engineers.

Also, for senior positions, I would expect candidates to not only clear most leetcode interviews, but to also have some insight from their experience. I expect them to be opinionated about areas of their experience, and have demonstrable success to back up their opinions. Only then can they come and lead and mentor a team of more junior contributors. A general guide line is, as a senior engineer, I would have hoped to have heard some insightful ideas or learned something from you in the course of your interview.

If you are clearning leetcode problems fairly easily, I wouldn't attribute it to a crowded market and "visa holders" being even better at leetcode (I don't even know what that means, do you think they go to better schools or something?)

I mean this is exactly why I am going to pretend to have less professional experience. These expectations have nothing to do with just doing more of the same work, but at a new company.

Of course I'm fairly certain it is something about me thats the problem - this round. I don't know what that is, the recruiters don't know what that is, the feedback looks just like bad luck as I've had wildly disparate results that weren't really only rejections, no different than the blogger in the article wrote.

Next round my solution is to come across as less impressive to lower the expectation and just join a team.

No, I don't think visa holders are inherently better and especially not all, it is not insensitive to acknowledge greater selective pressures from the countries they came from due to pure numbers alone, as well as desire to stay within this country in the short time period they have to find a sponsor if they get laid off. This can result in greater motivation to study more and faster, and you can see this corroborated by the self-certified number of leetcode problems people say they do. The mere presence of these motivations from some unknown number of people, distorts the market. Not really that hard or fantastic to say that.

I also said I was only clearing Leetcode easy problems easily. Which is a caliber that sometimes comes up in some interviews, with nothing harder presented. With harder in different interviews I was just starting to make the 30 min mark and other bars. It still sucks if you realize your first solution isn't good that there is no time to double back.

I think market now has moved on to leetcode DP/hard in ~30 mins.

I got this in my last phone screen at tier 2-3 shop



and yes, I got good at the easy problems, which would be all that appears in some interviews. In other interviews I could tell or got feedback that I was close to the bar, which is about 30 minutes.

Or if I had an opportunity to finish a harder question later after the interview, I could tell that writing a working solution would have still taken me MUCH longer.

> DP?

Dynamic programming, for the problem I linked.

Oh maybe I am having bad luck

I got hit with another DP/Hard ,


at company called ' The Trade Desk' , which i believe is no where near Tier 1/2 tech companies. Exhaustive graph search ins't an acceptable solution.

what is an acceptable solution? what criteria does the acceptable solution solve such as computation time and space, or is that a factor at all?

Not sure. Thats what interviewer told me before he failed me. I am guessing he was expecting some sort of caching, memo soln.

Just did that one, didn't find the actual coding hard at all. But, just understanding what it wanted took a lot of time which would make me nervous, which would make me look stupid under the gun.

I don't think I could do it confidently with someone looking over my shoulder, clock ticking, and $200k in sitting in a suitcase.

> Just did that one, didn't find the actual coding hard at all.

what what the time complexity of your solution? I failed the interview cos n^m soln wasn't accepted. he said hes looking for logarithmic soln.

It could be improved yes. Earlier I noticed I only split the array into two and not into m pieces. So later went on a tangent on finding the best way to do that. But, I made the test case happy.

Also it says the length of the array is under 1000, so such an optimization is unnecessary.

The point though is that I probably couldn't do the basic solution with a gun to my head, much less an optimized one. One whiff of struggle and I'd panic and it'd be over at that point. I get very good reviews on my work under normal conditions.

Expecting an optimized, "original" work in a watched/timed environment is ridiculous imho. Interviewer is clueless and destined for failure.

I'll keep this link however. Next time a poor interviewer comes to me with similar I'll first state, I don't do 'swordfish' problems. If they insist, I'll challenge them to this one first. :D

ok this is what i got

   def splitArray(self, nums: List[int], m: int) -> int:
        def minSum(pos,count):
            currentSum = 0
            minSoFar = float("inf")
            for i in range(pos,len(nums)):
                if count !=1:
                   next = minSum(i+1,count-1)
                   maxSplit = max(currentSum,next)
                   minSoFar = min(minSoFar,maxSplit)
            return currentSum if count ==1 else minSoFar

        return minSum(0,m)
I think putting that @lru_cache annotation is what makes this a Dynamic programming problem. If thats the case, i think its resonable interview question.

> For some of these companies, I applied with a non-traditional, branded resume. ... Since I only used these types of resumes with 6 applications, I’d say glowing compliments on 3 out of 6 is pretty solid performance.

If we view the purpose of a resume as getting an interview, then that's how we should evaluate changing them. By my reading Matt scored an interview 4 out of 6 times, a 66 percent success rate. Assuming the rest are the control, that leaves 10 applications and 3 interviews -- 30 percent!

That's pretty great really, but we have to wonder, did Matt randomly choose which companies got the experimental treatment, or were certain companies 'too risky' to try something new with? Or did he try to match up his application style to the companies somehow?

The mid-career sentiment that I commonly see on HN is that many developers have almost entirely stopped developing despite remaining in a developer role. That’s really damn depressing. These people, myself included, want out but must sacrifice greater than half their income to move into something of greater interest or less depressing and that is a very tough choice to make.

The most common reason why these mid career people have stopped developing at work appears to be that they are well experienced while their peers are not. I suspect that instead of a nurturing environment where talent is developed the mid career people just sit there, because it only take one junior to be offended at not being prized with attention/praise to ruin any sort of mentoring experience.

"The most common reason why these mid career people have stopped developing at work appears to be that they are well experienced while their peers are not"

Everyone's different, but I used to spend a lot of my free time in the evenings and weekends hacking on side projects, learning the odd new tool or language, etc.

Now I spend them wiping vomit off my back, cleaning crap off of underwear, reading bedtime stories, singing songs, and making crafts. The side project time has gone down a lot.

However, it means I might be less competitive than others as time goes on.

Note this is for a PM role. This isn't mentioned for a long time into the article. I found that slightly annoying personally, as most people on HN seem to be engineers. But I don't think the experience generalizes, as someone who has received eng and pm offers from FAANG companies.

I'm pretty sure the applications he discussed weren't for a PM role. Check out the first footnote which talks about that experience separately:

> [1] I actually did also apply to 3 product manager positions. None of them panned out. Made it to an interview stage at one company, and I thought it went quite well. Apparently, it didn’t go well enough. I’m glad. I’m happy where I wound up.

To add to the other sibling comments, the author mentions several times ”coding challenges “. This is not for a PM role.

Check the article again.

He “also applied to 3 PM roles”

Meaning primary job applications not for PM

So I'd say anyone looking for engineering work should aim to have at least one (and just one is fine) of the following:

1. A good (and well-known) school. MIT, Stanford, CMU, UW, Waterloo, you get the picture.

2. A good (and well-known) employer. FAANGs in particular. Ideally as an FTE but internships are good signals here too.

3. To be known for something you've done. Well-used open source project, well-known blog, that sort of thing.

(1) and (2) fall into the category of "social proof" [1] and whether you like it or not, social proof can take you pretty far in life. Like in my case, it didn't take that long from working at Google to getting cold-called almost constantly (and I guarantee you there's nothing special about my situation).

My own job seeking experience (pre-Google) tends to be pretty similar to the numbers in this post (applications to interviews to offers). For those of you sending out hundreds of applications let me offer you some advice because I see a lot of people making easy-to-fix mistakes.

Hiring is a popular topic on HN and you see the same comments. There are always people who call a hiring pipeline a failure because a good candidate got rejected. This is the wrong way to approach this. The process is asymmetric.

A candidate is trying to get through each stage of the pipeline and get hired by somebody. Ideally they want multiple offers to boost the offer they end up accepting. "Success" is accepting an offer.

Below a certain size, a company wants to fill a role. It'll have N applications and the pipeline is designed to have filters along the way to winnow down that number to fill the role. "Success" is filling that role with someone sufficiently good. They don't have to be the best. Technical skills matter but usually only to a point. You have to bear in mind that you are a cog that needs to fit into an existing machine. Each step of the process gets increasingly time-consuming so the more you can weed out at the earlier stages while still filling the role, the better.

Large companies are similar except you don't tend to be interviewing for a particular role. There is a constant hiring pipeline. Recruiting may well be a separate org. You can use this to your advantage.

So, let's make up some numbers for our waterfall:

- Recruiting receives 100 applications

- The 20 best get sent to a hiring manager

- They may well eliminate half for various reasons passing on 10 to one of their engineers

- That engineer may well filter out half too meaning 5 will get called

- 3 of those will get interviews

- 1 will get an offer, another will be the backup

Like I said, completely made up but still instructive. And I'd say it wouldn't be too far off the mark for a mid-sized company.

The first thing is you need to get through a company's recruiting/HR filter. Well they look at the requisition ("req") they have and try and see if the application seems to fit the criteria and I really do mean seems to. This is what I call the buzzword filter. Anecdote: I once had a conversation with a recruiter who said--and I'm not making this up--"I can see you have 6 years of Java experience but do you have any J2SE experience?"

Some of it isn't buzzword related. Like if the req calls for leading a team, they'll look to see if you've led a team in the past. Depending on the company, the seniority of the position and so forth, factors like your school and previous jobs may come into play. Length of employment is a factor here.

So how do we approach this to pass this filter? Well we need to cater our resume to the job posting and see how it fills the criteria. We need to have sufficient buzzwords but not too many and not any we can't back up. This may hurt us later. Then again, it's completely valid to try and pass through early stages and deal with that problem later.

One point to consider is that the half the applications the hiring manager may never see. To be fair, a lot of job applications are garbage. My numbers are actually pretty generous. I've had people tell me that 90% of applications can be immediately rejected.

The hiring manager will have their own criteria and biases. They're trying to judge if you're someone who will fit on the team. Here lots of short jobs can hurt. There are cultural factors too eg in the UK I found having contracting on your CV would really hurt you for full-time roles (this was years ago; I can't speak for the current conditions).

Basically the hiring manager is looking for red flags.

The engineer will typically be looking for technical suitability. It's from this point onwards that various (ideally cheap) negative filters are used to try and reduce the numbers further.

And this is what a whiteboard coding test should be: a relatively easy problem just to see if you're not an idiot. FizzBuzz is easy for a reason. Engineers fall into the trap of thinking the problem needs to be hard. This actually reduces the effectiveness of the signal as you've turned a useful negative filter into a crap shoot of whether or not you know the "trick". For example, I had whiteboard coding problem once to reverse bits. Turns out (I found out later) this can be done in O(log n). I had never had need for such a trick so didn't know it. So what did that test accomplish exactly? Bit-fiddling is applicable to certain classes of programming, just not any I had and (more importantly) not the one I was interviewing for.

An early stage startup may simply be the hiring manager responding to emailed applications and they'll hire the first suitably qualified candidate they find because they really don't want to be doing this. A larger company may filter everyone through and then pick the "best" to extend an offer to.

So when you apply for a position, I would encourage you to think about what process that company has for hiring and treating it as a waterfall that you need to get through. Find out what you can about their hiring process. If you can't find out, make up something that seems reasonable given the type of company they are and their size.

The most important step for your application is to make it through the first 1-2 filters as those tend to be pretty dumb. Your CV needs to stand out from a hundred others in some way. A known school or employer is a good one. Absent that, allowing them to see some evidence that you can communicate in written form and/or actually code is a big plus.

[1]: https://en.wikipedia.org/wiki/Social_proof

Education isn’t enough on its own for social proof. I know because I thought it would be. I couldn’t get a job to save my life after college even with UW on my resume.

Also, education is wildly localized. Turns out SV doesn’t care about anyone except those from UCB and Stanford (big emphasis on Stanford). Same with UW. Outside of Seattle, no one even knows about it. (I should know - I went there)

Maybe prestigious colleges are more well regarded outside of the Bay Area - at least here, everyone and their mother went to an Ivy League or similar.

Yeah, SV is really just the bubbliest-of-bubbles. It attracts so much talent, and is funneled so aggressively in so localized a market, that your anecdotal observation of "everyone and their mother went to an Ivy League or similar" is probably more true than most people might expect. Such is life, and it ain't fair.

UW is a great school. UW is what most people should realistically aspire to (as that caliber of school). It's upper-middle-class; it will most likely give you a great education and a great life.

UW is not Stanford/MIT/Harvard/etc. though. Those are not upper-middle-class schools; those are upper-upper-class schools. And it's not really the quality of education content either, at least if we're talking about average outcomes (but at the margins, ~2+ standard deviations away from the mean, it's no contest).

If anything, this should signal that SV has gone too far and the labor market is acting irrationally by competing so much for educational branding. However, just like the old adage says, the market can remain irrational longer than you can remain solvent.

I want to add another option:

4) Have a wide range of items on your resume.

I have found that having experience as an engineer in Fortune 500 companies, startups, working at the only dev, level 3 support, building dev ops, joining a big team, owning back end services, reworking a database, etc. has given me credibility for most positions. Everyone knows you won’t immediately fit in perfectly to any role, but if you have demonstrated an aptitude to learn and adapt, you’re likely good enough for their role.

I think you should not do that. Whenever I see a CV from a candidate in his/her twenties listing like 30 different technologies that each take years to master (unless you're really a programming prodigy but even then it's unlikely) I immediately think the candidate is doing "keyword spamming", and that's a strong negative signal. As a candidate such a strategy can quickly backfire as well, because your interviewer might pick one of the technologies you boldly listed on your CV and ask you really detailed questions about it, which you might not be able to answer because you might only have used it in a short side project and don't know it in depth. That will almost always ruin your chances of getting an offer. I recommend to only list languages and technologies you really know well. You can still list others that you dabbled with but make it obvious that you e.g. only explored these in your spare time or are curious to learn more about them, this will be a positive signal and won't come over as keyword spamming.

Same thing if a candidate has too many short tenures on his/her CV. If I get a candidate that has five or more short (<12 months) stints at different companies I will not invite him/her (or at least ask for clarification in the phone screen) because it hints at a general problem. There are surprisingly many candidates that call themselves programmers but really can't program at all (or only at a very basic level), still they often manage to land positions as programmers, which they eventually get fired from (or leave) when it becomes clear they can't do the job (and some companies take a long time to come to this conclusion). A long string of short tenures is one indication of such a person, so be wary of putting too many short tenure work experiences on your resume, except if you're a freelancer of course.

"Simply go to MIT and work at Google"

I say this in jest, but that isn't the most replicable path. For someone who didn't go to MIT and is mid-career, should one just throw in the towel and give up on the industry?

The OP should have prefaced his post with "If you want to make top 1-5% of engineering salaries". The vast majority of engineering jobs are done at boring non-tech companies by average programmers who have average educations and experiences. And of course, average salaries.

Generally programmers working at those companies don't know about or don't care about HN.

I generally agree and I think I understand OP's intent. However, if true that paints a fairly bleak picture. I'd like to find challenging work and make upper echelon salary, why not? Didn't go to MIT or similar and no FAANG experience. So my only hope is to create an open source project or blog and pray it explodes in popularity?

> I'd like to find challenging work and make upper echelon salary

This has always been the case for humanity, that typically people who do challenging, high salary work come from wealthier families with access to better resources, including better social signaling resources to enable them to stand out from the pack.

It's just part of the game; if you want to play at the top without being born into it, you have a long way to climb, and you are competing against everyone else in your position. You have to either meet the filtering criteria, or find a way to stand out from the crowd.

I guess my error in thought is that tech would be more of a meritocracy than other disciplines. I'm totally aware I have shortcomings. But you're right, some are better at playing the game than others for various reasons. I don't mean to be argumentative, just frustrated. Just like at the casino, if the deck is indeed stacked against me the best move is to not play.

It's still way more of a meritocracy than many other disciplines. In what other field can you get an upper-echelon salary via non-credentialed routes like open-source projects and blogs?

Btw, you don't need to create an OSS project from scratch. You could also get visibility by making important contributions to an existing one.

> So my only hope is to create an open source project or blog and pray it explodes in popularity?

Pretty much, yes.

A fourth: have a specialization either in a technology, part of the stack, or in an industry. That allows you to stand out for roles that really need someone with experience in that area, right now.

That said, I think your 3 recommendations lean more to a "how to play the interview game on easy mode" than every developer should to do this. I feel like I may be exaggerating your intent a little, but it did read a little like "Go to MIT, work at Google, write a famous blog" :)

I enjoyed the write-up. Iteresting that you say you invested too much time in writing. What are your readership stats if I may ask?

You have a C program on your 404 page. That program should return either -1 or EXIT_FAILURE :)

The job of that program is to write "404". If that succeeded, returning 0 is reasonable. It should be checking the return code from that printf though!

Does grad school and post doc count toward "years of experience" lol

The ‘wannabe philosopher to wannabe entrepreneur’ line in the Gradle resume was incredibly cringey. I suspect the author has a very poor understanding of how best to sell himself and this also at least somewhat explains his results (in addition to the factors he mentions).

I am working on https://tryjobalerts.com/ to help developers look for work, at the first stage to find jobs.

Maybe it's just me but I think that "branded" CVs come across as desperate and could be considered red flags that either the candidate is trying to make up for something else (lack of skills, etc) or is unaware of the performance of the job market (I guess if the market is really bad you might try a branded CV out of desperation, but software engineering is still very much a seller's market).

Branded CV is something I could see coming from someone fresh out of high school that is working off poor advice they've been given and to try and make up for the fact they basically have zero experience to show, but for someone with experience I'd expect that experience to speak for them instead of their word processor skills, and if that experience is not good enough then the branding wouldn't save it (unless you happen to be interviewing for designing print documents?).

I largely agree with you. However one thing to note is that different people are different. Some are easily impressed and not all have the level of sophistication you may expect in their decision making. If such a person is present in your way as hurdle it pays to give them what they want.

That's a big part of the difficulty of job hunting and hiring. Whatever advice you try to implement is a terrible idea for some subset of opportunities/people.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact