
Ask HN: I just got fired for being a junior developer. What do I do now? - bsima
The official reason for the lay-off was &quot;your services are no longer needed.&quot; Off the record, they wanted to hire more senior devs and didn&#x27;t have the skills&#x2F;capacity to train juniors such as myself.<p>In fact, while I was there, I never received any training at all: no pairing, maybe one or two UML-ish diagrams, only a few explanations of the code base. I taught myself Rails in order to get the job, and I learned the codebase with liberal use of `git blame` and reading commit messages. I thought my work was pretty good, all things considered.<p>What are other companies going to think of my situation? What should I do to recover from this and increase my chances of getting another (better) job?<p>I&#x27;ve only been programming professionally full-time for about a year, before that I did freelance work on the side while in college. I do Ruby, Python, {Java,Coffee}Script and Clojure, full stack (including dev ops) because I&#x27;m too young to have a specialization yet. One hundred percent self taught (studied philosophy and some biotech in college). Unfortunately I wasn&#x27;t paid enough to establish much of a financial runway, so I&#x27;ve gotta hit the ground running and find my next gig in ~60 days. So on that note, if anyone is hiring, well you know how to contact me.
======
davismwfl
A couple of comments. Sorry you were let go, but that is just business, they
need people with more experience and likely learned the hard way that they
can't pay lower prices for less experience and expect things to work out. That
really isn't a reflection on you or your abilities so much as it is on them
for bad planning. So don't look at this as you failed them as much as they
failed you and likely others.

As for what you do next. Take a few days and chill and have some fun, spend a
little time brushing up your resume and start sending them out. There are a
lot of positions available. Remember this, when you are applying for jobs you
are selling yourself and what you can do for the company. So many times I
interview developers and they don't realize that they need to sell themselves.
I am not talking about being a sleazy used car salesman, but recognizing you
have to tell people what you are capable of and be able to back it up with
mastery of some set of skills.

Last point, you mentioned you are to early to have specialized. I totally
disagree with this approach but others may have different opinions. I think
you should specialize in a couple of key areas, generally for someone with 1-2
years experience I expect them to know a single language quite well, have a
little knowledge of others and be able to do some data queries in SQL (or the
database they have been using) etc. I want new hires to have some depth not as
much breadth, it is important to get a wide span of knowledge, but it is even
more important to go deep in a couple of areas. You have plenty of time to
master multiple skills, but focus first as it makes you more valuable. For a
web dev, I'd expect decent JS, css, and whatever their front end language is
to be fairly mastered in terms of syntax and core coding. I wouldn't expect
advanced topics like concurrency or nuances of debugging yet (unless they have
been heavily mentored).

Good luck, you should have plenty of runway depending on where you are at in
the country, and whether you are willing to relocate.

~~~
bsima
Thanks for the thought-out response. I think it's typical among developers to
think that their work stands for itself, so they don't have to sell
themselves. I agree with your statement that selling yourself is important. I
recently beefed-up my resume[1] because I kinda saw this coming.

Interesting point on specialization. I'm not quite sure where I want to
specialize, though. I love functional programming (Clojure et al) but Ruby and
Python are fun too. I started in front-end years ago (high school?), so I'm
extremely fluent in HTML, JS, CSS, but I've been getting more interested in
algorithms, machine learning, and related stuff in recent months/years.

I've got a few books from the library on programming that I plan to read, I
think this will help me decide which direction to specialize in. Next I'll
decide on a project to establish my specialization. The books are: The Joy of
Clojure, Functional Programming Patterns in Scala and Clojure, Seven Languages
in Seven Weeks, and Web Development with Clojure. I also want to read The
Rails Way (or something similar, since I don't have formal training in Rails)
and a book on algorithms.

[1]:
[https://docs.google.com/document/d/1OrBr3KPDjeJBcXdKFJ2vE3tg...](https://docs.google.com/document/d/1OrBr3KPDjeJBcXdKFJ2vE3tgAKQxThciGMsIX1icVx8/edit?usp=sharing)

~~~
davismwfl
Your welcome.

I get not knowing where you want to specialize yet, but just because you say
choose Ruby or Python today, doesn't mean you won't then after 2-3 years move
to something else. Specialization in this case teaches you more than the
language, it teaches constructs, data structures, loops, algorithms, debugging
techniques, error conditions, testing theory etc. Then once you have a handle
on those it is easier to apply them in a new language and you start learning
how to architect solutions more efficiently regardless of the language chosen.

The coolest part to me about being in Software is we are almost never locked
into one language or framework, but you have to get rooted somewhere. And as
fapjacks points out, if you advertise yourself as full-stack with 1 year
professional experience it looks funny to most employers because you just
can't start out there. It takes time.

------
onion2k
_What are other companies going to think of my situation?_

There's a specific language to hiring and firing. Make sure you get it right.
They'll think it's quite bad if you say you were _fired_. Fired very
specifically means you were told to leave for some sort of misconduct. You
weren't fired - you were either layed-off or you were made redundant.

~~~
zhte415
Perhaps a different business culture:

Staff are given a record of their employment history, and companies have to
follow strict rules when dismissing employees:

* Fired is a big negative. It goes in the government sealed employment record. But you do get 3 months salary on the spot. * Chose to resign gets a month's salary and (usually) no need to come to work and get on the job hunt. * Released (made redundant), a pain for employers but great for employees, as they get the 3 months' benefit plus it is not their fault.

Focus on the 3rd option, especially when getting a contract signed. Powers out
of your control are out of your control, don't get blamed for them.

~~~
ruraljuror
>you do get 3 months salary on the spot

That doesn't sound right. I think it's up to the employer's discretion. If
you're fired, I think you're far less likely to get a severance package.

~~~
bsima
Yeah I looked into this. At least in NY, I don't get any severance package or
benefits. I only worked there for 5 months (6 is required[1]) and I'm still
under my parent's health insurance and never bothered to sign up with my
company's plan.

However, this is definitely something that people should know. If someone is
reading this and aren't clear on what their rights are, it's super beneficial
to read up on this stuff before you get let go.

[1]: source: NY Unemployment office
[http://labor.ny.gov/ui/claimantinfo/beforeyouapplyfaq.shtm#0](http://labor.ny.gov/ui/claimantinfo/beforeyouapplyfaq.shtm#0)

Edit: I misspoke. I might be eligible for unemployment benefits from the state
(I'm putting in an application), but I certainly don't get a severance package
from the company.

------
meteor
I was working with a friend whom I consider as a very good programmer. She had
just joined our company. She told me that she was fired from the previous
company as the company was not doing well. I was surprised to know that how a
company could let go such a good resource. It seems she was in 'entry level'
category. As the company was not doing all that well financially, they had to
let go most of their employees who were at 'entry level'.

While it seemed unfair to me, she was actually happy about it. She said as the
company was not doing well there is always a tension around as who will be
fired next. And she was glad that this finally happened to her. It was then
she started searching for jobs and realized her true potential. Now, she is
getting paid really well. The challenge with the companies which are not doing
really well is that there is always a knife which is hanging around your neck.
And you ll never know when this knife will be dropped. Now that you are
relieved from this company(knife), you should start feeling better. There are
nice companies out there. You ll find them. Everything happens for a reason.

~~~
bsima
This is almost exactly what happened to me. Internal turmoil, people moving
around. Thanks, this was encouraging.

------
legedemon
I just checked your resume linked to from your website. To be blunt, you have
mentioned too many unrelated things on your resume and it sends out the
message that you are a jack of many trades.

My sincere advise would be to organize it so that someone can know what you
are looking for and whether you'll be the right fit for them now rather than
when their E-commerce company has a computational biology division. Since you
already have had a year of Rails experience, why not highlight it there? (The
world rails doesn't even show up on my tablet above the fold.)

~~~
aggronn
My observation while looking at his resume: Why so much emphasis on functional
programming? Most shops are much more OOP than functional, and making it seem
like you care more about the intellectual aspects of programming than actually
solving problems is not good. Employers don't care if you like functional
programming if they aren't also huge functional programming people. HR
managers sure as hell do not know what functional programming is.

~~~
bsima
Emphasis on functional programming because I made this resume when I was still
working there, but wanted a job with more engineering and I like functional
programming in particular. I will update my resume and even make a few resumes
tailored to different roles later this week.

------
anywherenotes
Maybe it's obvious and should go without saying, but you should file for
unemployment.

I wouldn't give the reason "they wanted someone someone more senior" on your
interviews, their official reason is a lot nicer.

Your resume in the link says 'traditional resume'. Is that on purpose? I'd
just call it 'resume'. If you have several, just put them in different
folders, and call each file 'resume'. Not really sure it's important though.

Good luck.

------
taternuts
I think you might have to brush up/learn common algorithms and data structures
for your interviews - I remember being in a similar situation and found that
my round of interviews afterward were the hardest I had to go through. Most of
them were asking questions way above what a Jr. Dev should know and it was
pretty disheartening; I think most had their set of questions they'd ask in
any interview and don't really adjust for the junior status. So yeah, don't
get too discouraged and keep going

------
mikecx
I would suggest walking through the list at
[https://news.ycombinator.com/item?id=9812245](https://news.ycombinator.com/item?id=9812245),
finding things that interest you (more so than location, really like what the
company does) and reach out to them. As one of the companies on that list
that's hiring, having someone reach out that really wants the job helps quite
a bit. It's a super long list with a lot of options.

In the meantime, since you don't have a ton of experience, i'd work on your
Github. Right now it's a lot of small learning projects but nothing that shows
how to build anything in particular. Personally, I was looking for some Ruby
that wasn't boilerplate or some Javascript that wasn't other people's
libraries.

~~~
bsima
Yeah I'll definitely work through the "Who is hiring" posts. I haven't had a
lot of time recently to work on my Github, but I will focus all my time on
that soon. The most mature OSS (+ hardware) project I have is Nebula Bio[1],
which is what I usually share, but I think I'll put together a Rails or Django
app or something like that for fun next week. Or maybe actually finish
creating a library (I've started a few, never finished).

[1]:
[https://github.com/nebulabio/protochip/wiki](https://github.com/nebulabio/protochip/wiki)

------
AnimalMuppet
You've got the magic word - _experience._ That first year of real-world
experience opens more doors than you might expect.

Where are you? People here might be more able to point you at promising
openings if we knew that.

~~~
bsima
I'm in Rochester, NY, but I'm open to relocating just about anywhere. I've got
a few friends in the Bay Area, so I'd love to move out there.

------
brudgers
Sorry to here that, I know it sucks. Business is cyclical, goals change,
there's no point in taking anything personally [which is easier said than
done]. Finding another job will make the moving on easier.

Good luck.

------
stuaxo
Go and get another role, hopefully with better pay. It's not super unusual as
a junior. No training is completely normal, it sounds like you know what your
doing. 60 days sounds great.

~~~
bsima
I didn't realize no training is normal. I've heard from friends and blog posts
that juniors tend to be taught by a senior via pair-programming or something
similar.

~~~
ruraljuror
That sort of training would probably be a best practice and most efficient,
but I think there are a vast number of companies--especially small ones--
operating in an ad hoc manner. Even ones who pay lip service to certain
methodologies will struggle to get them right. Rather than expect them to
train you, do your best to observe the practices of the company, while
learning what you can and work toward a contribution. Always carefully
consider a problem before asking for help--and at that point don't be afraid
to ask for help, but do so in a polite manner.

I am older than you, but came to programming late and consider myself a junior
developer. I'm impressed from what I saw on your resume, especially for such a
short period of time. Good luck.

~~~
bsima
Thanks, I really appreciate your comment and kind words. As a self-taught
junior, I find I have gaps in my knowledge that I'm not even aware of
sometimes. Reading books and talking with coder friends helps me patch these
over. I'm not sure what languages you work in, but if you want to pair on an
OSS project sometime, maybe we could help each other. I'm @bensima on Twitter
and @bsima on Github

