Becoming a Builder- From a Non-Technical Role to Software Engineering
✅ Economics degree, business minor.
✅ Ran marketing campaigns.
✅ Built KPI dashboards.
❌ Computer science degree.
❌ Coding bootcamp graduate.
Not an ideal resume for someone trying to get a software engineering job, right? Well, that was mine in 2016, when I got serious about making the move.
Fast forward two and a half years and I’ve now been a software engineer at Twilio in San Francisco for over a year. Still no computer science degree and still no coding bootcamp.
After graduating, economics degree in hand, I had no idea what I wanted to do. I felt lost.
For the next few years, I worked in different roles at different companies, each time discovering what I didn’t want to do.
But there was a pattern. While at Google, Zenefits, and Twilio, although I wasn’t in a technical role, I passionately worked on side projects to automate repetitive and manual tasks performed by my team.
99% of my day was spent getting through my day job, looking forward to that 1% — learning to code and building.
So, why not just go to a coding bootcamp? Well, I tried. In fact, I even got in!
In August 2017, I was accepted to App Academy, a three-month coding bootcamp program in San Francisco. A dream come true. A chance to take that 1% to 100%.
Unfortunately, I had some personal financial issues that prevented me from making the commitment. I still believe coding bootcamps are great, but let’s be honest, they aren’t cheap. App Academy can currently set you back $28,000 after you get hired and I felt that this wasn’t an option for me anymore.
So what happened after that? I was able to make the move at Twilio, using my portfolio of development projects that I had worked on in my spare time.
By no means am I the first one to transition from a non-technical role into a software engineering role, and there isn’t an exact “formula” for doing so, but I wanted to share my story along with some tips I learned that can help you get started.
1. Understand Your Strengths
It’s a given that technical chops are important to excel in an engineering role, but don’t discount the other experience you’ve gained throughout your career.
During my time in operations and finance, I worked extremely close with customers, and have brought that focus to my development work — striving to look through the eyes of the end-user to build an awesome product rather than simply stringing together lines of code.
Customer empathy matters. You’d be surprised at how many traditional and talented engineers struggle to understand the voice of the customer and why something is being built.
Whether you’re currently in support, operations, finance, or some other field, there are always skills (whether they are non-technical or technical) that will set you apart in an engineering role. Leverage them.
2. Be a Life-Long, Modern-Day Learner
The days of having to physically sit in a classroom to learn something are over and that is a great thing!
Udemy, Coursera, and other online learning platforms are disrupting the teaching and learning industry, and you should take advantage of the simplicity and flexibility of these resources.
Speaking of online courses, stay tuned for a follow-up post detailing the resources I utilized to teach myself programming!
3. Take a Hard Look at Company Culture When Interviewing
You’ll only have the opportunities that your company is willing to give you. If you are interviewing, make sure to evaluate the company’s culture.
How do they invest in career growth? What resources do they have to support employees? Do they reimburse learning and development (L&D) — like the Udemy or Coursera courses you’ll be taking?
Twilio, for example, is very supportive of L&D and cares about bringing people with non-traditional backgrounds into technical roles. Check out Hatch as an example, Twilio’s software engineering apprenticeship program!
4. Join a Startup If You Can
Startups have to be scrappy. They often lack resources and need employees to wear multiple hats to get things done. That is where you come in.
Chances are that the engineering team will already have a huge backlog of customer-facing feature work, which means internal tooling often becomes a lower priority. This resource constraint makes for a perfect environment to take on technical projects to gain more engineering experience.
The same can be true at a larger company, but I’ve found that most have more “red tape”, making it harder to grow into an engineering role.
5. Automate, Automate, Automate
Even though you aren’t officially an engineer yet, it’s important to start thinking like one. Make a list of all the manual processes and workflows that are performed in your current role.
What can you automate with a simple script? Can you build an application to simplify workflows?
My old team at Twilio was managing a complicated product lifecycle workflow via spreadsheets and legacy systems since 2011 — engineering never had time to help out as they were focused on more pressing priorities.
In March of 2017, I designed, developed, and launched an internal tool that is still being used today. It took about four months to build, including the time spent learning the programming language (Python) and frameworks.
Build up your portfolio and credibility. This, combined with your engineering network will be crucial in transitioning.
6. Buy People Coffee
Your network is your net worth. One serious mistake I made is not networking early on enough during my attempt to transition. A solid technical project portfolio is useless unless you get the opportunity to show it to someone.
You need people to vouch for you during this process, so start networking as soon as you can. Start asking engineers questions. Ask them out for coffee and make sure they know you’re interested.
Don’t just talk to the engineers. Talk to product managers, engineering managers, and pretty much anyone who will listen.
A Quick Note
I have to be honest — I’m not entirely sure what my goal is for writing this post. So why do it?
I’ve talked to several smart and driven people (people like you!) that are afraid to take the leap because it feels impossible to do so. I know that feeling. I know it well.
I also know that I’m passionate about getting more people into the field and so I wanted to share my story to show that it is possible.
I’m aware that my path may not work for everyone. However, I also believe that the game is changing.
With abundant online learning resources at your disposal, along with new, fast-growing startups emerging what seems like every day, I strongly believe my transition and journey could become the norm.