I have one quibble (I was a director of engineering at a medium-sized company) - having been on both sides of this. While I agree with the spirit of what you're saying, the one thing I disagree with is the advice "If you disagree, keep your mouth shut".
My approach in these situations, and what I appreciated from my direct reports, is thoughtful disagreement which is co-delivered with a constructive suggestion for an alternative solution. Bitching doesn't help anyone (accept maybe to soothe the bitcher a bit in the short term.) But give me objective reasons why something is stupid/wrong/etc., and give me viable alternatives, and you have a receptive ear.
Sometimes shit just stinks. Sometimes a decisions sucks, and we all have to live with it. In those cases, as the leader, I need you guys to suck it up, and push through this bone-headed decision, and let's try not to let it happen again. Or you can decline to stay in the organization, that's your prerogative too. But if you're not going to get on-board, you're not helping.
Granted, "embedded" is a pretty broad term, but if you're using 128MB of RAM and Linux, I'm not sure you've got the experience I'd be looking for in a role developing (deeply) embedded firmware.
The stuff I work on, you have to understand spurious interrupts, interactions between cache and memory, accessing hardware safely in a multi-tasking environment, cost of context switching, pre-emptive scheduling, processor modes, nested interrupts, signal processing algorithms in assembly, etc.
I'm not bagging on your skills, I don't even know you, and I don't know what you work on. So sorry if I'm jumping to conclusions. I'm just saying that a lot of people write application-level software for non-PC platforms and call themselves embedded developers. For example, writing application code for a CompactPCI board. In those cases, you might as well be writing code for a Windows or a desktop Linux platform.
You would probably burn through that shit load of money in counseling / psychiatrist fees, I would guess that programming in COBOL is about as interesting as watching paint dry. Granted, I write firmware that controls missiles and CAT scan machines, so I'd probably also bitch about doing some kind of Java Enterprise programming as well...
I have one quibble (I was a director of engineering at a medium-sized company) - having been on both sides of this. While I agree with the spirit of what you're saying, the one thing I disagree with is the advice "If you disagree, keep your mouth shut".
My approach in these situations, and what I appreciated from my direct reports, is thoughtful disagreement which is co-delivered with a constructive suggestion for an alternative solution. Bitching doesn't help anyone (accept maybe to soothe the bitcher a bit in the short term.) But give me objective reasons why something is stupid/wrong/etc., and give me viable alternatives, and you have a receptive ear.
Sometimes shit just stinks. Sometimes a decisions sucks, and we all have to live with it. In those cases, as the leader, I need you guys to suck it up, and push through this bone-headed decision, and let's try not to let it happen again. Or you can decline to stay in the organization, that's your prerogative too. But if you're not going to get on-board, you're not helping.
Granted, "embedded" is a pretty broad term, but if you're using 128MB of RAM and Linux, I'm not sure you've got the experience I'd be looking for in a role developing (deeply) embedded firmware.
The stuff I work on, you have to understand spurious interrupts, interactions between cache and memory, accessing hardware safely in a multi-tasking environment, cost of context switching, pre-emptive scheduling, processor modes, nested interrupts, signal processing algorithms in assembly, etc.
I'm not bagging on your skills, I don't even know you, and I don't know what you work on. So sorry if I'm jumping to conclusions. I'm just saying that a lot of people write application-level software for non-PC platforms and call themselves embedded developers. For example, writing application code for a CompactPCI board. In those cases, you might as well be writing code for a Windows or a desktop Linux platform.
You would probably burn through that shit load of money in counseling / psychiatrist fees, I would guess that programming in COBOL is about as interesting as watching paint dry. Granted, I write firmware that controls missiles and CAT scan machines, so I'd probably also bitch about doing some kind of Java Enterprise programming as well...
The workmanship of that project was so poor, it deserved to be blown up (although it wasn't).
My 9th-grade electronics shop projects looked better than that.
This would be the same Turkey whose president is so fucking stupid that he tweets about the joys of watching a pirated movie in the comfort of his own home?
90% of Chinese Users Pirate Software
... and the other 10% are just borrowing it for a reeeaaaalllllly long time.