Ask HN: I just got fired for being a junior developer. What do I do now?
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.
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?
I'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'm too young to have a specialization yet. One hundred percent self taught (studied philosophy and some biotech in college). Unfortunately I wasn't paid enough to establish much of a financial runway, so I'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.
34 comments
[ 3.2 ms ] story [ 68.5 ms ] threadAs 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.
That said, I definitely plan on specializing over the next few weeks. Full-stack is hard! :)
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...
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.
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.
And, honestly, you didn't get fired because you were e.g. screwing up, you got laid off because the company perceived it just didn't, at net, need or was able to afford you.
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.
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.
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
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.
Where are you? People here might be more able to point you at promising openings if we knew that.
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.
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.)
But as I'm increasing my job search efforts, I'll end up making a few resumes tailored to different roles. So thank you for the advice, I certainly take it to heart and will act on it .
Mention it once in addition to or with the mention of Clojure so someone like me will notice, and only send the full exposition to companies and positions that are "actually solving problems" with FP; I seem to remember Wal-Mart (and you might like Bentonville, Arkansas after the cold of Rochester :-) and Amazon are using Clojure in production....
Both interviews were for the same kind of job.
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.
[1]: https://github.com/nebulabio/protochip/wiki
Good luck.
Strive to be a T shaped developer eventually, but early in your career, go for being an I shaped developer.
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.
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.