Mar 05, 2015 • 6 min read
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:
I am a human being learning Ruby on Rails from an online intensive course called TeaLeaf Academy. I do plan to start a JavaScript course in Boulder, called Da Vinci Coders. I will be done with everything by the end of June. I have a strong interest to become a TeamSnap employee. Making a living for doing the thing that I love, which is coding obviously and would like to ask you guys… How can I make it highly probably to be on the team? (like 1000% probable)
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!
Thank you.
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.
Listen purposefully, inquire respectfully, and be grateful daily for the opportunity to stand on the shoulders of friendly giants.