Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I like the advice here: https://blog.pragmaticengineer.com/advice-for-junior-softwar... (didn't write it, but it jives with my experience).

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.



Just to jump in on this - I got canned in the last big recession and while not a new grad, I took the next (contract) job that came up, at much lower pay, and over the next year doubled my take home from the original job.

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.


> 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.

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).


Agreed from personal experience.

Consulting, and specifically exposure to a large number of corporate cultures in your clients, is a great accelerator at the start of a career.


>(Most people who stay in one job really mean lots of different jobs inside one giant conglomerate)

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.


I've been at the same place for 22 years and except for 3 years I am in the same group with the same title and comparing what I did in 2001 to what I do in 2023 they are very different jobs. Sure a lot of it has to do with changes in technology but as my professional skills have grown what I do has changed significantly. There are a few of my coworkers who started around the same time I did and they are doing exactly the same thing they were doing 20 years ago, very little has changed for them outside of the travel and time keeping apps and they are happy as clams.


> Move around as a new grad.

... but not too much/too soon. Best to understand what you can/should learn and try and achieve that before looking for a change.


No one smart is expecting critical work from a new grad. If you move once every 1-2 years then you are fine. Once per year will raise flags after 3-4 jobs due to fear that you are being terminated on every job for some reason.


I didn't mean don't do it because of impact on your resume, I meant don't do it prematurely because it slows down your progress.


I'd say, having experiences at bad workplaces can still be valuable. This isn't to say one should seek out toxic colleagues and horrible working conditions, but knowing what you do not want is valuable too. And having bad workplaces early on is cheaper than having bad workplaces later in life. All in all, I'm trying to emphasize that a job in the field you want will almost always be beneficial when you're starting out.


Broadly I agree with this, with the caveat that, especially as a junior developer/new grad, it can be both really difficult to spot that a workspace is toxic and really damaging to work in one over time.

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.


Being a junior without prior experience at a shitty company is a enormous risk. Being a senior means you can judge the shittyness, as junior this first experience will influence you for a good part of your future career, be it for the better or worse.

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.


Yes, absolutely agree - I was considering updating with something similar. Finding a mentor, either within or outside the company, who’s opinions you trust and who can say “no, you’re not reading that situation wrong, Jim’s behaving badly” or “yes, your instincts are correct, this is the right way to do this,” or even “yes, Bob’s incompetent, but in this case, he’s right, because of this” is absolutely invaluable. It’s invaluable for anyone, but especially in that situation, it can make the difference between a learning opportunity and a trauma.


Agree. I would add that someone like this is important even for more senior, and even leadership positions, all the way up to C-Level. Whoever had a brush with a report or a peer that behaved badly knows that sometimes you need a second opinion not to be biased and to not take it personally.

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.


Yep. Wouldn't trade the self-confidence and lack of tolerance for BS I developed from working for a psycho for much. I just wish it hadn't taken therapy and antidepressants to get back to a place where I could be comfortable in myself and my abilities again.

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.


One particular thing I've noticed in my neck of the woods is younger Junior devs only staying at junior level jobs for a set period. They stay only one year, almost to the day, despite good performance and good fit.

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.


A tangent to this is "management is now hesitant to hire people who have shown an established history of employment."

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.


This is an HR problem. If they’re happy with their job, it’s not possible for them to get a raise with the current company that likely comes anywhere close to what they can get jumping ship. If HR would be willing to say “Hey, we recognize that this person is doing good work and want to keep them, but also recognize they can realize a 50%+ increase elsewhere. Let’s open the checkbook.” Instead, they’ll say that the most they can give them is somewhere around 10%, maybe the manager can fight for 15%. In the end, they’re going to take the 50% increase, even if your corporate culture and everything else is great.


This is public sector. They knew the pay grade when they got hired (stating the pay range has been a requirement ever since the web page was launched) and it can't be changed without an act of the legislature.

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. People are more likely to retire than quit. (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).


Definitely agree with this. To learn good leadership you have to see bad leadership; to create a genuinely good environment you have to see what happens to make a bad one, etc. etc.


> in general it is far easier to get a job once you have a job.

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.


Great advice. The only thing that's missing is to grind leetcode as hard as you can. As much as HN and Reddit hates leetcode, most companies still use it in some form. Getting good at leetcode-style questions will allow you to get through the first few interview stages more consistently. Then, in the later interview stages, you can show off your personal projects and open source contributions.


I've worked at multiple of the FAANG. Everyone acknowledges they study for the interview. You may occasionally get someone trying to make out they could pass without study but even then they acknowledged they studied. This isn't something to be arrogant about. It's a process designed to filter out those who'd refuse to study to get the job. You have to study. Doesn't matter if you have a PhD and write books on CS. Study. Don't be a dick about this fact. Complain in HN about a process that filters out those who can't/don't study if you want but if you're going for the job study. This is rather straightforward to the point the recruiter taking you through the pipeline will explain this in detail.


I graduated 20+ years ago from a top CS school, and this was the norm then as well, whether you wanted a job at a big company like Microsoft, a consulting company, or a hot tech startup.

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.


Study doesn’t need to be intense. I got my current job with about 6 hours of leetcode and no CS degree (although I did take a small handful of CS courses)


What difficulty did you manage with 6 hours of study?


Easy and medium. I wasn’t asked any hard questions in my interview.


While I would definitely say it's a good idea to study harder questions, my experience has been similar to yours in that I don't recall ever being asked a more difficult leetcode/HackerRank style question in an interview.

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.


> It's a process designed to filter out those who'd refuse to study to get the job.

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.


Good advice from the pragmatic engineer article. Particularly the advice to "aim wide". It is so tempting to put all your effort into that one perfect job. But in down times, you want a steady paycheck and to start getting practical experience under your belt.

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.


To the last point, it's important not to find yourself in the IT-as-a-cost-center trap if you're being asked to spend 90% of your time working on {IT tickets, business analysis, customizing-Salesforce, creating-old-school-java-beans-all-day} work, so much so that you can't write about software engineering with features you're proud to have worked on, in the bullets on your resume.

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.


I was recently asked "Is it better to get any job than keep searching for the job I'd be most suited for?" by a laid off Visa holder.

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.


At this point there is no way any software company could justify, legally, hiring someone on an H1B. There are some 40k layoffs in last few months and certainly a large number of those are US citizens. Any company claiming that they can’t find a US citizen with the right skills is lying.


The Visa situation is very bad , but technically for better or worse it’s how the system was designed to work. H1Bs are meant to supplement the domestic supply of certain skills to meet demand. If demand drops (or as is happening with now supply increases) then it becomes hard to justify why one needs to hire an H1B over say someone already eligible for employment. Companies always game the system but it’s going to very hard to suggest one can’t find any SDEs at this point.

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.


As much as I tend to "defend" Europes social systems, when it comes to visas there are some similarities. True, once you are eligible for unemployment benefits in Germany, you can extend you residence title for that period. And then, being herw long enough even more. In case you are not eligible yet, well, things are different. I have quite a few collegues that might face that prospect sooner than they like, and of course the employer is not talking about this, nor are my co-workers necessarily aware of that. Kind of makes me angry with my emoloyer, in my book you do not screw around with peoples lives like that.


One thing that would be quite reasonable is a longer Visa grace period after losing a job. I don't see what harm this would do. The Visa grace period is currently 50% shorter than a tourist visa to give context.


> There are some 40k layoffs in last few months and certainly a large number of those are US citizens.

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.


they've always been lying, the can't find someone with the skills is just a hoop to jump through.


The lie is that they can't find someone with the skills

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 would obviously depend on how much you want to maintain your visa.


That is excellent advice, and not one single hint of jargon!

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.


Learning to ship and get shit done is the most valuable lesson, or one of the most valuable ones, to learn in your first full time job. If you cannot learn that, look for a job where you can before in years you are a senior, but in real experience still junior.


I'll add to this, I've had 5 jobs within 5 years of graduating.

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.


An average tenure of 1 year in a job is a red hot flag I'd almost immediately reject. Life's too short to spend a month wasted training an employee that's just going to jump again. It's my number 1 no-hire criteria. Good on you for convincing so many hiring managers that you're worth the risk though I suppose?


What's nice with this is that it automatically fixes itself: once you've jumped enough that no new employer wants you, you (have to) stay at the same one long again to be a good candidate again, assuming you don't get fired.

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.


Eh, 5-in-5 is a yellow flag for me, maybe depending on what the longest tenure was. It's probably something I'd bring up. The explanation Aaronstotle gave for leaving each place would be plenty reasonable for me.


I agree that 5-in-5 as a candidates total experience and applying to my company to become a 6th? That’s pretty much not going to happen.

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.


I think if the employee is experienced and independently motivated enough to ramp up and become productive quickly, you can get considerable value from someone like that. But you're basically talking about a highly specialised perma-contractor, W-2 in name only...


Digging ditches (or whatever) can be smart.

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.


And perhaps, implicit in the above reply, write about what you have learned!




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

Search: