Breaking in to tech as a junior developer
After a long hiatus, I re-invested myself in Twitter this year. I've focused on meeting new people in tech as well as people outside of my social bubble. I'm not sure why I chose the year of social-distancing to make new friends, but I'm glad that it happened.
In the technology space, one of the things I noticed immediately is the community of folks just looking to get their foot in the door of this industry. There has been a lot written about what you "need to know" to prepare for your technical interview, but I wanted to focus on some of the soft-skills that I think are helpful to get you noticed in a sea of junior developers.
Be critical of what work you take on. permalink
"This is an odd place to start", you might find yourself saying. I know you are hungry and basically willing to take anything right now to find your "in". I need to start here though. This is both an aside and the most important thing on this list.
The world doesn't need the racist version of a social media platform. There are real-life consequences to the work we put out there as an industry. There are a lot of terrible people out there trying to make a quick buck. Hitching your wagon to them will never be worth it.
You don't have to love the mission of a company. It might be an unexciting service that's still needed. That's completely valid. Just ask yourself if the end-product or mission of the company you're about to talk with is something you'd be embarrassed to look back on in 10 years. Find your personal compass.
Focus on your passion/niche. permalink
I've historically been drawn to front-end development. I actually love tinkering with build tools like webpack. I've always found myself in positions where I'm propping up repositories for a new npm package or troubleshooting some Babel compile error (like I've been wrestling with this week). It's work that other folks tend to hate. On most teams though, it sets me apart.
Do you have a deep love of CSS animations? Are you the person that Kubernetes or Docker doesn't mentally destroy? Are you a person with deep accessibility chops? Lean in to that. Lean in hard.
Understand the fundamentals of your chosen field. permalink
The flip-side of the niche point is that you still need to grok the fundamentals. I keep wanting to add "deeply" to that sentence, but the reality is that you really just need enough to get by in most instances. If you actually nerd out on every single Javascript quirk, then awesome. Outside of common debugging issues, you don't actually have to understand a language "under the hood", at least as a beginner.
Are you focused on front-end? permalink
Stay on top of HTML, CSS, and Javascript updates. There is plenty of learn there before you even start to dive deeper in to frameworks. I've worked with plenty of React/Angular specialists that can't center an element on screen properly. It's a not a good look.
Are you focused on back-end? permalink
Computer science fundamentals are even more important here. You should consider this knowledge language-agnostic though. Once you learn one language, it's easy enough to pivot if you need to. Looping over data is basically the same in Ruby as it is in Python as it is in Javascript.
You don't need to know how to implement everything, but you should try to have an understanding of why you might use one database structure or language over another. Read up on the pros and cons and do your best to stay current.
Consider yourself fullstack? permalink
This might get me some shit, but figure out what you actually care about and focus on that for now. You'll have plenty of time to build top-to-bottom applications as you move forward in your career. Stretching your brain to cover this much ground is only going to limit your ability to get good at any one thing.
Reach out to people you admire and make connections. permalink
This can be hard, especially for introverts in a COVID era. Build connections online. Be inquisitive.
Knowing people will always help you get your foot in the door for open roles. It's not fair, but it's the reality of how the industry operates.
Keep creating things permalink
- Projects
- Blog posts
- Social media content
Finding the time to create is always difficult. Most folks looking to break in to tech have full-time jobs and families to support. It's incredibly hard work to add even more on top of all of that. Hard work is the minimum here though. You need to show that you're engaged.
Be ready to have something to show off. Even if it's clearly very junior-level work. You're applying for a non-senior role. Nobody is expecting perfection. They are looking for some drive and a willingness to learn more.
Contribute to open source. permalink
Caveat here: I didn't contribute to open source when I found my way in to this industry. Truth be told, open source wasn't nearly as common then as it is now. If you were to look at my profile now, you'd likely be very un-impressed. Most of the work I've done in my career has been with business-specific profiles in private repositories.
Your Github profile isn't everything, but it's a start.
Open source is a great way to show that you're able to work with others on a common project. It displays a bunch of things that are common (if not critical) to the role.
- Version tracking and comfort in the pull request process
- Bug-fixing and addressing specific issues from tickets
- Contributing to an existing environment that has it's own standards
This last one in particular is telling to me as a hiring manager. We all have opinions on what makes beautiful code. A willingness to set personal opinions aside and work towards a collective goal speaks volumes.
Keep at it. Luck is crucial. permalink
I touched on this before, but hard work is the default. People land jobs because they got lucky. They were lucky enough to have the resources to go to a nice college. They were lucky enough to have good connections. Maybe they were just lucky enough to find someone that was willing to take a chance on them.
This last one was my lucky break. I literally met a couple from JibJab media while on vacation in Paris and struck up a friendship. It turned out that they needed some seasonal help with landing pages. It was my first "real" gig and helped set me up for what turned in to my first full-time developer role with another mentor that took a chance on me.
You'll find your moment. It will not be easy. Just stay focused and stay active.