‘Giving it all up’ to become a professional geek: my transition from BA to softw...
source link: https://engineering.thetrainline.com/giving-it-all-up-to-become-a-professional-geek-my-transition-from-ba-to-software-engineer-99293c44f2be
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
‘Giving it all up’ to become a professional geek: my transition from BA to software engineer.
Some say the perfect job doesn’t exist. And it probably doesn’t. But I’m one of the lucky few able to do my hobby for a living. This time last year, I was working as a principal business analyst at Trainline. I enjoyed my job and was progressing well in it. Since November 2019, I’ve been working full-time as a software engineer for a leading e-commerce business. I’d like to share my journey with you, in the hope it might help others considering making a similar move.
For those of you who don’t know what a business analyst does (which is most of the people I’ve met), here’s a quick explanation. BAs work with stakeholders and with developers to ensure the software built solves the problem it set out to fix. As such, I’ve worked with software engineers for years, but it only recently occurred to me to try my hand at programming myself. To begin with, the motivation was to peek on the other side of the fence. Worst case scenario: the new skill and added perspective would make me better at my current job. I hadn’t expected to develop a passion for coding, let alone end up doing it for a living.
I started learning to code with Python in March last year, on a friend’s recommendation. As a popular language with a relatively simple setup, there were plenty of resources for me to draw from. I soon found myself coding at every opportunity- during lunch breaks, over the weekends, on my days off. I’d get started with the intention to spend a couple of hours on an exercise, only to look up from my laptop to find an entire afternoon had passed. I became addicted to the sense of achievement that came with cracking a difficult problem, whether getting an algorithm to run or getting to grips with automated testing of my code. The pull of programming was compelling enough for me to start considering a total shift in my career.
However, a number of concerns nearly put me off my decision.
Taking a step ‘down’
Throughout my adult life, I’ve accomplished most major career choices by happy accident. I have a tendency to ‘follow my nose’ and take any opportunity to develop an interest. This is how, ten years after graduating from a Sociology degree, you find yourself five years into a career in tech. I was always far from setting long-term goals for myself. In contemplating a move to software engineering, I’d have to start actively planning for my professional development.
I’ve achieved more than I could have anticipated in my professional growth so far. I suddenly found myself considering sacrificing my seniority for an entry-level development role. This was tantamount to sliding down the career ladder to climb back up it via a different track. It would be a slow process, which might not pay off… Was I making a big mistake?
I shared this concern with friends and acquaintances. The consensus that came back was that being a developer wasn’t only about coding. You need other key skills like problem-solving and communication. In entering the profession at such a late stage in my career, I would be bringing years of experience with me from other jobs. Thus, my learning curve as an engineer would likely be accelerated, and I’d be adding value from an early stage.
The cost of re-skilling
Many people are re-skilling these days. Coding bootcamps provide a fast entry point to the developer job market. They teach most of the skills needed to get started at a decent level. The downside is they’ll usually set you back thousands of pounds and may require a break in employment. All of this means high financial outgoings, a temporary loss of or drop in income, as well as plain old hard work. In short, this change comes at considerable personal risk and sacrifice.
I believe these concerns are key factors in the under-representation of certain backgrounds in software development. Most of my developer friends and colleagues first started coding as teenage ‘bedroom hackers’, usually as a result of early exposure to video games. Technology is gradually becoming accessible to more people and being taught from an increasingly young age. Yet those of us who missed out on those opportunities in our childhood years are only able to re-skill at significant personal risk and cost.
This is where I’ve been incredibly lucky to have met people at Trainline who believe in my abilities and were willing to back me in my move. I was able to negotiate a role which made the most of my existing experience in tech, and which gave me an opportunity to learn on the job without compromising my job security. I joined a supportive team and work on an interesting domain.
This leap would be daunting for most people in my position. I have an amazing mentor who works with me to develop my weaker skills and broaden my technical horizons. By providing the opportunity and support, Trainline have made it achievable and secure. I’m able to bring my best self to work every day and deliver value for customers. In return, the company retains a motivated member of the team with years of experience and domain knowledge they might have otherwise lost.
What if I’m no good?
If you’re naturally cautious, as I am, you’d want to feel confident of your eventual success before embarking on such a drastic career shift. In contemplating my decision, one of my biggest worries was simply this: “What if I’m no good?”. Having worked alongside accomplished developers for years, the bar was high and I wasn’t sure I was up to the job.
Cue my supportive friends and colleagues again. Apparently, impostor syndrome follows most developers around for much of their working lives. Working in a field with such an extensive body of knowledge, you’re surrounded by extremely accomplished people. This can feel overwhelming, regardless of your level of experience. If you do find yourself in a similar position, remember: it doesn’t hurt to ask.
So, was it worth it?
Six months on, I haven’t looked back. I keep a log of everything I learn on a daily basis, from database normalization to asynchronous programming and features of the .NET framework, with which I’m currently working. I find it incredible reading back through that long list and realising how far I’ve come.
My code is deployed to production, and I take pride in knowing that people around the world are using software I’ve written to search for travel. I’ve just finished teaching other aspiring developers through Code First: Girls and had the pleasure of seeing others wake up to the possibilities that programming can afford.
If you’re reading this post and considering taking the plunge yourself, remember you’re not alone. Last year, my colleague Jeremy Le Francois also wrote this excellent post on his career transition to software engineering, via a different route. There are countless other stories, resources and support networks available at the touch of a button. But the key thing is to believe in your own abilities and seek the support you need when you need it.
About the author…
Meriem is a self-taught (with a little help from her friends) .NET developer. A business analyst and product manager in a previous life, she recently entered the world of professional software engineering. She currently works on the team that powers journey searches at Trainline, where accuracy and performance at scale are supported by strong engineering practices. A lifelong nerd and lover of solving problems, she hopes to help others discover a passion for shipping great features and writing beautiful code.
Aggregate valuable and interesting links.
Joyk means Joy of geeK