itsbruce wrote:I work in software engineering. I have the misfortune, in my current job, to have worked in a department mostly staffed by people who were not smart enough and who were managed by people who were not smart enough. Believe me, this sucks. Software development is an abstract intellectual activity; it requires thought, design, analysis and the ability to visualise complex patterns. Dumb fucks (forgive me, but I've had months of battling these chimps) who think they can throw things together because they can manage a spreadsheet or did a bit of javascript work for some websites once, they just create chaos when let loose on complex tasks. These people can't reflect on what they do, they can't abstract the general principle from the specific example, they can't understand that taking some time at the start to think through a proper design will save days or weeks of wasted work in the future, they lack the judgement to tell good code from bad code. And because senior management don't pay enough attention (and lack experience), there's no proper authority to appeal to, so those of us who do have these skills waste much time on endless arguments with the incompetent.
After months of struggle to see standards respected and enforced, I've finally managed to tip the balance in favour of quality. Just by recruiting one smart guy into a team of five, I nearly doubled its skill level and productivity. Not soon enough to save the company, unfortunately; it's going to go under because people who weren't smart wasted much time doing stupid things.
In my job, being smart matters.
I work with programming/software engineering too.
Why deal with the crap? If you are in fact a solid software engineer; getting a job somewhere else won't be an issue if you can put what you have to offer on the table in an interview. Working in a profession such as ours can not possibly fun if the colleagues are incompetent; so why deal with that? Sounds like endless frustration, and you have my sympathy.
Personally the one thing I find more annoying than dumb people are people that are unable to communicate or deal with any social situations or teamwork. It's almost as bad, but actually less critical on the deliverables overall I'd say. The best is a solid combination of both in my opinion.
Good luck anyway, I hope it picks up or you sort yourself out with a new place
Edit: I'm absolutely no genius but I've programmed for about 10 years now and have a Comp. Sci. degree. You don't need extreme intelligence to be good at our job in my opinion. Just some experience, a respect for standards and a continuous drive for improvement. Being able to see patterns and reflect on different solutions given a problem are minimum requirements. Would people without these traits ever get into software dev. in the first place? If so, why? Maybe I'm just young and got lucky with my first job...


