5 ms·
I guess this is why I lost interest in software that does not have a physical aspect rougly 5 years into my career doing random web development and being the te
by fest 4y ago
I guess this is why I lost interest in software that does not have a physical aspect rougly 5 years into my career doing random web development and being the tech cofounder at a shitty startup (though, successful enough to bootatrap me out of parents' nest): it just felt .. disconnected from the greater world.
There is something magical in watching the software you wrote sling full size wood logs around (industrial automation), control and maintain a positive pressure in painting chamber, take off and fly away somewhere.
And even the greater cost of failures/mistakes or the insane hours to debug a single bit set incorrect somewhere deep in SoCs RAM controller is not enough to offset it- you learn so much about the way world works (or doesn't- but that's something to learn as well).
An off-by one error crashing and snapping conveyor belts, too large a P coefficient in pressure controller bending the doors, missing the requirement of closing the shutters for an outdoor heat exchanger leading to freezing and bursting it- though frustrating at the time leads to much better memories than debugging a PHP file deployed on a VPS with logging disabled.
- resonious 4y agoI've been fantasizing about making a similar career switch for quite some time. I actually had the opportunity to do so 3.5 years ago, but decided to go for a more "boring" offer in an interesting city in another country. That decision has been fantastic for my social life, but professionally not very fulfilling.
- scottwick 4y agoI feel the same way. I've been doing web-related stuff for about 13 years now and have lost much of my interest. Started dabbling with electronics and embedded systems about 5 years ago and it completely re-piqued my interest in writing software. I'm still doing backendy web things for money but would love to move away from that. Any recommendations for moving into the embedded field professionally? What sort of companies are you working for?
- fest 4y agoWell, I don't think there is an easy way- I just walked away from the startup and lived on ramen for a couple of years, doing odd-ball contracts just to afford rent. During that time I learned a lot, essentially by telling prospective customers: "I do not have direct experience in this, but I have a pretty good idea on the involved steps. I am willing to do this as learning experience at a reduced rate". Many did agree, some projects turned out better than others- but eventually I did acquire enough experience to pass interviews at "real" companies. Past two companies hired me specifically for UAV projects, so my professional experience has been in this field- however, it is so wide, that you can easily branch out: * design one-off test hardware for various bench/field tests where an off the shelf solution doesn't fit (custom thrust stand, spring constant measurement jig to determine properties of vibration isolation solutions, simple blackbody for QA to determine if the LWIR payload meets specifications) * like physics/control systems? Lot of work on tuning PID controllers, implementing simulators for pure SWEs to not crash your expensive prototypes * hmm, it looks like we have excessive vibrations on the frame- whip up a small battery powered, WiFi enabled high-frequency accelerometer logger to dig deeper into it.
- pedrosorio 4y agoHow does one get contracting opportunities to deliver projects before being able to pass interviews to get a full time job? Where would on find these opportunities today? I always assumed it was the other way around (experienced full time engineer becomes a specialized contractor).
- fest 4y agoAs much as I hate the word: networking and saying yes when you're in the right time and right place. You probably won't convince a professional widget manufacturer that you're __the__ person for their embedded needs. But a smaller company, that's dipping their toes into branching out from their core business who need to prototype their idea? A lot easier.
- mkoubaa 4y agoAlternatively you can build software tools for electrical engineers and the like. It's usually desktop applications but backendy web dev skills do translate
- mafuyu 4y agoIronically, I've been feeling the opposite lately- my day job is embedded, and I was reminiscing about my childhood days when I was learning to code with Scheme and Processing. There's something beautiful about a single laptop being a fully enclosed ecosystem to just play around with pure code, and I basically haven't coded for fun in my free time in a few years. I was even considering trying to learn some webdev to make my own personal site. :P I still love embedded, and I think it's great for all the reasons mentioned in the thread. As for your question, firmware is quite broad, and there are lots of different routes people take to break into it as a career. At its core, it's a lot of writing systems code, or feature code that runs on constrained systems. Something like CS undergrad systems programming + OS or equivalent should be enough. After that, I would make sure you have decent breadth: knowing how to read datasheets, bringing up parts, writing a linker script, using peripherals, grokking some standard protocols like I2C/SPI/SDIO, basic circuits knowledge, basic comparch knowledge, etc. The nice part of all this stuff is that you can totally get there with just hobby projects and Adafruit boards. If you find yourself using the batteries included in the Arduino or Adafruit libraries, maybe push yourself to write more of it from scratch. eg. write an SDIO driver to read from an SD card and parse a FAT filesystem. People with solid software engineering backgrounds are pretty valuable in embedded, so I'd emphasize that as well. Knowing that git exists, unit tests, API design, CI tooling, etc. If you're a Linux kernel hacker, embedded linux is also kind of its own separate world, so that might be a good direction if you have experience there.
- lelanthran 4y agoI moved out of embedded. It pays very little, there's very few opportunities to move around, you need to have relatively good practical electrical/electronic skills and the technical skills you do get don't contribute at all if you're trying to bootstrap side-projects.
- m-ee 4y agoCongrats on moving out. I'd say the need for electrical skills depends a lot on what you're doing and the state of your company. $BIGTECH with large EE team or embedded linux? Probably ok if you can read a schematic and nothing else. Microcontroller firmware at a small/medium company? Better bring it then. Hardware issues can show up in strange ways. I had some firmware hardfaults that seemed to be stack corruption, root cause was a completely screwed up analog circuit.
- fest 4y agoYes, that probably depends on the relative availabilty/demand in your location. I personally __probably__ would have earned a bit more overall if I had done web stuff, but at least in Eastern Europe, experienced embedded people can get similar comp than they would at web/mobile/enterprise jobs.
- m-ee 4y agoThink hard about it, personally I think everything has a shelf life. You might be more engaged for 5 years or so then back at square one within a less profitable industry. I went straight to embedded after grad school. I enjoy it well enough, more than I think I'd enjoy pure software/web stuff. But at the end of the day it's a job not a passion. If I won the lottery I think I'd be perfectly happy never touching it again. I wonder if I should have gone the software route and taken a job I might even actively dislike for 1.5-2x the the money and remote work which would put more time and money into the rest of my life. If you still want to go down that path look into embedded Linux for IOT type applications. My product has both microcontroller firmware and a Linux SBC. Hiring for the Linux side is difficult, currently we farm it out to a good but not great team overseas. If you have solid Linux skills, a good handle on build systems, and the ability to bring up modern software best practices in testing and deployment from scratch (most embedded shops are way behind the curve here) you'll be seen as a rockstar. Can probably command a higher salary than the average firmware dev since you're "software" but still a hit compared to FAANG/Unicorn web programming.
- phkahler 4y agoAgreed. Controlling real-world stuff is cool. I'm also into CAD because you can design real things. Maybe this is why I lost interest in video games. They have zero relevance off screen.
- unity1001 4y ago> a shitty startup (though, successful enough to bootatrap me out of parents' nest) That's a successful startup.
- ericmcer 4y agoI felt the same way until I had an epiphany recently, not a smart new idea kind of epiphany, but one where the obvious came back into clarity. Years in industry had conditioned me to seek validation from my peers in the form of completing projects quickly, positive code reviews and just generally being thought of as a "smart" programmer. That isn't really my job though, my job is to create something. If I don't suck I will understand the essence of what I am creating, whether it should be pretty, easy to use, flexible, fast, or whatever and make sure it embodies all those qualities. I know it is a really obvious thing but realizing it brought back a bit of my passion. We as engineers are so often called upon to assess feasibility and make estimations around projects, but it is really important to take a second and forget about coding entirely and picture why a user would be impressed with what you made, and then making sure you deliver that.