So I was reading this article today, wherein a gentleman discussed how he finds programming to be a task filled with constant negative reinforcement.
He has a good point. Programming is most frequently debugging, incremental progress towards an easily-misplaced goal. Run the code, it crashes, see where you fucked up.
My own maxim while programming is “It’s something I did wrong.” The libraries, other underlying code is considered to be Working.
However, I think he does miss the forest for the trees. Yes, programming is filled with this negative reinforcement. Yes, it’s a drag spending days on problems caused by your own ignorance, or failed logic.
Programming is not the day-to-day of debugging, of slow iteration. Programming is the joy of creation, that the weight of a mountain did not stop you. A thing, a tangible product is the goal, a universe of human achievement that runs slightly smoother because of you.
Shipping code, making the world better. Creating something, no matter how small, that holds worth in itself.
The hardest part, for me, is that often my work isn’t good enough. It doesn’t match what good is, in my eyes. The frustration, the desire to just give up is the highest, then. But at the end, I have a slightly more perfect world, and slightly better product. My taste guides me forward.