Nicole Kow

Nicole Kow

CodeSubmit Team

An Anecdotal Guide to Pivoting Into Software Engineering

Developer TakesDev Topics

A career change is never as straightforward as a 10-step plan or whatever the next viral blog post says about career switching. In fact, these periods of transition are often “messier and harder than anticipated [because] it’s hard to know what path you should be on, especially when the destination is unclear,” says Herminia Ibarra, author of Working Identity.

In an interview with The Psychologist, she notes that people on the brink of a career change can articulate very clearly what it is that they no longer want and what it is about their roles that no longer suit them. However, people tend to have a harder time understanding and identifying where they’d like to move to instead.

“The destination can often be a moving target [as people] start to explore things. They may figure out that what they were initially exploring is not quite right for them, and, as a result, pivot and adapt as they go along.”

On average, Herminia says that individuals take three years to fully transition into new career paths.

A Counter-Intuitive Approach to Changing Careers

According to Herminia’s “Working Identity” theory, what we do impacts who we are, how we perceive ourselves, and how we convey that to others. Your “working identity” is therefore formed by the work you do, the relationships and organizations that form your work life, and the story you tell about why you do what you do.

For most people navigating a career change, we first dig deep to better understand ourselves to figure out where we want to be. Then, we make a plan detailing how to get there and finally execute that plan. However, Herminia’s research shows that “conventional, reasonable-sounding career change methods will lead to the most disastrous of results, which is to say no result.”

Why? Because a career change requires us to redefine our working identities.

“Career changes follow a first-act-then-think sequence because who we are and what we do are tightly connected, the result of years of action. To change that connection, we must also resort to action—exactly what the conventional wisdom cautions us against.”

Instead, here’s Herminia's somewhat counter-intuitive approach to help individuals identify their next career paths and successfully pivot to a different track.

Try out new things

First of all, she recommends finding ways to try out new activities and professional roles on a small scale before committing to a different path. Hui Qian Liang, a psychology graduate who first landed a role in marketing and community management at a recruitment startup did exactly this.

In one of her projects, she learned to build landing pages using HTML, CSS, and the Facebook Comments plugin and quickly realized she enjoyed coding.

“The work I fell into all felt okay - things I could do but wasn't necessarily enjoying. When it came to coding [though], there was a huge sense of satisfaction from having typed out many lines of code, and for it to result in a pretty web page... That [was] when I knew this was a role I could see myself doing day in, day out.”

Build a new network

Developing a network of contacts who can open doors to new worlds is also important for those looking to switch careers. Herminia recommends looking for role models and new reference groups to guide and benchmark your progress.

Marcus Ӧsterberg, an IT professional with extensive experience with hardware and server installations pivoted into software development after spending a whole year teaching himself to code back in the early 2000s, before coding bootcamps existed.

Marcus österberg, engineering manager at teleclinic, explains his motivation to dive back into coding

He attended meet ups to expand his network, searching for ways to gain more experience and build his portfolio. He sought out opportunities to code with other developers by attending developer meet ups and asking startup founders if he could work for them. His efforts paid off when he found an early stage medical tech startup who took him on for free.

“I traded my hours for experience. Yes it was unpaid work, but I got feedback on how I could improve my skills. If I’m honest, I wish I had done that sooner.”

Find your catalyst for change

Herminia’s third step encourages individuals to find or create catalysts and triggers for change. It not only helps individuals gain momentum to make the changes they seek, it also gives them an opportunity to rework the narrative they tell about why they do what they do.

“I did that job for a grand total of five months before I decided I really hated my sales job,” says Daniel Goh, another psychology graduate turned teacher turned salesperson at a recruitment consultancy.

“My then-partner, now wife, was working in Singapore in a bootcamp called General Assembly. She told me about the programs they offered and how it was possible to make a career switch to software engineering. I thought it was radical that one could switch career paths in such a short time. I think that combined with my unhappiness with my job spurred me to take the leap!”

Why Pivot to Software Engineering?

There are many reasons why someone would want to pivot into software engineering. For Hui Qian, the joy and satisfaction gained from coding, building new things, and constantly learning new skills was enough to motivate her career transition.

For Daniel, transitioning into software engineering felt like a natural one; “I guess I feel most comfortable with computers,” he told me.

“Growing up, my dad taught me to tinker around with our computers. While he didn’t teach me how to code, I think he [gave me the] confidence to deal with computers, which I continued to nurture [over time]. Looking back, I wasn’t sure why I didn’t pursue computer science in university, I think it would have been the obvious choice if I had to make that decision now.”

For Marcus, software engineering appealed to him for a few different reasons. After graduating high school, he worked as an IT consultant specializing in server administration, customer support and project management.

“I was frustrated with not being able to improve the software that was failing our customers. I decided to learn how computers and software worked by reading books about programming during my lunch breaks.”

While his eagerness to better help users motivated him to pick up programming, it wasn’t enough to keep him motivated for the long-term.

Years later, Marcus was traveling the world and found himself in Canada waiting for the snowboarding season to kick off. During this time, he learned about remote work and the idea of combining travel and work appealed to him greatly.

But there weren’t many options when it came to remote work back then. Apart from photography and journalism, he also stumbled upon software engineering and met a few developers during his travels. Meeting other people doing what he aspired to do definitely gave him the nudge he needed.

“I decided to brush off my coding skills and see what I had to learn to make remote work a reality. I started consuming every blog post, podcast, video tutorial, and book that I could get my hands on. There were many strong opinions in the community [when it came to] which programming language I should start with.

It was overwhelming trying to navigate all the new frameworks, libraries, platforms, languages and buzzwords. JavaScript was now not only used for building simple interactions on websites, it had evolved into a language that was running everywhere, powering everything.

Despite the high barrier of entry, this time it was easier to get stuff out the door and receive feedback from the community. It was fun! I started to become passionate about the field and [was] determined to learn what was needed to land a job as a coder.”

Building Your Skills as a Software Developer

For those interested in pivoting to software engineering, there are a couple of ways to acquire the skills you need to get started.

Hui Qian, software engineer

Coding bootcamps

Both Hui Qian and Daniel enrolled in NEXT Academy’s Full-stack Web Development Course, a bootcamp based in Malaysia.

“I learned Ruby on Rails, HTML, CSS, and Javascript,” says Hui Qian.

“That said, to be a frontend software engineer today, it is recommended to know a frontend framework [as well, whether that’s] Angular or React. I learned React from friends, but my expertise really picked up [in] my latest job where they used React and TypeScript.”

Reflecting on her experience with coding bootcamps, Hui Qian told me,

“[It] was definitely one of the most intense periods of transition. It involved classes and coding from morning to evening, and further studying at night to keep up with the curriculum.”

Daniel’s advice to those interested in bootcamps is:

“Think of the bootcamp as one of the many tools available to accelerate your learning in the field. While it is great to have such a useful tool, it isn’t your only one. Learn about other areas in computer science that aren’t covered in the bootcamp such as data structures, algorithms, databases, system designs, security and so on. I would recommend YouTube, Twitter, local meet ups, podcasts, and Reddit as they are my go-to resources.”

I’ve written an extensive blog post about coding bootcamps and the various ways to fund your education. Check it out here.


Marcus’ venture into software development was a little more unconventional. Like I mentioned earlier, he undertook the transition into software engineering before bootcamps existed.

“I spent six months reading up about web development and coding, but the discipline of software engineering was not prominent or clearly defined back then. From what I read, I told myself I’ll dedicate a year to learn to code and I should be fine.”

He relied on blog posts and other online resources to learn the skills he needed, and joined online forums and communities to ask questions and get feedback on his code. He sought opportunities to code with experienced developers via meet ups and got to pair-code with developers from all over the world.

“I was spending an average of six hours a day learning and building new things, it was fun!”

What type of developer do you want to be?

As you experiment, learn new languages and learn new frameworks, Marcus notes that it’s also important to figure out what you’d like to do as a developer.

“For instance, do you want to build products for customers? Or would you prefer to build tools for other developers? Once you’ve figured that out, it’ll be easier to understand the skills you need.

Web development for consumers, for example, requires developers to learn about the business, what it’s like to work with other team members, and how they work with different teams such as UX/UI, marketing, customer success and so on.”

Landing Your First New Role

While there are no definitive instructions on how to go about securing a new role in a different field, here’s some useful advice and true tales from the trenches that could help with your own job search.

Reach out to a different network

Herminia, author of Working Identity, stressed the importance of building a new network, people who could guide you and even help open new doors.

In an article she wrote for Harvard Business Review, she notes that while we tend to find comfort in close friends and family in times of change, it is often “the people who know us best are the ones most likely to hinder rather than help us. They may wish to be supportive, but they tend to reinforce—or even desperately try to preserve—the old identities we are trying to shed.”

She adds that mentors and close work colleagues can also hold individuals back unintentionally. Sometimes, it is in their interest to keep you “on track”, and the same happened to Hui Qian.

“After about a year and a half with [the company], during my end of year review, I suggested that because I had been learning to code on my own, I could transition to the tech team in the future. My then boss said, "Why not transition now?" and that's how I got my first six months of work experience as a Front End Developer.”

The role only lasted six months before she decided to quit to join the bootcamp and focus on building the skills needed to properly transition into engineering. After graduating, Hui Qian quickly found another role with a startup who then rescinded the offer with little notice. With no options left, she reached out to her network to ask for help.

“I reached out to my network and asked if anyone was hiring [and it] turned out that someone was looking for her own replacement. I interviewed and got the job as a Front End Developer with a Singaporean startup.”

Consider an internship as a stepping stone

Towards the end of his bootcamp, Daniel began searching for companies who would be open to hiring someone with limited experience.

“Bootcamps usually advertise a successful career switch after their program, so it’s easy to think that you’re on an express train to a new job after graduation.

In reality, while it is possible to make a career switch, it’s really hard work to convince an employer to hire somebody who just learned to code web apps in three months over a computer science graduate who has been studying for three years.”

He soon found a Singaporean software consultancy that was known to be a great place for learning so he applied before his bootcamp ended.

“I attended a coding interview in person a few days later and received my offer shortly after I graduated! I was thrilled when they offered me a paid internship with the [opportunity of a] full-time position after.”

Build your portfolio

Another way to land your first job is to build up your portfolio. Early on in his learning journey, Marcus started a blog where he documented what he learned. As he gained more work experience through his network, he also wrote about the things he was working on.

“I knew that I had to build tangible things, not just learn new languages. Blogging was a good way to show people I could do the work and contribute to their teams.

[It] was also a great way to share and build a community. While the space might seem saturated, ignore the imposter syndrome and start writing. It’s good practice to learn to write down your thought process and how you learned something.”

When it comes to interviewing for jobs, he recommends:

“Show what you’ve done, don’t focus on the languages and frameworks you know or things you ‘could’ do. Show what you’ve done. When I was interviewing and speaking with potential employers, I found that "here’s what I’ve built" conversations had better outcomes.”

Money Matters

Funding a career transition can be tricky. The most common thing for people to do is to continue working their "day jobs" to pay the bills and spend their free time searching for a new field or learning new skills to transition to a new path.

Yet, when it comes to software engineering, it’s also common for people to first dip their toes in free programming courses before quitting their full-time jobs to dedicate the time and energy to learning the new skills they need to succeed in the field.

When I asked Hui Qian how she funded her bootcamp, she told me she was fortunate and grateful to have her parents help fund her course and living expenses. She adds,

“For those looking to switch careers, if there isn't any financial support available, I would suggest having six months of living expenses set aside, together with the cost needed for any course or bootcamp, before taking the plunge.”

As for Daniel, he had the support of his wife to lean on.

“I only had to save enough to pay rent and sustain myself for the duration of the bootcamp. When I started the internship, I had an intern’s pay of $1000 a month which was enough to cover my portion of rent.

My wife helped out with living expenses for the first three months until I received my first full pay check as an engineer.”

Marcus, on the other hand, relied on part-time work to cover rent and other expenses. For the whole year, he kept expenses to a minimum which allowed him to focus on developing his skills and building his portfolio.

“I had very little fun that year, except for the time I spent learning to code. I was only completely unemployed for two months and it was tough, but I kept my eye on the prize.”

Nuggets of Wisdom

For those in the pondering a transition or those in the midst of transitioning to software engineering, here’s a little bit of advice from our career switchers to keep you motivated.

Embrace the joy of coding

First and foremost, if you’re planning to leave a career you don’t like, make sure to find a new path that you’ll enjoy. After speaking to our career switchers, it was clear that all of them truly enjoyed coding and building things.

“Don’t get into something just because it’s shiny or you’re excited about the money,” advises Marcus.

“If you’re going to do this as a career, you’re going to have to like it. While there are a lot of benefits to working as a software engineer, for example remote work and high salaries, these are side effects of enjoying your work and being good at what you do.

That said, don’t turn your passion into work! Coding is something I enjoy but it’s not necessarily something I’m passionate about. It’s important to have other hobbies too.”

Never stop learning

“Software engineering as a career involves continuous learning - learning on the go, on the job, and sometimes even in your free time,” says Hui Qian.

“That said, if a job requires you to pick up something new, they should allow you to do so on company time.

Software engineering is not a career where after two years of learning something, you can go "Okay, I'm done", and expect to coast for the next thirty years. In fact, if you do not keep your skills sharp and up to date, it is very likely that in five years, you will be out of a job.

Keep this in mind when considering a switch to software engineering. Do you enjoy continuous learning as part of your career? If yes, you will do well in this industry.”

Beat imposter syndrome

When reflecting on his experience, Daniel told me that “it is almost certain that anyone who intends to go down this path will eventually experience imposter syndrome”.

“I experienced it for years, even after I secured my first job as a developer. For this, I’d like to share a nugget of wisdom I got from one of Brene Brown’s books: When you are feeling vulnerable, do not focus on being right, instead, focus on getting it right.

When you focus on being right, you are focusing on how others perceive you, and it leads to all sorts of defense mechanisms like avoidance, defensiveness, and so on.

Instead, by focusing on getting it right, you acknowledge your imperfection and you give yourself permission to learn and better yourself. This is something I still tell myself every now and again whenever I’m feeling a little insecure about my role.”

Remember Your Why

Switching to a new career is a huge endeavor, and one which is often messy and uncertain. It's also a lengthy process as you figure out what your next move is and spend time learning the skills required to switch career paths.

As Hui Qian put it,

“It will be tough, and some days you will be questioning if it's the right decision for yourself. Always go back to the reason why you wanted to switch in the first place and keep that in mind as you struggle to debug your code late into the night.”

Good luck!