As I write this, it's coming up on the two-year anniversary of the first time I visited FreeCodeCamp and started in on the web development track, learning the basics of HTML and CSS one afternoon when my day job as a landscaper got called off due to bad weather.
At that time it felt like such a silly and naive fantasy—this idea that I could change careers and become a software engineer—but I was so desperate for a sea change in life that I was able to suspend my disbelief.
Less than five months later I'd land my first freelance web dev client, and not long after that I'd go on to become Hashnode's first Marketing Manager.
I'm now a Developer Relations Engineer at MUI, where I write and review API documentation, create educational content and marketing materials, and lay the foundations for the company's burgeoning Developer Experience team (of which I am currently the sole member 😅).
I live the lifestyle that I could only vaguely dream about when I started on this journey two years ago. My work is fully remote and async, so I can work anytime and anywhere. Transitioning to a career in tech has dramatically increased my quality of life, seemingly overnight.
I'd love to share some things that I've learned along the way, in no particular order, for folks who are coming up behind me and who aren't sure what to expect. I can only speak from my own experiences and what I've observed of friends and associates, but I hope this helps you to see the bigger picture beyond your quest for the mythical first job in the tech industry.
There's a place for you here
It's easy for me to say because I'm a straight white male who already had the glasses and beard necessary to fit in with the vast majority of tech bros out there. But even so, my background is anything but technical: I had spent the previous ten years as a tradesman by day and a writer by night, and I really wasn't sure if it was possible for me to just come outta nowhere and make myself at home in the tech industry.
Thankfully, in my two years as a part of the tech community online, I've met people from all around the world and every kind of background you can imagine. And I can count the number of unwelcoming gatekeepers I've encountered on one hand; whereas I can think of literally dozens of people off the top of my head who've shown me unwavering support throughout my journey.
The tech industry is incredibly welcoming and supportive to folks who are interested in getting their foot in the door. That's at least in part because there are not enough software engineers in the world to keep up with the demand! This has been true for years, and I don't anticipate it changing anytime soon.
The first job will be the hardest to get
Nobody wants to train super green juniors. It sucks, but it's just the truth. Essentially all companies would prefer to hire someone who's already been trained up in basic industry standards and procedures.
So, do everything in your power to get that newbie stench off of you! I would highly recommend getting involved in open source and/or freelancing as soon as possible, depending on your interests and assuming you have the spare time to invest in "extracurriculars."
My freelancing credentials went a long way in helping me to land my first full-time job. I had just enough professional experience in tech that I could call upon to give relevant answers to questions that came up in job interviews.
If freelancing isn't your thing, then I would definitely look into open source software. You'll pick up the workflow that real engineers use, and you'll have a public record of your actual contributions that you can show off to potential employers. That's how you set yourself apart from the pack.
I've met people who got their first job after three months of learning, six months, nine months, a year, a year and a half, two years, and on and on. The common denominator for nearly everyone I know who's landed their first job in the last year is that they got there by networking.
It's not enough to cultivate the skills. You have to put yourself out there, or else you'll just be another face in the crowd. I say that as a form of tough love for all of you who aren't putting in the work to meet others in the industry. You're shooting yourself in the foot if you're avoiding this part.
But after you land that first job...
You can grow quickly once you're in
...if you know what you want!
You can rise through the ranks pretty quickly at some companies if you know what you're looking for. You may have to job-hop a few times before you land somewhere comfortable for the long-term, and that's ok, too. You just have to figure out what works best for you.
My friend Annie went from coding bootcamp grad to front-end lead at her company in just two years! She had other (very appealing) opportunities in that span of time, but she knew that she wanted to grow where she was, and it has paid off well for her.
I know others who have been promoted to Senior-level positions in a similar span of time.
My company uses a standardized ranking system, and I'm currently on track to reach L3 by the end of the year, where L2 is considered Junior and L4 is Senior. I could reasonably expect to reach a senior level in the next year if I continue on my current path. That's largely due to the fact that I came to this career with a mature set of soft skills that lead me to rank highly in things like communication and leadership.
My coding skills are by far the weakest link—but I have a boss who's genuinely invested in my continued growth, and works with me to ensure that I'm taking on tasks that will challenge me to grow to the next level.
And speaking of coding skills...
You don't have to be a software engineer
I was a writer before I got into the tech industry, and I had years of experience with WordPress (as a publisher), SEO, social media management, and content marketing.
It was only natural for me to blog about my journey when I started learning to code. At first I didn't think I had anything interesting to share, but I quickly discovered that employers looked very favorably upon my blog when I started applying for jobs.
I had the same old boring coding portfolio that everyone has—the to-do list app, the weather app, whatever—but employers were never interested in those. They wanted to talk about my writing portfolio, i.e. my articles about Jamstack architecture and how to build a Next.js blog—the blog project itself wasn't impressive, but my tutorial was.
That's when it's dawned on me that my seemingly unrelated past work experience wasn't a liability that I needed to apologize for, but an asset that I could lean on to get my foot in the door that much more quickly.
I immediately pivoted my job search from "junior front-end developer" to roles like technical writer, developer advocate, and community manager. I doubled down on my tech blog and eventually caught the attention of the cofounders of Hashnode, the platform I'd chosen to host it. They invited me to interview, assessed my range of skills, and offered me my first full-time role in tech as their Marketing Manager.
I had a ton of fun in this role, and though I never touched the codebase, I was able to deepen and sharpen my skills as a communicator, and I got to read hundreds of y'all's technical blogs along the way. This role enabled me to make a name for myself in the tech industry. I never wrote a line of code, but I still got paid like a developer.
These days I work as a Developer Relations Engineer, which is about as open-ended as it sounds! 😛 But I personally love the interdisciplinary nature of the role.
For me it strikes the perfect balance of code and communication: I may not be actively contributing to the codebase from day to day, but I am heavily invested in the documentation of that code, and my success in my role hinges on my ability to effectively communicate about the code to developers of all skill levels.
Developer Relations/Advocacy/Experience is a really cool career path that I had no clue existed before I started networking and putting myself out there in the industry. As I've gained more professional experience, I've come to realize that there are so many more paths to a fulfilling and lucrative career in tech beyond being a software engineer.
I've observed that is often especially difficult for startups to hire for non-technical roles: you may get 500 applications when you post a job opportunity for a junior developer, but it's crickets when you're hiring for a Customer Success Manager or a developer-savvy Content Strategist.
If you have your heart set on writing code full-time, then by all means, have at it. But if your goal is simply to pursue a rewarding career in tech, you have so many options.
Your job doesn't have to define you
We spend a lot of time talking about career goals and aspirations in the tech community online, and many of us come to identify deeply with our careers. But that's not for everyone, nor should it be.
I'm a simp for the tech industry 😅 because this career dramatically changed my life. I talk about it a lot because I want to encourage others to pursue this path if it's something they're interested in.
But you can't let yourself lose sight of the fact that a job is a means to an end. You need money to live comfortably, and a career in tech can provide that. It doesn't have to go any deeper than that.
You don't have to eat, sleep, and breathe code. You don't have to build side projects on the evenings and weekends. You don't have to be a content creator or maintain a larger-than-life presence on social media.
Once you're in, it's largely understood that you will grow at a steady pace in your career simply by performing your job for the agreed-upon number of hours per week.
Can you accelerate that growth if you hustle in your free time? Sure. I know plenty of people who've chosen this path, and they all say it was the right choice for them at the time, but at other times in their life it may not have worked out.
Personally, I'm not too worried about whether it takes me three years, five, or even ten to get where I truly want to be, career-wise. I'm very comfortable where I'm at, and if nothing changed from here I would be quite content indeed.
I take long walks with my dog whenever I need a break, and there's no micromanager breathing down my neck about being gone for 40 minutes instead of 30. I can take a vacation anytime I need it.
The company I work for recently paid for all of us to spend a week in the Canary Islands together! That's the kind of perk that I couldn't even dream about before I changed careers.
My salary covers all of my living expenses with plenty of wiggle room for savings, healthcare, and travel. This is massive for someone like me who'd always lived paycheck-to-paycheck before.
I can afford to be picky about the company that I work for, and optimize for a work culture that places personal autonomy as the highest priority for employees. (These companies really do exist! I work for one of them.)
More than just the job, I now have the lifestyle that a career in tech affords.
And that's really what it's all about.
I can't wait for you to get here, too. I wish you the best of luck. 🙌
If you enjoyed this piece and you want to keep up with my work, you can sign up for my email newsletter through this link. I promise to make every email something you will be excited to open!