Click here to Skip to main content
15,887,485 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: Would you like to buy an IsNull ? Pin
Jörgen Andersson6-Dec-12 21:12
professionalJörgen Andersson6-Dec-12 21:12 
GeneralWhy do engineers insist on complexity? Pin
Joe Woodbury4-Dec-12 7:33
professionalJoe Woodbury4-Dec-12 7:33 
GeneralRe: Why do engineers insist on complexity? Pin
Andrew Rissing4-Dec-12 8:11
Andrew Rissing4-Dec-12 8:11 
JokeRe: Why do engineers insist on complexity? Pin
Brisingr Aerowing4-Dec-12 8:12
professionalBrisingr Aerowing4-Dec-12 8:12 
GeneralRe: Why do engineers insist on complexity? Pin
Chris Meech4-Dec-12 9:10
Chris Meech4-Dec-12 9:10 
GeneralRe: Why do engineers insist on complexity? Pin
YvesDaoust4-Dec-12 20:57
YvesDaoust4-Dec-12 20:57 
GeneralRe: Why do engineers insist on complexity? Pin
SeattleC++5-Dec-12 7:00
SeattleC++5-Dec-12 7:00 
GeneralRe: Why do engineers insist on complexity? Pin
Fran Porretto5-Dec-12 0:50
Fran Porretto5-Dec-12 0:50 

You have punched one of my hottest hot buttons: the tendency among far too many engineers to eschew the simple path.

My theory of the thing goes as follows: There are three stages in a software engineer's development / three types of software engineers / three phases to a life in software engineering:

1. The beginner: This engineer has little knowledge and less experience. That combination inclines him toward simplicity, for he hasn't the tools to get deep into the thickets, nor would he be confident of coming out alive. His programs tend to be easy to read, if sometimes a bit "naive."

2. The intermediate engineer: This engineer has begun to "feel his oats." He's learned quite a lot about various programming languages and fundamental algorithms, and he wants to show it off! So he embeds as much of what he "knows" in every program he writes as he possibly can. (Cf: "A Real Programmer knows every nuance of every instruction and uses them all in every Real Program.") His programs are next to illegible. After the passage of a few months, he won't want to admit to authoring them, much less maintain or debug them.

3. The senior engineer: This engineer is a grizzled, battle-scarred veteran. He's been around the block more times than you can count without taking off your booties. And while he can be a bit of a bore about those scars and how he earned them, his programs are a pleasure to read and maintain, because he's learned the virtues of simplicity. He never over-complicates a solution, because he's well aware that should it come apart under stress in a year's time, the most likely stuckee will be himself -- and remembering the rationale for excess complexity, and how to unsnarl it, is just too much like real work.

When I interview a fresh young candidate, I routinely describe the three types of engineers to him, and I ask: "Which sort of engineer do you aspire to be?" There are only two acceptable answers:


  1. A senior engineer, wise in the ways of the bits and a staunch foe of excess complexity;
  2. Hey, man, this engineering crap is just a stop along the way to the stars; I want to be the CEO of this place!


Food for thought.

(This message is programming you in ways you cannot detect. Be afraid.)

GeneralRe: Why do engineers insist on complexity? Pin
PSM_300E5-Dec-12 2:16
PSM_300E5-Dec-12 2:16 
GeneralRe: Why do engineers insist on complexity? Pin
Fran Porretto5-Dec-12 2:17
Fran Porretto5-Dec-12 2:17 
GeneralRe: Why do engineers insist on complexity? Pin
PSM_300E5-Dec-12 2:19
PSM_300E5-Dec-12 2:19 
GeneralRe: Why do engineers insist on complexity? Pin
Mark H25-Dec-12 8:13
Mark H25-Dec-12 8:13 
GeneralRe: Why do engineers insist on complexity? Pin
BC @ CV5-Dec-12 5:05
BC @ CV5-Dec-12 5:05 
GeneralRe: Why do engineers insist on complexity? Pin
SeattleC++5-Dec-12 7:12
SeattleC++5-Dec-12 7:12 
GeneralRe: Why do engineers insist on complexity? Pin
Fran Porretto5-Dec-12 7:31
Fran Porretto5-Dec-12 7:31 
GeneralRe: Why do engineers insist on complexity? Pin
satovey5-Dec-12 11:16
satovey5-Dec-12 11:16 
GeneralRe: Why do engineers insist on complexity? Pin
Fran Porretto6-Dec-12 0:28
Fran Porretto6-Dec-12 0:28 
GeneralRe: Why do engineers insist on complexity? Pin
0bx6-Dec-12 7:00
0bx6-Dec-12 7:00 
GeneralRe: Why do engineers insist on complexity? Pin
Frans_551295-Dec-12 1:04
Frans_551295-Dec-12 1:04 
GeneralRe: Why do engineers insist on complexity? Pin
BobJanova5-Dec-12 1:22
BobJanova5-Dec-12 1:22 
GeneralRe: Why do engineers insist on complexity? Pin
Roger1655-Dec-12 2:26
Roger1655-Dec-12 2:26 
GeneralRe: Why do engineers insist on complexity? Pin
RafagaX5-Dec-12 5:03
professionalRafagaX5-Dec-12 5:03 
GeneralRe: Why do engineers insist on complexity? Pin
Member 45591065-Dec-12 6:00
Member 45591065-Dec-12 6:00 
GeneralRe: Why do engineers insist on complexity? Pin
patbob5-Dec-12 6:04
patbob5-Dec-12 6:04 
GeneralRe: Why do engineers insist on complexity? Pin
Freak305-Dec-12 22:45
Freak305-Dec-12 22:45 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.