Furthermore, it's easier to negotiate, and you'll feel less desperate (and thus hopefully less stressed) about the process as a whole. Prospective employers know you can walk away if you already have a job -- but they also know you aren't likely to walk away if you don't.
As far into my career as I am at this point, I've both a finely honed radar and zero tolerance for toxic bullshit, but as a new developer, it's a whole lot harder to have both the self-confidence and self-awareness to recognize that the reception you're getting isn't because you're an unqualified idiot, it's because Sr. Developer Jim's dad was an asshole and Engineering Manager Bob doesn't know how to or have the confidence in his role to rein in his Sr. Developer from berating the new grad for things that new grads do until emotionally balanced mentors teach them not to. I have good friends who've spent a lot of time in therapy undoing what toxic workplaces did during vulnerable years.
I could be getting paid more, but my current workplace has only a couple completely worthless human beings. The supervisor knows who they are and what they're like and steps right in if there's a conflict. That's worth at least an extra $20k/year in my book. For my part, I try to advocate for less-established coworkers who are getting hit with the same crap I did from those individuals. Keeps the couple jerks from running off potential talent who will make my job more pleasant in the long run.
My advice, look for some decent, experienced people in any job you have, but even more so in your first. Build a trustfull relationship with at least one of those folks and get as much advice, mentoring and context out of them as possible.
The one thing you don't want to do is to talk about these things with a report or with a co-worker, and I've seen too many managers making this mistake with me.
That happened to a report of mine once, obviously with a previous mutual agreement, but some recruiters mentioned that trend to me as well.
I think having a set date to leave is healthy, especially at this point in someone's career. You just do your job and you're rewarded with money and experience. You shield yourself from toxicity in a way, since don't want to depend on the job for having "best friends". Also you don't play office politics since you know it's ephemeral.
When you hire a new grad, and then spend a year getting them all up to speed with the process and CI system and code reviews and familiarization with the code base and they're just now starting to take on the responsibility for some of the code... and they leave a year and a day after you hired them.
And so then you hire another new grad... and {repeat}... and they leave a year and a day after you hired them.
At this point, management is a bit frustrated. They give it one more go... and they leave a year and a day after you hired them.
And now, when that position is opened up again, it is no longer an entry level position but rather a mid level. We forgo the extensive onboarding and gradual ramp up for a new grad and instead have a mid who should be able to understand the nature of a CI system, issue tracking, and so on and be able to start being a positive contributor in a month or two and so if they also leave a year and a day later, we've had several months of them being a positive contribution on the team.
... and now its just that much harder for a new grad to find a job.
With new grads, we can't hold 'em at all. For people who came in with 5+ years of experience, the average tenure here is 15 years. (Seriously, I've got 200 hours of "manager makes sure you use it" vacation, sabbatical accrual, an honest to goodness funded pension, and one of the better health insurance policies).
The only thing I would add is to always try to shoot for a company where technology is seen as an asset and not just a cost center. Traditionally, that was software companies and places like Wall Street. Now that net is wider, but beware jobs with titles like "Programmer II" or "Programmer/Analyst", indicators of companies where IT is a cost center and you get stuck as a minor cog in a minor wheel.
On the hiring side, I've found quite a bit of anecdotal success finding really talented junior engineers who have fallen into this trap, where a close read of the resume and cover letters shows a passion that's not covered by the actual keywords on the resume. I'll often stretch our requirements to give interviews to people I have a good gut feeling about - "diamonds in the rough" so to speak. But it takes a lot of time and focus to not simply screen out a resume based on these negative keywords - and given that recruiting teams at a lot of companies have been reduced as well, many won't have the time to do this well, if they ever did to begin with.
As a candidate you can absolutely mitigate this with open-source contributions, if you have time. But it can be hard to find that focus, time, and mentorship/community, especially if the day-job environment is toxic.
Practicality, in my experience, has always been of tremendous importance.
Also, for me, I tended to take low-paying jobs, if the technology/company interested me, because I wanted to learn.
Learning is difficult; especially learning to ship. Feasts of Humble Pie, Egg-On-Face, and Crow, with side orders of stress and overwork. A surprising number of folks don't actually want to do it.
In my experience, it has always been worth it; even the "negative learning" experiences.
This is even more straightforward. Yes it is.
I know many who are being hit by layoffs. The situation sucks. I don't think there's any advantage to downplaying this right now whether in your own mind or through advice to others. There's a huge number of tech workers laid off simultaneously and very bluntly you should look for any job that supports your Visa as the priority.
On the above I would correct that it’s not “US Citizen” but someone with full employment eligibility, which could be for example a Green Card holder.
The truth is that they can't find someone with the skills who will work like a pittance and who will worry about being deported if they leave/get fired.
That doesn't matter if they all find a new job very quickly, what's more relevant is the unemployment rate. Is it increasing?
At least when it comes to the overall unemployment rate, it seems to be very low when I see articles like this: https://www.businessinsider.com/december-jobs-report-labor-m...
I didn't find IT-specific stats to be fully sure (well it's somewhere on https://www.bls.gov if you're so inclined), but I'd be surprised if the IT industry were much worse (if at all) than the average over all industries.
The first 2 jumps were due to compensation, was able to get a nice raise each time.
The third job was a good fit, however the role evolved into something I didn't like as much and didn't fit my career goals.
I took the fourth job to try something new, quickly found out the role had nothing I enjoyed doing.
All of the experiences were valuable in terms of experience: different industries, meeting different people, and learning what I like to do.
Though after reading HN long enough, I have to question whether you ever end up in this relatively bad situation, especially if every jump was basically a promotion.
Someone who has stayed at a place or two for a couple years and been promoted there and then had a bunch of 1-year stints? I’m more open to hearing the explanation.
The good news for me was that even though I had terrible grades, I knew how to code a Knight’s Tour or 8 Queens, work through some algorithm that appears to be N^2 but has a clever N solution, or if someone asked me about manholes, I could say “that’s a stupid question, here’s the default answer, and here’s why I think it’s a stupid question.”
I think I got 9 job offers from 10 interviews with a <3.0 GPA (before the dotcom crash).
In short, studying for the test helped with the SAT’s and it helped get my first job. When I applied to a FANG years later, there was not leetcode, just different design questions or basic things like making sure I could reverse a linked list or implement substr without an off by one error.
That being said, I've never interviewed at FAANG before. I suspect they are the ones who would be asking the tougher questions if only just to reduce the absurd number of applicants they receive.
Before preparing, I could solve most problems within a few hours. But it's far from enough. You're competing with people who are fresh out from college, solved 1000 problems, possibly who had leetcode classes! Some of my colleagues pretty much know solutions to all leetcode problem, just from the name of the problem.
Sure, but why exactly? I hate when FAANGs reach out to senior, employed people - then whole process afterwards assumes they're the ones begging to work there. Kind of tiring to hear the "we get soo many applicants" tone when they are the ones reaching out.
Two lessons
1. Spend your lunchtimes job hunting. Treat it like a job
2. Move around as a new grad. Think of it like dating, you have to kiss a few frogs just to get an idea of what is out there.
(Most people who stay in one job really mean lots of different jobs inside one giant conglomerate)
So don't be afraid to move around. And focus on the code. Ignore the management bullshit, the meetings the agile talk. Focus on code.
This is related, but I got my start in a small consulting company and think it is a great place for anyone to start. Small is anything from 10 to 100. The one with 100 employees will have more process and stability, but your impact at a 10 person company will be larger (and possibly easier to get hired by). Pick your poison.
You'll get lots of experience across domains and technologies, because it is a consulting company.
What you write and do will actually matter, because it is small.
And, of course, at a consulting company, as a developer, what you do is directly tied to revenue for the company, since they typically sell hours (or dev expertise, bundled in project scopes, which are measured internally in hours or hour equivalents).
I wrote some advice on how to approach these companies here: https://news.ycombinator.com/item?id=34253168
If they're good and have been around for a while, they'll know how to ride out the ups and downs that are coming (because they actually probably had ups and downs even during the good times; that's the nature of consulting).
Consulting, and specifically exposure to a large number of corporate cultures in your clients, is a great accelerator at the start of a career.
It doesn't even need to be a giant conglomerate. Roles evolve. Products/projects/priorities/technologies change. Certainly at the two 10K, give or take, employee companies I've worked for over ten years, I've done a lot of different things even though I went by some variant of the same title the whole time.
... but not too much/too soon. Best to understand what you can/should learn and try and achieve that before looking for a change.
I took a non-tech job for survival money, and in spare time looked for a high paying dev job.
Everyone was pushing me to take an entry level tech support position.
There’s no shame in a survival job, especially if it helps you find a good position.
When I interview, I get asked why I left so many jobs developer (companies went under), but nobody asks why I left my job as a janitor.
I also wrote something here on how to stand out: https://letterstoanewdeveloper.com/2022/09/19/ways-to-stand-...
Finally, you ask:
> Is it better to get any job than keep searching for the job I'd be most suited for?
That depends on your financial situation and emotional runway, but my advice would be that in general it is far easier to get a job once you have a job. I wouldn't advise taking a job digging ditches (unless you need the $$$), but if you can find something that is related to your chosen profession, isn't clearly toxic, and is a full time paying job, take it.
If the company is good, you'll have the ability to grow internally and you'll be a known quantity.
If the company is not great, you'll at least have some experience to put on your resume. You may even be able to help improve the company. At worst you'll have a salary and title and be able to job search from there.