Ask HN: Has anyone gone from software to physical engineering?
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.
[+] [-] jeffreyrogers|4 years ago|reply
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.
[+] [-] cushychicken|4 years ago|reply
Nothing like a good long tangle with Vivado to make you wish you were working on web stuff again.
[+] [-] weq|4 years ago|reply
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.
[+] [-] maxander|4 years ago|reply
[+] [-] RankingMember|4 years ago|reply
This is a key point - with the level of abstraction in software, iteration is exponentially faster than dealing with stuff in physical space
[+] [-] quasse|4 years ago|reply
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.
[+] [-] kurthr|4 years ago|reply
However, prepare for the fact that you will never make as much money.
[+] [-] idlecool|4 years ago|reply
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.
[+] [-] s5300|4 years ago|reply
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.
[+] [-] idiotsecant|4 years ago|reply
[+] [-] dan_quixote|4 years ago|reply
- 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.
[+] [-] amohajerani|4 years ago|reply
[+] [-] fistynuts|4 years ago|reply
[+] [-] 0_____0|4 years ago|reply
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.
[+] [-] incanus77|4 years ago|reply
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.
[+] [-] mpfundstein|4 years ago|reply
[+] [-] PragmaticPulp|4 years ago|reply
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.
[+] [-] dr_orpheus|4 years ago|reply
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.
[+] [-] tekno45|4 years ago|reply
[+] [-] rayiner|4 years ago|reply
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.
[+] [-] nhatbui|4 years ago|reply
[+] [-] yaseer|4 years ago|reply
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.
[+] [-] svnt|4 years ago|reply
[+] [-] rdtwo|4 years ago|reply
[+] [-] skadamat|4 years ago|reply
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.
[+] [-] bokohut|4 years ago|reply
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.
[+] [-] tekno45|4 years ago|reply
Learning engineering so i can do my own projects. Funding it with software jobs. But its so hard to get space for projects...
[+] [-] carabiner|4 years ago|reply
[+] [-] torginus|4 years ago|reply
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.
[+] [-] PragmaticPulp|4 years ago|reply
[+] [-] paxys|4 years ago|reply
[+] [-] rdtwo|4 years ago|reply
[+] [-] scsilver|4 years ago|reply
[+] [-] BeetleB|4 years ago|reply
http://blog.nawaz.org/posts/2016/Jan/code-monkey-or-cad-monk...
[+] [-] HeyLaughingBoy|4 years ago|reply
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.
[+] [-] aeternum|4 years ago|reply
And do the last debug round with a hand (sometimes both) tied behind your back plus a 'compile cycle' that can take days.
[+] [-] astura|4 years ago|reply
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.
[+] [-] no-dr-onboard|4 years ago|reply
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.
[+] [-] loudthing|4 years ago|reply
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.
[+] [-] _fs|4 years ago|reply
[+] [-] sheepybloke|4 years ago|reply
[+] [-] mpfundstein|4 years ago|reply
[+] [-] neilpanchal|4 years ago|reply
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.
[+] [-] varjag|4 years ago|reply
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.
[+] [-] Invictus0|4 years ago|reply
[+] [-] HeyLaughingBoy|4 years ago|reply
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.
[+] [-] boringg|4 years ago|reply
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?
[+] [-] mooreds|4 years ago|reply
Why?