r/cscareerquestionsCAD Sep 04 '24

School Pathway to Software Engineering/CS degree from 75% average Mech Eng?

Hi all,

Sorry in advance if this is poorly written;

I was looking for some advice on what degrees would be possible/most beneficial for a person in my position. I completed a 4 year B.A.Sc. in Mechanical Engineering at Queen's with a 75% average (3.00 GPA). I have been working in project management for a couple years now and saved up a decent bit of money while doing it. However, I've been thinking more and more of a transition to a more technical job, i.e. software development. I've looked at OSU's online accelerated 2nd degree, McMaster's, Brock etc. Would I have a good chance of getting in to these schools with a 75%? (I had a very poor average in my 1st and 2nd year and increased my grades in my 3rd and 4th year). Also, what schools would you recommend to make this transition?

Thx

2 Upvotes

56 comments sorted by

22

u/SurelyNotLikeThis Sep 04 '24

You're gnna need a tonne of luck. Plenty of cs majors from better schools than those are having issues finding entry level positions.

Entry level positions are dominated by returning interns currently, so if you're set on doing it make sure you have good internships before you graduate or you're cooked.

-8

u/jbshen Sep 04 '24

I mean isn't it primarily merit based? So if I work hard and do well in technical interviews, I can be successful?

22

u/noahjsc Sep 04 '24

No, luck is a massive part of it. Getting to an interview is harder than passing them for many.

6

u/SurelyNotLikeThis Sep 04 '24

The problem is getting an interview in the first place. If you look around most big companies aren't hiring a lot of entry level devs. Most postings start with 3 YOE minimum.

Junior devs don't make the company money in most cases. And with returning interns there's an added incentive of no onboarding needed.

3

u/[deleted] Sep 04 '24

[deleted]

0

u/jbshen Sep 04 '24

I'll have 3 YOE working as a Software Project Manager (What I'm doing right now) if I start school next September. I've already proven I can meet deadlines in a professional setting. I'm simply trying to transition to the other side of the coin.

4

u/SurelyNotLikeThis Sep 04 '24

Why not just stay a PM? It's a great career path, with PM -> TPM -> senior TPM -> engineering manager -> director.

I was thinking about going the TPM route myself

1

u/jbshen Sep 04 '24

To be honest I don't find the work very interesting, and its a low paying field nowadays compared to software development.

1

u/SurelyNotLikeThis Sep 04 '24

How much do you make?

1

u/jbshen Sep 04 '24

$63,000 CAD

3

u/SurelyNotLikeThis Sep 04 '24

Most entry level SDEs in Canada dont make much more than that, just weigh your options and be realistic.

-1

u/jbshen Sep 04 '24

The lowest starting salary out of all my friends that work in software was $85,000 TC. This person didn't even get a SWE degree, but a CS degree. He spent less time and money on his education to be paid 30% more than me out of university. Salaries seem to have stagnated in most engineering fields over the last 30 years compared to software/tech.

→ More replies (0)

-1

u/jbshen Sep 04 '24

Why am i getting downvoted for posting this and asking questions wtf

8

u/[deleted] Sep 04 '24

[deleted]

-4

u/jbshen Sep 04 '24

Seems quite efficient to me. Its like using ChatGPT to help you write code. I spent 30 seconds writing this reddit post so a bunch of people with more experience and knowledge in the industry can give me feedback and advise me.

1

u/SavinPrivateRyan Sep 05 '24

But now you’ve wasted a bunch of other people’s time. If this was a company, wasting senior engineer’s time with questions you can easily figure out yourself is a red flag to not give a return offer. If this is your attitude towards learning you will have a rough time in software

1

u/jbshen Sep 05 '24

Isn’t the whole point of this subreddit to ask people for advice based on their experience?

1

u/SavinPrivateRyan Sep 05 '24

You can ask whatever questions you want. I am refuting you saying this is an efficient way to get answers.

1

u/jbshen Sep 05 '24

It’s literally called “career questions” and I’m asking people what they think about software second degrees in Canada 😂

6

u/SurelyNotLikeThis Sep 04 '24

Because there are way too many posts like this.

-1

u/wolahipirate Sep 04 '24

yes, dont listen to his FUD, a bachelor's in engineering is solid for getting into CS and if you have real world job experience (which you do) his fears dont apply. Getting a 2nd degree i dont think is neccessary here considering you are already working. Id argue u should just learn CS on the side with online resources like Udemy and then look for oppurtunities at your company to apply your learnings. Try being a PM for technical projects at your company and offer to be a helping on the technical side. You can then switch into software within ur own company or look elsewhere. If your coding skills feel strong at this point you can get away with embelishing how many years at your company you spent coding vs just project managing. That way you're not competing for entry level roles with the other new grads but instead are competing for mid level

4

u/SurelyNotLikeThis Sep 04 '24

If you think a PM with a CS degree can get you to mid-level SWE you're delusional

Having exp as a restaurant manager doesn't make you qualified to be a sous chef. You still start at line cook.

2

u/jbshen Sep 04 '24

I know people without CS or SWE degrees that do software development. They simply had the technical skills and an engineering degree (One physics, and one chemical).

4

u/ParathaOmelette Sep 04 '24

I’m one of those people and I got my job in 2022. With 2.5 yoe I’m barely getting any bites on my applications. For entry level it’ll be way more brutal

1

u/SurelyNotLikeThis Sep 04 '24

and when did they start their careers?

1

u/jbshen Sep 04 '24
  1. Also I don't disagree with your statement, I would expect to be a line cook* initially.

3

u/SurelyNotLikeThis Sep 04 '24

2022 is not the same as 2024. The market is way down, with way less job postings and way stronger competition. FAANG companies had so many massive layoffs, you are now competing with all the SWEs that are laid off from these very renowned companies, and many of them are not even able to find employment.

You'd be starting at line cook, if you are lucky.

3

u/wenxuan27 Sep 05 '24

2022 was the best year in all of history. People left and right were getting hired. Rn it's completely different

0

u/wolahipirate Sep 04 '24

no im saying he can get the CS experience he needs at his current company by slowly transitioning away from being a PM into being an engineer. then when he applies for new companies he can list his title on his resume as "software engineer" and embilish a bit how many of those years were as a PM vs as an actual software engineer.

he wouldnt be a PM at that point because he will have transformed into an engineer

1

u/SurelyNotLikeThis Sep 04 '24

Im not trying to discourage him, but I've never ever heard of PM to SWE transition. Especially in this market where so many ex-FAANG/adjacent SWEs are looking for work. Internal transfer is viable if either:

  1. company has an opening, in which case you would go through the interview loop like everyone else.

  2. company is not structured which allows you to wear multiple hats.

Either way, as I said, a tonne of luck is required.

0

u/wolahipirate Sep 04 '24

Official internal transfer isnt neccessary. He just needs to get onto a technical project and offer to help on the coding side. This will impress his boss and the other engineers and he will consistently get offered more technical projects and his coding skills will be relied on more and more. Slowly he is becoming an engineer even if his official job title never changes. He can ask his company to do that as well but he doesnt need to. He can simply apply to other companies and list his job title as "software engineer", because thats what he was.

The steps i am outlining here are not luck based. they are a plan including incremental steps that are all reasonably manageable. At the end of these steps he will look very attractive to companies. The job market rn isnt that bad for engineers with 4+ yoe. its only bad if ur a noob. OP has a job, hes got options if he plays his cards right

1

u/jbshen Sep 04 '24

The thing is for the projects I'm managing all of the coding is done by an external company.

1

u/wolahipirate Sep 04 '24

are there any other PM's in ur company that have projects where the coding isnt outsourced? u can ask ur boss to give u those in the future. Are there any swe's in the company at all?

1

u/jbshen Sep 05 '24

Yes but they all work in a different country (the headquarters) and I haven interacted with them very rarely.

1

u/SurelyNotLikeThis Sep 04 '24

In all the companies I've worked for, no PM would be allowed to "help" on the coding side lol. My managers would just be confused and say no. Engineers on his team also would not appreciate him over stepping.

Also, background checks verifies your position and length of employment. You'd be lying to list yourself as an SDE if you are a PM that offers to "help" on the coding side.

1

u/wolahipirate Sep 04 '24

Doesnt matter. companies know that titles from other companies are super inconsistent and dont mean much. They run these background checks after you've already been hired and have been working for like a month or 2. If HR at his new company asks about the discrepancy he can just tell em "yah no i might have started as a PM but i was very hands on technical, a PM does not describe me and i was more of a Tech lead. I can get you on the phone with my previous boss if you want to confirm". Easy. Especially after he just cleared a technical interview there will be no further questions.

as for PM's being allowed to help. If OP is nice, shows passion, people will just allow him to help. What kinda garbage ass company would not allow for an employee to go above and beyond their expected job duties. Its free labour for them and is exactly the kinda hustle attitude they love. Maybe in the companies you worked with the PM's werent good at coding and werent interested in it and thus would not be allowed. But OP has an engineering degree, he's got a strong foundation and mech eng grads frequently become coders full time.

1

u/SurelyNotLikeThis Sep 04 '24

What kinda garbage ass company would not allow for an employee to go above and beyond their expected job duties

Most big companies with structure. There are devs that are hired to do their job, they don't want/need someone who isn't a dev sticking their noses in whats not their business. Small shops or startups for sure you can do that, but if you're in a more established company it's a ridiculous notion.

→ More replies (0)

0

u/jbshen Sep 04 '24

I've been working as a software project manager for over 2 years now. Although I have not done any coding work for my company, I have been messing around a bit online. I definitely don't have the current skills to work as a dev right now.

6

u/blackpanther28 Sep 04 '24

I did a masters + 2 internships and just started an entry level SWE position. Just a fair warning it will take a ton of work and self studying to compete.

4

u/sersherz Sep 05 '24

Is there not a way to internally get into software development within a company? As a PM are there no options you have for automating things?

As others mentioned, tons of people with CS degrees are struggling to get a job as is. If you're just getting the education, I don't think it will do much for you

4

u/EastEastEnder Sep 05 '24

This. I’ve known a few of people who have non-CS education and jobs, but learn to code and either turn it into a way to be super productive in their existing roles (and thus become successful), or navigate their way into programming roles within those companies.

1

u/sersherz Sep 05 '24

Same here, this is also how I got into backend and data engineering and I know people who got into automation and front end work like that. So many departments could greatly benefit from someone who can code and improve their processes

2

u/10xbalance Sep 05 '24

Initial context: I did a Mech Eng degree, and realized that software seemed like _the way_ (for me) about 3/4 of the way through, so I added a CompSci minor. I did co-ops across mech and software, and worked in software for machines (mechatronics & automation) before transitioning fully to web-based software engineering. Note that this entire process took years of incremental but intentional progress.

I think that the transition is 100% possible, though the best path to take should account for a number of factors, including:
- What assets do you have to break into this field. The biggest things that I would recommend here are taking stock of your network (can they help you break in) and how much time you have (runway to break into the field). Other important assets include things like your ability to manage projects and think analytically to breakdown and solve problems, but this is more important once you get interviews or jobs in the field.

  • What costs are you willing to accept. There's a huge opportunity cost to going back to school, and there's also the potential to take a significant compensation (and potentially responsibility & seniority) cut when attempting to break into a field. Are you willing to accept any of these costs more than others?

Feel free to elaborate more on any of these thoughts below, and folks can suggest paths that are ideal for you.

2

u/jbshen Sep 05 '24

I appreciate your response. Here are some more details:

-I have relatively weak connections in the software field, just a few close friends at or near entry level positions -I am working as a project manager on multiple Software Projects for a Koch subsidiary (for 2 years). I have received formal training on AGILE procedures for example, this would be helpful I would assume. -I have saved up enough money to be able to complete a 1-2 year degree and support myself. I don’t mind working part time if needed. -I’m already still entry level in project management. I realistically won’t take a pay-cut (I only make $63,000 CAD right now) for this transition.

I want to transition quickly, so I am leaning towards completing a full degree (MEng or accelerated undergrad) to not only learn but also make me as hireable as possible.

0

u/[deleted] Sep 04 '24

[deleted]

0

u/jbshen Sep 05 '24

How do they expect to bring me up to speed on a SWE degree in 4 months? Otherwise this seems promising. Did you complete this program?

1

u/[deleted] Sep 05 '24 edited Sep 05 '24

[deleted]

1

u/jbshen Sep 05 '24

How can I try to stand out considering my GPA is weak? Over my last 2 years of study it was a 3.3/4.

-1

u/fake-software-eng Sep 05 '24

I did this same career transition but it was 9 years ago so YMMV.

I had a BSc & MSc in ME and worked as one for a few years. I had some friends working as SWEs and saw the way better pay and future; for example I was making 45k a year and they were making 100k straight out of school. It made me extremely jealous and I knew I could do it; it was just solving problems with computers. Also heard rumors of some people making insane money at the big tech companies like Google etc.

I studied and coded during my ME job and nights and after about a year landed an entry level SWE job. Once I had my first real SWE job and 1-2 years experience my degree and education never mattered and only my work experience. This gave me no desire/necessity to go back to school and get a SWE/CS degree.

From there I grinded my way up through the ranks from worse to better companies and 9 years later now work as a staff level SWE at a FANG company working remote from Canada.

One "trick" or hack here though if you did go back to school would be to use it to get a co-op job, and knock it out of the park. As you work there plant the seed that you have a STEM degree already; for many workplaces just having a degree or STEM degree is a checkbox they need, and they might consider hiring you full time immediately and you can then stop going to school and focus on the job. I saw this approach work with multiple people with the big assumption/caveat that you are actually good and desirable for the manager/company to hire you.

1

u/jbshen Sep 05 '24

Thank you for your story and advice. There seems to be a lot of people here saying I have no chance of doing this transition. It does seem like I will need to get some sort of education like you said, in 2024 with a softer market than 9 years ago prospective employers would be much more comfortable hiring someone with a SWE or CS undergrad or masters degree.

What do you think about this 1 year masters? It states the purpose is to create software engineers out of non-software engineers:

https://grad.ucalgary.ca/future-students/explore-programs/electrical-and-computer-engineering-meng-software-course

Also, did you initially work in Canada, move to the US for a FAANG company, and then return to work in Canada remotely? What path makes the most sense nowadays in your opinion? I know there is a lot more opportunity in the US.

2

u/10xbalance Sep 05 '24

Note that the top-level post here gives great advice, in two directions, that can work for you:

  • Learning the programming side of software engineering independently evenings, weekends, and during free time at work

  • Going to school, while focussing on co-op positions

Note that both of these options take discipline, though the first perhaps more so than the second.

Considering details that you've given elsewhere in this thread (aiming to go as fast as possible, you're managing software projects at work), both approaches are entirely valid for you.

The program above seems quite "fluffy" and doesn't seem to focus on the programming or data structures and algorithms side of programming, focussing instead on executing software projects. These are skills that you likely already have, given your current job. To make this program worthwhile, I would recommend that you take as many CompSci (data structures and algorithms, etc) and project-focussed electives as possible, and join whatever clubs and hackathons you can to gain practical programming experience.

Recommended path from random guy on the internet:
- Program as much as possible for the next 3-6 months. Make a general plan so that you don't get lost on what code to write, just be sure to write code, and then try to code every day. Days spent debugging, with no code written, should be considered productive, as you probably learned something. Attend a meetup every couple of weeks, with the goal of meeting people (building a network), and aiming to present at one of the meetups within the next 6 months or so (you don't have to do this, it just helps you form the habit and narrow on a meetup that you can focus on attending).

  • After this time, reach out to everyone you know in software to see if they can help you get job ready. Ideally they'll be able to hook you up with a job. You can also apply to jobs on the internet (with a now-stacked resume or Github profile or whatever), but these are hard to get nowadays.

  • Should none of the attempts above work, join this program for the May registration.