142 comments

[ 2.4 ms ] story [ 197 ms ] thread
The market being harder for juniors seems correct from what I’m seeing. I’ve been looking frequently for the last month to see what’s out there, and virtually no one I’ve noticed is seeking junior developers.
Unless it’s a “junior” developer with 5 years of experience willing to “wear multiple hats” and “go the extra mile to deliver requirements.”
I mean if that's what you gotta to do get your foot in the door, that's what you gotta do. My first job out of college in the late 90s took 3 months to find. I already had an internship where I did development for money and networking and workstation support. For the first job, I built the applications, designed the database, setup all the servers and all the workstations. I even crimped network cables and managed a fire/move within a week. I did everything for little pay (relative to the market, it was a living wage and I was salary + benefits) and I absolutely busted my ass to do it well. I worked there for two years and then one day, the director of customer service said she knew someone who was looking for someone and if I was interested. I said yes and that was the first Fortune 500 on my resume.

It won't be given to you (unless you're extremely lucky) but if you bust your ass like you're trying to impress the hell out of someone, people will notice and eventually, good things will happen. Always bust your ass like you're trying to impress the hell out of someone, it will take you far.

"if you bust your ass like you're trying to impress the hell out of someone, people will notice and eventually, good things will happen"

In most industries, most of the time hard work no longer pays off. It is not rewarded, it is exploited. The people who would notice are increasingly sociopathic and short-highted, because that's how you make it these days.

Hard work can still open doors, but you have to be smart about who you work for.

the point is to impress while delivering, not delivering to impress. perhaps a subtle difference, but of huge importance to priorities of the individual.
>Hard work can still open doors, but you have to be smart about who you work for.

Agree. Notice in my little story, the good thing didn't happen until I got a job offer at another company, leaving the shit-hole I was working for. Also had I not busted my ass at the shit-hole, I never would have been noticed/recommended as a good performer for a better company. Point is, people notice when you work hard and notice when you don't. Just because you work in a dump, slacking off might actually hurt you, or at least exclude you from further opportunities, internal or external. My baseline is if you aren't seeing improvement in your prospects after a couple of years at a company, consider leaving.

This is part of the reason I tell people not to take their first job too seriously. It's highly likely to be crap, and teach them what they don't want rather than what they want. But that's also why it's useful. Stick around for a bit but don't feel bad for leaving soon.

It sucks that inexperienced people get exploited, but to do the best of it you have to learn as much as you can and then get out rather quickly.

(Of course, who am I to talk? I'm happily married to my first girlfriend. Sometimes you get lucky.)

I haven't really paid attention to that market for quite a while, but when I was actively looking for a job as a junior dev in SF in 2012, I remember being absolutely maddened by patio11's repeated comments the roaring demand for devs. "Anyone who can fizzbuzz" was the phrase I remember him using.

At that time I was junior, but I'd made and published 3 flash games, hacked on the UI of my WP blog quite a bit and made some basic tools with Node.js. I could definitely fizzbuzz, discuss time and space complexity, solve the equivalent of today's easy leetcode questions and more. And yet I saw my savings dwindle towards zero while reading on HN about how easy it was to get a job as a dev.

My feeling is that there's always been a considerable demand for great devs and very little demand for juniors. I've seen companies advertise positions for interns but I honestly can't recall a single time they were advertising roles for junior or entry level devs.

Part of the problem is perhaps that you were looking for titles explicitly coded 'junior' at all. Title inflation basically means that many devs that would basically be juniors in real engineering companies are considered senior.

It's a weird market where the difference between 0 and 1 year of experience can be so dramatically reflected in salaries and opportunities.

I had 1.5 years of experience (in China). I hustled hard in SF, got rejected by 100+ companies, and really, really struggled to scrape by on some set price contract gigs.

All of that changed one night when I showed a demo of a browser game I'd made at a meetup some Groupon devs happened to be at. That lead to a phone screen, an onsite, a job and then never another time when I couldn't get a decent tech job. Of course my skills improved over time, but the biggest delta was just getting a single name on my resume that hiring recruiters respected.

I sometimes wonder how many people are out there are like me a decade ago—able to do well in whiteboard interviews, capable enough to contribute, eager... and consistently denied a chance to even try.

I suspect the answer is rather high. I had similar experiences getting back into tech when I decided archeology wasn't the field for me. I had about some years of experience paying my way through college with contract dev work, but after several offers were retracted once a execs saw my background I managed to find an old school hacker in SF said yes. They were filling in while the real boss was on medical leave. When the real boss got back, I was immediately informed shouldn't have been hired despite doing my job well.

Years and companies later, I've brought it up in those diversity hiring meetings, but that's not the sort of changes that are being sought at most places.

I saw a job posting recently looking for senior developers with 3 years of work experience. I mean, I have 3 years of full time experience + a little more experience working part time and internships, and I would consider myself a junior dev.
I’m in over 10 years now and I find the deeper I go, the less I like this senior title. I mean, what will I be in another 10 years? In 15? These titles are meaningless, really.

I agree though, at 3 years I was still fairly junior in the scheme of things. I was doing full stack work and building money-making applications from scratch, but it wasn’t great work. It wasn’t going to scale well, the front end was based on an ad-hoc framework because I was afraid of learning and implementing new tools like backbone.js, there were very few tests, not great internal tooling to aid workflows, I wasn’t a great mentor, etc. A lot of what I did was because it worked once before, and not because I knew exactly how and why. My fourth year was when I got my first senior title, though.

I like when companies distinguish engineering levels by capability. E1 through E7 for example, where E5+ would be approximately what people imagine when they hear the term senior. Unfortunately everyone uses different leveling, so it’s hard to adhere to that. Our industry would benefit from standards.

I’m hitting 15 years in the industry. I think I’m like 3x better at my job than 10 years ago when I first got my current title
Existence of staff (and less prominently, senior staff/principal) titles is now common - IC hierarchy does not end at senior as it did few years ago at 95% companies.
I got a job at a FAANG by writing a for loop to check if a number was prime right around that time. The solution was completely naive and the interview was done over the phone in less than an hour. This is an anecdote, but there were some opportunities like this.
Were you just out of school or at the beginning of your career? I've never heard of anything remotely like that but there does seem to be a very different set of expectations for 22 year-olds than for 32 or 42 year-olds with a similar set of skills and amount of experience in the industry.
Yea I was in school at the time.
Were you studying at an "approved" school? Back then that was a big thing for some of the FAANGs.
I don’t know. My school wasn’t very good, so I can’t imagine it was on any type of approved school list.
I lucked into my first job with a startup and never had to go through the job hunt as a junior candidate (other than through a few big company mass grad hire processes which were an absolute fucking joke, and thank god I didn't actually pass any of them), but this mirrors my experience with hiring juniors.

Every time I've done it I've been inundated with candidates. You pretty much have the pick of the litter.

Personally I'd prefer to hire a lot more juniors. I think most senior front-end developers are pretty rubbish at their jobs and have spent most of an easy career on autopilot learning bad habits and bad development practices. I much prefer to work with juniors, before those "senior" (mostly enterprise and consulting) devs have got to them.

The problem is it's just not possible to train juniors the right way fast enough. I'm confident I can train almost anyone with basic programming aptitude to be a 95th percentile front-end dev, but it'll take a year or two, and my already average productivity will tank during it.

Most managers won't understand or accept that. They would, except that there's always someone else selling them the "get people productive in 2 weeks!" bullshit, which you can't compete with. Big companies (the ones with the budget to train juniors) pay a huge amount of lip service to training, but are pretty much universally bad places to actually train great devs. They're good at turning them into average consultants that get flustered with their tools and stuck all the time, because they overengineer everything and never bothered to learn from first principles. (Then they give up and pretend to work while spending 8 hours a day whinging on HN about how bad the JS ecosystem is).

And if you're doing your own thing without managers to mess it up, then you probably live and die by your productivity. Unless someone wants to throw a stack of money at you just to create great devs without accomplishing much else, then it's not gonna happen naturally.

There's other impediments too. I love working in person with juniors, but not as much as I hate commuting. And I think training juniors is one of the few things that's much harder to do remotely.

This is why there's so much demand for great devs. There's just so few of them. The industry isn't set up to train juniors, and the places that can waste the resources to do it are the ones that have environments which turn them into idiots.

It’s really a sad state of affairs. An industry that hates its own young in experience while pushing ageism on its elderly in age. An ouroboros industry.
Ironically a downturn might help with that culture. The problems you mention have been exacerbated by the "tech bro" attitudes of twenty-something or maybe thirty-something seniors and founders working in businesses that have been more about winning the next funding round than making a good product that produces a sustainable profit. That gravy train is probably off the rails for a while now and it's possible that we will see more interest in hiring or retaining older devs with the experience to actually get results. We might also see less emphasis on job-hopping very frequently for career growth and that will make hiring and training up juniors more attractive.
>The problem is it's just not possible to train juniors the right way fast enough. I'm confident I can train almost anyone with basic programming aptitude to be a 95th percentile front-end dev, but it'll take a year or two, and my already average productivity will tank during it.

Nobody taught me anything, apart my teachers at University. Nobody hand holded me. I was able to learn and grow by myself, by reading, applying, trying to find solutions, applying those solutions. Which I continue to this day.

Why should be juniors hand holded? You show them the application, you explain it to them, you give them time to look into it, you reply to their questions about the application and you give them tasks. If they are any good, they should be capable to learn without hand holding.

I don't think parent was talking about hand-holding at all.

> You show them the application, you explain it to them, you give them time to look into it, you reply to their questions about the application and you give them tasks.

Exactly; this is the training. Choosing tasks that match the other person's level, and being available to give good guidance, takes time, effort, and some skill.

I don’t know what you graduated in. But I was given a chance at my first good company because I followed a pretty elitist (natural sciences I must add) curriculum. But in the meantime, I had found consulting jobs pretty easily. And even if they’re crap it launches you in the career.
> I don't know what you graduated in.

You don't know I graduated at all.

I'm not saying either way, but if I did, it had zero utility in my software career. Credentialism on degree subject matter for people making mid-career moves is misguided at best.

You were talking about a junior position in your post, not mid-career move.
If the funnel for juniors tightens up for a couple years, won't the shortage for senior+ worsen down the road? I see this as overall bad for innovation.
Abandoning people with long term consequences for short term gain is a hallmark of capitalism. If it doesn't pay a positive interest rate throw it in the trash and save the money that would have to be spent to keep it alive. By "it" I include humans.
As Ive said for over a year now - CS grads cant get hired. Companies are not knocking on their door. Unis have to go out of their way to get companies to even associate.

What you hear of big hiring is select schools in select places.

Corps want experienced devs, they do not want to create experienced devs. They get away with this because there's no standards like any other field of engineering. We don't band together and create avenues for education, employment and advancement. This is largely the fault of existing devs knowing the above to be true, and they want it for themselves despite harming the market overall.

Degrees have largely become meaningless. Uni's have become democratic political battlegrounds that push activism above academics. There isn't anything learned in a 4 year degree that you couldn't get with a healthy appetite for YouTube. But they're just adult daycares for parents that think the system will work for their kids. I say that as someone whom unfortunately has to work at such a place.

My 4 year degree had some hard theoretical CS content. Yes I could have learned it all on YouTube or whatever, but I did the assignments and the exams so I have proven I could learn the stuff - of course it’s all pretty rusty now. I see a quality degree as a great signal when hiring, and I don’t just mean a few elite schools. If evaluating a degree from somewhere I haven’t heard of, I will poke around the course website a little.
I don't think my degrees are worthless either, as at the very least they exposed me to certain types of content. However, my experiences (non-SV) have been that even if these degrees show one can pick up difficult things fast, hiring managers basically wave it off. They are looking for individuals who can effectively step into most of their (absurdly bloated) tech stack by tomorrow.

Maybe it's another story in SV/US, but capacity to learn seems to be about as useful to hiring managers as knowing how to bake eggs.

This is a huge market inefficiency being exploited by firms like Jane Street.
Can you you develop this a bit farther? How is it being exploited?
>There isn't anything learned in a 4 year degree that you couldn't get with a healthy appetite for YouTube. But they're just adult daycares for parents that think the system will work for their kids.

Would you rather go to a surgery with a doctor who "learned" by watching YouTube or with one spent his time in University and residency?

The state of political activism eating from the inside and destroying the higher learning in US is pretty sad. But the reaction to that shouldn't stopping learning but kicking political activism out from schools.

As a senior in software development, I frequently help out with the recruitment side of whatever companies I'm employed with, and an applicant with a formally accredited degree in computer science definitely stands out as a strong signal to pursue a potential interview with them.

I know at least nominally they'll have some passing familiarity with simulations, discrete mathematics, linear algebra, data structures and algorithms. You can learn all of this information on your own but it's more difficult for me to verify.

While this is not as true if I'm looking to hire a senior engineer, it is significantly more important for entry level positions.

The market is always harder for juniors whether times are easy or hard.

The unfortunate difference this time is that today's juniors might have spent their last couple of years reading stories on sites like HN and levels.fyi about starting on six-figure salaries at big name companies and maybe doubling that with the other perks. They might have also been exposed to some of the most mercenary attitudes to career development I can ever recall seeing where loyalty is a dirty word and jumping ship every few months for a pay bump is the norm.

At the same time they still have the usual conceit of most new grads in this industry and don't understand that at best they will probably contribute little real value to begin with while taking up a lot of time from other people who could. In other words juniors almost always have negative immediate value to their employer.

In the boom times we have enjoyed in tech for the past few years a lot of newbies could get away with that and make a lot of money but really that has been the exception and it's not normal. Now the reality is setting in that you can't reasonably expect an employer to invest a huge amount of money to pay you to cost them even more money and then leave before you get better and make them enough money to become a net contributor. In a world without the weird employment market dynamics of the recent boom times that just doesn't make any sense.

I've been searching for my first junior/entry level position for 4 months now. There's very few junior/entry positions, and the ones that are posted are asking for 2-3 years experience, and a Bachelors/Masters/PHD...for web development. The market is either asking for senior developers at senior pay, or mid-senior level developers at entry level pay.

I'm not the kind of person who would job hop every 2 years like what seems to be common in the industry. If a company is willing to take me on and help train me and bring me up to speed, I'd stay with them for 4+ years. I'd think that would be very valuable to a company, but at least what I read on the internet...companies have come to expect a high turnover for developers and thus are unwilling to put in any effort into a new employee.

What kind of studies do you have?

Do you know the basics of like CS, algorithms, data structures?

Do you know a programming language at a decent level?

For the field you are trying to get in, do you know some common used frameworks, libraries and tools?

If the answer is yes to all, you shouldn't have trouble to find a job. If one of the answers is a no, then you have to solve that problem.

I'm mostly self taught. Been programming as a hobby for 10+ years, mostly focused on learning game development but have also done web development. I have "shipped" two Ludum Dare games done in C++, and I have a web app I recently developed with React/PHP/MySQL for an organization that is deployed.

The only credential I have is a Full Stack Web development cert from a bootcamp at a big name university. The DSA stuff I self-taught because it's pretty essential to game dev, and the bootcamp taught me the MERN stack.

Without formal education it is going to be a bit harder.

You can test yourself by seeing if you can answer typical interview questions which can be found online.

You can see if you can solve the stuff from Codility, Leetcode, Hackerranck in a reasonable amount of time.

If no one’s told you yet: the experience list on a job listing are a wish list, not a requirement list.

Frequently it is a wildly unrealistic wish list. I have NEVER seen all of those requirements fulfilled.

This. Crucially, the actual interviewers/hiring committee may not have even read the job posting. They have the technical expertise and know what they are looking for; the HR/recruiters filtering at the front end are considerably less clueful. You do need to get past that filter, but after that, the bullet list is all but irrelevant.
>I'm not the kind of person who would job hop every 2 years like what seems to be common in the industry.

...you haven't even started. If you were regularly getting offers with 50%, 100%, or 200% more than you currently earn you'd rethink that position pretty quick.

(comment deleted)
The weird part of this advice to me is all the "CS fundamentals" biz. It's admittedly been quite a while since I've felt the need to go out for "junior" roles, but I have a lot of close friends who are recent boot camp grads, and it seems to me that most success in an interview boils down to interpersonal skills and confidence in problem-solving. There's a significant backlash at least in the startup space to "whiteboard coding" and fiddly little problems as assessments, which I think is overall a good thing. My own experience has taught me that smart hiring managers are more interested in you getting along with the people you'll be working with, along with your willingness to try stuff you don't already know how to do, and talk about what you do to non-technical stakeholders, and from what I've heard from my more junior-in-the-industry friends, this seems to bear out across the board

That said, none of them are targeting FAANG jobs and neither am I, so if you are, this may be wildly wrong

That culture has definitely taken root in some ways, but I wouldn't count on it during a downturn. The idea is what will the hiring/candidate pools look like in a tech recession, so a premise is that many people who can presently get an engineering job then cannot. There are so many software programming jobs right now that the market created bootcamps to fill the demand, but it's not like mature engineers necessarily have fewer interpersonal skills, and suddenly there are many more of them all trying to get jobs.
You're not wrong. I mentor some juniors and the ability to talk to a specific target audience about a topic is the most important skill a dev can have. I can teach you the tech stack, but i cant teach you how to talk to the business people or the finance department. "I need budget to rewrite that app in rust" will get you a no from the finance guys most of the time. Tell them that it would reduce your current infrastructure cost by 10% (or whatever you want to achieve) and they might say yes.
> I mentor some juniors and the ability to talk to a specific target audience about a topic is the most important skill a dev can have.

Sure, it comes with experience and lessons learnt. But, I don't think a junior dev would straight talk to finance guys for money. They would have support from his own tribe in some form (PM/Manager/Director). Nonetheless, you are making a good point. In sprint demos, I make sure my team members do not bring up any tech jargon.

finance was just a example. replace it with the stakeholder, the PM of another team or an external partner.

> In sprint demos, I make sure my team members do not bring up any tech jargon

thats exactly what i mean. the audience does not care about the tech, they care that their problems are solved and money is made.

I wonder if it works that way in other fields.

Do the suits at Boeing get upset that the engineer they hired keeps talking about things like thrust, lift and control surfaces instead of what EBITDA will be this quarter? Actually maybe... That might be the reason airplanes are throwing themselves at the ground and why all your personal information is now public knowledge.

Some startups are still requiring weird whiteboard questions sadly. Interviewed for a role recently and was asked to navigate a maze of obstacles and teleports with possible infinite loops, saying the minimum number of steps to leave the maze if it’s possible. That was for a test engineering role so… WTF.
I assume they wanted more than a DFS or BFS or similar with loop detection? The teleports sound like a fun twist, although I'm not sure they change that much since from a graph perspective presumably they're just another edge?
Yeah, but does that kind of problem really exist on a regular basis for a test engineer on that team? I doubt it.
It's probably not that relevant to the job, but as far as weird questions go it's not too bad. It's presumably not leetcode hard, basically.
Actually it was literally a hard leetcode question! The other 3 were 2 medium and 1 easy. I can work out easy and medium leetcode answers from first principles in an interview setting, usually. I can't with hard ones tbh.

But ultimately it seems very divorced from reality of what I do, which is TestOps (building out CI pipelines, reporting, test infra, etc...).

Simple BFS from the starting position should do the trick.
They wanted to know if you can traverse a graph, which is something pretty simple.

I don't see a need for outrage here.

I'm sure it's simple if you know it! But having not taking an algorithm class before, and having completed three other Algorithm questions within the 90 min total allotted time, I crashed pretty hard. I solved it afterwards when I had time to really think, but didn't know it off the top of my head.
"Brush up on CS fundamentals" means "grind leetcode" which is already table stakes for getting a job, and about to become more important. In a recession, companies will crack down on candidates with interpersonal skills and confidence but no competence.

Interpersonal skills and confidence are deciding factors after you've filtered out the candidates with low technical skill, as determined by leetcode, whiteboard, online coding exercises, etc.

Once again, I've seen enough candidates talk the talk, and then get caught typing in answers verbatim from Google or SO, to know that eliminating coding exercises in the interview process is folly -- it's opening the door for bad hires who can't code and who waste everyone's time.

Honestly to me the most important piece is the willingness and ability to try new things and work under certainty. I have seen first hand time and time again that it is easier for someone who is good at this to learn how to code when the rubber hits the road than it is for someone who knows how to code but isn't comfortable learning on the fly to learn a new python library fast enough to work with the team.

On a super short timescale with no testing feedback loop, 99% of "algorithms" questions are "Have you encountered this thing before" shit tests in practice, rather than meaningful tests of problem-solving skills, and do not effectively test whether someone will be effective. This is to me a classic Goodhart's Law + policy problem: One can easily assess the answer to an algorithm problem, so it's popular as an assessment and becomes pervasive. Goodhart's Law predicts the next part

> There's a significant backlash at least in the startup space to "whiteboard coding"

Good.

Whiteboard coding is probably one of the least useful methods I have ever seen to evaluate candidates. It tells me nothing about the persons actual qualification and can be gamed.

While I agree that it won't tell you if a candidate is good, it will often show very quickly that a candidate is absolutely terrible.

My warm-up questions are usually something like "reverse a singly-linked-list" or "check if a string is a palindrome", and you would be surprised at how many people have just no clue on how to do it, even with a lot of help (and I work in a FAANG so we should be getting decent candidates).

Don't hire me, this version cons a lot )): (defun palindrome(str) (string= str (coerce (reverse (coerce str 'list)) 'string))
I would ask you to implement reverse and coerce yourself.
I haven't worked with a linked list since first or second year university, more than 10 years ago, nor have I had much of a reason to do character by character string analysis.

I could probably work these problems out, but I might not seem too confident about it.

It’s a basic data structure. I have been able to pass these questions without a formal University education just on logic alone. It’s just basic usage of objects in the case of a JavaScript implementation.
20 years of software development, I don't remember the last time that I actually encountered a linked list in the wild.

> It’s just basic usage of objects in the case of a JavaScript implementation.

Just because you would make a linked list via objects doesn't mean that anyone would actually do it.

> I don't remember the last time that I actually encountered a linked list in the wild

Probably many times a day actually, whenever you use an ArrayList or the equivalent in the language of your choice.

>I have been able to pass these questions without a formal University education just on logic alone.

So you'd be great for a job whose task is doing coding interviews then!

I'm fine with providing a basic Node class for the linked-list if they struggle to start, but that's it. With that anybody should be able to figure it out, no matter how long ago were their classes on that (or if they had any).
> My warm-up questions are usually something like "reverse a singly-linked-list" or "check if a string is a palindrome", and you would be surprised at how many people have just no clue on how to do it,

I don’t know how to do it. I would need dictionary.com to find out what a palindrome means and stackoverflow for the rest, but I’ve used and evaluated five different JavaScript frameworks in building full scale web apps. Would you hire me?

An interview is not a quiz. You're allowed to ask clarifying questions. I'm sure most interviewers won't discount you for being unfamiliar with a fairly obscure word.

Needing stackoverflow to check for palindrome-ness would probably be a bigger problem though. Of course during your day-to-day you'll be allowed to google all sorts of things, but checking if something is a palindrome is so basic that all google could possibly provide you is the exact answer to the question.

That's exactly the point and in response to the sibling comment as well - using StackOverFlow to find solutions to simple problems is the smart thing to do. Developers on SO compete for the best solutions. You're job as a developer is to curate and pick up new modern day conventions in doing so. The reason I don't waste time on reversing a palindrome is because frankly I'd rather spend time doing more important things for my products, and because its such a fundamental knowledge then how to reverse a palindrome is an answer that is available as fast as my brain could think about it. There are more important and more interesting problems to solve.
I would explain you and give you an example of what a palindrome is.

And if you need stackoverflow to reverse a linked list, no, I would not hire you.

Many people have used many technologies. I started programming when I was 12, and I had no idea of what I was doing beyond copy-pasting code from tutorials and putting them together, but if "how many technologies did this dude work with" is your criteria, you would have hired 12 years old me.

> My warm-up questions are usually something like "reverse a singly-linked-list" or "check if a string is a palindrome"

I've written sites, apps, ORMs, enterprise tools, code generators, FAAS platforms from scratch, exporters for DOCX and EPUB, etc etc for decades. I've been junior, mid, senior, lead of two teams. I've transitioned companies to cloud, created data warehouses, built BI universes. All sorts of stuff over the years.

Sounds like your hiring techniques would pass on me, as those whiteboard exercises would have me saying no thanks and ending the interview. Utterly pointless.

(and FYI that's from experience on both sides of the table as I've also been the recruiter interviewing from junior devs to team leads)

Those are pretty basic algorithmic questions, even if somebody's never heard of a linked list or a palindrome, anyone with even a minimal understanding of algorithms should be able to describe in pseudo code how to solve them.

They're not guaranteeing that an applicant is necessarily right for the job, but they do separate the chaff from the wheat proverbially speaking.

> they do separate the chaff from the wheat

This is where we differ. What they separate isn’t chaff from wheat, but those who can do a specific type of interview from those who can’t. The latter aren’t chaff and the former aren’t wheat.

The only time these kinds of questions/tasks are suitable is if they genuinely represent the work being hired for.

Our opinions on this differ, and that’s fine, so whatever works for you.

This is the problem with this interviews and FANGs shit. They separate nothing. But because ppl in these companies did this doing interviews, and they have such a fucking high opinnion of themselves, they think the only good people are the ones that are like them. `I can do this and I'm the greatest (their own opinion reinforced by other idiots in the company) so anyone that can't aren't worthy of my time/welcomed here`.

But then you work with these idiots that can reverse a linked list in other companies and they can't organize code to save their lives. They use patterns and shit they used in facebook everywhere, even when they shouldn't because they always so smart and right.

(yes, after cleaning up code for shitty ex facebookers and ex netflixers, my opinion of the 'wheat' boils down to they may be wheat, but they infested with parasites and bugs and rotten at the core, but hey, what do I know, just been doing sw development for 25+ years, published author and worked on stuff that most here use daily, I'm just chaf because I don't want to work for FANGs)

(comment deleted)
> those whiteboard exercises would have me saying no thanks and ending the interview

Then I saved 45 minutes of my life, great. The point is, if you want to join the company I work for (and many people want to), you have to jump through the hoops of this company.

You should re-read the start of my comment, because I don't think those whiteboard questions are a great way to hire people. I just don't think there's a way that's more respectful of the candidate while being time efficient and providing good data points.

The truth is that the achievements that you claim can have been done by others. I'm in a top 1% company, and yet I see many people that are just utterly shit at being software engineers. There are parasites like this everywhere and they can just coast and claim the achievements of others for themselves (especially when applying to another company that has no way to verify their claims), so whiteboarding exercises and others crap is 100% necessary, no matter your level.

Totally get that you can't just believe the claims. I just disagree that whiteboards are in any way a good solution.

But fair enough, if it works for you it works for you.

FAANG recruiters usually prep you for the interview so that’s kind of crazy so many fail.

On the other hand, usage of linked lists in the wild can be rather limited outside c/c++. Only languages I’ve used them a lot and then only when I was teaching algorithms and data structures.

I think I used a linked list for a MRU list in a menu someplace ages ago in c# winforms app.

> On the other hand, usage of linked lists in the wild can be rather limited

You use linked lists in pretty much all languages, they're just hidden behind the flavor that you prefer, List in C#, LinkedList or ArrayList in Java, etc.

> it will often show very quickly that a candidate is absolutely terrible.

It CAN show that.

Problem is; even a terrible candidate can prepare, knowing the kinds of things that will likely be tested, by memorizing the solutions to these very specific problems.

“I think I’d respect your opinion more, if you could write some code to evaluate all possible tic tac toe games in c++ on that whiteboard over there in around 45 minutes. Sound ok?” - whiteboard hiring managers probably
We are in the middle of interviewing for our first ever intake of graduates/juniors and this describes what we are looking for to a T. We are far more interested in problem solving, reasoning about systems and constraints, and an ability to work well with others, and most importantly a strong desire to learn new stuff. We will have a small code related test, but it's short and relatively simple but of but fixing/changing existing code.
> try stuff you don't already know how to do

I've seen this used as justification for implementation of shiny third-party things that were both a fundamentally unfit solution and permitted those pushing it to avoid understanding the root cause of their current problems.

There’s a fine line, but I don’t think that is what GP is talking about. Chasing the new shiny unnecessarily vs learning a new tool when required/necessary. Plenty of people do the former, and plenty of people also resist the latter (vehemently so, in many cases).
I see this more of the quality where you can dive into something you don’t already know how to do with confidence that you can come out the other side.

A lot of people are just really scared of what they don’t know, and don’t even give themselves a chance to self-teach or expand their skills

I've been contacted by a number of recruiters recently who are recruiting for positions that are paying FAR more than the market average of just a few years ago. I'm talking an average increase of over 50%.

I'm honestly concerned that my entire team, after having received low percentage pay increases in the past year, is going to end up leaving within the next 4-6 months, and I'm not sure the product is capable of surviving that sort of brain drain.

I've tried to warn my manager multiple times about the situation, but he's not the kind of guy to attempt to swim against the stream with upper management.

I’ve heard the whole “money can’t be everything when deciding on a job” a couple of times when discussing salaries recently. Mostly from companies who realise they can’t or don’t want to compete with the market.

Shrug and move on. They’ll learn eventually.

Money is at least understandable. It is a finite resource after all. What I really don't get is employers who are still pushing for other conditions that will deter good people from applying - things like annoying processes or insisting on hybrid working instead of allowing fully remote if there is no clear benefit to those policies.
(comment deleted)
It's true. We are based out of Dallas and we interviewed a great QA candidate this week from the East Coast who, when asked what the reason for looking for another job was, said that their employer had a hybrid policy, but after having experienced fully remote working, they never wanted to go back to that.
I recently saw an open survey by a recruiter who I think works mainly with experienced software contractors. He was asking what everyone's priorities were when choosing their next gig.

Almost without exception the responses were a good rate, being fully remote and being outside IR35 (an infamous government regulation here in the UK that makes some types of gig very unattractive). The next most popular was having a simple application process with anything more than one discussion widely considered excessive for a short contract.

Obviously the rate is a money thing. You can only escape IR35 based on what your working arrangements are so if you're caught then you just have to accept that some people won't work with you. But for almost all software development gigs there is no sensible reason to exclude good people because they often prefer fully remote work and in the world of contracting you're just shooting yourself in the foot if you expect anyone good to go through "only" three or four stages of your application process.

>They’ll learn eventually.

A lot of companies just can't afford to match big tech Silicon Valley salaries in general. They may make exceptions for specific individuals but my impression is there's a fairly widespread attitude, however resigned, that if you can get a job with Facebook and you're fine with that, we're not going to try to outbid them.

It might be harder to find a job, but it doesn't significantly impact whether or not you should start a business. pg wrote an essay on starting up in a downturn: http://www.paulgraham.com/badeconomy.html
PG has an agenda on this one. Doing a start-up, the job market and my skills are my security. If the work gets scarce the risk profile of doing a start-up gets worse.
If you're looking for security you shouldn't be doing a startup in the first place. It's pretty much the riskiest move you can make as far as your career goes.
That’s binary thinking. Risk level is a spectrum.
Yes but the risk is highly asymmetric. Starting a company is skewed towards danger and not certain reward in both bull and bear market.
(comment deleted)
I'm someone who qualifies as a junior developer even though I have a minor in CS, a BS in math, and a BS in mechanical engineering.

My career has been an interesting journey. I've worked in sales, taught high school mathematic and computer science, and led technical SEO for multiple successful startups.

I left all that in January to pursue my dream of becoming a full-time frontend developer. My wife and I have two daughters and this is my opportunity to show them some risks are worth taking.

I'm not fooling myself into thinking my first developer job is going to fall into my lap, but I'm confident it's out there and I'm going to keep writing code and challenging myself all day, every day until I find it.

If you’re willing to “out” yourself publicly here, and assuming it’s not against any rules, you could post a link to your GitHub profile if you’ve got some open source work out there. Can’t promise it’ll help, but a lot more people read these comments than comment themselves…

…a LOT more.

I'm one of those.

I'm more interested in the comments than the posts.

and/or an email address — would love to reach out!
hey, I made the career transition myself 5-6 years ago. I’d love to pay it forward and help someone else do the same. Let me know if you’d like some help and the best way for us to chat.
It means: „Find a big disfunctional corpo and hire there for a year or two, before you dump that job for something better.”

Just got hired to one for a fat paycheck, ppl skill is way below the market average yet noone seems to care or even notice.

I have worked through three recessions as a software analyst, or tech entrepreneur. The investment climate gets worse in a recession (we had to shut down a company after the dotcom crash), but the job market never seemed an issue for me or those around me that worked with IT or software development. There where always jobs. None of my colleges ended up without a job for any longer period. There is a huge skills shortage in IT.
The dot-com crash was very difficult for a lot of people in tech generally. Maybe it was a bit better for developers specifically. But I was laid off pretty much as a direct result of the crash. As it turned out I was able to get a job pretty quickly from someone I knew. Subsequent times got a bit lean but I was basically employed the whole time. I considered myself very lucky though. Aside from the job I ended up with, which took about a month to come through, I wasn't seeing anything remotely like a nibble.
Don't spend your time getting better at your job. I'm not saying you don't need to be good, I'm saying the time is better spent doing something else.

That other thing is networking.

Connect with recruiters on LinkedIn and hit them up for referrals to jobs. I have a quite long list of recruiters in the quant trading niche who contact me from time to time. When they ping me I find out who is hiring and what they're after, and if it's not for me I might know someone for the role. When it's my turn to look, I reach out and there's a firehose of interviews.

With a little bit of effort you end up feeling quite comfortable that if you need a new role, there will be one. It contributes substantially to my tranquility.

I also have a tranche of quant folk on LinkedIn but I always assumed they were either selling snake oil or if the roles really were that lucrative, there’d be a work-life balance clash. But it’s not my field, so this is more a gut feeling.
Why would it be snake oil? They don't take any cash from the employee.

As for balance it depends a heck of a lot on the particular shop you're joining.

We got off easy in last recession broadly speaking, obviously it wasn't the same for everyone, but lots of companies invested heavily in IT (or at least claimed to be doing so to their shareholders) in order to cut costs elsewhere.

Whether the same happens this time around is certainly debatable. Perhaps, cuting IT to investing in sales and marketing will be in fashion this time around.

If you really just need work asap, Upwork is a great place to go. However, I have love/hate relationship with the platform, as getting noticed can be very hard and they take money off the table.

But having found permanent employment on there, and also having hired people on there, sorry to be biased, but if you sound like a native speaker and can hold your own in a Zoom meeting, that's half the yardstick met for me when it comes to hiring.

The number of foreign devs whose English is so bad that you just have to communicate in writing is high. Business people like to communicate verbally, so if you aren't confident, practice.

Hmm, I wonder if there is a startup out there that does English training to help non-native English speakers sound like native speakers? My wife's first language is German, but she really put time into becoming a native-level English speaker, so it is possible.

> I wonder if there is a startup out there that does English training to help non-native English speakers sound like native speakers?

There are many vocal coaches. Search Google or Youtube - you'll find a lot of them. It's hard to sound like a native speaker especially when your current state is not understandable. It's an iterative process, so who knows that person might get to native level.

I believe it's much easier for women compared to men - to sound like native English speakers, because they have much crisp voice compared to most men.

Might have to find work that involves moving your body, oh the horror
I'm not the normal case (dropped away from uni due to personal issues, lucked out getting better work than some of my compatriots graduated into 18 months later) and I've been in work for two decades & change (working on the same family if products, though I've been in several companies due to buyouts and such over the years), so I can't speak for the junior looking for work.

One bit of advice I might suggest though is to consider the industry you end up working in: for instance those of us in companies targeting regulated industries tend to weather financial storms a bit better than others because the need to follow regulations doesn't fall away in fact if the behaviour of an industry is seen as a cause of a crash (here's looking at you, sub-prime lending) then regulation will increase and non-tech companies will want some way of implementing/monitoring/automating compliance with it.

It might not be sexy work, but it is relatively recession-safe work.

Though as others point out: networking, and just being good at working, and good at adapting to change, are important too. Even in a relatively safe position the cost cutting axe may fall (due to a slump in sales, or post-merger, etc.) and how well you work with the rest of the company or how key your experience & flexibility are seen as being, can be far more important than pure technical skill when it comes to keeping a safe distance from that blade.

What if, and bear with me here for a minute, the software fields are going to fare the best out of everyone? The value of tech investment is no longer in question like it was in 2000. The world's largest companies are tech companies, and it's now accepted wisdom that software is not a cost, but a rocket ship and the rocket ships have just become reusable (due to the magic of software I might add).

Maybe it's everyone else who should be worrying that their lowly mere human productivity is going to badly suffer in a tightening job market. Just like in 2008 the meatspace employment was hit hard and never recovered, maybe we can expect a doubling down of investment in productivity multipliers and increasingly replacing jobs with software and ML. I mean how can any heartless MBA look at the output of DALL-E 2 and Imagen and not immediately start scheming to fire 90% of their creative staff?

What if IA replace coder or no-code makes coder useless ? Maybe the same heartless MBA would reduce programmer staff ?
The no-code tools have to be maintained by someone.
With people falling over themselves to prove how well work from home works, it's more likely that the jobs just go abroad.
This is something worrying me, looking for a junior role. I was a teacher for 5 years (math and physics) and recently went back to get a masters in Theoretical Physics and Applied Maths, mostly leaning towards the latter. Lots of data science-y stuff and mathematical modelling. Been applying to jobs for a while now, and no luck unfortunately. Wondering if I should just give up and go back to teaching, especially as I can return to my old school which was laid back and not horrible (and I didn't hate teaching), or keep pushing through. I've got a runway of about a year, depending on how reasonable the housing I can find in Ireland is (not very).

Part of my issue is I'm also looking in Ireland, where I'll require a visa, even if it's a critical needs job so they're easier to get. Does hurt, but I haven't had any luck with my applications in America either.

Why don't you search for jobs in the country you are living? It would be easier to find a job there than overseas.
I am living in Ireland, currently doing said masters. Should've been more explicit in that.
In 2006, the recession meant a tight jobs market for me for around a year, but after things started to open up a bit, a lot of new (and in some cases, unskilled) developers did not return to the market.
The author appears a novice at financial information. For example the author mistakes inflation rates for the Fed’s interest rates

> For the same reason, the Fed is raising inflation rates

Maybe next time people will build something more productive than imaginary coins, rehashed dot-com ideas, and outright frauds.
Having graduated into the shadow of the 2000-ish dotcom bust, it means being happy about that boring government contracting job in the DC ‘burbs with a starting salary that was about 60% what your friends who graduated two years earlier got at much cooler companies in more happening places, because you also saw their cool companies fold and them struggle to make their fancy car payments and you’re staring down the barrel of $40k in student loans (an astronomical sum 20 years ago).
If recession comes, wouldn't there be an incentive for companies to cut costly developer jobs in rich countries and move the development in countries with cheaper work force?

Having teams collaborating over borders, time zones, languages and accents does not work very good. Outsourcing to another company does not yield good results.

But big corporations can open subsidiaries in other countries, if they do not already have and move whole products there.

If that happens, the massive lay offs will push the wages down aggressively.

I'm bootstrapping a small software product and working as a contractor to support myself. I have been long thinking about switching to a full time job instead. After reading the recent comments here and in other threads, it seems like getting some 100k seed funding may be easier than getting a new job.
Ok it might sound stupid but... make ur life as independent from stock markets as possible

If FED prints a lot of cash and lends it to banks for 0% = stocks are up, if FED stops printing & lends at 0.5% banks panic. Wtf?

No one deserves to be cheated upon. If you feel you are been cheated on and you don’t have vivid proof. Reach out to him via ”wisetechacker @gmail com” He’s the real cause he delivers a timely and accurate services, i’ve used and recommend him to lot of people over the internet and he did a satisfactory job