Even though software development is often seen from a technical perspective, there's a softer side to it. It is hard to avoid not having to work with people unless you are a mythical programmer living in a cave somewhere in Finland.
To understand the topic better, I'm interviewing Aimee Knight about working with junior developers.
I'm a former competitive figure skater, graduate of the Nashville Software School, and software engineer at DramaFever, a subsidiary of Warner Bros.
As far as mentorship, I've worked one on one with developers in a more formal sense where we set up weekly chats, and I also devote a substantial amount of time each week making myself available for more one of conversations on the phone, through Twitter DM or email. I've found the latter to be the most common.
For my conference talks, I spend a lot of time brainstorming ideas and organizing my content in a way that will make it approachable to newbies, but also valuable to someone who's been programming for a decade. That is the most challenging aspect of speaking for me, but as someone newer, it's essential to me.
Working with junior developers is only slightly different from working with a mid-level or senior developer in my opinion. With junior developers, it's imperative to have a level of awareness in the situation.
In other words, a lot of juniors feel intimidated, so it's important to check in often and ask direct questions like, "does that make sense"? It's far too common for newer developers to not speak up due to the intimidation factor. I also advise when pairing to resist the urge to take over and let the junior drive!
I hear senior developers express to me how valuable and thought to provoke it's been for them when a junior presents them with carefully thought out questions. Statistically, it's also precious for seniors to work with juniors. Mentors are six times more likely to be promoted, and 20% more likely to get a raise.
Besides that, working with a junior can do wonders for burnout. Most juniors, especially those from boot camps are extremely hungry. The energy and passion they have for the field are contagious!
There are so many things I could name, but personally, I'm most excited about PWA's and AI! As far as PWA's, I've always wanted to build for mobile, and even in web development, I think AI is going to have a huge impact.
There are already things like The Grid that use machine learning to build websites! I recently bought Grokking Deep Learning and am excited to dive into it.
My advice is to get comfortable being uncomfortable. I have a talk on this... that's how strongly I feel about it being the key to success. For me, some of the hardest obstacles in my journey have been with my self-doubt. If you're aware of that though, you can shift your focus.
We are all human, and we have a finite amount of mental energy. So, it's important that you spend it wisely! If you can learn to become comfortable with the feeling of not knowing, you're able to focus solely on the challenge at hand, and you'll inevitably be able to tackle it that much faster!
I also encourage juniors to try and find a mentor or programming buddy. If you can find a mentor, it's probably the fastest way to progress. Developers who received mentoring were promoted five times more often than those who didn’t.
If nothing else, you can try to work on some small open source projects and get mentorship in the form of code reviews there. Your First PR is an excellent resource for finding newbie friendly projects.
Thanks for the interview Aimee! I've found working with people from different backgrounds helps to give you perspective. Magic happens when you combine the views and find something new.