Question about embedded programers vs computer programers

greenspun.com : LUSENET : TimeBomb 2000 (Y2000) : One Thread

As far as I can gather, embedded designer/engineers/programers are rare vs. regular computer programers. If this is true that means their are less persons able to: a) understand the problem b)less persons able to repair/replace problem embeddeds c)less people to go around, when and if there is a problem.

Also, in a corporate culture people do not want to point out problems. The mindset is always to let it be anothers problem not mine. Mot people do not want to face the wrath, and ranting and raving that he/she would suffer by bringing up large, expensive problems to their boss. Anyone that has ever worked in a corporate environment knows what I am talking about. With embeddeds literally being an "out of sight, out of mind problem", I bet a lot of these Y2K noncompliant embeddeds were never even brought to managements attention.

Any comments from anyone in the computer field?

-- Lucy (wingsng@.123.com), January 30, 2000

Answers

I'm a programmer and I don't get embedded enough, alas... good question though Lucy.

-- Andy (2000EOD@prodigy.net), January 30, 2000.

That's right! Only 15 to 20% of programmers are ever asleep at one time, most drink far too much coffee... (grin)

To your real question, yes there far fewer systems level programmers. One other problem is this - most parts with embedded processors are subsystems and are sold and resold before reaching the company that installs the Whole system at a customers location. (Black box syndrome...)

And one more thing to "worry about", where in the world(literally) are these companies that are producing the original subsystems?
Hint: look West far enough to see East.(sadly shaking head at the scope of the problem)

-- Possible Impact (posim@hotmail.com), January 30, 2000.

You are correct on all counts. There are fewer of us doing 'discrete' systems work. Embedded systems fall into several categories and the problems with them are compounded by age, some of the hardware - i.e. chipsets and microboards are no longer being made. Age further factors into this in the area of languages. Many of the older systems software are in languages far less practiced these days. Most of the millions of programmers around now program in higher level languages which are not suitable for embedded systems where you need the code to compile to tight, resource sparing, executables. VB programmers would not like to try to make the transition.

So, yes, the pool of embedded systems people is smallish compared to software only programmers.

A further issue will be seen to arise when the trend of failure being seen now in embedded systems starts to be visible in the large database and batch run systems. This will put a huge squeeze on an even smaller pool of resource, talented large system debuggers. It was a complex system failure that brought down the Chicago Board of Trade last year. Wait till complex system problems get loose in the world. (probably late March to June).



-- pliney the younger (pliney@puget.sound), January 30, 2000.


TNX Pliney, for a great answer. Do you really think that the worst is yet to come, both with mainframes, and embeddeds?

-- Earl (earl.shuholm@worldnet.att.net), January 30, 2000.

"Embedded systems programming" has two levels of meaning.

One is what can be handled by a good technician. Take an off-the- shelf device and set it up to *turn on output "A" for thirty seconds if conditions "B" and "C" are both true*. This would be Progammable Logic Controller (PLC) programming or "Ladder Logic" programming.

The second level of embedded device programming is a lot like programming a PC or mainframe. This would be done by either an electrical engineer or a computer programmer. The programs would be developed on a computer system and then tranferred to the embedded device.

The biggest difference between computer programming and embedded programming is that the embedded device's program would probably be compiled to run as an assembly language or machine language program. Most embedded systems such as single-board computers (SBC) do not run higher-level operating systems like Windows, DOS, UNIX or such.

Assembly language programs used would be loaded into these devices by connecting a laptop computer to them and downloading tha new program into the SBC's non-volatile memory (EEPROMs) or by replacing pre- programmed memory chips (PROMs).

Only systems which are actual PCs built into a piece of machinery would have the need or memory for storing or running a high-level operating system.

WW

-- Wildweasel (vtmldm@epix.net), January 30, 2000.



Andy?

-- Julie (teachers@favorite.com), January 30, 2000.

Moderation questions? read the FAQ