Code is cheap. Throw it away regularly.
How much do you love your code? Is it important? Are you tied to it?
You shouldn’t be.
The code you write is cheap. Another developer could look at your solution and tear it to pieces. Yet another developer could rewrite your code from scratch in a quarter of the time it took you.
Because the Hard Problem isn’t writing code, it’s solving the problem.
You Don’t Know What You Don’t Know
Code is cheap. Thinking is expensive. As a developer, you’re not being paid to write code, you’re being paid to think.
Have you thought through every use case, every boundary condition, every exception? Where can you simplify? How abstract are your models?
How complete are your solutions?
I would have written a shorter letter, but I did not have the time.
To your business, the cost of development is arriving at the solution. It’s the mind share around problem resolution.
The best developers are competing at a global scale for their minds. The brightest developers may employ clever programming tricks or interesting algorithms, but what makes them the best and brightest isn’t necessarily their raw coding skill: It’s their ability to think through a problem, clearly identify a resolution and quickly implement a solution.
I constantly ask myself, “How can I improve?” There’s absolutely no value in looking at a block of business application logic and thinking “This is the best it can ever be,” because it can always be improved.
During development, hopefully you employed deep, critical thought. While you were thinking, you had ideas. While implementing your solution, you ran into a roadblock that you subsequently solved. You now have a unique insight into a business problem that no other individual possesses.
Think about that for a moment.
Because of your unique insight, you can now reevaluate your code. You can improve it. You can throw it out and start over (not that you want to! Written code does have value, but that’s a topic for another time). The insight and creativity around your solution is the real value to your business.
Code is cheap. Your mind, however, is invaluable.
- GeForce GTX 660Ti, NVidia, Nouveau and Updating from CentOS 6.3 to 6.4 (2013/03/10)
- One time, at work… (2013/01/17)
- My Family Doesn’t Care About Security (2013/01/09)
- Programmer Competency Matrix – Education and Experience (2012/12/21)
- Your Code Is The Only Meaningful Project Documentation (2012/12/19)
- I’m Not Arguing With You Over Your Terms of Service (2012/12/18)
- Embracing Change (2012/12/18)
- Finding Quality Developers is No Easy Task (2012/12/14)
- From Avid Gamer to Architect (2012/12/10)
- It’s Bugs All The Way Down (2012/12/07)
- wordptr.libwpd – Expanding Configuration, Changing the Interface (2012/12/07)
- On Tightening Focus (2012/12/06)
- 20 Days With the Google Nexus 10 (2012/12/05)
- wordptr.libwpd – Hooking the Main Loop (2012/12/04)
- I Didn’t Read The Docs – MDADM and Hostname (2012/12/02)
- My Developer Toolbox (2012/12/01)
- wordptr.libwpd – Making it More Library-Like (2012/11/30)
- wordptr.libwpd – Now a Static Library (2012/11/29)
- A Linux Daemon Library – Introducing wordptr.libwpd (2012/11/28)
- CentOS, VMware Workstation, Development and Piece of Mind (2012/11/27)