Ask HN: How to stand out as a junior engineer

24 points by batt4good ↗ HN
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.

24 comments

[ 3.0 ms ] story [ 60.8 ms ] thread
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.

The only feedback I have been given (if I get any response after asking) has been "we were looking for someone more senior". And an instance where I was asked to "implement a JSON parser" in 20 minutes where the interviewers feedback was "solution was not complete enough". I'm not sure if I don't sound like I know what I'm talking about or if my algo experience is lackluster? I've also been careful to not focus too much explaining my exit from FAANG.
I'd consider writing a json parser in 20 min a tough challenge for anyone. Also being good at algos is not the only way to get hired. I for one am terrible at them and mostly do fine in interviews :)

The most important thing I've found to getting hired is to have your "story" down pat. Every time you are in an interview and you get asked a question you don't have a good answer for, make a note of it. When you get home sit down and compose an answer to that question in writing. Rehearse it. Repeat.

As for tech challenges, the number one most important thing to remember is they want to see how you think. They also want to see how you react under stress. No matter how tough or unreasonable the challenge is. Just take a deep breath and try. You'd be shocked at how often that gets you points with the interviewer.

Finally, most junior roles I see are (for whatever reason) front end heavy. Your vue experience is great but it would give you more options if you added React to your tool belt. Dunno. Just a thought.

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

Yeah, I've learned the hard way that networking is 96% of the key to having a stellar career without leetcode BS. I decided to not burn my savings staying in Boston and moved back to ATX to live with family. However, I'm strongly considering moving back to NYC or Boston solely because of the networking advantage.

It's also soul crushing to know I now have to compete with stay at home moms and liberal arts dropouts who went to bootcamps for positions...

I've thought about doing my own startup I just strongly don't believe I have the technical chops to deliver, but maybe I should take a swing to save my career chances and avoid wasting 4+ years of my life getting a CS degree?

Not to sound negative but if a junior developer can create a profitable startup and hire several employees then why he/she would go to knock doors for a job? If I can have a profitable project then I can hire a senior dev full-time or part-time to mentor/teach me. Right?
As a junior developer trying to create a profitable startup - the answer is you typically need some capital to pay living expenses before your company takes off. This can be 6 months to a year (take minimum expenses in a medium cost of living city, maybe 20k for 12 months). If you're starting from a savings account of $2,000 after college you're going to need a get a junior job and save that $18,000. The other option is to seek funding, which is a great idea but not garunteed when you need a solid plan to pay rent in 2 months.

You're right - ideally if you can create a profitable startup there's no need to knock down doors for a job. That's the dream I'm chasing and I'm sure a lot of others are too.

> You're right - ideally if you can create a profitable startup there's no need to knock down doors for a job.

Exactly with both you and the parent. This path saves you from spending your valuable time, skills and energy on leetcode/hackerrank puzzles just for a job and there's no need to do this or knock down doors for one if your startup is profitable.

I would rather create a startup with a solid business-model which requires limited funding that later pays itself (I know it is easier said than done) than to subject myself to frivolous whiteboard programming tasks that are never used in practice. But note that raising too much capital, trades in more control to VCs to decide the fate of your startup.

I find it worth the risk to carry on with working on a startup to bypass the interview games. So please keep going with your startup plans.

This is really comforting to hear. I've actually started and operated two unrelated businesses I used to fund my college expenses so I'm relatively well versed in the process of finding a problem / niche and developing around it.

To be frank, burning time doing leetcode makes me hate coding because I don't find it interesting or a decent use of time (outside of building up a stupid toy skill to pass interviews).

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.

I'd leave the FAANG stint out, but I was working full time during those months I was employed and didn't really have much time on the side to work on side-projects. Wouldn't it be worse to have a year long work gap without too much completed code on Github from that time to back it up?

I've been waiting to get things going full-speed again in January since December is a bum hiring month.

gaps are only bad if you aren't doing anything. If you can confidently defend the gap, or show proof of work then that ends the questions real quick.
I'm not super knowledgeable on this, but like the other commenter said, if you can't define the gap it's not great. My only concern is people are looking at your resume and saying "this guy spent (about) less than a year at his first two jobs, there must be something wrong with him". Perhaps you could look to get in front of that subtlely in your cover letters though. Going heavy emphasis on the acquired bit could help. People will understand this happens with acquisitions through no fault of your own.
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.

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

(comment deleted)
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 ?
Even as someone who took algo courses in college I still haven't figured out a good way to go about this. In my experience unless I'm doing it every day my fitness will drop off completely in about two weeks.

2-3 problems a day (3-4 hours of study) has been the only approach that's sort of worked for me so far. Best of luck!

You’re about to get destroyed if you haven’t already spent at least 2 months reviewing material and practicing.

Just a fair word of warning. I don’t mean to discourage you, but you can’t expect to waltz in with no practice for these things.

Thanks ....that means that I should walk away .
Nah don't walk away. Do it, and get the experience so you know what to expect next time. You've already scheduled it!

I would hate for my previous comment to have discouraged you from even trying. If it's a simple online coding challenge, it might be pretty straightforward. It's the in-person round of interviews that you really need some solid prep for.

Thanks.... It is online coding challenge.
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.

msg me if u want an amzn referral