
Ask HN: How to stand out as a junior engineer - batt4good
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&#x27;t go as smooth as I would&#x27;ve liked.<p>I&#x27;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.<p>I&#x27;ve been looking for work since October and unfortunately I feel completely backed into a corner.  I don&#x27;t have a huge tenure anywhere above 1.2 years.  I&#x27;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&#x27;t leave on the best terms because they were withholding salary.<p>I&#x27;ve had a handful of on-sites and made it through 2-3 rounds in 10-12 other interviews but just can&#x27;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.<p>I feel trapped and for the first time in my life really don&#x27;t know how I should go about digging myself out of this.  I feel like I&#x27;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
> 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.

~~~
subrat_rout
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?

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

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

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

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

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

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

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

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

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

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

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

~~~
ejanus
Thanks ....that means that I should walk away .

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

~~~
ejanus
Thanks.... It is online coding challenge.

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

