On reddit this morning there was a blog post on programmer insecurity.
It was an insightful one sided piece attacking the programmer with the common myth of emotional and social ineptitude. My rebuttal is from a programmer's perspective. I could have left comments that disappeared into the void in both locations but I felt that it was a weighty enough subject to merit discussion.
You'd never expect a musician, painter, or dancer to stop and present every note from the moment they started learning a piece, every brush stroke since they started a piece, or every dance session they worked. Its time consuming, interrupts the flow of creative thought, and opens unfinished thoughts/work to public criticism. The last aspect with code is that people will start using it immediately if you're followed in any way.
The dogma "Release Early, Release Often" doesn't mean commit code that doesn't compile. Sometimes, my branches don't compile and I know exactly why but my body just can't keep up with what my mind wants to create. Were I to follow the best practices and plan everything out, I'd lose a lot of the enjoyment and learning I get from playing with different ways of doing things. There may be a best way to do a certain method, but in my implementation I've coded a new way that could work better or could later be replaced to a call to the most efficient method meeting my criteria. Sometimes, its better to let things flow from the mind to the keyboard.
This post is an example of a free flow of thought. Writing is another system where we don't expect writers to show us every draft and keystroke. My post is not well structured or organized but it conveys what I want it to with the time I'm willing to commit to the act.
Hope all are well,
Dave
No comments:
Post a Comment