General > General Technical Chat

Hardware vs software

(1/3) > >>

Hi guys and gals. I'd like to open some discussion about hardware vs software career. I've been looking for the best audience for this kind of topic, but most of the software people on the net are not really interested in hardware and the hardware folks on the other hand are harder to find. EEVblog and this forum is a blessing.

About myself: I have a B.Sc in computer electronics, consisting of topics like: Analog and digital electronics, PCB design, microprocessors and signal processors, embedded systems, EMC, FPGAs, signal processing, C and C++  programming, and so on... Quite a few topics to scratch the surface of. Mostly hardware related, but also few software courses.

Now in the working life I have drifted into a software engineer position. I work with microcontrollers with and without OS and some larger systems with embedded Linux. I don't mind doing software as long as there's hardware involved, but the hardware I guess is what I'm really interested in. Unfortunately the hardware I usually work with is very basic and there's nothing fancy about it. Is it unrealistic to want to work with interesting hardware and applications?

On the other hand, working on the software gives me probably more power over the quality and how the product ends up, than if only designing the hardware. In the recent years I have learned a lot about software, but I still suck at it. I now realise it's really hard or even impossible in some circumstances to write quality software.

I'm thinking I should try to steer my career back towards hardware related things before it's too late. I'm sure there are people working in both, hardware and software, but is it really possible to master both? There's also many other things I'd like to learn, like FPGAs and PCB design, but I'm afraid that if I don't focus on some single thing I won't specialise in anything ever.

What are your thoughts about hardware vs software?

My only advice could be , to stop acting like one man show.
And I speak in positive spirit.

My own dream was to find one good team , and to specialize in one part of the all project,
and share the success or the failures with them.

Thats the ideal condition to do something great.

The hard part ,are to find the proper team of people to work with.

I have read the half library of INTEL , about north bridges , and memory controllers ,
and it did not help me to become wiser ..     :)     

You need all sorts of people, from the dudes who know every little grinding detail on making a decent PCB layout to the codemonkey's who have no actual clue what a ┬Ácontroller actually is but can write some neat routines.

In general my feeling is that "software" people who have actually a decent grasp on the hardware side (and i'm even talking about network admins etc) have a shear advantage over those who don't. Seen the rise of "software" in hardware designs (like you say) I think the inverse will be more and more relevant.

The one person that is often missing out in *any* project is the one who can "translate" between different groups of "guru's".
The fact that that kind of profile (from jobrelated point of view) is often also tagged as "managaerish/political" is IMHO the reason why so few projects have really a decent person doing that kind of stuff :) , most of the time it's some idiot who has no clue what *any* tech say's... )

There is of course a huge difference between the Q what you want to do and what profile has jobs / makes the biggest $$$$.
If your current working env (and assuming you more or less like it there) has also some HW development, then maybe try to to have a closer chat/relation with the people doing that side of the story?

If not, then I guess the best bet is a smaller firm that does some rather "niche" market, they tend to have less rigid structures and the actual need for people who know (or want to know) different stuff.
The major hurdle then will be convincing them to look beyond your work experience and not hire you as a "software dude" :) Your B.Sc in computer electronics might be a good asset there.

Personally I'm a bit in the same boat - I would love to get (bac)k into electronics, but I now happen to work for a software molog.
And I doubt there is an easy path out :) (besides taking a junior position somewhere and even then - the only "electronics" on my CV is an basic electronics degree 17 years ago and the first 6 months of my "career"... )
So for now just having fun with ┬Ácontrollers, FPGA etc in my spare time and we'll see...
I must say that most people I know with an electronics degree end up on the software side (or started a brewery..but that's an other story) -some did however, but it's also maybe a matter of luck , you need to "get in" a certain circle in your local jobmarket.

edit: ha , and on a side note , I'm not entirely convinced by your "working on the software gives me probably more power over the quality" statement  ;D

I just filmed a drive-time rant in response to this post.
Not sure if it makes any sense, will have to watch it back!


I think a good understanding of both is important but your involvement depends on how big the projects are and how many people work on it. I'm not really certain how someone can write good software if they do not know the hardware, particularly on uC's, pc's are a little different although not that much as there is lots of garbadge out there (.net software being one very good example) for PC's too and it mostky comes from microsoft so go figure. A good quality product needs good quality hardware and softare


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version