Careers

Switching from Mechanical Engineering to CS Career

  • Last Updated:
  • Jul 14th, 2021 7:39 pm
[OP]
Newbie
Dec 27, 2015
5 posts
2 upvotes
Markham, ON

Switching from Mechanical Engineering to CS Career

I recently graduated from McMaster’s Mechanical Engineering Program. I’m working as an EIT for a large consulting firm and making $60K. I hate my job and I don’t really want to move within the field either. It’s a field I have no passion for and was miserable throughout my degree. I’m thinking of switching to CS because I feel that I would enjoy it more and the salaries are much better. I’m wondering what the best option for me would be.

1) Self-learn, create projects, practice LeetCode and mass apply, hoping to land a gig that’ll get my foot in the door. I’m currently learning HTML/CSS/JavaScript online and it’s going pretty well. I actually get excited to learn as soon as I’m done work, which is something I’ve never experienced with my undergrad. I’ve taken a couple of CS courses in Uni and they were the ones I probably enjoyed the most.

2) Go back to school for UBC’s Second Degree BCS program. I believe I have the grades for this (86 avg in last 30 credits) and the programs really good, but there’s a huge opportunity cost. (About $120K considering lost wages, tuition, rent). This is a 20-month program btw and you can do an internship. Huge drawback is that they don’t want to accept students with some CS background, so if I try working in the field for a bit before applying or take too many CS courses at other institutions, they would probably reject me.

3) Keep my job and complete Algoma University’s 12-month second degree CS program. I never even heard of Algoma University before I started looking into schools. This programs online and from what past students have said, very easy. My jobs fully remote with flexible hours (others are balancing school with this job too).

4) Get a programming diploma from a community college. I’m not really fond of this option because I think the costs of this and Algoma are similar, but you get a Univeristy Degree with Algoma.

5) Stay in my field for 3 years, until I get my P.Eng and move into the public sector. This is kind of where my career is heading right now. I’m not really keen on this, but it is an option.

6) Any options I’m not considering that you guys would recommend.

Also, I’m the past, I’ve had people suggest that I do my masters in CS rather than another undergrad, but I don’t have the grades for it. I meet the minimum to apply for most, but after reaching out and speaking to many people on the selection committees, I have no chance. I really messed up my third year of school and my cGPA is fairly low.

Also, I know other universities like McMaster or Carleton have CS second degree programs as well, but they have the same/very similar opportunity costs as UBC. Might as well pick the better school with a stronger alumni network in CS.

Any insight would be appreciated.
12 replies
Deal Fanatic
Jul 13, 2009
5190 posts
3445 upvotes
CS salaries are better but you have to decide if the work is something you would enjoy. Grind is grind, but at least be happy with the work.

As for options, it depends what kind of learner you are. Are you disciplined enough to self-learn? Lots of coders are self taught, but they are also extremely strong with discipline, self-motivated, and driven. Going to school will also depend how much you can afford, and knowing that the outcome might be the same. A full blown CS degree might get you a slightly higher salary yes, but diploma programs are sufficient too. Also consider bootcamps!

I just hired a superstar and about to offer another who came out of a bootcamp, worked at a consulting firm for 1.5 years and right now their comp is far more than what they used to do before bootcamp.

End of the day, depends on your learning style. If you need a classroom environment, that's what you need. If you have what it takes to self learn, go for it.
[OP]
Newbie
Dec 27, 2015
5 posts
2 upvotes
Markham, ON
Thanks for responding, appreciate it.

From what I’m doing right now, I do enjoy it, though I’m not sure how close it would compare to actually working in the field.

I’ve always been a self-learner and would say I am fairly disciplined. Everyday for the past month, I’ve spent 1-3 hours learning Web Dev and doing practice assignments after work, and probably 5 hours on weekends.

Do you think if I transition into tech, there would be drawbacks maybe 10 years into my career for not having a degree? I’m asking because I know at one of my previous jobs, there are a bunch of people with 20+ years of experience in the field that are stuck at their position because they don’t have an engineering degree.

I’ve looked into bootcamps as well. My brother recently finished one for around $10K. I feel like I can learn something similar to what he did by doing the uDemy Bootcamps combined with the Odin Project and some other resources.

Thanks again for your input, I think I’m going to focus more on self-learning and see where I go
Member
Mar 27, 2021
389 posts
475 upvotes
Bulbasaurus wrote: Thanks for responding, appreciate it.

From what I’m doing right now, I do enjoy it, though I’m not sure how close it would compare to actually working in the field.

I’ve always been a self-learner and would say I am fairly disciplined. Everyday for the past month, I’ve spent 1-3 hours learning Web Dev and doing practice assignments after work, and probably 5 hours on weekends.

Do you think if I transition into tech, there would be drawbacks maybe 10 years into my career for not having a degree? I’m asking because I know at one of my previous jobs, there are a bunch of people with 20+ years of experience in the field that are stuck at their position because they don’t have an engineering degree.

I’ve looked into bootcamps as well. My brother recently finished one for around $10K. I feel like I can learn something similar to what he did by doing the uDemy Bootcamps combined with the Odin Project and some other resources.

Thanks again for your input, I think I’m going to focus more on self-learning and see where I go
Having a CS degree certainly helps more with career progression, indepth knowledge into topics and higher earning potential, however if you're a happy code monkey at $100k building cool stuff and having fun, maybe that's enough for now. Do you need to know matrix multiplication? Algorithms and stuff? Maybe, maybe not.

There's such a demand for dev skills that employers are more interested in what you can do as opposed to what you went to school for 4-10 years ago.
Long Time RFDer / restarting life
Deal Addict
Feb 19, 2017
1078 posts
816 upvotes
Forget about going back to school.

1. Learn on the side.
2. Do a few projects (maybe even a startup or two).
3. Apply to be a technical PRODUCT manager at big tech.

This would give you the better salary you want and the opportunity to work closely with developers (once you reach a certain level, you can even manage software development teams as a technical PM).
Crypo/NFT-enthusiast
Deal Addict
Jul 18, 2005
1732 posts
157 upvotes
Mechanical Engineer here with 10 years of experience and also looking to make the switch. I'm currently in the public sector, and would not recommend it to others. The pay is mediocre, and the work environment is incredibly frustrating for anyone with any hint of ambition.

I had also considered switching 5 years ago, but came to the conclusion that I would be an overall lateral move at best and that the tech space was in a bubble. But there's been tremendous growth in the tech industry since then. And yet it still seems there is a long way for the industry to grow and that jobs will be plentiful for a long time to come.

I'm taking the self-teaching approach although wanting to enter into a data science / ML / backend role. Consulting work is incredibly grindy and the only concern I would have from your end, is whether you'll be able to sustain the energy for learning after work. Be mindful to take breaks / vacations so you don't burn yourself out.

Also be careful about being too focused on passion, which is a fleeting feeling. Work is work at the end of the day, and you're going to be dealing with other headaches in the tech space. A few things that have been on my mind: working remotely indefinitely, compensation, composition/culture of teams.
Sr. Member
Feb 5, 2007
870 posts
452 upvotes
Mississauga
I too am a Mac grad w/ eng degree. I decided to go self taught route. A degree would help provide structure which is a large part of the initial battle. If you have a plan and the DISCIPLINE, then go for it.

I recommend full stack javascript in toronto area. Make a portfolio. Do two small projects and one full stack project. Something that shows an interest to solve an actual problem, not something you youtube.

Take as many interviews as you can. You're prob not ready but take each one as a learning opportunity. What helped me was relating my previous work experience to the company's product.

It took me 2 attempts , first attempt I gave up. Second attempt took me 15 months to land a job. I ended up doing Python + SOME js.
[OP]
Newbie
Dec 27, 2015
5 posts
2 upvotes
Markham, ON
civ@uw wrote: Mechanical Engineer here with 10 years of experience and also looking to make the switch. I'm currently in the public sector, and would not recommend it to others. The pay is mediocre, and the work environment is incredibly frustrating for anyone with any hint of ambition.

I had also considered switching 5 years ago, but came to the conclusion that I would be an overall lateral move at best and that the tech space was in a bubble. But there's been tremendous growth in the tech industry since then. And yet it still seems there is a long way for the industry to grow and that jobs will be plentiful for a long time to come.

I'm taking the self-teaching approach although wanting to enter into a data science / ML / backend role. Consulting work is incredibly grindy and the only concern I would have from your end, is whether you'll be able to sustain the energy for learning after work. Be mindful to take breaks / vacations so you don't burn yourself out.

Also be careful about being too focused on passion, which is a fleeting feeling. Work is work at the end of the day, and you're going to be dealing with other headaches in the tech space. A few things that have been on my mind: working remotely indefinitely, compensation, composition/culture of teams.
Thanks for the response. And thank you on the part about burnout. I actually did have a period of burnout a couple of months ago (my brain was scrambled after work hours and my hair was falling out). I stopped giving 100% at work and I felt much better mentally and have a better indicator when I’m getting overwhelmed. This was when I wasn’t learning programming on the side, which is why I don’t like my job. I’d sometimes work until 2am to meet deadlines and I would see a lot of my coworkers online as well.

I actually used to work in the public sector and wow, what a difference it was. I got paid more and did like 10% of the work I do here (and got praised for being a hardworker there lol). Everything moved so slowly, so I definitely agree there’s no ambition there.
[OP]
Newbie
Dec 27, 2015
5 posts
2 upvotes
Markham, ON
leeoku wrote: I too am a Mac grad w/ eng degree. I decided to go self taught route. A degree would help provide structure which is a large part of the initial battle. If you have a plan and the DISCIPLINE, then go for it.

I recommend full stack javascript in toronto area. Make a portfolio. Do two small projects and one full stack project. Something that shows an interest to solve an actual problem, not something you youtube.

Take as many interviews as you can. You're prob not ready but take each one as a learning opportunity. What helped me was relating my previous work experience to the company's product.

It took me 2 attempts , first attempt I gave up. Second attempt took me 15 months to land a job. I ended up doing Python + SOME js.
Thanks for the insight. I’m doing JS right now and thinking of revisiting Python later. I’m definitely not ready just yet, but thanks for pointing out practicing interviews. I did the same for mecheng jobs that I wasn’t interested in. I’ll probably start applying in a month to start my practice.

Congrats on successfully transitioning into the field. Just wondering, do you ever feel like you should’ve went back to school for a degree or do you feel happy with the route you chose?
Sr. Member
Feb 5, 2007
870 posts
452 upvotes
Mississauga
I do wish I did a degree, but with the internet I don't think it is necessary. There are many github repos/well known courses (MIT Python, CS50, etc) that'll fill it and everything between. If you want to talk more, PM me.
Deal Addict
Jul 18, 2005
1732 posts
157 upvotes
Bulbasaurus wrote: Thanks for the response. And thank you on the part about burnout. I actually did have a period of burnout a couple of months ago (my brain was scrambled after work hours and my hair was falling out). I stopped giving 100% at work and I felt much better mentally and have a better indicator when I’m getting overwhelmed. This was when I wasn’t learning programming on the side, which is why I don’t like my job. I’d sometimes work until 2am to meet deadlines and I would see a lot of my coworkers online as well.

I actually used to work in the public sector and wow, what a difference it was. I got paid more and did like 10% of the work I do here (and got praised for being a hardworker there lol). Everything moved so slowly, so I definitely agree there’s no ambition there.
Sounds like you have a well balanced approach. Letting off the gas with your current employer is the right move to end the cycle of despair. I've seen other posts on here where people feel trapped in their jobs, and they aren't willing to take the obvious (to an outside observer) step of detaching from their jobs a bit. Those 2AM efforts are typically marginal gains, and you can certainly get the 80% done between 9-5 and just learning to manage stakeholders for fallout. No need to feel bad for your coworkers either, at the end of the day everyone is making a choice of how they wish to spend their time.

A tangent about the the consulting engineering world - the people in this space live in a bubble. The pay is terrible and the hours are horrendous. The principals who have a toxic workaholic work ethic, which makes everyone down below feel like the only way to progress is by doing the same. But even then, getting to point of being a principal or what have you is hardly a great outcome to strive towards.

There are far better opportunities out there for anyone that is remotely motivated to learn. To any other engineers reading this: never sell yourself short and always go after what you're worth.
Deal Fanatic
Jul 13, 2009
5190 posts
3445 upvotes
civ@uw wrote: Sounds like you have a well balanced approach. Letting off the gas with your current employer is the right move to end the cycle of despair. I've seen other posts on here where people feel trapped in their jobs, and they aren't willing to take the obvious (to an outside observer) step of detaching from their jobs a bit. Those 2AM efforts are typically marginal gains, and you can certainly get the 80% done between 9-5 and just learning to manage stakeholders for fallout. No need to feel bad for your coworkers either, at the end of the day everyone is making a choice of how they wish to spend their time.

A tangent about the the consulting engineering world - the people in this space live in a bubble. The pay is terrible and the hours are horrendous. The principals who have a toxic workaholic work ethic, which makes everyone down below feel like the only way to progress is by doing the same. But even then, getting to point of being a principal or what have you is hardly a great outcome to strive towards.

There are far better opportunities out there for anyone that is remotely motivated to learn. To any other engineers reading this: never sell yourself short and always go after what you're worth.
The big engineering firms are unfortunately extremely behind the times, old school management, male-dominated leadership, HR barely funded and you even see HR turnover. If HR can't even stay in engineering firms.....that's a pretty big red flag. The smaller firms tend to be a bit better in culture, more equitable and family-like, however the trend last 10-15 years is the owners get old, retire and sell to bigger firms.

Tech makes it really attractive, especially for mech engineers. You already have the training and behaviour of an engineer, core maths, logic, and you probably are good with managing projects/tasks.

Doesn't mean mech eng is a dying profession, and I predict an upward tick when more companies get into automation, like Clearpath Robotics, self driving vehicles (GM), will demand mech engineers who can code.
Deal Addict
Jul 18, 2005
1732 posts
157 upvotes
bhrm wrote: The big engineering firms are unfortunately extremely behind the times, old school management, male-dominated leadership, HR barely funded and you even see HR turnover. If HR can't even stay in engineering firms.....that's a pretty big red flag. The smaller firms tend to be a bit better in culture, more equitable and family-like, however the trend last 10-15 years is the owners get old, retire and sell to bigger firms.

Tech makes it really attractive, especially for mech engineers. You already have the training and behaviour of an engineer, core maths, logic, and you probably are good with managing projects/tasks.

Doesn't mean mech eng is a dying profession, and I predict an upward tick when more companies get into automation, like Clearpath Robotics, self driving vehicles (GM), will demand mech engineers who can code.
There's been a tremendous amount of turnover at the big consultants this year, with drafters and engineers jumping to competitors or leaving the industry entirely. The understaffed HR is going to hurt them as they try to fill the holes in their labour pool, and also leaving them more vulnerable to legal action that could result from the good old boys club mentality that many places operate under. You are quite correct that the smaller shop are a better work environment. I'm also seeing starting to see places with younger leadership that manage with progressive values and are trying to better keep up with the times.

I don't think the pay will ever catch up though, even with the labour shortage coming up. Construction is a race to the bottom, and there's enough players out there to that you'll always have a large contingent of underbidders going out to win jobs. From that perspective it doesn't make sense to increase your labour costs. Which is a shame because for example there are amazing drafters that add massive value over the typical because of how productive they are.

I agree having an interdisciplinary skill set will keep a mech eng degree fresh and relevant.

Top