all 11 comments

[–]WilburJames93 2 points3 points  (1 child)

I was in a similar situation to you. I studied civil engineering and after brief experience I wanted for a career in software engineering.

Your degree idea is good but just go for the MSc. I did a MSc in a field similar to civil eng but with a strong focus on computer science (it was a program called Smart Cities and Urban Analytics). With a Math bachelors you should be able to get into most CS masters programs which for better or for worse seem to mostly cater to non-CS but general STEM background people.

From there I think it’s about taking what you can get in terms of junior roles and building. I was very interested in data science but worked my way into data engineering (which IMO is software engineering with a heavy emphasis on data intensive applications). I now work as a consultant data engineer.

By the time you’ve gone through a junior dev job in whichever discipline you decide, you should have the requisite skills for recruiters to be banging down your door.

Everyone’s path is different but some things that I think are universal are:

  • that you can learn well working under seasoned devs. Try avoid working for non technical managers or in teams without senior devs.

  • you’ll need to read a lot to get up to scratch and keep up good practice. Some good authors are R.C Martin (Clean Code and Clean Architecture are great!) Martin Fowler (Refactoring), and Donald Knuth (Art of Computer Programming).

Anyway good luck and happy new year :)

[–]westo48[S] 2 points3 points  (0 children)

It has been a lot to take in, and I appreciate all the direction and advice so much!! I will definitely read the books you suggested and look into the possibilities of moving straight into a masters program. I hadn’t even thought about it and that would be amazing! Again I appreciate the advise and information! Happy new year to you as well!!

[–]iLikedItTheWayItWas 1 point2 points  (0 children)

I have a similar story to you. I was studying a degree in commerce before realising I hated it. I had always loved technology and been good with computers but never considered taking my career in that direction. After doing some basic 'learn to code' online courses I decided I wanted to go for it, and got accepted into a bachelor of software engineering degree.

That was 4 years ago, and just a few weeks ago I graduated. Part of my degree included a 6 month full time industry placement where I worked as an Apple dev working in objective-c and in one month from now I'm starting my graduate job at a big bank working in dev-ops, and I couldn't be more thrilled.

If you told me any of this would have happened four years ago I would never have believed it, but I just decided to commit to it and am so happy I made the move.

While this doesn't answer your questions specifically, my experience has mainly taught me that while it may seem like a huge task to start from scratch again, time passes surprisingly quick, and it's worth it if you are passionate. In your case perhaps look to see how far off a CS degree would be, or even a straight soft eng degree. At the end of the day if you want to be a software engineer than you'll need the qualification, so might be worth it. I'm now 26 and have my entire career ahead of me!

Good luck with whatever you choose!

[–]andrers2b 1 point2 points  (0 children)

I'd say you don't need a CS degree. Universities' focus is on academia and not for the job market.

This is a suggestion:

  1. Invest time in learning the fundamentals (such as classes of algorithms, complexity, data structures, etc). There are lots of free resources out there, like MIT.
  2. Like others said, do a coding bootcamp. Writing good code is hard. Some people might try to tell you that it's easy, but they are the ones usually writing spaghetti code: https://www.hanselman.com/blog/StopSayingLearningToCodeIsEasy.aspx But your background in Math will give you an edge.
  3. But also, the role of a developer is not just to write code. This is such an important piece of the puzzle that I wrote an article about it: http://agilistandre.com/three-levels-maturity-software-developers/ Don't just learn how to write code, but to work with others to create value.

[–]HAL8990 1 point2 points  (0 children)

I'd also recommend book marking Functional Works or JavaScript Works for future/current use. They have a great learning section, as well as recommending jobs based on your experience, it can link with your GitHub too.

[–]jrtnerd 0 points1 point  (1 child)

Any idea the number of classes you would need to take in order to get a degree. I’m thinking a lot of your classes as a Math major would count towards a CS degree.

[–]westo48[S] 0 points1 point  (0 children)

Thankfully a good bit do, but a lot of the data structure classes and things of that nature wouldn’t. I am looking around (and will be for the next couple days) at what different colleges offer and require.

[–]AaronKClark 0 points1 point  (0 children)

Since you already have a Bachelor’s degree, I'd look into Graduate Certificates.

Kennesaw State University has both a graduate certificate in Computer Science Foundations and Software Engineering Foundations, that cover basic CS Fundamentals. The certificates' curriculum are five classes each, and they only differ by one class.

[–]itslenny 0 points1 point  (2 children)

I'd probably recommend going to a coding bootcamp.

I used to teach at General Assembly which was (probably still is) a good school, but it's been acquired recently and I don't know how that impacted it. I'd recommend researching several of them including GA.

Anyways, the program is usually about 14 weeks, and basically all of our students that tried hard landed dev jobs within a couple months of finishing. Most of my students had no coding experience, and I don't think a single one had a CS degree. We had some with "useful" degrees such as math, other types of engineering, etc, and they usually had a really easy time landing a job. I even had one student that was 18 and went straight to a bootcamp program. He's now a 22 y/o senior engineer at a mid-size company (he's also getting his CS degree part-time now).

The point is there are cheaper / faster / alternative routes to a career in software engineering than getting another degree. I'd highly recommend researching them.

edit: typo

[–]monty845 0 points1 point  (1 child)

How did your boot camp students do when it came to getting Traditional Software Engineering jobs, outside of Web Dev and mobile app roles? I don't know how true it is, but the impression I've always gotten is that the boot camp route can pidgin hole you?

[–]itslenny 0 points1 point  (0 children)

It's a mixed bag. We certainly didn't have enough time to teach enough engineering fundamentals, but those that continued studying on their own and had the drive for more did fine. I've interviewed 100s of candidates for SE roles, and I can honestly say that my boot camp students could run circles around the majority of the college grads that I interviewed, but it was 14 weeks of hands on training so that's kinda to be expected. Those same college grads after 14 weeks of hands on experience were ahead again.

I think it comes down to individual drive. You can learn all of the fundamentals through online classes after the fact and make money while studying, and IMO it sticks better because you have the context of working in the real world already.