Chat about electronics engineering as a career choice, especially money

djsfantasi

Joined Apr 11, 2010
9,156
Yes, software can be written with a pencil and paper. (no hardware involved) But where are you going to run it?
My point is, if done correctly, any damn place I please :rolleyes:

(I wish to note that my responses in this thread are written tongue-in-cheek. They contain s kernel of truth in a wrapper of hyperbole. Take them as such. Thanks)
 

Ian Rogers

Joined Dec 12, 2012
1,136
Embedded development is the best! You get to design the hardware and then write the software to run it.
Now tell them about the months of debugging!! After many years of embedded design, I can eventually design and run pretty much trouble free but at the beginning.... Wow!

Yes, software can be written with a pencil and paper. (no hardware involved) But where are you going to run it?
Almost every book for computers contains code... You will also know that hardly any have been tested. Authors just write it ( independent of hardware) then just print it! You try run it... Then spend hours finding out the author hasn't tested it..
 

Thread Starter

DraxDomax

Joined Apr 5, 2019
52
love this chat so far!
1. As a software guy, I must admit I admire the veterans who layed the foundations, who done the dirty work for me. It's now relatively easy for me to develop applications because I stick to managed code, running on a meticulously woven interpreter & compiler.
So, acknowledging the guys here who said they are from the 60's, salutations!

BTW, I've done 5 years of COBOL work for Microfocus. It's gives me a little tingle using an ATM and thinking there's a chance my code is currently giving me money. I also think it's cool there's a slight chance someone here might have touched COBOL/CICS/Mainframes. You don't get that in your usual coding forums!

2. Amazed at how different we are. I think everyone here dabbled in software (a demonstration of how easy it is to start). Some are true software guys with electronics passion, other are hardware guys and we have embedded guys who are hybrids.
Me, I see software very easily. I didn't study it classically but when I sit down with Ma/PhD software devs, I hold my own.
When I think about electronics, especially AC circuits, I am so scared I am sometimes running away. I am aware of that so I am really trying to tackle that with intention.
Maybe if you guys say software is much more complex in the end game, then perhaps I should be less scared of how "integrated" circuits are. You clip a wire on the left side, everything stops working. You connect a wire where you shouldn't, your circuit burns...
Even if you do everything right, the tolerance of one component can throw your maths off and make the circuit work badly.

3. It was mentioned here that software can unfortunately appear working even though it's broken - boy, is that the story of my life!
One of the reasons I applied to Microfocus is that they deal with veteran technology. I've worked with 37 year-old applications, enabling them to execute on a PC. Let me tell you, there is no fat there! It's pure computer science and I can't blame the customer for not wanting to hire someone to rewrite that application.
One of the problems of my character is that if I see bad work, I get angry. I used to call people names. One time I actually shoved my monitor off, left the office in the snow, wearing a t-shirt, and gave software a 2 year hiatus. That was in Ubisoft (a dream job for anyone, let alone someone with issues like me).

I may be wrong but I feel that back in the day, you had to know a lot to get started on software. So, people were producing some serious work.
Now, everything is off-shored to the lowest bidder. Don't get me wrong, I am not racist but I've had to work with people who have only seen a computer 2 years ago for the first time. They were hard working, smart people but they couldn't understand the problems a computer user faces and how to solve them nicely
 

bogosort

Joined Sep 24, 2011
696
Yes, software can be written with a pencil and paper. (no hardware involved) But where are you going to run it?
In your mind.

My point was that math is assuredly not beholden to pencil and paper (if it were, we'd never be able to conceive of the real numbers, for instance). Mathematicians routinely invoke objects that cannot possibly exist in the physical world, such as infinite-dimensional function spaces, where every point in the space is itself a vector space of uncountably infinite dimension. Ho hum.

Somehow, our minds are not encumbered by physical limits. We can conceive of faster than light speed; we can imagine shapes that are bigger on the inside than the outside; we can mentally reverse entropy flow, our arrow of time, and visualize shards of ceramic on the floor becoming a coffee cup on the counter.

And though software is designed to run on hardware, its purview is the mind. What is software but a sequence of instructions? A 'for' loop is not a physical thing; it is an idea. Sure, at the lowest level of the software-hardware interface, the idea must be transduced into physical actions, but those are implementation details. At the software level, it's all ideas and, hence, unburdened by physical law.

This is why computer scientists study wholly unphysical things, such as Turing machines or Busy Beaver functions. But to make the point as simply as possible, consider that every year college freshmen are introduced to this physically-unrealizable expression:

\(\displaystyle{x = \sum_{n=1}^\infty \frac{1}{2^n}}\)

There aren't nearly enough atoms in the universe to create a piece of paper large enough to hold all of the terms in the series, yet we nevertheless know that for n ∈ ℕ, x = 1. This is no different than the following pseudo-code:
Code:
x = 0;

for ( n = 0; n > -1; ++n ) {
  x += 1 / (2 << n);
}
No computer can complete this loop, yet we can easily see the idea. More still, we can reason about it as if it were physically possible. For example, we can assume that n has finite precision and see that x becomes infinite. Or, we can assume that x has finite precision and calculate its largest possible value.

The un-physicality of ideas is precisely why software design is so very hard: for whatever we're trying to do, software complexity grows exponentially faster than hardware complexity. Put another way, our CPUs need only a handful of physically-realizable instructions to implement an unfathomable number of abstract ideas. And this is only a lower-bound, as we can effortlessly untether our algorithmic ideas from any notion of what's physically possible. It's the reason why we don't have an answer to "What's the largest number?", the reason why we can conceive of the concept of n + 1, for any n.
 

BR-549

Joined Sep 22, 2013
4,928
If you are a young fella, and if you are asking hardware or software.......the answer is both.

They will be merging. Future devices will be a combination of both. Programming naked and redressable hardware is the future.

Future components will be a blank of configurable gates and memory. The configurations of such, can be changed as the programming needs it.

A self determining configurable device. The first step to AI. Knowing what it needs.
 

SamR

Joined Mar 19, 2019
5,031
My mantra used to be "I'm Not a Programmer", but I lied. They do go hand in hand now especially in the industrial environment. My son has a dual Computer/Business degree and is a code monkey making huge bucks. I've tried to interest him in the electronic/hardware side of it, but it is completely out of his realm.
 

Thread Starter

DraxDomax

Joined Apr 5, 2019
52
I don't see what the fuss is all about.
I am a hardware + software person.
I would not have one over the other.
Well, my original question wasn't which one to go for. It's why one area seems like a much nicer (less study, more jobs, more pay) choice, especially since I think the other one (electronics) is a lot more sophisticated and about equally important to the industry.

It's kind of an absurd that I can easily find a million web developers, some of them good.
But if I wanted to hire someone for battery design, it's slim pickings out there and hard to see who did his job well and who built me something that could explode any moment.
 

bogosort

Joined Sep 24, 2011
696
Well, my original question wasn't which one to go for. It's why one area seems like a much nicer (less study, more jobs, more pay) choice, especially since I think the other one (electronics) is a lot more sophisticated and about equally important to the industry.

It's kind of an absurd that I can easily find a million web developers, some of them good.
But if I wanted to hire someone for battery design, it's slim pickings out there and hard to see who did his job well and who built me something that could explode any moment.
Isn't it obvious? There's much more demand for web developers than electronics engineers. Note, however, the falling trend in average web developer salary, a consequence of the huge (and growing) applicant pool. According to GlassDoor, the average web developer salary is $75k, compared with $80k for electronics engineer. That seems about right to me, though I believe the web dev salaries will continue to fall.

As for sophistication, it's true that much of the web dev jobs are on the shallow side of the pool, a fact made evident by the proliferation of "code boot camps" that can take you from zero knowledge to hirable as a junior web dev in 8 weeks. But that's what happens when you have the combination of high demand and relatively low barrier to entry. Consider the other side of the software dev spectrum. If you want to work in something like OS or compiler design, you'll almost certainly need to be an experienced and expert programmer with a CS graduate degree, and that only gets you to the interview. You'll be competing with other similarly qualified candidates for a handful of jobs that will almost certainly require relocation, with a starting salary that's comparable to a mid-level web dev. This is the reality of low-demand jobs. As a technology career choice, electronics engineering leans toward the high-skill/low-demand side of the graph.

By the way, I wouldn't hire electronics engineers to design a battery. :)
 

SamR

Joined Mar 19, 2019
5,031
demand for web developers
Web developers and telephone tech support have moved offshore to lower paid workers and a lot of developers are temporary contract employees with no benefits or retirement. And not just web, all areas of coding have gone that way with even the biggies like Microsoft. The real hot ticket now is in business applications. Word processing, CAD, spreadsheet analysis, graphics, database applications are pretty well covered and matured areas, but business applications are hot items now. For a while, it was video conferencing applications that were hot but with the cost of fuel going back down that has cooled off a bit.
 

Thread Starter

DraxDomax

Joined Apr 5, 2019
52
@bogosort Yeah, I noticed the same trends. I think Web Dev isn't necessarily so easy. It's a lot of work knowing all the bits that make a website.
Also, these JS frameworks wait for nobody. Rapid development there and the stuff they do is rather optimized. JS is rendering graphics from code in real time, (still) working a little different on each browser (js engine). Really hard stuff to debug when you code everything right and it looks wrong.
And yet the salaries are very lackluster.
A little Java+DB pays a lot better than that (although that's on the decline as well).

More importantly, why not hire an electronics engineer to design a battery? Is it because it's more of a physicist/chemist thing?
I actually meant the application of the battery, how it will supply power (I bet there is some power circuit after the battery, to regulate the voltage, read the battery status) and how it will charge - which I hope are within the electronics engineering field? :)
 

bogosort

Joined Sep 24, 2011
696
@bogosort Yeah, I noticed the same trends. I think Web Dev isn't necessarily so easy. It's a lot of work knowing all the bits that make a website.
Also, these JS frameworks wait for nobody. Rapid development there and the stuff they do is rather optimized. JS is rendering graphics from code in real time, (still) working a little different on each browser (js engine). Really hard stuff to debug when you code everything right and it looks wrong.
And yet the salaries are very lackluster.
A little Java+DB pays a lot better than that (although that's on the decline as well).
Totally agree. I wasn't saying that web dev is easy -- making and maintaining a modern web site is far more complicated now than it was 10 years ago, when there were basically just two target platforms, and "full stack" only meant that you knew LAMP. But I do believe that it's easier and faster to get from zero knowledge to a junior-level position in web dev than in most any other software dev role. And though it's certainly true that the average senior-level web developer requires quite a bit of knowledge and experience, I don't think it's on par with what's required for the average senior-level systems or application developer. To put it another way, the developers who code the frameworks are probably a few levels above the developers who use them. None of this is meant to suggest that web dev is easy or unimportant in any way, but I do believe it helps explain the flooded worker market and consequent downward salary trend.

More importantly, why not hire an electronics engineer to design a battery? Is it because it's more of a physicist/chemist thing?
I actually meant the application of the battery, how it will supply power (I bet there is some power circuit after the battery, to regulate the voltage, read the battery status) and how it will charge - which I hope are within the electronics engineering field? :)
Indeed, if for some crazy reason you were tasked with designing a battery (which would be wildly more expensive than simply sourcing an off-the-shelf model for your BOM), I'd recommend hiring chemists and a mechanical engineer (for the case design). As for power supplies, absolutely, that is the domain of electronics engineers, though in my experience, the power supply is typically the easy part of the application. For smaller battery-powered projects, you find a voltage regulator that meets your circuit requirements and implement the manufacturer's recommended design; for larger, mains-powered applications, you source an appropriate commercial power supply and add it to the BOM. There are definitely situations where power performance is critical and extra care must be given to the supply, but for most applications, I'd be comfortable delegating the power supply to a junior engineer.
 
I have had to do both hardware and firmware design. If I have to be honest, I'm a hardware oriented guy even though I have been forced to code. I would prefer to feel the satisfaction of doing what I love rather than getting a higher pay doing something I hate. At the end of the day it's just a matter of "surviving" and fortunately I'm surviving doing what I love: hardware.
 

tindel

Joined Sep 16, 2012
936
I know I'm a bit late to this discussion, but it's interesting and something I've been quite frustrated with over the years, but I do see this starting to change.

I have worked my proverbial ass off learning about electronics nearly my entire life. It's been a continual learning curve - never the same thing twice, always stretching my knowledge and skill-set. It is a highly challenging and rewarding career. However...

I see some folks get a 'degree' from one of these 'boot-camps', call themselves a 'senior software developer' after working only 3 years and for 2 companies, and they go out and get a 6 figure salary at company #3. The really good ones eventually end up at a FAANG company (after 7-10 years experience) and can make over $500k/year in total compensation. These sorts of numbers make my eyes burst out of my head!

All the while, I personally believe hardware/firmware is much, much, much more difficult to be proficient at than software. I won't get into why so that this post stays reasonably short, but suffice it to say I've got some experience in both disciplines and hardware is much tougher to balance all the requirements than software and get it right the first time! (I'd love to see a SW engineer release a bug-free program the first time!)

Here's where I think the root of the salary discontinuity lies:
R&D of a single hardware product for commercial use can easily take 6-12 months. If your doing something requiring high reliability such as automotive or healthcare, double that figure. I believe hardware engineers feel an obligation to their companies and coworkers to finish a job that is started. A HW engineer has a very short window between projects where they feel comfortable making a move... couple this with potentially moving, uprooting kids from schools, the school year, spousal careers, etc. and a HW/FW engineer essentially has about 1 to 2 months to make a move every 6 months to two years. A very short window. I believe these things artificially keeps HW/FW engineering salaries lower than SW.

Compare that with a SW engineer who develops software which is oftentimes an amorphous blob that is continually changing, usually has small incremental releases (sprints), and many times there is no real end to the project (think website development). Software folks, by the very nature of their occupation feel that things change often, the tasks are small enough the next developer can easily jump in and take over, and therefore, they are much more likely to leave a job for a better opportunity at any time. It also helps significantly that SW developers can generally live anywhere they please and not need to move to do their job.

Looking to the future:
With the continual globalization of the world. I continue to see less and less need for HW/FW folks to be centrally located. I was actually offered a job a while back in San Fransisco where I'd travel there once a quarter, but generally work from my home in Colorado. I declined the offer for some other reasons, but I was encouraged by the fact that a company was willing to try to make this happen. Really, between skype and overnight shipping to just about anywhere in the US, it's not that big of a stretch. I already had a home lab where I could do development work.

I've spoken to several recruiters lately that have told me that there's a bit of a stalemate right now. Employers don't want to raise salaries, and good candidates don't want to move without significantly more compensation. Something has to give. If the economy continues to grow, then salaries will have to go up for HW/FW folks.

If there's one thing I can advise a young engineer on - interview, and interview often - at least twice a year your first five years! You never know where you might end up! I know for a fact that my biggest increases in salary have come with job changes. I wish I had changed jobs more earlier in my career, although I've been fortunate to do pretty well for myself. If I had stayed with my first company out of college I estimate that I'd be making about 30-35% less these days.

Something to keep in mind: The money in both occupations is significantly above the US average. I imagine this is the case in other countries as well. You can live a very comfortable life doing HW or SW. Hell, I just got back from hanging out in a beachfront home for 10 days on Puget Sound! It's a tough life. Do what makes you happy. Try not to make comparisons. Comparison is the thief of joy.
 

tindel

Joined Sep 16, 2012
936
To drive the point home about how well engineers are paid - I looked up 2018 data on the BLS website

Median salary in the US is $46,072. Mean salary in the US is $51,960

Median and Mean salaries, respectively
Electrical Engineers: $99,070 $104,250
Computer Engineers: $114,600 $117,840 <- I think this would be considered firmware
Software Developers: $105,590 $104,480
Website Developers: $69,430 $75,580

Generally, 2x more than average joe/jane in america - certainly in the upper income brackets! Behind lawyers, doctors, and finance from my experience.

Sources:
https://www.bls.gov/cps/cpsaat37.htm
https://www.bls.gov/ooh/architecture-and-engineering/home.htm
https://www.bls.gov/ooh/computer-and-information-technology/home.htm
https://www.bls.gov/oes/current/oes_nat.htm#00-0000

FW engineering is the 2nd highest paid engineering discipline behind petroleum engineers. I was surprised to see that FW engineers are paid, on average, ~10% better than SW, which may poke questions at some of my theories and thoughts in my previous post - although, SW does skew higher based on the median > mean. I was surprised to see a differentiation between SW and and Web Developers - and the drastic pay difference.

I suspect these numbers are base salaries only and do not include bonuses which can exceed base salaries as one advances in their career - particularly in SW.
 

bogosort

Joined Sep 24, 2011
696
All the while, I personally believe hardware/firmware is much, much, much more difficult to be proficient at than software. I won't get into why so that this post stays reasonably short, but suffice it to say I've got some experience in both disciplines and hardware is much tougher to balance all the requirements than software and get it right the first time! (I'd love to see a SW engineer release a bug-free program the first time!)
I'd be curious to hear why you think hardware is more challenging than software.

As for buggy initial software releases, I'd say it's more a symptom of the typical business mindset toward software -- release early and often -- than a general weakness with software devs. If it were up to devs, release cycles would scale with software complexity, but it's never up to the devs. Project managers know that patching code is much easier and cheaper than pushing hardware revisions, so hardware guys tend to get more realistic time budgets. Given the tight schedules and greater complexity (how many boolean circuits would it take to create the hardware equivalent of, say, Photoshop?), it's not surprising that software tends to be buggy. In fact, I'd argue that the ubiquity of software bugs goes to show that it's harder to get software right than hardware.
 
it's not surprising that software tends to be buggy. In fact, I'd argue that the ubiquity of software bugs goes to show that it's harder to get software right than hardware.
Like @tindel I have worked in both hardware and software development. I agree with @tindel that hardware is much more difficult than software. It may be difficult for a software developer to understand this because software is very difficult. At the same time sites like this one present many different circuits that are fairly basic. It is easy to get into electronics hardware today using an Arduino and a few external components and believe that is all there is. But hardware development goes much deeper than that. If you had the experience that @tindel and I have had working in both you would be able to make a valid comparison.

The reason software has so many bugs is not because it is more difficult, it is because many software developers don't exercise good design discipline. They just jump in and start writing code instead of designing first. Most companies today want to do agile development. Which is fine except they don't do sprints for design, they only want to write code for a feature and expect it to fall into place.
 

bogosort

Joined Sep 24, 2011
696
Like @tindel I have worked in both hardware and software development. I agree with @tindel that hardware is much more difficult than software. It may be difficult for a software developer to understand this because software is very difficult. At the same time sites like this one present many different circuits that are fairly basic. It is easy to get into electronics hardware today using an Arduino and a few external components and believe that is all there is. But hardware development goes much deeper than that. If you had the experience that @tindel and I have had working in both you would be able to make a valid comparison.
Your assumption is false, as professionally I'm a hardware engineer (embedded systems) who also writes software. In any case, you haven't said what specifically makes you believe hardware is more difficult than software. From my point of view, while both have their unique challenges, complexity is what sets them apart. Complexity is what makes things really hard, and software complexity is essentially unbounded. Hardware, on the other hand, tends to be applied to problem spaces that are well-constrained and easier to partition.

The reason software has so many bugs is not because it is more difficult, it is because many software developers don't exercise good design discipline. They just jump in and start writing code instead of designing first. Most companies today want to do agile development. Which is fine except they don't do sprints for design, they only want to write code for a feature and expect it to fall into place.
Every professional software developer I've ever known would disagree with you, as software design is their core competency. You're way of touch if you believe that most (or even some) of the commercial software you use is being written by code monkeys that whip out undesigned software. Your OS, your browser, your office apps, etc. all have bugs, but I assure you they are not due to programmers jumping in and writing code. They have bugs because software design is really hard. This is why you will find thousands of books and blogs whose sole focus is software design. Because knowing how to code is akin to knowing how to type; it ain't nearly enough.
 

Janis59

Joined Aug 21, 2017
1,834
RE:""to notice that since my high school years in Israel.""
I had been lived in that beautiful land for some three years with a tail when to escape confiscation of all my belongings at World Crisis 2010 I wasnt able to pay bank loans back. So, I am really very thankful to Israeli nation, land, people; however I never even was be able to immagine such awful waste of highest quality workforce and qualifications, even at the soviets where I was lived my young age.

The soviets system meaned if one is un-educated he gets a 400 roubles a salary, if he is graduated a university, he have 60 to 90 roubles, and if he is Science Doctor he receives a 40 roubles monthly.

Israel has this system made with face down and foots up - if my Ulpan* group member was rather eminent Moscow hearth surgician, the only job he found at Israel was hospital sanitar. But that class of surgeons los any qualification even at few month if non-operating. How many are such class specialists Worldwide? Are them 100 or less?

Cant tell I am most genious electronicist on the Planet, however my experience are spread over 50 years in three Word`s technological systems, however I was not able to find a job even as pcb component solderer. I worked there as a welder instead (yet receiving a monthly salary of 12 month at my fatherland, but for the 6 days at week and 16-18 hours a day, if dislike next day go home). So, there are no wonder I run away as soon as the Crisis was stopped.

Other Ulpan member from Ukraine, the mechanical engineer was ended to work a bassin watchquard. Other my friend having a highest degree of Historician education and eminent Hisch index, ended to school keyquard work. Other my mate couple from France, he was journalist and she was violin player, ended with disabled persons care industry. So, Israel is nice place, but better "go downhill to the World" if Your aim is to have a LIFE instead of just inquisiting of your personality.

(For those not knowing - Ivrit have no an expression like "go away from Israel" or "go to the Israel". Instead the structure of language is saying "go down from the Israel" and "go up to the Israel"). ): ):

(*) Ulpan was the public free of pay language school, now is eliminated.

More, I think the most worst problem next to the Arabs this land inherited from Americans and it is called outsourced labor cartels. Say, You got a job giver who is interested in Your services. But he says eye to eye - if they will catch me giving You job straightward, around the outsourced labor shop, the penalty will be so harsh I may loss all my business. Just let go to them instead. Then You go to them, they are giving the paper sending You to the known job giver next day back, BUT "for the service" You are obliged to "contor" 3/4 of the salary for 6 monthes. Many job givers are not much honest, them have more bonuses probably if to fire anyone when 5th month have been ended. Happily mine boss was good person and liked my work attire so I got the stable job contract and full salary at last. But the same time it means anyone of workers are deadly scared to say a smallest word against the over-exploitation, because in the next day he will have only 1/4 of salary for half of year. Very bad invention, dear Americans, very distractive.
 
Top