HACKER Q&A
📣 batt4good

How to stand out as a junior engineer


I graduated from an above average CS program in Boston, have stellar intern experience along with side projects on GitHub, but unfortunately my launch into the professional world didn't go as smooth as I would've liked.

I've had 1.2 years at a very risky startup but got to do really cool work and then 8mo. at a FAANG (joined a large 150person startup that had recently been acquired by said FAANG) but unfortunately my team was terminated for reasons out of my control.

I've been looking for work since October and unfortunately I feel completely backed into a corner. I don't have a huge tenure anywhere above 1.2 years. I'm not hugely experienced in any one thing. Standouts are really just Go, Elixir and Vue knowledge. I have references, but most of them are barred behind NDAs or from the first company I worked for where I didn't leave on the best terms because they were withholding salary.

I've had a handful of on-sites and made it through 2-3 rounds in 10-12 other interviews but just can't seem to get offers. Being in the workforce has also lead to my leetcode skills suffering, something in college I usually made up for with stellar side projects.

I feel trapped and for the first time in my life really don't know how I should go about digging myself out of this. I feel like I've picked the wrong career or that something is wrong with me - I sincerely appreciate any help or advice any of you are generous enough to offer.


  👤 cbanek Accepted Answer ✓
> I have references, but most of them are barred behind NDAs

You don't need to worry about this. Reference checks usually don't involve many detailed technical issues that would fall under an NDA.

> I feel like I've picked the wrong career or that something is wrong with me

I don't think that's the case.

First off, and you might not recognize this yet, but hiring is really slow during the holidays. Any time between Thanksgiving and New Year's Day is basically completely dead. September and October are also particularly slow, as this is the start of school for families, which can be a tricky time to get someone to relo. Decision makers aren't in, people are on vacation, year end stuff abounds. People are fairly checked out, and it can be hard to get an interview panel together.

It will pick up in January with the new year. Hit the "Who's hiring" thread on HN and apply to a lot of places in short order.

As a (somewhat) successful employee with 15 years of experience, each place I've worked has had a story behind it, and they aren't at all alike. I've also bombed a fair amount of interviews that probably would have changed my life, like TwitchTV. It happens. It's a numbers game. You don't know if someone else better has applied. Or that the person has picked a topic that you know about or not. It just sucks particularly hard to feel that lack of control.

You sound like you're doing the right things. My leetcode is also terrible, and somehow for interviewing anyone it's all about leetcode BS these days. So if you can pull that off, I think you've got it. After all, you did it once. You can do it again.

To counter the feeling of a lack of control, I think you really need to take advantage of what you do have - time. And programming is cheap, and you can stay at home! Maybe work on those side projects. Brush up on leetcode, or learn some new skills that are marketable, hot, and maybe you're interested in. Even just doing a few tutorials can make you sound like a badass these days. Make the time productive, so you don't feel like you're doing nothing or feel helpless. Sometimes those actions can lead to new developments.

Do you think you did well in the interviews? What do you think went wrong? Nothing is a perfectly valid answer here. Managers don't have any more idea what they want than customers, so job descriptions might not line up with what they interview for. There might be some other applicant. If there is a point of weakness, work on that!

Good luck. You can do it.


👤 rvz
> I feel like I've picked the wrong career or that something is wrong with me - I sincerely appreciate any help or advice any of you are generous enough to offer.

The problem here is that the barrier to becoming a 'developer' these days is being lowered every week due to the millions of other 'developers' attending bootcamps or graduating from university just like yourself. CS is still a lucrative career option, its just that hiring managers can't deal with the same abundance of devs to choose from and will select those from their internal professional network or recommended by their own colleagues. This applies to everyone entering the field.

It's even harder for juniors and more difficult if you have little to no experience, thus resorting into doing the coding interview lottery (Which is deliberately rigged to waste your time). I don't see why someone like you with open-source contributions and with some experience still end up in this interviewing game. Perhaps with the background you have, you could create your own startup with some former colleagues to join, or obtain multiple referrals from current employees before applying. Both have varying degrees of risk and possibly have a 50:50 chance of going either way.

But if I saw a junior developer that created a profitable startup or side-project with several employees, it tells me that they're clever enough to apply their skills into practice, very quick to learn and they get lots of experience for free. That is a standout junior which I would bet on to easily train to become senior.


👤 yellow_lead
1. Hit leetcode hard

2. Increase your applications. You should be applying all day, at least get hundreds of apps.

3. Improve your resume, have a friend look at it. Consider leaving off your 8mos stint. May be making you look like a poor performer. Instead you could describe the time since then as spent on your side projects.

4. Reach out to your personal connections about potential roles. These are most valuable especially since you had some bad luck that doesn't make your resume look so great. If you don't have good connections, you should look to improve that at your next job, but try tech meetups in your area. Read one of those networking for programmers books.

Lastly, be confident. You may not have a ton of experience in one technology, but I'm sure you're a fast learner. Experience as a junior is a bit overrated. Stop going into interviews with the hope they'll give something to you, and start going in with the question of what they can provide for you.


👤 jwist
It’s extremely slow for hiring over the holidays.

If you think grinding LeetCode would help, do it.

I would also suggest networking. Find whatever meetups are going on and attend and just talk to people. If there is a conference that is relevant volunteer and that gets your foot in the door. Also don’t be afraid to ask friends for help they might be able to get you introduced to people that are looking to hire.


👤 vikingcaffiene
First, give yourself some credit. You have some good experience with interesting languages and 2 more years of it than I typically see. Nobody in this industry has any idea how to hire.

Second, have you asked for and/or received any feedback from these rejections? They typically tell you why they decided to pass on you.


👤 ejanus
I am about facing coding challenge from one of FAANG. I did a couple of CS algo courses in a good university some years back. I just don't know the shortest path to prepare for this ?

👤 probinso
Firstly, get someone to review your resume. You should update your resume at least once a month. At two years of experience should yield good listings for resume. You can often find "resume-review" channels in Slack/Chatrooms associated with programming meetup groups.

At 2 years, you likely have a pretty bad/small professional network. If you want to leverage your network, reach out to people you worked with in university. Reach out to staff and faculty of the program that you had a good relationship with. I found that the system administrator had the most and most interesting connections.

Usually I see new engineers not applying to enough companies. Set a quota of applications to unique companies per week. I found 25 was good, but you may have a different tolerance. "I applied to google 20 times this week" DOES NOT COUNT as 20 applications, it counts as 1. Spend the first half of the week applying to positions that are interesting, and the second half catching up to your quota with whatever you are qualified for.

Remember that being "qualified" does not require 100% skills coverage. At the beginning of your career (and a university degree), you likely only need shallow exposure to ~ 50-75% of the listed skills / technologies. The longer you are in industry, the less overlap is required to land a job. (at 8 years I talked my way onto a job by starting my cover letter with 'I don't have any current overlap, but this is what I know and why I think what your doing is cool')

When you apply in this manner, it can be much harder to find enough companies to apply to. If you are not geographically bound, I strongly suggest watching conference talks that cover technology you are interested in. For every interesting speaker, record who employs them. Check them and similar companies to increase your search area.

Be aware, but less concerned about NDAs. As long as you don't share code, you are unlikely to violate them. Also if they couldn't afford to pay you then they likely cannot hire lawyer.

Practice white-boarding with people at meetups. Come with problems, and be ready to talk your way through solutions.

I have never used leetcode to asses a candidate, and don't see it as helpful. Light-Green github is a much stronger indicator of a good employee than any puzzle competition. Pick an interesting side project. If you have the resources to volunteer for a non-profit this can help keep you out of a sea without guidance/requirements. A good side project can help you control an interview. Add a section to your resume for side projects. You don't need to treat side projects as a full time commitments. These should be time-boxed to a certain number of hours a week.

Finally, always to postmortems. As long as you receive a first phone screen, the application qualifies for a postmortem. You should be changing your strategy, resume, cover-letter, and preparedness after every interview.