▲ | bruce511 8 days ago | |
Having done work in hardware and software, I'm somewhat in agreement, but I'll also counterpoint. Building software is a fast development cycle. Find bug, fix bug, compile, release, improve. Things can be done in hours or days. Building hardware is a slow development cycle. If I think of a new feature it might take a month just to get a prototype board designed, made, populated etc. The results are cool, but the feedback cycle is slow. For my personality, I prefer software. I can have an idea, play with it, realize it's rubbish, and discard it - all before lunch. But people are different. So someone else might prefer the hardware cycle. Ultimately my advice to the original question is that "it likely doesn't matter" and "you cant predict the future". Both paths lead somewhere, but you can't really "know" up front. So choose the one that gets you out of bed faster. The one that excites you more. And in a couple years you'll be better placed to make the next decision. | ||
▲ | Aromasin 8 days ago | parent [-] | |
I can back this up. I work as an FPGA engineer, which is very much an amalgam of software, "firmware" (RTL), and hardware. If I find a software bug or want to spin up something quickly on the HPS (on chip CPU) it might take me a few days - the reward cycle is really quick. Hardware issues on the other hand might take months if not a year+ to fix depending on complexity, meaning the design cycle is long. It might involve multiple board respins because something has been incorrectly connected, whole redesigns because there was a baked in bug on the chip that we need to workaround, or there's some really ethereal signal integrity issue that can come up when working with high speed interfaces that nobody can work out why its failling 1/4000 times. It's fulfilling, but really is a slog at times for a smaller reward financially for something that cost so much more (12 hour day crunch times I've found are way more common in hardware). |