Before I became a software engineer, I worked as an editor and a journalist.
I have always enjoyed writing, and learned a lot from the work I did everyday. But after transitioning into tech, I realized that a lot of people who switch careers try to hide or at least diminish their previous professional experience as irrelevant.
However, I am convinced that a lot of skills are perfectly transferable between careers, and can actually bring valuable perspectives and approaches to a new field. In my case, the skills I learned while working as a journalist helped me to transition to a career in software engineering. Since then, the skills and lessons I’ve learned in software engineering have helped me write and publish my own book.
Here are my top tips for successfully switching careers and starting on the right foot in your new role.
Don’t dismiss your existing skills
Make a list of the most important skills you already have and consider how you could use them within a different task or role. Communication skills, time management skills, teamwork experience – all of these things are invaluable assets for any role you take on.
Writing is another example of such a skill. Although not immediately obvious, the ability to write well is a crucial skill for any software engineer: from documentation and technical plans to code review comments or pull request descriptions, writing plays a big part in a programmers’ day-to-day work.
“What if the core skill that allows you to excel at your current job well can be your unfair advantage in your new job?”
Being a clear writer is a proxy for being a clear thinker – my prior experience as an editor improved my ability to think critically and solve problems, which lies at the core of being a software engineer. Writing skills are my unfair advantage in the world of software engineering. They’ve helped me in my technical career as well as enabled me to write and publish my own book documenting my experience of becoming a software engineer.
What if the core skill that allows you to excel at your current job well can be your unfair advantage in your new job?
Learn from the best
It can be difficult to find yourself at a beginner’s level in a new career after building skills to a certain level in your previous job. But as long as you’re open and willing to learn from colleagues and existing experts, you’ll be surprised how quickly you start to gain expertise.
As a self-taught software engineer, I have often struggled with impostor syndrome and felt intimidated by my colleagues with masters’ degrees in Computer Science. Coming from a writing background, it was easy to feel like my skills were irrelevant to my new role. However, my ability to consume and process information, gained throughout my years as a journalist, was a key strength, and helped me to learn from the best.
“I leaned into the fact that my colleagues were so much better at coding and used the opportunity to learn directly from them”
I leaned into the fact that my colleagues were so much better at coding and used the opportunity to learn directly from them. Apart from working with brilliant people, I also started reading books written by brilliant programmers – books that were way beyond my intellectual abilities and that brought my skills to a much higher level.
I used the same approach when it came to writing my book. First, I turned to textbooks and started reading everything the greatest writers had to say about the art and science of writing.
Second, I started learning from the best fiction writers. I felt that filling my free moments with examples of excellent writing lifted me up and brought me to new levels of competence.
I tried to emulate the writers and copy their writing styles. It sounds naive, but it worked. Once I had written the book, English speakers were impressed that it had so few errors and assumed it was edited by a native speaker. It wasn’t. So I guess my trick worked!
Embrace the struggle
This is the lesson I learned fairly late in my coding journey, and I wish I’d known it from the outset.
When I started coding, I struggled a lot. I struggled with everything. Most of the time what my colleagues said didn’t make any sense to me at all, and I had to research even the most basic words they used. Shell, docker, compiler; I had to figure out the meaning of the most fundamental concepts before I could even try to do the actual work.
“Struggle is a crucial part of learning and should be seen as something that will help you improve, not something to avoid”
I struggled every step of the way – it didn’t feel good, but I later realized that it was exactly what it was supposed to feel like. This struggle is a crucial part of learning and should be seen as something that will help you improve, not something to avoid.
After years of learning to embrace the struggle, it was easier for me to accept and cope with just how difficult writing a book was. It was definitely one of the hardest things I’ve done, on so many levels. But this struggle didn’t mean I was a bad writer, it just meant I was working hard on something that was supposed to be hard.
With writing, as with programming, struggling is good. And it’s hard for everyone, even if they don’t admit it or have forgotten how hard it was for them in the beginning.
Show your work early and often
I don’t like showing my work early. I used to think that my code needed to look its best before I showed it to anyone. I worked and worked on it, even if I suspected I might not be on the right track. Eventually I would show the code to someone and it would often turn out that I was going the wrong direction and had wasted hours or days on it.
If I’d only shown my work earlier, I could have saved so much time and effort – and learned a lot more quickly. The same lesson applies to writing. The first draft of my book took me around two months to finish. I edited that draft myself, and when I felt it was good enough, I showed it to my editor.
“If you are 100% comfortable sharing your work, you’ve probably waited too long”
My editor’s feedback showed me that I would need to rewrite the book almost from scratch so that it read more like a personal story and not like another search engine optimized blog post. Everything I wrote needed to be told through the prism of my lived experience, and so I had to go back to square one.
I’m glad I asked for feedback, but I could have saved at least a month if I showed my work earlier. Ask for feedback regularly, and show your work as early as possible. If you are 100% comfortable sharing it, you’ve probably waited too long.
What are the lessons you’ve learned that will help you in your next endeavor?
These were the three most important lessons I learned while working as a programmer that became invaluable transferable skills when I went on to write a book.
If you want to change careers, start your own business, or take on a new role at work, but you can’t start because you feel like you are not qualified enough – make a list of the most important skills you have, and lessons that you’ve learned, and think of how you could transfer them to a different task or a different role.
Chances are you will discover that your previous jobs, no matter what area they’re in, have taught you lots of highly transferable skills and lessons that can help you succeed in your next endeavor.
Intercom engineers bring a wide variety of skills, perspectives, and expertise to the work they do everyday. To find out more about what it’s like to work on our engineering team, visit our careers page.