Whats easier to do: Software engineering or hardware engineering)

Status
Not open for further replies.

psycho_snake

I went to WAGs boutique and all I got was a sniff
I've still been looking at careers and seeing how much they earn. Graphic designing is probably the best job you can get but it pays low unless you're lucky enough to find a really good firm. Software and hardware engineers seem to earn a lot of money but which one is easier and less stressing? As far as I know, sofware engineering causes a lot of backaches and eye strains to do with all the typing, but what else is there in the job? I actually don't know much about hardware engineering apart from designing hardware, which i guess is what you do?
 
You do use that many Kmaps you know.

Obvious answer to the question at hand: They're both tough. Do what you think you'll like the most. There are more jobs in software. So go for hardware.
 
Oh please, K-maps my ass. :D I haven't had to do a K-map by hand in years, except for implementing a boothe encoder for a hardware multiplier I did for VLSI class. Generally though, K-maps have been superceded by coding state machines in either VHDL or Verilog (or even one of those drawing programs where you draw the state-machine and it translates it).

I'm a digital hardware engineer who specializes in small embedded systems. Translated that means I do stuff with microcontrollers and fpga's, though I do have a little VLSI experience and went through all the prerequisite EE analog circuitry courses, and I use all of that occasionally, particularly in a mixed signal system (front end is an analog sampling system followed by a DSP processing system connected in some way to either a host or just a data logger).

People that are JUST software engineers seem to do alot more "in-depth" programming than I do. Fancy structures, long algorithms, etc. Most of the projects I've done involve figuring out how to hook different components together, reading all the datasheets on everything making sure the schematic is sound and I'll have clean power rails going to everything or the transients caused by clock signals aren't going to corrupt my analog data, that kind of thing. While I'm doing all of this, in the back of my head I'm also thinking about how this system is going to boot, a good and simple way for an application programmer to get his program into the system and make it easy for him to use for testing purposes.

Once I've had the system built I think test all of the power and signals and make sure there are no manufacturing defects. By that time I'll have all of the VHDL written (either just for glue-logic or any hardware support I feel the system needs - sometimes a digital filter if it's deemed that doing that in software is too much of a burden, and in these small embedded systems it often is), tested both functionally and with timing verification, and I'll move on to writing any kind of support libraries that will make the application programmers' lives easier. For instance, in some systems there is some off-chip flash memory that I'll write either functions or macros (depending) for so that the programmers can just use them to access it to get any constans or coefficients or whatever they want to store in it (after the boot sector of course).

Basically, what I'm saying is that if you end up as a hardware engineer you'll do some coding anyway, the depth of which depends on the project, but you'll also have a deeper understanding of the hardware system than a software engineer generally does (at least ones that works on general PC architecture, console and game programmers are generally very well versed in the hardware, but the number of software people I've met that do general windows app development that don't know how a basic register works is astounding).

I like being a hardware engineer because you have the satisfaction of building up an entire system and seeing it implemented, whereas when I'm programming for someone else's development kit or just for windows stuff I feel far too abstracted away from stuff and just end up trying to figure out how all of the hardware is tied together anyway.
 
Status
Not open for further replies.
Top Bottom