Software developers are the people behind the apps you love. They help you connect with friends via social media, listen to music on your phone, track the miles you run and stay connected with your team. At TeamSnap, they’re the folks who build features and make things work for our customers.
Developers (or devs) are in high demand, and more people are looking to get into this world to work on exciting new products. For those looking to break into the exciting world of software development, we hope this story and advice can give inspiration. (Meanwhile, be sure to check out the amazing jobs available at TeamSnap.)
A few days ago we got this awesome note from a candidate who was looking to become a Junior Developer. It checked all the right boxes for us: passion, curiosity, drive and a touch of humor:
What can I do to make myself an amazing candidate when I hand you guys my application? I want to be a top notch employee, I guess what I am asking is what is your ideal Junior Developer like?
I am going to print your job posting and hang it on my head!
Rather than give him one answer, we asked a number of our developers to weigh in and offer advice. Here is what our technology lead had to say:
Our most successful Junior Engineers have all shared one common trait: the drive and love of learning. We’ve had two former insurance company business analysts, a paralegal and an astrophysicist all become successful developers here at TeamSnap. Each in their own way started much like you; they wanted to do something different and took it upon themselves to learn programming (some through bootcamps, mentorship and self teaching). So, given you’re background, you’re already on the path to success.
My advice is find something you love, intersect it with programming and you’ll be successful. I personally found inspiration and growth in the open source community. I had an itch to fix working with currencies in Ruby. I volunteered to help with a small gem called “money.” After a couple weeks, I took over the gem and have grown it from 10,000 users to a suite of gems with nearly 5 million users. It’s always exciting (and flustering at times), but I learned more doing that then 10 years developing internal tools.
And here’s the advice from four developers who have walked this path, starting as entry-level Junior Developers and flourishing at TeamSnap:
Do not compare yourself to the mid- and senior-level developers on your team. TeamSnap is full of super awesome, experienced developers who contribute features at what seems like lightening speed. I get tripped up on small things like writing tests and sometimes just have to spend a good chunk of the day learning how something works so I can use it properly or pairing on a task. It’s easy to feel guilty about this, but you’re junior and you suck at some things, and learning is your top priority for the first couple months. It’s OK.
Get your code reviewed long, long before you’re planning to deploy. If you wait until post-QA to get your code reviewed, you’re going to have a bad time. The code may be working as planned, but it’s very possible someone more senior is going to look at it, cringe and let you know the 10 ways to improve it. This is VERY helpful, but then you have to re-test, etc. Ask for a review as soon as you have code that does something.
Don’t be afraid of doing something you don’t know how to do. Find opportunities to go out of your comfort zone.
- Don’t be afraid of people reviewing your code. As a junior dev (at least for me), you get in this mindset that everyone is way smarter than you and they’ll make fun of your code. This is a tough one to just brush aside, but really it should be. Reviews and suggestions on your code are great. You’ll learn more from those cases then just tossing something together without any reviews.
- Grab a hold of every opportunity you can to work with someone and learn from them. As a junior dev, it can sometimes be easy to think that nobody wants to pair with the dullest star of the bunch. Everyone is a bright star in their own special way, and you’ll find a lot of cases both parties learn from each other.
- This isn’t always a good thing because it can lead to too many things, but try not to say no. Often, as you blossom, you’ll get more and more questions and issues from others. Although these can be distracting, you’ll learn many things from these cases.
- Figure out what kind of product you are passionate about. If you are passionate about the product you are working on, you’ll find that it’s so much better than work.
- Smile and be courteous to everyone. If you are nice to folks, they’ll start coming to you with everything, and you’ll be a much more knowledgable and respected developer.
Listen purposefully, inquire respectfully, and be grateful daily for the opportunity to stand on the shoulders of friendly giants.