Fifteen years in the programmer's career, there are both pains and joys. After reading Brooks' classics, I have a deep feeling for "the joy of programming" and "the pain of programming". I wonder if most people will feel the same.
pleasure:
The programming industry "satisfies our deepest desire to create and delight all of us with shared emotions," offering five pleasures:
- The joy of creating things
- The joy of developing something useful to others
- Assembling movable, intermeshing parts into something like a labyrinth is a fascinating process
- Facing non-repetitive tasks, the joy of uninterrupted learning
- The joy of working on such a tractable medium - a purely mental activity that exists, moves and functions in a completely different way than an actual object
Again, the industry has some inherent distresses:
- Adjusting your way of doing things to perfection is the hardest part of learning to program
- Goals are set by others and must rely on things beyond their control (especially procedures);
- Authority does not equal responsibility
- Any creative activity is accompanied by tedious hard work, and programming is no exception
- People usually expect projects (bugs, working hours) to converge faster towards the end, but in software projects, the closer to completion, the slower the convergence
- The product is always under threat of obsolescence as it nears completion