Fretting over engineering major
June 15, 2023 8:01 AM   Subscribe

A university has accepted me into both their mechanical engineering and their software engineering bachelor's programs. I don't know any engineers, and some guidance from anyone in either field would help immensely. My goal is a stable career outside a major city.

Thank you for considering my question.

My passion is writing, and I've enjoyed a career as a journalist, but the death of the industry and an unfortunate personal circumstance led me back to school in need of a different career.

Programming looks like a preferable career if AI didn't exist, but AI exists, and I'm wondering how much that changes things.

Further, mechanical engineering pleases me more than programming as a field of inquiry, but the job market seems to be mostly factories, the military or extraction industries, and none of those really call to me.

I know essentially nothing about physics or coding today. But I studied pre-med along with journalism for my first degree, and got straight A's, and last semester I got an A+ in calculus. If I apply myself, I believe either subject is within my reach.

When I've coded in the past, I loved it. I grew up wanting to be a programmer (or a journalist, or an astronaut).

When I've studied physics, I loved it. And I love math. I love doing problem sets. I enjoyed my final exam in calculus.

My point is, I think I could do either of these and find satisfaction doing it under the right circumstances.

But my sense is that even if AI doesn't eliminate coding careers, it will severely shrink the field. I'm sure the really great software engineers will always have a job, but I'm older than most novices are who go on to excel in a given field. I'm not confident there's going to be a job market for a programmer of average ability in five years. Even if there is, in five years the field could be nothing but stats, which probably won't be the focus of a student's education who enters a software engineering program today.

Probably mechanical engineering is threatened by AI as well. But the subject matter seems to justify itself, even if there's no job involved. The study of math and physics is the study of the world around us; it's a noble philosophical pursuit. I'd love to study mechanical engineering regardless of the career prospects. And creating things out of math and physics seems like one of the highest callings for a human being.

However, the point of this degree is to get a career that will sustain me past the age of retirement. And in that career, cities, factories, and military and extractive industries are not things I aspire to be part of.

I would be extremely grateful for any thoughts on the above considerations. If you've skimmed over the rest, my questions are basically as follows:

Are there good jobs for mechanical engineers that are remote, or outside, or don't involve factories, military contractors or extractive industries? I'd happily get a master's if needed. Should I be thinking about renewables primarily, or are there other interesting areas to look into?

Is it wise to enter a 4-year software engineering program today?

Thanks again for reading.
posted by cthlsgnd to Education (28 answers total) 3 users marked this as a favorite
 
Best answer: When I worked on large software development projects, there were mechanical engineers on the team. The extensive skills and designation acquired are highly transferable to other fields.

This would not hold as true about sw engineering being transferable to mechanical engineering projects. So there’s that.

If I was in your shoes I’d consider mechanical engineering with a certification in project management as well (PMP).
posted by seawallrunner at 8:07 AM on June 15, 2023 [4 favorites]


Of course it's wise to enter an engineering field. AI isn't magic and the way it's currently presented is just a fad - programmers are going to have to create it and improve it. At my software job, we are currently drawing up plans for projects 5 years down the pike. That's actually just a mid-term outlook.


If you are looking a job away from a major city, mechanical engineering is going to be superior to software engineering in terms of salary. Yes, there are ME jobs that are remote, outside, and in other industries.
posted by The_Vegetables at 8:09 AM on June 15, 2023 [5 favorites]


If you already have a degree I'm not sure getting a second bachelors in software engineering is a good choice. Taking a few classes, absolutely! But actually getting a four-year degree - why? I say this as a senior software engineer with degrees in biology and library science (and no college-level programming coursework), who works on a team of engineers less than half of whom have CS/software engineering degrees. Does this degree program provide a lot of internship/coop support? (That might be a good reason to try it although honestly also you could just start applying to software jobs after you've taken a couple of classes.)

A mechanical engineering degree makes more sense to me (if you potentially want a job in mechanical engineering) because a lot more mechanical engineering jobs really do require field-specific degrees compared to software jobs, and you will learn skills that are applicable to both fields.

As for AI I might be naive but I'm not that worried about AI, jobwise - actually writing code is a fairly small part of my job compared to figuring out what people are actually asking for, navigating incomplete documentation, stuff like that. I am not a "great" coder, and honestly if AI helps me avoid a couple visits to StackOverflow a day I'll be delighted. But I'm pretty darn good at writing a technical spec for a new feature, which requires a fairly deep knowledge of my product, my coworkers, and our clients that I have trouble imagining LLMs being able to master in the next couple of decades. Also I don't see why your AI concerns apply to software engineering but not mechanical engineering?
posted by mskyle at 8:22 AM on June 15, 2023 [16 favorites]


I went to engineering school and have mechanical engineer and software engineer friends and acquaintances. The number of mechanical engineering jobs that match up to software quality-of-life in terms of pay, flexibility, and diversity of industry is low, from my limited understanding. From what I can tell, the likelihood that they are remote is quite low and the likelihood they involve factories etc is quite high.
posted by watermelon at 8:28 AM on June 15, 2023 [1 favorite]


I'm not sure a 4yr CS degree is the way to go here. I'm a senior software engineer at a company you may have heard of, and my undergrad was in a liberal arts field. I was at a bit of an unfair advantage because I grew up around software/electronics, and did some postgrad work where I got paid to learn basic CS skills. I think if I were in your shoes I'd look for ways to build experience that are less expensive and time-consuming than a 4yr degree. I hesitate to recommend a boot camp, but it might be a viable option if for whatever reason self study isn't going to do it for you.

I wouldn't worry too much about transformer-based ML (which is what most people are calling "AI" these days). It's fancy, it's kinda neat, it might automate some things, but I have extreme doubts that it's going to eliminate programming as a field of expertise any time soon. One of my colleagues asked chatgpt about how to do something in a language we use, and it wholesale invented documentation of a plausible-sounding (but not existent) language feature. Said colleague then told me that feature wasn't working, and I had to hunt down the docs to prove it didn't actually exist. I'm not scared for my job yet.
posted by Alterscape at 8:42 AM on June 15, 2023 [4 favorites]


Best answer: Seconding mskyle. Get the mechanical engineering degree, and if you suddenly think software is the way to do, you can do a bootcamp or shorter certificate program down the line for it. You'll mostly use your software engineering degree for your job interviews and nothing else. It is an industry that loves reinventing the wheel, meaning that the hands-on experience from university is already obsolete.

Speaking as a software engineer, it could use more people who have a bit more experience than just "writing code". I worked with a lot of engineers who didn't have degrees in the field - everyone had to learn on the job.
posted by meowzilla at 8:44 AM on June 15, 2023 [2 favorites]


I am a mechanical engineer and I've never worked *in* a factory. I did work in defense/aerospace at the beginning of my career but it's certainly not mandatory. Working remote is much less likely than SW but employers working outside of big cities or off the coasts is more likely.

For my non-defense jobs, I worked for a company that grew semiconductor crystals, I designed packaging to turn the crystals into detectors that could be used for food safety, medical imaging, or security. I currently work for a large life sciences company designing laboratory automation equipment.

A lot of MEs I went to school with have transitioned over to SW for the money, I certainly don't make as much as a SW in the Bay area but I certainly make more than enough for my lifestyle. I think MEs need to have an investigative/analytical mindset and that translates to a ton of industries. For job postings I often look beyond the job title to what the actual job functions are.
posted by muddgirl at 8:54 AM on June 15, 2023 [4 favorites]


Journalist turned coder here. I’m not so sure a CS degree isn’t being underrated here. I’m an English major but I’m really glad I took the time to bone up on CS concepts, and not just for job interviews.

Yeah, technology changes all the time. But too often I’ve seen code or ideas at work that could have benefitted from timeless CS principles not taught in code camp. It’s a big advantage to know that you can run into problems that may seem new but that Don Knuth or Dr. Ted Codd were already all over in the 1970s.

I’m also not afraid of AI. I worried about it until I spent more time with it. To paraphrase Gattaca, there is no algorithm for the human spirit.
posted by johngoren at 8:55 AM on June 15, 2023 [3 favorites]


Congratulations!

I am not an engineer, but I work at a technical university and teach future engineers.

First of all, I think you should follow your passion, because you will be better at what you do that way. Also, mechanical engineers will be much in demand for the whole green transition thing. You might work in production, but it could then be working on thermal energy or windmills or sustainable insulation materials or no carbon AC or electric vehicles. Or equipment for hospitals and laboratories. Actually, I'm seeing a lot of recruitment ads and outreaches for that type of jobs, and I keep on saying that in my next life, I want to be a mechanical engineer.

I'm not sure the difference in pay is what it used to be, there are gazillions of software engineers and a shortage of mechanical engineers in the emerging field I have described above. As many have said, you are going to learn some basic programming, and you can take it where you want. As many are also saying, it will take a while before AI takes our jobs. I'd like to tell some funny anecdotes, but I don't know if any of my students are here, so I'll refrain. Let's just say that AI clearly demonstrates why we need creative thinkers in society today.

In one of the courses I teach, there are quite a few mature students with degrees in other fields who have moved on from an earlier career path. I love having them in class, they contribute a lot and they set a good tone in class.
posted by mumimor at 9:06 AM on June 15, 2023 [3 favorites]


(OK real talk my semiconductor job was kind of in a factory, in that my office was above where the crystals were grown, polished, and etched. And where most of the packaging was assembled. But it was likely not the kind of environment you are imagining when you think of a factory floor.)
posted by muddgirl at 9:08 AM on June 15, 2023


Hello, somewhat recent mechanical engineering graduate slacking off sitting in meetings at my big tech job here. During my degree I did a number of internships in, as you say, factories and extractive industries and by the end I was pretty sure I wanted nothing to do with all that either. I don't regret doing my ME though - though I did end up taking a number of CS-related electives later in my program, I do think that my ME program had a stronger focus on design principles and process and teamwork/communication that has served me very well, moreso than learning how to implement quicksort in c++. There is also the entire field of robotics/mechatronics where it's handy to know a bit of everything, and as folks have mentioned above, it's generally easier to self-learn programming than it is mechanical design. Happy to chat more over memail if you'd like.
posted by btfreek at 9:15 AM on June 15, 2023 [2 favorites]


Lots of mechanical engineering jobs at consulting firms, too. I can't speak to salaries or work/life considerations, but any large civil (water, wastewater, stormwater, transportation) firm will have some number of mechanical engineers and there are firms that do only mechanical or some combination of other specialties. Mechanical engineering is also involved in lots of architectural work.
posted by that's candlepin at 9:17 AM on June 15, 2023 [3 favorites]


I agree that AI is not the existential threat to the software development ecosystem you're making it out to be. I do think AI could make some entry-level programming jobs obsolete, but a) you said you're looking for a job to last you through retirement, and so presumably you won't want to be entry-level forever, and b) there are a LOT of software developers, and a lot of them work for companies that don't have resources to use AI to write their code for them, and c) there are a lot of software-adjacent careers that, if you've worked as a developer, you'd be qualified or even overqualified to move into.

For example, I'm a business analyst in the IT department of a small regional insurance company. My company only has a couple hundred employees total, and maybe three dozen programmers if you include interns. Even if you could train a computer to write code for us, I'm not sure our leadership would choose that option. For one thing, they're old-school and prefer a human touch in nearly every aspect of business. For another, they're not going to use a free ChatGPT thing for something so important; they'd want a higher-end AI product specifically developed to write code for business, which is expensive. A company with thousands of developers could probably justify that cost, but my small company probably wouldn't. And I've worked at even smaller companies, including one with just two full-time permanent devs. Considering you'd need to keep at least one of them for admin, is it worth it to trade the second for AI?

The admin thing highlights my third point, that writing code is only part of the job. AI can write all the code it wants, but unless you have someone(s) to gather requirements, write specs, set priorities, test output, perform maintenance, and update stakeholders, you won't have a functioning dev team. And the thing about most of those responsibilities is that they don't need an engineering degree. Or any degree, really. My degree is in ancient Greek history, and I've had plenty of co-workers who didn't even go to college. I think it would probably be wiser to find a job as a PM or a QA than to spend four years in school for a degree you're afraid will become obsolete.
posted by kevinbelt at 9:44 AM on June 15, 2023 [1 favorite]


Is it wise to enter a 4-year software engineering program today?

I have worked in software since the 90s. There are many, many ways to be involved in the production of software that aren't actually coding. Some of them would lean heavily on your writing skills and your experience as a journalist. For example, if you've interviewed a lot of people, you could right now, today, tailor your resume and start looking for jobs in UX research. Many years ago, I interviewed and offered a job to a former Baltimore police detective. Sadly for me and my team, he was snapped up by another UX team for his crazy fast ability to build rapport during an initial conversation with a stranger. Your skills may also be transferable to other software roles like technical writing, business analysis, project management, or product management.
posted by ImproviseOrDie at 9:51 AM on June 15, 2023 [3 favorites]


Also a mechanical engineer/manager in the bay area surrounded by many software engineers. The number of ME jobs in the bay is an order of magnitude less than for software engineering. Even large projects with hardware components that I've worked on have had 50 total mechanical engineers while there are 800 software engineers. The pay for a SWE with 5 years of experience will be roughly equivalent to an ME with 10-15 years of experience. If your plan is to climb the ladder to become a manager/director there are drastically fewer opportunities to do so. 1 ME director in a company with 20+ software directors.

As for the ME work, there are lots of interesting jobs but I'll give some quick takes. Consumer products make a lot of folks happy. The happiest have been my college friends at Apple. Apple has vacuumed up nearly every good student I know from my graduating class. I know of someone happy making Milwaukee tools, another at Logitech. Some folks have worked in industrial design firms. This field comes with 10-20% travel to Asia. Map of Engineering - Mech Eng

Aerospace is underpaid and work long hours. ME to aerospace is SWE to videogames. Cars may pay a little better, but the electric vehicle companies in the bay are also meatgrinders. I know a few folks that went the defense route, Lockheed/Northrup. Jobs in the middle of the country (GE aviation, Detroit) pay drastically less than those on the west coast, a 40-50% paycut. In the bay, energy in the form of batteries and grid storage has really grown. I should also mention MEP firms, the ones who do building/HVAC design, they really don't pay well and work very hard.

There are also all sorts of engineering jobs that folks transition to that I didn't know about until I had a job as an ME. Systems engineering, technical program management, manufacturing eng, advanced mfg (designing robots for mfg, think camera lens alignment), operations, quality, reliability and test, supply chain.

If you do pursue an ME degree, I suggest adding a robotics / controls component. This would give you enough software to make the jump in a robotics company. Hands-on projects are nice to have. Internships and projects will land the first job.

As for chatGPT and software, friend manager consensus says that comp science majors will be more important. Bootcamp grads have been devalued and the easy stuff is being automated away, which translates to fewer positions. Good software engineering and industry-specific knowledge will always be valuable. Of the SWE I know, coding is a means to an end to apply their specialized knowledge. Things like handling patient health information, how to use computer vision on radar, how to automate lab equipment, how to do math for precise GPS location, how to interpret light pulses from lidar. Map of Computer Science

Last, I want to talk about quality of life. There are fewer day to day opportunities to solve hard technical challenges when you're an ME. There's more grunt work when it comes to working with physical objects. Work on the CAD, order parts, wait for them to come in, assemble, and iterate is a lot slower than with software. Parts will inevitably come in out of spec, there's a lot of paperwork to get through the 100 parts in your bill of materials. It can take days, weeks and months to get feedback from the test team to see if your assembly broke. That being said, I really enjoyed the phase where we were solving reliability issues even more than creating proof of concepts. I was able to use my detective skills. The 'ah-ha' moments are farther apart but when I do have them it tends to come from using some physics knowledge, lots of spatial reasoning, and logic. They're fun.

It's very satisfying to have a working device at the end of a 9 month to 2 year effort. I've enjoyed working on the products that I've worked on, particularly things that have ended up in people's hands.

I also disagree with folks saying you can't learn mech eng on the job or on your own. Plenty of machinists/technicians have learned CAD and enough beam theory to become mechanical engineers. I know an electrical engineer who did enough hobby stuff on the side that he eventually joined our team as an ME. The basics to material science and heat transfer would be 2 semesters total. Robotics startsups can get by with simple Solidworks enclosures housing their sensors, and can hire a consulting mechanical designer for 12 weeks.

Anyhow, regardless of what path you go, pick some kind of specialized knowledge to pursue during the degree. Was it not possible for you to pursue a Master's degree instead, especially if you've completed undergrad coursework already?
posted by just.good.enough at 9:53 AM on June 15, 2023 [5 favorites]


I went to journalism school, worked for a newspaper chain as a web developer (self-taught) and eventually transitioned into product management.

(IMO former journalists make excellent product managers, which is also good money. Lots of skills translate well here.)

At my current employer, we've been really happy with the people we hired from code bootcamps, so I can +1 folks above who say a 4-year degree in software isn't needed for a lot of jobs. But the conceptual learning you'll do at a university does have value. There's not a wrong choice here. And it sounds like you enjoy being a student and are willing to spend a few years learning before you change jobs.
posted by katieinshoes at 10:14 AM on June 15, 2023 [1 favorite]


If you already have an undergrad degree, i wouldnt get another 4 year one, youd be duplicating all the general requirements youve already done. Or certainly see what you could transfer.

I'd find out if you can do a masters in your desired field with an unrelated bachelors, or what pre-requisites you could do instead of a related bachelors.

Talk to the departments directly.

Maybe thats a bootcamp + masters in cs for example.
posted by TheAdamist at 10:44 AM on June 15, 2023 [2 favorites]


Perhaps ChatGPT and other LLMs are consuming real code-bases to improve the code generation, and maybe there are other AI systems I'm not aware of that are more specialized and work better, but as of now it seems pretty bad. I ran through some basic entry level programming challenges with ChatGPT and It'll generate a plausible looking piece of code, with correct syntax, and even a nice write-up explaining the algorithm used and explaining the implementation. The problem was they were completely wrong, even though real solutions to those specific problems are easily accessible on the web. Who knows what the landscape will look like in a few years and some of those basic issues with accuracy will be addressed, but as others have pointed out, coding is a skill, the real value of a software engineer is how that skill is applied to solve real problems.
posted by TwoWordReview at 10:46 AM on June 15, 2023 [1 favorite]


For another, they're not going to use a free ChatGPT thing for something so important;

This reminds me of a funny anecdote for my programming job. While awaiting a professional services contract for a specific piece of software support to be approved, our dev group had to haunt the forums of this piece of software. Which quite frankly, though people tried to be helpful, the throughput expectations of corporate America do not jibe with the helpful amateurs in an open internet forum. Also paying someone $90 or so an hour to monitor a forum is a bad expenditure of resources. Real people plus dedicated time is worth the cost.
posted by The_Vegetables at 11:09 AM on June 15, 2023 [3 favorites]


My experience is in line with the comments above in that I've known engineers who easily made the switch into software (and with a reputational halo due to that engineering background), but none in the reverse direction.

the job market seems to be mostly factories, the military or extraction industries

Even accepting this premise, which I'm not sure you should - factories can make pointless terrible stuff or they can make extremely important things that make a real difference in the world. Mitigating approaches to a lot of the most pressing problems today, like climate change and pollution and extinction and pandemics and so on, rely on improving existing physical technologies and on creating new ones. I have no idea what the job market looks like where you are, and that's important to consider, but purely in terms of a field that would let me make a contribution to the world I'd personally probably go with engineering.
posted by trig at 11:12 AM on June 15, 2023 [1 favorite]


I wouldn’t underestimate the amount of coding that is going to be involved in mechanical engineering. Writing software is an adjunct to many engineering professions.

I spent thirty years in the software industry and routinely found that the best programmers were people who had trained in other fields. People who train in CS end up with a bunch of theoretical crap in their heads that gets in the way of useful programming.
posted by Tell Me No Lies at 11:21 AM on June 15, 2023 [2 favorites]


Mechanical engineering + programming = robotics

writing + programming = management

writing + mechanical engineering = management

writing + ai + programming = maybe you can help me with some of my cool ideas if we're both solvent in 2 years :)

writing + a past as an outdoor educator + programming = there is a huge opportunity to help OTHER people figure out their place in the world in the tech area. Take notes!
posted by amtho at 12:14 PM on June 15, 2023 [3 favorites]


Response by poster: Never has so much expertise been given to an important question in my life. It's a real privilege, especially for someone in such total ignorance.

That makes sense, mskyle, that mechanical engineering is probably no less vulnerable to AI than software engineering is.

A master's never even occurred to me, just.good.enough -- my first degree is in liberal arts and I studied pre-med, classics and literature. All I've done for the last fifteen years is journalism. I was honestly shocked to be accepted to these two bachelor's programs. I appreciate the suggestion, but I'm kind of intimidated even by the bachelor's.
posted by cthlsgnd at 12:53 PM on June 15, 2023 [1 favorite]


I am not sure where you are physically located. I'm in Portland, Oregon, so I'm referencing Portland State University which is our local school.

You might consider something like this Bridge Program. If you really like math and you like programming (or you think you will), signal processing and machine learning might be of interest. Embedded systems is another alternative.

There's a similar Grad Prep program in the computer science department.

If you are tied to your current geography, then it makes sense to look at your local job market. A friend of mine is a non-traditional BSME graduate from Portland State. He graduated in the pandemic and is very interested in robotics. He's also tied to this geography and had a very difficult time finding employment. He ended up working at Intel which is the largest tech employer in the state (22k total employees in the area). The closer you are to the physical world, the more you're going to be working on site which may or may not be a concern.

Hope this is helpful to you!
posted by elmay at 3:46 PM on June 15, 2023 [1 favorite]


AI is not going to eliminate or even substantially reduce coding jobs. Within a year we'll start to see the first thinkpieces about how and why the promised AI revolution has failed.

Coding + mechanical engineering is a great background for software development in the CAD industry. I work at a 3D CAD company, half of my team have ME degrees, the other half CS. We do have some military customers but that's a minority.
posted by equalpants at 8:48 PM on June 15, 2023 [3 favorites]


OP, given your update, I wonder if you have any programmer or engineer acquaintances you could meet up with, even virtually, to ask them questions about what their day to day work life is like. Or post another question here about that. Your mentioning intimidation in your update makes me think you could benefit from having SWE demystified a bit. You say your passion is writing. You may be able to transfer that to software engineering now without further formal education. I'm thinking of amtho's comment specifically.
posted by ImproviseOrDie at 5:35 AM on June 16, 2023


On the topic of AI programming the best rebuttal I’ve seen is to the effect of: "Machine based software engineering would require the customer to clearly state what their requirements and expectations are. As that has never once happened anywhere, there will always be a need for a human who understands both the customer’s foggy mind and what can realistically be achieved."

AI tools will be a useful addition to the software engineering arsenal but they won’t replace the job anytime soon.
posted by Tell Me No Lies at 8:10 AM on June 16, 2023 [1 favorite]


Response by poster: ImproviseOrDie, thanks so much for taking an interest.

I'm a bit intimidated by ME, because of its reputation, but I actually have a lot of advantages that I think will permit me to get the degree so long as I apply myself.

My impression of software engineering was that, if I did well in the program, which is a co-op, I could eventually (after an appropriate term of putting in my dues) find work that would allow me to live in a small mountain town where I would ski and climb mountains all day and make software in the evenings.

Maybe that's a fantasy, but it seems in my mind to line up with the lifestyle that I understand lots of software people want.

Thank you for the encouragement re: amtho's comment. I'll try to take that to heart. Journalism was a precarious career, and I'm an immigrant, and a serious personal misfortune has put me at a disadvantage in professional settings. Experience may prove me wrong, but I fear that without the testimony of another degree, and a degree of recognized value, I won't be likely to find either stability or the life I'd like to lead.
posted by cthlsgnd at 6:49 AM on June 17, 2023


« Older Does natural peanut butter ever work in cookies?   |   What should be my first superhero comic? Newer »

You are not logged in, either login or create an account to post comments