Why I Became a Software Engineer

May 31st 20224 min read

Many people have asked me, why did I go into software engineering? Here is the story behind why I shifted my career from electrical engineering to software engineering.

My Background

I had an interest in building websites with HTML, CSS, JavaScript, and PHP since high school and was proficient (for a high schooler). Unfortunately, I did not pursue this career path because I did not know software development was a big and upcoming industry.

I studied electrical engineering with a specialization in power systems. I landed an 16 month internship as an electrical engineer intern at North America's second largest municipally owned electricity utility, Alectra Utilities. I absolutely loved the project management and technical experience, but I felt that the culture and work was not a good fit for me.

Developing My First React Application

During my internship, I was abruptly pulled into a meeting where my manager improve the process of delivering technical designs and standards to our field teams. There was a lot of friction because the field teams managed a binder of paper documents and were required to regularly update the pages themselves. I was tasked to be the project manager to solve this problem.

I scheduled meetings with the field team supervisors to better understand the current process and discuss better alternatives. The supervisors basically described a version controlled repository for documents.

I developed the solution as a React web application with two separate frontends for the admins and users. This repository was hosted internally on the company's intranet and could only be accessed using devices configured with a VPN.

The web application was well received by the engineering team because of how easy it was to manage the documents. The field teams loved the web application because all their pain points were addressed.

My Thoughts on Coding

Coding a web application to solve problems and receiving positive feedback was rewarding. I realized I enjoyed building apps because the project did not feel like work. Later I wrote a few more apps for personal use to improve my proficiency with React, React Native, and Node.js.

I researched the job market for software developers using React or React Native and found out they were high demand skills. I wanted to give software development a try so I created portfolio with a few projects using my personal projects. Next, I practiced data structures and algorithms questions on LeetCode. I was lucky enough to land a full time software developer position starting at the end of internship at Alectra Utilities.

I finished my last year of my electrical engineering degree while working full time.

Other Reasons Why People Consider Software Engineering

There are many reasons why people make career changes into software engineering. Some of the most common reasons include:

  1. Personal interest: Many people are attracted to the field of software engineering because they have a strong personal interest in technology and problem-solving.
  2. Job security: Software engineering is a field with high demand, and qualified professionals are in high demand. This can provide job security and opportunities for advancement.
  3. High salary: Software engineers often earn high salaries, especially those with specialized skills and experience.
  4. Flexibility: Many software engineering jobs offer flexible work arrangements, including the ability to work remotely or on a part-time basis.
  5. Ability to work on interesting projects: Software engineers have the opportunity to work on a wide range of projects, from developing new applications and systems to improving existing ones. This can be very rewarding and allow professionals to stay engaged and motivated in their work.

Overall, people make career changes into software engineering for a variety of reasons, but the most common ones are a personal interest in technology and problem-solving, job security, high salary, flexibility, and the opportunity to work on interesting projects.