Lessons From a Veteran: Ukpai Ugochi on Her Career Change to Software Engineer
This post for those considering a career change to software engineer is part of a series interviewing veteran developers, asking them questions about their journey to tech mastery and sharing the advice they have for those getting started.
Today we’re talking to Ukpai Ugochi. Ukpai is a full stack JavaScript developer transitioning her career from marine engineering to software development. She loves sharing about her experience to encourage people who love software development and don’t know where to begin. She also contributes to FOSS in her free time.
Let’s find out what lessons Ukpai has learned, like overcoming impostor syndrome, during her career change to software engineer.
Basic logistics: Stack? How long have you been doing it?
For most of my career, I have been a full stack JavaScript developer. My stack involves the use of Node.js and Express.js for the back end, Vue.js for the front end and MongoDB as database (MEVN).
I chose this stack because I enjoyed writing JavaScript. So, I figured I could write both the front and back ends of my application in JavaScript—although it would require that I become familiar with some JavaScript frameworks. I decided to go with this, even though choosing the right framework was a bit of a challenge. Here, I had to choose between frameworks like React, Angular, Vue.js, and so on.
After some time, I began to get familiar with Rust, a multiparadigm language. I loved its memory safety guarantee and the flexibility it gives developers in being able to solve a problem in different ways. With this language under my belt, I started to better understand the concept of blockchain technology.
What made you want to go into programming?
I went into programming out of curiosity. The main reason why I started programming was to understand how the IT industry worked. Whenever I got computer and internet access, I always wanted to understand how to build an application.
Since JavaScript is mostly the go-to for beginners, I started exploring building web-based applications with it. I wanted to be able to build an application or a software that’ll be used by people one day.
What were you most worried about when you made the decision to pursue a programming career?
Switching careers is always a point of concern for people, myself included. When I started getting familiar with JavaScript out of curiosity, I always had the drive to put in more time. However, I was constantly worried that I wasn’t going to be accepted in this field. This is because the tech field is filled with people who have a computer science background.
I thought a marine engineer who has a little or no background with computer science will never be accepted and that this newfound love I had with programming would vanish as quickly as it came.
What advice would you offer to people considering a career change to software engineer?
I would tell people considering a career change to software engineer to hold their head up high and give it everything they’ve got. One thing I’ve come to understand is that the IT industry doesn’t discriminate against those who have changed careers. All that matters is that you know what you’re doing and you’re passionate about learning continually.
I would also tell them to contribute to and build projects that solve a real-life problem because this is what you’ll bring to the table every day as a programmer. Share your projects on GitHub or GitLab. This is useful, as you can share a bunch of things you’ve done with friends or prospective employers.
I’m a marine engineer who has successfully changed her career into the tech industry. It gets better because the tech field is big enough to accommodate everyone.
Did you ever think that you’d made a huge mistake getting into this field?
No. I can say boldly that my journey in tech up until this point has been life-changing. But I won’t say that the journey has always been smooth since I’ve had my highs and lows.
When you get to that point where you create or contribute to an application that helps users in their day-to-day activities, you just know that you’re not in this field by chance. At the beginning, it may seem rocky since a lot of people have more technical skills and know more about the work than you do. However, this feeling tends to disappear once you fix that little bug or contribute to a project. You’ll begin to think that this isn’t hard after all, and this is useful for your mental health.
What mistakes did you make that you think others following in your footsteps could learn from?
The first mistake I made was having the constant fear that no one will accept me because I was switching careers. This weighed me down for some time, and I only programmed for fun, not wanting to be committed because I felt I would never get a job since I don’t have a computer science degree.
I made a decision to be consistent about learning how to code because I saw people who didn’t have computer science degrees get amazing offers. I said to myself, if others are doing this, what’s stopping me? The answer was nothing! Nothing is stopping you from starting a career in tech—not your age, not your degree (or lack thereof). Nothing whatsoever.
Another mistake I made was not setting aside time to decide which language, stack, or framework I needed to learn. Since most of my friends were learning JavaScript, I tagged along. Although I’m still learning Rust at the moment, I think this should’ve been what I started with. There’s also the mistake of learning JavaScript before HTML and CSS.
I’d advise that you take out time to learn about the different programming stacks and discover which suits you best. Also, learn to confide in people already in the tech space and ask a lot of questions. No one will be mad at you for asking questions, but you’ll have yourself to blame if you get into a problem because you didn’t ask questions.
Who has influenced you the most so far in your programming journey?
I won’t say one person has influenced me in my programming journey. Rather, I’ll say that the people around me have been the force paramount to my growth. They often read through an article I’m writing and ask how I could write something as amazing as that. Also, whenever I’m writing a program and I’m stuck, they’ll always help out in any way they can.
What’s something that no training/bootcamp/degree could have prepared you for?
Job hunting. Very little is done to prepare newbies for the amount of rejection letters they’ll receive while hunting for their first job. Sometimes, job openings state how many years of experience a candidate needs to have. Nevertheless, these jobs are not suitable for an entry-level programmer. Hundreds of applicants apply for an entry-level position even though only a handful of developers are needed. So, although a newbie is well suited for the job, they may not be picked for the job because some other person is suited for the job, too.
Most times, it’s important that the programmer understands that the reason they didn’t get the job isn’t because they’re not fit. Rather, it’s because the position had other candidates who, like themselves, are well suited for the job.