The trouble with software people
When you think about it, almost every major development in the last decade has been the result of overcoming the problems that software managers cause.
By Paul Rako, Technical Editor -- EDN, July 24, 2008
It started back in 1985. That was when I noticed the trouble with software or, more specifically, the trouble with software engineers. The trouble was that companies were promoting software people with poor programming skills into management. Everyone in Silicon Valley knew that many software engineers getting promotions were the high-dollar folks who could not write good code. The companies they worked for could not easily fire them, so they did what companies often do: They promoted those who lacked programming skills to management. After all, it is a rare breed who can write good, tight code, but anyone can fill out time cards and go to meetings. Unfortunately, those who got promotions were doing more than filling out forms and going to meetings; they were also making product decisions.
In 1985, I was designing an ultraviolet-erasing system for a wafer-probing machine. My boss was a former software engineer. We didn’t want the high-voltage-ultraviolet lamp to go on while operators were servicing the machine. We added a key switch to the front panel so a service person could lock out the high voltage. This step required my adding an AND gate to the control circuit.
|
It was basic: For the lamp to go on, the service person would have to unlock the key switch and the control signal coming from the machine’s operating system. But, as I said, my boss had been a software engineer. He didn’t like the two-input AND gate that I used for the key-switch function. What if they wanted to change something in the future? So he told me to put in a PAL (programmable-array logic) with eight inputs. In that way, they could have “programmability,” he said.
I tried to convince him of the futility of putting a PAL into a circuit that needed only an AND gate. The other six inputs to the PALs were empty pins, with no other inputs and no other outputs. But the former software engineer knew that programmability was somehow good, especially if it allowed him to weasel out of some previous incompetent decision. He wouldn’t relent. I had to put in the PAL, and endure the documentation nightmare of having a programmable device on my board.
The effect of these former software engineers’ product decisions is evident everywhere. Rather than have any courage, they make everything configurable, as that former boss of mine tried to do with a PAL. Worse yet, the few times that any sane, normal person might want some configurability, these software bosses fix things in some arcane, absurd procedure that may make sense to unsociable, awkward loners but surely don’t make sense to the rest of us. What do you expect from people who count starting at zero?
When you think about it, almost every major development in the last decade has been the result of overcoming the problems that software managers cause. Remember when the software bosses had us dialing up bulletin boards and using the Kermit protocol and an unbelievably complex method for looking at a couple of files on another computer? The Internet was a victory and an obliteration of the geeky, painful, arcane software-boss mentality.
Steve Jobs might have a reputation for being difficult, but he knows software absurdity and has the guts to demand better. A friend told me about Jobs’ evaluation of an early version of a backlight for the iPhone. As the backlight dimmed, a perceptible flickering occurred. Software bosses tried to mollify Jobs with the usual software razzmatazz about DACs and square-log gamma curves. Infuriated, he just walked out of the room. The iPhone instead ended up with a control signal with ultrafine steps and smooth dimming. Way to go, Steve. Don’t take any guff from those software bosses.
Contact me at paul.rako@edn.com.
-
Quote: "I could easily come up with examples of hardware managers making life difficult for software engineers. I could also come up with examples of engineers who are a pain in the ass to work with on both sides of the hardware/software fence."
-
So true. Unless a boss has actually worked both sides as a competent designer, he/she often does not comprehend the hurdles faced by those designers on the opposite side.
-
Let''s hear your examples of PITA co-workers and bosses, sounds interesting.
-
A former boss was a SW team manager who also had some HW types reporting to him. Difficult, he had no clue about HW. He told me there would be no expensive RF shielding on my board. When I explained to him that we really needed some extra time in the development schedule to test and rework the HW for compliance with FCC Part 15 radiated RF emissions above 30 MHz, at first he would not believe that the FCC had severe punishments for the sale or even advertising of a digital product that had not yet been proven to comply.
-
Then he asked what was the highest clock frequency in our product. "20 MHz", I told him. "No problem" he said, "we only have to worry if the clock is over 30 MHz."
-
''Nuff said.
Glen Chenier - 2008-11-9 20:06:00 PDT -
The author seems to have a pretty big chip on his shoulder. Maybe he should change jobs if his manager sucks so badly, or since he seems to never have had
a good manager, maybe he should quit engineering altogether.
I could easily come up with examples of hardware managers making life difficult for software engineers. I could also come up with examples of engineers who are a pain in the ass to work with on both sides of the hardware/software fence.
Mark Sompel - 2008-14-8 09:40:00 PDT -
It's no mystery. First incompetent people are move into management to prevent them from screwing things up. These new 'managers' then promote others even more incompetent than themselves to positions below them so that they make them look good. Downward spiral.
Mungo Zimbawa - 2008-13-8 03:41:00 PDT -
The author is a troll.
Do not feed the trolls.
Kyle Huff - 2008-6-8 17:49:00 PDT -
Great article, congratulations on the courage to write it! However these conditions are rampent in most facets of American manufacturing not just software engineering. The old Army phrase "screw up and go up" is the normal situation. I've seen and been associated with some great and talented managers but they're few and far between. Most are incompetant, lazy, egomaniacs playing a politcal game with their upper managers so they get noticed and jump to the next pay scale. The upper managers have come from the same pool of incompetance so they recognize people with the same commitments.
William Tell - 2008-25-7 07:47:00 PDT


















