As a junior developer, the job market can be difficult.
Every job description appears to want an engineer with over 5+ years of experience in every language and every tech library. If you only know ChangeWorldLib 1.7.3 and not 1.7.4, you’re out.
I hear from my friends in developer bootcamps, “I just.. want a job. any job.”
What do you as the junior developer bring to the company? A common complaint is the company takes on risk to train you with the possibility you will jump ship in a couple years. They might not get enough productivity out of you and then you’re more valuable to other companies.
Understand the company’s concern. Everyone says they are a fast learner, hard working, and an awesome team player.
You need a way to differentiate yourself and show them you can deliver value – and before I skip past management speak, you need think about how productive you can be in a short amount of time. What skills do you have on the table to show you can ramp up quickly, solve problems, and ultimately contribute to company priorities?
When I’m on the other side of the table as the hiring manager, the one thing I look for in a junior developer is side projects. This tells me – You can scope out a problem. You can address it with your code. And you can ship. You have something concrete for a hiring manager to compare.
If you interview for a company and they don’t ask you about your portfolio then most likely you will be assessed on your raw technical ability which is coding on a whiteboard. Then get good at writing code on the whiteboard if your life depends on it. You want that job, then you need to hone that skill.
Here’s other advice that I think is useful.
Logs
Learn to read logs. Understand why certain parts of the code are logged. There’s usually a good reason. For my bootcamp students learning Ruby and Rails, if you begin/rescue, log the backtrace. The backtrace is extremely important for debugging.
Find an open source project
Pick an open source project like Rails. Read the source code. This may take months if you’re getting started. You may think it’s too much. If you want to get serious about web programming, then you’ll need to be able to peel away the magic.
What is Rails doing when you type “rails server”?
You don’t need to memorize anything, you need to have an understanding what’s going on because there’s a lot that’s being abstracted away into one simple command call. You also need to be able to follow the code path.
Here’s another way to start. Pick a section of code you use very often like ActiveRecord. What is the code doing when you call ActiveRecord::Base.establish_connection?
How do the modules and classes interact to allow you to write a record to a Postgres database? There is no magic. Everything can be explained in the code.
Forcing yourself to read code will help you trace problems quicker, and you’ll have a better idea where to look when things break. You’ll begin to see patterns and figure out why the developers wrote the code. Maybe you might not agree with all their decisions. Maybe you’ll find a flaw or bug.
Social skills
Every organization has a unique culture. Every interviewer talking to you will consciously or subconsciously gauge if they get along with you. Ask your close friends. Ask them if there’s anything you do that annoys them.
If you feel uncomfortable asking in person, try asking over email:
“I’m serious about my career and I feel like something about my personality is holding me back. Can you tell me honestly what I can do differently?”
I hope these suggestions can help you along the way. Good luck.
Leave a Reply