It’s hard to believe that at the beginning of last year I was finishing the last week of my career in mechanical engineering to pursue my dream career in software development. It wasn’t an easy decision, leaving my stable mechanical design job behind, but now I can confidently say that I made the right choice.
My Passion for STEM
As a child, I always enjoyed solving puzzles, fixing things, and problem solving. I was drawn towards math and science, which led me to study mechanical engineering — the broadest engineering discipline — where I could translate all my interests into a career.
I was fortunate to attend a post-secondary school that offered an undergraduate degree with a co-op program. During my work terms, I was able to work in six Mechanical Engineering positions across various industries including nuclear, automotive, oil, construction, and food processing, where I worked in design, process improvement, and project management. I was exposed to many different work environments that all trained me to learn quickly and adapt to change. These placements were an invaluable experience that allowed me to become cognizant about what I valued most in choosing my future career. I found that my biggest drive was having feelings of accomplishment and knowing that I contributed to something, even if it was only on a small scale. I thrive on many small wins versus one big win every so often.
My Passion for Programming
I was introduced to programming in my first year of university in the ‘Programming for Engineers’ course. The class was nothing short of terrible. However, I managed to obtain a few positive takeaways. I was able to pick up the fundamentals of how variables, loops, and arrays worked, but more importantly, I learned how to think like a computer. The concept of breaking down a problem to a point where a computer could execute said problem was unique and intriguing. I was overwhelmed with a sense of accomplishment every time I was able to fix a bug and get my code compiled; even if all that was missing was a semicolon.
Throughout the rest of my undergrad, I found myself taking courses on digital and control logic, all which required the use of breaking down problems for a computer. The logical reasoning was a whole new way to tackle a problem and I was hooked. I found myself enjoying these classes so much that I even started considering transferring disciplines or getting a minor in computer science towards the end of my degree so that I could get more exposure to programming specific courses.
My curiosity for programming continued to grow as I worked full-time in mechanical design. The world of software development seemed like the bounds for creativity and innovation were endless. The rate of change throughout the industy was exponential. Although I was a designer, I always felt like there were constraints as to how creative I was able to be: maybe because of the industries I worked in, or maybe due to the financial barriers of working with physical objects. In any case, I was drawn to the ever-evolving industry of software; a place where I could more freely exercise creativity and constantly learn new things.
Transitioning into Software Development
Switching careers was a big commitment, and I wanted to feel confident about what I was moving towards. In my spare time, I would code, attend local meetups, and network with friends in the software industry. Throughout all of my networking, I was able to learn about the day in the life of a developer for a variety of software companies. Eventually I had enough information to begin imagining myself in these roles and felt ready to take the leap.
My priority was to transition as quickly as possible, so I decided to attend a web development boot camp to kickstart my transition into a career in software.
My next step would be choosing a school. From my many contacts, I knew that learning full-stack development would be an asset in gaining an understanding of the ins-and-outs of a software program; the big picture. This included learning how all of the code interacts and how data is passed around from where it is stored in a database to how it is displayed to the user. The rest of my decision would be based on the following criteria:
- Tech stack and its relevance in today’s industry
- Curriculum/course outline
Throughout my time in my boot camp, I continued to stay connected in Toronto’s software community by attending various events hosted in the city. One of these events included DevTO’s International Women’s Day talk, which I initially attended to connect with Bridge School, a not-for-profit organization aiming to support and level up marginalized groups in the tech industry. Little did I know that this event would lead me to a career-changing encounter.
As I browsed DevTO’s event in search of Bridge’s booth, I accidentally stumbled upon Intelliware Development’s stand. Intrigued by their presentation, I took the opportunity to learn about the company — during which I also entered their raffle for Toronto Raptors tickets, which I ended up winning the following day. Later that week, I visited Intelliware’s office to pick up my prize and ended up having a great conversation with an employee who turned out to be the head of Intelliware’s People Team. We discussed my experience at boot camp, my career transformation and aspirations, and what made Intelliware stand out as a company. At the end of our chat I was asked if I would consider interviewing with them, and of course, I was. The more I learned about the company’s values and engineering-first mentality, the more I felt that they would be a great fit for me. After a few interviews, I was offered my first position as a full-stack software developer — who knew that winning a pair of Raptor’s tickets would lead to my first job in software engineering!
Working at Intelliware Development
I’ve been working at Intelliware for eight months now, and I’ve never been happier about my career. My day-to-day work consists of breaking down problems into manageable chunks and solving puzzles and little brain teasers. I get to build software programs, test them out, break something, and then fix it. This process is so rewarding because I get to achieve many small wins throughout a day, which keeps me motivated and gives me a sense of accomplishment. I’m in a place where I get to work on teams with talented people, bounce ideas around, pair-program, and solve problems; what more could an Engineer want?