Coming of Age
When you discover the truth about Santa and the Easter Bunny, you die a little inside as you leave some innocence behind and begin to grow up.
When you get your first pay check at your first real job and discover that the government gets the first bite, you get a little disenchanted as you grow up.
When you realize that the prettiest members of the opposite sex aren't always as nice and sweet as you might fantasize, you face a reality of life and grow up.
None of that holds a candle to the coming-of-age you experience as you find out about management in the workplace...
D.H. was a student pursuing a degree in Computer Games Programming. The program required a year of work in the real-world workplace. He thought he was pretty lucky to find a job at a massive Consultancy and IT company. Unlike most of the 20 interns in the group, D.H. wound up with some actual hands-on experience as a developer.
Toward the end of the stint, D.H. had developed a healthy fear of Management Stupidity(C)
From the get-go, he discovered that real-world programming was vastly different from university homework problems. What he hadn't expected however, was for common sense to have been replaced entirely with "business sense", and for all coding practices to be thrown out of the window.
When someone raised a defect because you could only select one out of several radio buttons on screen, management forced him to break functionality. There were radio buttons assigned to the question "Would you like to review your answers?" Yes, No, followed by two buttons: "Review" and "Continue". After the change, you could click no to review and then review anyway.
We all know that you shouldn't trust user input. He discovered that a field that took 3 characters for a promotion code brought the application crashing down around it if the data was entered incorrectly.
Or if someone has a surname with a space.
Or if you share a house with someone with the same birth date and surname (twins, or a coincidental marriage spring to mind).
Or if you need to handle international phone numbers.
Or street addresses.
And then he found this:
if (foo || !foo) { /*Code*/} else { /*same code as above*/}
D.H. felt violated that such foolishness could be perpetrated by so-called professionals.
Welcome to the wonderful world of IT!
[Advertisement] Incrementally adopt DevOps best practices with BuildMaster, ProGet and Otter, creating a robust, secure, scalable, and reliable DevOps toolchain.