A career transition, from marketing to software engineering

 1 year ago
source link: https://engineering.thetrainline.com/a-career-transition-from-marketing-to-software-engineering-28d87206933c
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.
Image for post
Image for post

A career transition, from marketing to software engineering

This blog post is for people without a computer science degree interested in changing career and coding for a living. I’m also writing for Trainline employees, whether they are thinking about transitioning to another role within Trainline or are just curious to learn about someone’s path.

I used to work in marketing, running pay-per-click campaigns driving people from the Google search result page to the Trainline website and app via paid text ads. Last week I started my new role as a front-end developer.


As a teenager, I played around with HTML and CSS and created my first index.html on the family computer. I plead guilty of copying some JavaScript snippet to animate the mouse cursor (in this spirit). With hindsight I was also doing some SEO, sending emails to webmasters to request links to my “personal website”. I went on to study business at university and I’ve worked for the past five years in digital marketing. More or less by accident, I’ve always ended up working in a techy environment, surrounded by developers. It’s hard to say when the thought first popped into my head, all I know now is that I’ve been thinking about programming professionally for a long time. Not so much as a possibility for me, more as something that must be nice for the lucky few. I first thought that it was too late and too difficult for me to become a developer.

At some point, I realised that maybe it was possible: there is a ton of resource online, readily accessible, and sometimes for free. I followed a few online courses, read a few books, but that didn’t lead me anywhere. It’s hard on your own: finding the time and motivation over a few weeks or months is tough, even with the support of online communities. Working on a sizeable side project good enough to get your foot in the door is a feat.

I openly told my line manager I was interested in programming and saw myself doing that in the future. He was very supportive and took a genuine interest, straight away thinking about how Trainline could help me (rather than how me leaving the team would negatively impact his targets): I could enrol in a course, take some time during work hours every day to upskill, etc.

Meeting my mentor

One day a developer colleague and I had an informal chat and we started talking about the personal project I was working on (querying the API of a popular running/cycling app to extract and analyse commute data). Within a few minutes, we agreed to catch up regularly at lunchtime to work together on my project. These weekly mentoring sessions proved crucial and I’ll be forever grateful. First, they provided regularity and consistency to my learning. Second, they motivated me by making me accountable: this person is ready to spend one hour of their lunchtime every week to help me, the least I can do is work and hopefully, make them proud (or at least feel like they didn’t waste their time).

A structured mentoring programme exists at Trainline. Employees who are keen to mentor other employees register their interest and are put in touch with employees looking for a mentor. The HR team do their best to match mentors and mentees based on people’s skills, profile, and aspirations. HR also run an initial session to make sure everyone makes the most of the programme.

Shortly after the mentoring started, my line manager and I brought up the topic with HR and all together we had an open discussion. HR was very supportive, asking what I needed to succeed and what they could do to help. A week or two after the first HR discussion my line manager, myself, HR, the development manager of a dev team, and my mentor planned a formal career transition with an estimated time frame of 6 months.

A lot has been said about goals and how setting SMART goals helps to succeed. Having a plan and a general time frame helped tremendously. I had something to work towards.

At this time, we also started to think about hiring someone to replace me and also considered alternatives. Hiring can be a lengthy process and we didn’t want it to be a bottleneck.

Defining the programme

My mentor knew what I needed to learn to join the team and to be able to hit the ground running. He knew what my level was, what programming language, frameworks, and technologies I needed to learn (what is used at Trainline), and how thoroughly I needed to learn each of them. Not more, not less, just enough: the career transition equivalent of a minimal viable product: the minimal required knowledge.

Together we covered, with varying degrees of depth: HTML, CSS, SASS, JavaScript, Node.js, React, git, test-driven development, agile methodologies, and working practices. There are many online resources and many plans available to help you. When it comes to the material, I recommend this excellent blog post by Sergei Garcia. Looking at the most starred GitHub repositories is also a great starting point.

Also, unless you’ve covered that in your studies, I recommend starting your journey by learning how to learn (if you’re going to spend 10–15 hours a week learning, you might as well be efficient about it). I found this (free) Coursera course handy.

Becoming a developer

Towards the end of the 6 months, I started to work on the technical test candidates take when they apply for a front-end position at Trainline. More than a test, it was also a good project to work on and to learn from. Then it was handover time with my former team and finally, the moment I had worked towards for such a long time finally happened: I joined the new team, happy (and slightly apprehensive).

All in all, the stars were aligned: my line manager, mentor, HR, and the development manager of my future team. It wasn’t a straightforward move but everyone was willing to make it work (as a colleague put it, Trainline is a “yes company”). I’m grateful that Trainline values continuous learning, fosters collaboration, and understands that there are some benefits for the business when employees move from one department to another (my understanding of web analytics and data analysis skills may help my current team). Doing this transition wasn’t easy but I don’t see how it could even have happened at all outside of Trainline without the wonderful people involved.

About Joyk

Aggregate valuable and interesting links.
Joyk means Joy of geeK