Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Has anyone gone from software to physical engineering?
107 points by tekno45 on Jan 24, 2022 | hide | past | favorite | 97 comments
Im feeling burned out and getting interested in machining, materials science and engineering outside of code.

Anyone else done this? Thinking of going to school full time to see it through.

FYI:

I do not have any schooling past highschool. I got really lucky and ended up an SRE after working my way off the helpdesk.



I sort of did this. I went from a software job building web applications to working on radio hardware. The parts I worked on were the FPGAs that did the signal processing. I didn't do any of the board layout or PCB design, but I had to read the schematics and understand how to interface with various things on the board. It was interesting, but I found the work frustrating and the iteration time very long. I eventually went back to software and am happy with that choice.

Here are my thoughts:

- The grass is always greener on the other side. Other engineering fields have their own problems, the work is not always exciting, and you will have to learn a lot to be productive.

- Consider pursuing your interests as a hobby. Outside of cutting edge stuff or things like civil or nuclear you can do most things on your own. And the cutting edge stuff no one is going to let you do for a long time because it typically requires a large organization to do and large organizations get large because they have specialists. Plus they are generally risk averse. You could maybe find a startup doing interesting stuff, but they don't have the money to spend on mentoring you/bringing you up to speed.

- You are giving up a lot of money by leaving software. If you want to do things like have a family, own a home, start a business of your own, you should consider sticking it out in software and finding fulfillment outside of work.

Edit: Maybe you just want something to do that isn't behind a screen. Consider getting more involved in things like cooking, hunting/shooting, or working on your car. Those hobbies (and others) all have aspects that require similar skills as the interesting parts of engineering. Maybe you can find find some of what you're looking for there.


It was interesting, but I found the work frustrating and the iteration time very long. I eventually went back to software and am happy with that choice.

Nothing like a good long tangle with Vivado to make you wish you were working on web stuff again.


Vivado is a lesser problem than waiting 2 weeks for another assembled printed circuit board.


Only two weeks? My dude, you have impatient clients with deep pockets.


I have lots of non-tech hobbies including being an amature car mechanic, welder, fisherman, nature lover, hippy. With youtube these days, u can learn timeless skills from the old pro's in your own time within your means and your budget.

I think key to being a dev long term is keeping the curiosity going. Do it in whatever way you want. I must admit, its a pretty cushy way to live a life (WFH senior+ dev). I feel like an artist without the money troubles.


If you want to not be behind a screen, what you’re looking for might not be mechanical engineering at all. The guys/girls on the floor of a shop full of CNC machines and 3d printers aren’t usually engineers as such. Manufacturing/fabrication is obviously a whole different universe than the typical HNer inhabits, and has a very different culture- but it can be very high-skill while usually a having lower formal training requirement. (Perhaps even can be a useful stopover before beginning studies to go back behind the computer screen as a MechE.)


My friend is a mechanical engineer and most of his time is spent in CAD and then writing some documentation.

Definitely similar vibes to being a software dev, aka sitting in front of a monitor


My dad runs a machine shop, most of the work now is all CNC which means you will also be behind a computer screen. Also to get a machinist job, you would most likely need to go to a trade school for 2 years or some other similar program.

If you want to get into hand machining and you have the space, save some money and buy a used bridgeport mill. Those things are tanks and you can do pretty much anything with one.


> I found the work frustrating and the iteration time very long

This is a key point - with the level of abstraction in software, iteration is exponentially faster than dealing with stuff in physical space


This is exactly what I did. After graduate school (focused on the wireless networking space) I was really burned out on software development.

Important context is that my undergraduate degree was in mechanical engineering, even though I ended up moving straight into CS afterwards.

I found a job as a machine design engineer at a company that designs computer controlled milling machines and I've loved it ever since. 90% of my day to day job is mechanical, but I have a plenty of domain specific knowledge to handle the CNC side of things. I've found it's the perfect balance for me.

One word of caution for you about physical engineering: If you are working at a company that sells a physical product (not just working on 100% research and development ala Bell Laboratories) you will spend a lot of your time working on supply chains, handling quality control, helping the purchasing department, answering customer support questions that are escalated to you, etc. I would say that actual textbook mechanical engineering is about 20% of the job.

Addendum: I see that you are interested in the machining side of things as well. If you are looking for mechanical design jobs, this is something you will want to ask about early in the interview process. Some companies never let mechanical designers into the R&D lab to make prototypes and instead have a dedicated staff that only does that. Other companies (like mine) specifically select for engineers with manufacturing skills and encourage you to be able to make your own prototypes.


If you're willing to code firmware, there are also a number of jobs related to prototype building and "design". People need someone to build their CES demos. This is far more likely to get your hands dirty making actual functional systems, without all of the supply chain ODM and contract manufacturing complexity. You'll learn the importance of using good connectors and blinky debug lights. Stanford has a Design Division within the Mechanical Engineering department. Another place to look is medical, if you like rigorous testing and prototyping.

However, prepare for the fact that you will never make as much money.


Yep. I quit my job at Megacorp Inc to do exactly this, and it's been rewarding. I can't tell you how restorative it is to spend time alone in the workshop, solving problems one after another, and making real, functional stuff. I left a lot of wealth behind in the form of RSUs/TC, but no RSUs can buy what I have now.


This sounds like what I’d like to do. Any tips of what to focus on in school/side projects?


Woah. This is exactly what I am doing right now. I recently left my job after 10 very eventful years in software engineering and leadership. I am currently working on a home automation hardware product, which does require PCB design, 3D Printing, and Firmware Development.

I was trying to have it as a hobby for several years as I am very passionate about software development, but my full time job was taking so much of my time that I was never able make much progress. Now that I am working full time on the home automation product, I am moving much faster and I am working towards a pre-launch on Crowd Supply, which is in a couple of weeks. I am depending on my savings right now, and my goal is to make atleast sustainable income in the next 1-2 years and keep working on more home automation products.

Machining does sound fun to me, and I have a few things that I want to machine, but I don't have access to a metal CNC machine or know anyone who does. You can find a lot of software and hardware people in Silicon Valley, but not many CNC folks.


> Some companies never let mechanical designers into the R&D lab to make prototypes and instead have a dedicated staff that only does that.

I want to second this.

I went into MechE specifically to be a MechE that also gets to do hands on portions in machine design. Unfortunately, as a young teenager with this goal in mind, nobody told me this is a very rare thing - especially for fresh out of college positions.

Very small niche, you’ll have to search far and wide to find a decent job as a MechE that also lets you touch the things you’ve applied your MechE to.


Don't do it. There's a reason there's way more EE and ME trying to get into pure software than the other way around. Software jobs are generally better quality of life, (way) better pay, better work location and time flexibility, and way-way-way less cat herding, logistics, and interaction with less technical parts of the business. Engineers are frequently overworked, unappreciated, and desk-bound.


I made the leap from physical to software engineering several years back and the quality-of-life difference is night-and-day. Certainly there are software devs that would find a better fit in the physical engineering world, but I think most will be suprised by the drop in quality-of-life that they've been accustomed to. The poster above mentioned several items (that my experience fully concurs with) and I have a few more:

- Many jobs require travel; often with little to no advance notice. And you sometimes don't get to go home until the job is done. You know how devs joke about how hard it is to accurately plan a project? The same applies here too, but except the cost could be you stuck on the other side of the world, unable to visit family, until you reconcile the gap.

- Even lower upward mobility. There are still manager and project manager tracks most places, but VERY few have technical tracks that match. Oh, and if you choose the manager/project-manager path, expect to do zero technical work AND travel significantly more!

- Lower flexibility in expertise/duties. Most disciplines under "physical engineering" are highly regulated/mature and thus do not change much these days. One not-entirely-contrived example could involve industrial-scale boilers - any engineer working in this world has almost zero room for creativity/innovation, you are entirely bound to 50+ year old industry codes that are insurmountable. And if this is what you do for 10 years, you're going to have a terribly difficult time convincing another company to hire you to design gears or PCBs, etc.


I second this. I did a few years of hardware/mechanical engineering work before switching to AI. I'd never go back to the prior jobs


Software engineering is the most desk bound job in existence.


Perhaps, but your desk can be located anywhere.


...as long as the company allows it.


Yes, good point - I mean 'desk-bound' as in culturally tied to a physical location while working. I say that in contrast to software jobs that don't particularly care where or how you work as long as you deliver results.


My general observation is that the more layers of abstraction between you and actual metal, the better the pay. Production machinist < CAM < Mech Eng < Elec Eng < SW Eng < ML Eng.

This is a pretty gross generalization. I've known someone who ran single-point diamond turning machines, ~directly working with the metal (or whatever). It is highly specialized and my guess is he made probably mid-hundreds of k$/yr.


I have, starting about four years ago after 20 years in pure software. More it was realizing new interests than feeling burned out, but looking back, I felt stagnated by where I was in pure programming.

I got an interest what I'll call "human scale" electronics after getting and learning how to restore a 1985 VW van. That led to getting into the dash electronics, with through-hole LEDs, resistors, and the like, and me remembering playing with these things in childhood electronics kits.

From there, I started getting into microcontroller learning kits from Sparkfun, then something clicked about Raspberry Pi computers when I realized the GPIO pin bank could control lights, sensors, and sound, while building in software in the Linux environment I knew.

Once I started building custom electronics, I got an interest in enclosures for custom builds and then into 3D printing.

From 3D printing, I wanted to learn more about CAD (FreeCAD, OpenSCAD, Fusion 360, Shapr3D), mesh design & 3D modeling in Blender.

Today I'm doing a combination of microcontroller project consulting (where a solid C/C++ background helps tremendously), 3D modeling and prototyping, and working on a personal physical product for which I am writing the whole software stack.

Personally I feel that coming to hardware with a strong software background helps in code/firmware organization, thinking about flexibility, and fast prototyping.


hey, are you me? :-)


Two suggestions for burnout:

1) Always change companies, change industries, and/or change locations multiple times before trying a career change. Unfortunately, if you are the type of person who gets burned out in software then you’re almost certainly going to get burned out in other engineering disciplines unless you learn how to manage your stress and self. Better to learn stress management and burnout prevention before investing in a career change.

2) Always get hands-on experience in an industry before investing in education to switch to it. Spending 2-4 years getting another degree is insanely expensive when you include the cost of lost wages and starting over as a junior. This alone could burn you out even more. You need to be 100% sure that the other career is the correct choice for you before you invest in education.


To address both of these also consider looking for software engineering at a company that is not primarily a software company. Especially if it is a small company, there may be significant opportunity to try something else/get experience with it while still being in a more comfortable career position.

I don't have a super specific suggestion for somewhere to look, but anecdotally I worked for a small aerospace company and for some time was working on software/networking but was also physically turning bolts assembling a spacecraft, building test equipment, etc., some of the time.


I'm more interested in the physical sciences now. I think the degree would mostly be satisfaction. But moving careers sounds like a bad idea so far.


I was an aerospace major who worked mainly in software. It’s two very different worlds. A degree is a must. I wouldn’t say physical engineering is harder than software, but like say medicine the corpus of knowledge required as a baseline is much larger. A lot of the job is analysis, and you just have to know the math, the heuristics, etc.

You’ll also be a much smaller cog in a much larger machine. You can’t single handedly design a bridge the way Torvolds wrote the Linux kernel. That’s ultimately what convinced me to pivot to avionics and then ultimately software as I got through my degree.


(I couldn’t help but look at your profile) And then what motivated your move from software to law?


I also left engineering for law. Money was a factor when I applied, but also I did not like being pigeon holed in my engineering career. I do patent litigation, so I get to see discovery on the whole system as opposed to portions of it for a variety of technologies (i.e., network security, semiconductors, mechanical devices). I only had about 2 years of engineering experience (working in defense industry), but found the career boring and the pay low (~60k starting vs $160k starting in big law (which is now $205k starting)). Granted, I do think if I went to silicon valley when I graduated, I may have found a better position at a start-up environment. After 10 years of patent litigation, I do find it boring, but at least I am paid well comparatively to my SV engineering friends.


I've done the reverse - I would recommend studying engineering, but I would not recommend the job market for physical engineering.

I studied Engineering Science with Computer Science, did some Electronic Engineering before focusing on software.

Studying diverse fields of engineering is intellectually stimulating and creates lots of transferrable skills (Who knew all that math I learned makes learning ML easy?). You will be open to jobs both in physical and software engineering + It's harder to be self-taught in physical engineering.

..Just be aware the job market for physical engineering is orders of magnitude smaller than software engineering. You will have less choice and lower pay. Most of the smart engineers I know with degrees from good schools ended up in software.


Yeah moving from software to hardware is swimming up river financially. Slow down on your day job a bit and set up a workbench at home.


Also the jobs are in places that suck because they are trying to optimize for handouts and depress labor costs and avoid regulations


Biggest challenge here is that you'll be starting over from scratch. First few years of any new job / role is going to be a lot of grunt work. Also, as many people have pointed out, you will likely also be sitting in front a computer screen even in MechEng type of work.

I empathize deeply with the interest in being more physically situated and to use my body for thinking. Personally I'm still waiting for physical computing to happen (a la Dynamicland.org or something similar) so I can have my cake and eat it too!

I've personally settled with balancing software day job work with more physical hobbies and activities outside of work. Cooking, gardening, walking, etc. I like Cal's Deep Life framework here the best: https://www.calnewport.com/blog/2020/04/20/cultivating-a-dee...

Another option to consider is to assess / reflect on the hard-won skills you have in software and see if you can't find a way to do it part-time / consulting instead. Maybe you need to move to a cheaper location to make this happen, not sure! But being able to charge $75 - 200 an hour and live in a cheap place means you could end up working only 15-20 hours a week. This way, you retain your skills but can fill the rest of your time with more physical hobbies.


Fortuitous timing for this ask and while I will presume you imply 'career change' my response is not to that degree yet here is my 2¢ for those that may find value.

I have undertaken extensive learning in electrical and mechanical engineering in recent months but from an applied perspective as I am dogfooding my own ideas after calculating that my recently installed PV system will be producing far more energy than I have chemical battery storage capacity. While my degree is in software engineering my current personal energy solution design correlates nicely to the global energy storage demand that is rapidly growing. As the sole creator and architect of the technology around my past founded entities, and in conjunction with my diverse exposure to physical and logical build outs; residential, commercial and industrial, I am heavily consuming and learning information as it relates to electrical and mechanical engineering in solving my own energy abundance issue. The technology side of my problem is "easy" having built several enterprise platforms but in learning anything new mistakes will always be made, that's the fun part! The speed at which I am able to learn and apply these concepts never would have been possible without the internet, we live in truly surreal times.

Point being that if one is motivated enough one can do anything you put your mind to no matter what anyone else tells you. I have been mocked and laughed at for my ideas and once you get past what other people think the world is your oyster, maybe it has a pearl in it or maybe not.


This is the path i see for myself.

Learning engineering so i can do my own projects. Funding it with software jobs. But its so hard to get space for projects...


"space for projects..." meaning time to pursue?

As the other OCD's among us can chime in as well, all those "note app" creators here, you can only improve what you can measure so where do you 'waste' your time? Every single person alive is yielded the same 24 hours in a day but one does not need to look far at all to realize the massive time sucks that steals your time hourly, daily, weekly, yearly. I am married with kids and our residence of almost 20 years has never had a television and never will as television in a mental cancer that does nothing but steal one's time and worse it fills your neurons with irrelevant events that have little to no productive meaning for one's own life. Sure one can feel included and talk about "last night's great play" or "How funny XYZ was - did you watch it?" but I guess I'm just a boring nerd as I never have those discussions given that I chose long ago to not waste my time on others entertainment ideas as I have my own ideas to create. One is either a producer or a consumer so where do you 'waste' your time? Is now the time to get organized?

Full disclosure: I do have hobbies that 'waste' my time however I also greatly benefit from said hobbies which get me out exercising and also enriches my interests; metal detecting and relic hunting. Just as it is exciting to accomplish something new in code, so to is the feeling of picking up a relic that was last handled by a human one thousand of years ago.

Stay Healthy! because that is that very last thing you will own that matters, now only if we had more time!


No i mean literal space...

I want to build my own PV array and storage as well..


I was a mechanical engineer before this. Keep in mind that mech engineering that requires a 4-year degree is different from being on the fabrication side that does machining/building. The latter is the hands-on, blue collar work where you're on your feet all day. The engineering is a desk job 90% of the time. Sell your back vs. sell your brain.


I'm suprised that ME-s don't do hands on work, especially nowadays that CNC routers, 3D printers, laser cutters are widely available.

When I did some EE work, designing embedded boards, and writing code for them (more latter than the former), I usually worked with real HW, and often when I had to physically debug PCBs with a scope, and fix the issues with an exacto knife and botch wires, and the odd through-hole component dangling in the air.


CNC has been around for half a century. It's not remotely new, and its application has always been on the final productionalization of parts intended for assembly.

I think what it boils down to is that ME is quantified and constrained. If you have drawings for everything else, then you make a new drawing based on those old drawings. We use CAD to determine if something will fit or work; a plastic piece of junk shaped like the part won't tell us anything we didn't know. Likewise, to test the part we need to build it out of the final material, whereas 3d printing for the most part doesn't produce anything strong enough. It's still mostly a Makerspace toy used for plastic widgets.

ME is much less artistic/creative than people think. What I find that most people have in mind with "hands-on building" is more akin to craftsman, carpenter, welder, or mechanic, rather than any engineer. Mechanics is a branch of physics. You apply that to parts to build a machine that works. Everything is calculated, from bolt spacing to sheet metal thickness, balancing tradeoffs like weight/cost/strength and so on. Then you write a 50 page report with tables, graphs, all of your analysis. It should be airtight, or people could die.


Yep. Machining is fun, but it doesn’t pay.


It's fun until you have to rework the same part for the 20th time that day and your back is aching after driving into work at 6 am.


CNC machining would save your back a lot of pain right?

I just watch youtube videos about it so idk how bad it gets. Manual machining seems cool as a hobby but CNC is what im interested in.


It would. Our CNC guys (mostly wire EDM) were technicians though who loaded programs and monitored the machines. They didn't write the code or translate the CAD into instructions or design anything; that's what the desk engineers did. I don't think you'll find the end-to-end tinkering experience of code + handson in any established manufacturing environment. It's too risky, each side requires specialized skills. You might find it at a startup though.


Someone needs to haul big hunks of steel into the machine, clamo them down tight (and straight), and haul the part out when it's done.

Also install tooling, swear when a tap or drill inevitably breaks and gets stuck in a very expensive part, etc.


CNCs are a huge pain the the ass. Babysitting them is basically a full-time job.


Tool & die does ok still doesn't it?


First thoroughly research what you want out of "physical engineering". It may sound great in your head, but chances are you will end up in a cubicle in front of a computer all day doing CAD, modeling, simulations and even writing basic code. That describes 99% of jobs in areas you have mentioned.


They will find out you know how to write code and make you write code for half your current pay.


For less money and flexibility than software;


This is why im hesitating.

People way smarter and doing way more complicated things making HALF as much as i do now....


They aren't way smarter, they are about as smart as you, you just were lucky enough to pick a more flexible, marketable, and evolving skill set. They probably are a bit more diligent than you though, but that can get you trapped in a local maximum.


I swapped computational fluid dynamics for basic python scripts and web apps and 3x’d salary. Job markets are weird.


Sounds like perhaps you can use your software career to fund your machining hobby.



What is making you feel burned out and what do you expect to get from switching?

I started out as an EE doing mostly hardware work, continued to do more HW/SW integration and now do essentially 100% software work but with the ability to read and interpret schematics, datasheets, figure out HW/SW integration bugs etc. I have done a ton of physical system integration: i.e., getting my software to make things move, move properly, and work around mechanical or electrical bugs. Yes, there are also bugs in mechanical and electronic systems, and it's usually cheaper to "just fix it in software!"

You may just be switching one kind of burnout for another...

One of the most telling remarks I remember was from a friend who had done mainly software and was now coding for the electromechanical system that I worked on: "I'd really just rather work with the Simulator because when I put my code on hardware then I have to deal with a whole other set of problems that have nothing to do with software."

He eventually got past that but that's why I think you need to be really clear about what you want to get out of doing this.


+1, physical engineering typically requires design once then debug twice.

And do the last debug round with a hand (sometimes both) tied behind your back plus a 'compile cycle' that can take days.


Beware - I know around a dozen people who have done the opposite - moved from mechanical/biomechanical/electrical/nuclear/chemical engineering to software. I don't know anyone whose done the opposite, I don't think it's very common.

For what I hear from these people, they unanimously say that there's many more (quantity) and better (quality) jobs in software compared to their original field. This is probably a biased sample, so take it with a grain of salt.

I think you need to investigate what exactly is causing the burnout issues. It could be a whole new career isn't the thing that will fix it. I don't know you, so I can't make a judgement either way - just be very careful before spending thousands of dollars and years of your working life on school. Doing so could make your problems worse.

A while ago a family member was suffering from extreme burnout at his job. That person's mother (a very naive person) strongly encouraged him to leave the field he works in entirely, whereas I could see the problem was entirely personal and changing careers wouldn't help and would likely hurt him. I encouraged him to work on some personal issues before making such a decision, he did, and almost an entire decade later he is in the same field and doing much better.


Thought about this a handful of times in the past couple of years. My family is composed of mostly materials engineers, fab engineers and mechanical engineers. I'm one of the few who _chose_ to work on computers from the start.

In the end, these people get funneled into cubicles to do CAD/CAM work and spend their day fussing over customer foibles.

The pay is basically half of what I do and each promotion is more of a life event than anything. I've earned more per year in 5y in cybersecurity than my brother has in 18y as a fab engineer.

He loves his work though. Certainly has more days where he's pulling out his hair because he has to work alongside blue-collar, disinterested young adults though.


I'm going to get downvoted to hell for this, but "software engineering" is not necessarily, and historically hasn't been, engineering, or "physical engineering" as you called it.

Also historically it was possible to get an engineering job without an engineering degree or similar, but that really isn't the case anymore.

So you may be SOL unless you want to go back to school for four years. That said, there are plenty of similar positions that don't need degrees, such as mechanical/electrical/civil designer or technician, but you more than likely need a certificate of some sort.

Don't give up!

Edit: Another commentor brought up industrial automation engineering, which doesn't necessarily need a degree. I've known many industrial automation engineers who were self taught. The pay is great and you can basically do it anywhere. PLC's are one of the most common and important things that most people have no idea even exist.


Would you consider a more hybrid approach? Embedded development gives you a bit of both worlds. Mostly in C/C++, but you write code that interacts with and directly controls hardware.


This! I joined a startup doing embedded work for robotics and it's a lot of fun. I love seeing things move because of the code I've written, and it really stretches your mind because you have to work in software, mechanics, EE, and CE. You end up learning a ton because of all the different challenges you have to work through.


yeah well. most firmware engineers I know still mostly do coding. in bigger firms, electrical engineers usually do hw and then throw that stuff over the wall


I did it both ways. I was working in semiconductor industry as a Mech Eng for 8 years, slowly drifted towards software in my own time and at work. Switched to Software engineering officially at a quantum computing startup, built Fab software, managed databases, worked on wafer layout tools, wrote APIs, front end apps, metrology interfaces. I switched back to Hardware engineering (with some FPGA dev) in the space industry 6 months ago.

Overall, I was impressed by how modern software is built, engineering that goes into it and satisfaction from immediate gratification. I had amazing mentors. Since I am back to Hardware, things appear a lot slower, but having a software background is huge. I have working knowledge of the entire stack from load balancers to interface arbitrators at the FPGA level. I can design PCBs to database schemas. I honestly feel like I can build anything and everything.


I've gradually (over ~25 years) drifted from being a SW generalist into embedded software and then expanding into mechanical design and electronics. It helps that I had EE in my Uni curriculum, and that I've been running a metalworking lathe as a hobby for a few years.

At this point am the head of development at my company working on pretty wild projects like this:

https://norphonic.com/products/evacsound/

…or seemingly simple but painstakingly elaborate designs like this:

https://www.youtube.com/watch?v=RRXfV7x-dlo

Most of the meat in ME/EE is put on the bones by my talented colleagues, while I do outline approaches to implement and sign off the designs and still lean heavily on SW side.


I went from ME to CS. It's clear you don't have a clear focus, so I would suggest you think about that a bit more. Whereas software folks think about managing abstractions, engineers think about forces, parts, and tolerances, and whereas software is nice and clean and abstract, in "physical engineering", careful attention needs to be paid to a million "edge" factors: stress, wear, thermal expansion, tolerancing, costing, manufacturing, ESD, chemical durability (corrosion), material selection, and tradeoffs arising from all the above as well as the business managers. The level of expertise required to be "good" is very very deep and compensation is generally much poorer than in SWE.


> The level of expertise required to be "good" is very very deep

This is so true. I was working with an older ME who was nearing retirement. My code was controlling a subsystem he designed and he was going over it with me to figure out how to get the best performance. It was when he showed me that a minor change to the angle of a bracket had a huge impact on reliability that I realized that as much as I enjoyed mechanical design, I was just a dabbler. This guy was demonstrating decades of expertise and would think of things that never occurred to me.

I was half his age and was probably already making more than he was.


As an engineer who got into software I would advise against this unless you were really motivated by learning new things.

However, from your statement, I would ask the following question: What is it you are looking for? It sounds like the underlying project goals might not be interesting enough and if you found something more meaningful/impactful it might be more stimulating?

I constantly think about different careers and grass is greener kind of thought process and come back to first principles. What is it I want out of life?


> As an engineer who got into software I would advise against this unless you were really motivated by learning new things.

Why?


Its a very big level of effort to get an engineering degree and pass your professional engineering exam. Assuming you are in North America its about a 4 year process. As such there are large opportunity costs and I don't know many engineering programs that are evenings and weekends though I am sure they exist...


Yeah but if they’re motivated by learning new things better to learn new things while staying highly profitable, else they’ll just burn out again in the new field. The problem is the job structure.


Agree it sounds like the job structure isn't supportive hence causing burnout. I will say though that after working in software the desire to work in the physical world to make physical things can be a real lure. So I understand the core question of switching to physical engineering work. It also provides a lot of understanding of how the physical world works which computer engineering doesn't provide.


I am actually going the other way! Getting tired of my job being tied to a geography(can’t debug bad heater Circuits from Home), always getting 20% less for similar effort and my fate is not in my control( at the mercy of suppliers,external contractors) and so forth. And after 15 years of being a EE(pcb designer) I am leetcoding in my free time and learning software engineering principles( clean code, design patterns ). If anyone here is in the same boat and want a shoulder to cry on, my email is in my profile.


I'm about 4 years in to a HW design career in the Midwest. While I generally like the work, I can't help but feel like I'm making a mistake by not moving in to software (which I also enjoy). I like where I work as well, but the pay is just OK comparatively.


In the past the thing that prevented me to make that move was; https://thedecisionlab.com/biases/the-sunk-cost-fallacy/ But I am way beyond that point. I have a goal post for when I would retire and a software role at FAANG is that shortest path. Man within FAANG there is a disparity in what a SW engineer makes Vs what a ME/EE makes. As @naval says frequently “code is leverage”.


I did it the other way around. I didn't finish highschool. I went to work with my father and learned how to build custom cars after 9th grade but I already had an above highschool level education by then so when I quit so I was ready to move on. I had to move on to keep learning. And I learned a lot.

If you really want to learn engineering you need to learn trade skills. Go buy an old beater car and restore and customize it. You'll learn at a pace you can set and you can acquire the tools you need and learn how to use them as the project moves along. When it's done you'll have something pretty cool.

There are a lot of very good YouTube channels and videos that can help you along the way. One of my favorites is a channel called "RÜNGE CARS". This guy builds cars from the ground up like I learned how to do it from my father and the guys he worked with. He just finished a car he'd been working on for 5 years and it is awesome.

I don't build custom cars anymore, and I drive old beaters. But I do fix cars for family and friends and keep my old beater running. I've worked on four this month already, mine, my wife's, and two of our daughters. Just little stuff. Master cylinder, a shock absorber, an alternator, and tune up on my wife's car.

You learn how to restore an old car and you can pretty much jump in on most anything and get up to speed fast.


I moved from software development (focusing on data binding through specification interpretation and code generation) to systems engineering for an industrial precision equipment manufacturer and then back into programming and project management.

I knew nothing about hardware engineering at all when I started: I was hired for my programming skills as, essentially, an SDET who was expected to pick up the hardware stuff on the job. It was a rough transition at times, but it was extremely worthwhile. It made me a far more critical thinker and exposed me to a world far beyond what a typical programmer would have had: I tinkered with robots, learned a little about experimental design, relearned some statistics I had forgotten, spent time in data wrangling and visualization, and worked with some incredibly brilliant people in the process.

If you are any good at architecting software systems (I am not), a baptism-by-fire is probably sufficient to acquaint you with systems engineering—although nothing will replace experience. I don't know that you'd need to go to school for it as long as you're prepared to ask stupid questions. My step-up manager told me that systems engineers are generally made rather than educated, and there's probably a bit of truth to that.


Nobody knows how burnt out you are, or how much you're making, so it's a toss up whether you'd really be stepping off the software gravy train or not. Also I don't know the SW business well enough to know if a SRE is a full blown programmer.

I'm a physical scientist, was working in a HW role, and moved to an R&D group where I make extensive use of my programming skills. So I've gone the opposite way. While I do a lot of work in the lab and the factory, if I got hit by a bus, my replacement would need to be a good programmer. I think I'm compensated accordingly.

What I've observed is that anybody who's good enough at programming to do it for money, will eventually be doing so. An option might be for you to up your programming game by getting some more formal training, which your employer might even pay for. This would give you more options in the SW business.

You can expose yourself to the hardware world through a hobby, but it can't turn you into an engineer. Also, the "hard" engineering disciplines require you to get through the full math sequence. Since you're out of school, you'll probably want to brush up on your high school math. Taking the SAT or ACT would be a good way to find out where you stand.


Worked in software primarily for business knowledge management & workflow, built some of the earliest SASS platforms, but after I was done with one of the ventures, and tired of fighting the house of cards of squishy software underneath the whole thing, sought something new. I wound up starting a carbon fiber / composites design & fabrication ship. While not a degreed engineer, I do a lot of the same work and now often advise engineers on the issues. I'm generally OK with not having gotten a new degree in the field, as to some extent it would provide an easy 'out' in the hard times to bail to a regular job, and if I want to figure anything out, the information is readily available. As it is, although I keep track of software and AI developments, I'm consistently finding much more joy in this work than in software. I also find it good that at least a good portion of the work is standing and work with my hands, not just sitting in a chair.

In short, I'd highly recommend finding something that intrinsically interests you, whether materials or particular products, and finding a path to immerse yourself in it. No idea where you are, but ping me if you're interested.


Good luck in your endeavors.

Tangential : the more I study early era scientist, the more it baffles me how some of the greatest discoveries in mankind were made by people who had the luxury of not equating an intellectual pursuit with a breadwinner.

Thinks pre-revolutionnary french aristocrats.

Burn out with chemistry ? Let's just switch to revolutionize physics, and then we'll have a party.

Can't wait for some society to find some modern way of that.

We need a way to enable polymath again.


For civil engineering, I believe the expectation is that you can be licensed as an engineer after attending undergrad. Grad school for civil engineering assumes you’ve already done the undergrad portion. Just fyi.


You could try industry automation (programming PLCs and drives) if you like to have moving parts and software. It is a pretty interesting field with many options (but still a lot of computer).


This is a very good answer. You also don't necessarily need a degree for it.


True, you don't need a degree, but you need to know enough to get 4 or 5 half degrees - networking/infrastucture/software/instrument engineer/electrical engineer/process engineer/chemial engineer/mechanical engineer and random other stuff.

These days also Functional Safety and maybe equipment for explosive atmospheres also in play, plus any specific industry or project nuances, eg fired equipment.

Look away for a few years and you are out of date and need to really put some effort in to catch up, eg networking and OPC, MQTT etc are really making inroads last few years, some PLC's come with built in OPC servers now.

Reason to know such a wide range is many times it is the control system engineer who rolls up at the end, and all the bits and pieces forgotten or not thought of become his/her problems.

Very common one on process plant is they designed it for steady state operation at full load, but never really thought about how you start it up, or how much turn down you have got to run at half or quarter rates.

Often for industrial plant of decent size they haven't really made anything quite like it before, so it always has things to iron out.

Been doing it 30+ years now, I live in heavily resources based city where this kind of engineering pays more than any straight software job every day of the week.

Footnote: The difference from IT software to real time very reliable software might look like it's trivial, but it is a whole different game. The number of times I have seen real time systems projects assigned to the IT department and fail, is every time.


I haven't made the jump yet, but my current job is as a systems engineer working on pure software systems. Most other systems engineering jobs in this field are hardware-focused and require an EE degree so I am strongly considering going down that path for a master's. It would likely open up a lot of opportunities at least in this field.

(though I will admit the comments in this thread are making me want to, at least, check the salary before I commit to anything!)


There's also a middle ground. I studied ME but do a lot of SW development for controls systems (motors, sensors, etc.) and machine vision systems. You can acquire some knowledge of EE and ME coming from the SW side without getting a full-blown degree. I also like to spend time in our in-house machine shop, it really helps becoming a better designer if you have to fab your own stuff.


I'd like to do some hardware stuff as a hobby. Interacting with the real world is starting to sound a lot more fun than interacting with APIs.

The problem is that I'm not sure where to start. Software was easy -- I'd make some toy games, or write a script to automate something. Hardware is less obvious -- there's nothing physical that's immediately fun or automatable in my life.


I did, I went from video games to software + physical engineering of theme park rides but with the pandemic, back to video games... I'd recommend schooling but like anything, you can probably do a lot without the degree as long as Professional Engineers are around to sign off on things.


I haven't done it, if you have a degree in computer science and find yourself having to go into undergrad, check with the schools whether they might give you credit for basic things you have already taken (algebra, other basic math) so you can get a head start.


I'm trying to delve into engineering or building actual buildings. I'm learning about general contracting right now and I'm finding there's a lot of knowledge about concrete and soils before you even get to the fun parts haha.


I’ve started doing stuff like this as a hobby, in the garage. It energizes me and I end up taking that energy back into my SWE job. But I’m sure if it was my full time job then it would get the life sucked out of it.


Have you thought about doing something in robotics or control systems, or something similar. There are plenty of programming areas thats deal with electro-mechanical things that are more tangible.


Wow, if there ever was a thread for me!

I have done it both ways! I left a great career in computer graphics to go through a long journey through the aerospace and energy sectors, and now I am on a return trip to CG.

During this process, I -Built my own machine shop -Worked at <Cutting edge aerospace company> -Built up an entire material science research lab -Learned how to manage an amazing team -Got really into machining, manufacturing and facilities

Whoever said that most of your time as a mechanical engineer is spent buying stuff and sorting through boxes/messing with supply chain/inspection is right. Your tolerance for cardboard boxes must be very high to do physical engineering.

Machining is really fun and soothing at times, but once you have learned it enough, you realize that Xometry and Protolabs and Front Panel Express and SendCutSend are just... better than you. One thing I learned is that machining was a fun hobby, but it is not fun to have it as a part of another hobby. It is always cheaper and quicker to outsource that labor. I want to make a telescope eyepiece tray, and I know I can design it and find a makerspace with a laser cutter and make it myself, but I am probably just going to order it from FPE so it will show up to my door, done, without any painting etc. I almost bought a mini lathe again (I sold off my first machine shop), but I realized that the thing I was thinking of making with it (tiny model biprop rocket engines) were hard to make and if I did pick up that hobby, I would rather just pay my buddy to make it on his superlathe and spend that time on designing the stuff he would make.

Another huge part of physical engineering is relationship management. You need to have someone to do everything. You need a good relationship with your sputter coater, with your weld shop, with your general contractor.

There is not actually that much senior level design engineering work to be done. Usually design work is done by about 10% of the org, and the rest of the org does support activities for that. There is nothing wrong with that, and there is plenty of interesting work in the support activities (I made a career of doing those activities)

I did all this with no formal education in the sector. I spent a lot of time in machine shops, reading books, going to rocket launches, networking. John Carmack was my principal inspiration (I met him at a tiny rocket conference once)

As far as comp is concerned, it is decent but not MANG like. I got lucky at <Aerospace place> and got in early enough that my TC was actually pretty solid due to relatively large share grant. I did have 5 room mates when I worked there because the cash level was low. My first aerospace job was paying me the same salary as an In N Out employee makes now. (They were taking a chance on me, so no hard feelings at all, it was a privilege to make that sacrifice!). You can make a living as a physical engineer, but you might not make a killing.

So, if you are committed to a huge downlevel for 5 years, you can have some fun adventures!

PS: Knowing how to write python is a superpower in these fields, I would guess than less than 10% of mechEs at the senior level know how to code. I imagine new grads know how to code now. I always was able to sneak a quick victory in various projects because I could write some hack code that did something tedious quickly.

PPS: Respect. Your. Technicians. Respect them. Treat them as partners. Do right by them. Value their feedback. Do their work from time to time. Pay attention when they speak, and act on what they say. Same goes for your machinists, material handlers, buyers, etc.


I've been looking at doing this to go into EE Digital. I'm hoping to end up in embedded development.


Why not do both?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: