Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning.
Computer programming is fun. This is the only truth. Don’t trust who says that it is boring. Or better, just feel sorry for her, because two are the reasons: either she let others mortify her passion or she got into the job just for money. Since this blog is all about passion, I will speak now about the latter.
Programming job pays. In Italy it is one of the few industries in which we can still find a job as a fresh graduate. This means that tons of people are coming into the job just to escape the brutal sickle of unemployment. There is nothing wrong to me, but I would advice those people that programming is just for who loves it. Certain tasks are really boring; much of today’s software development is really glueing, that is linking together libraries that do the work for you. Then, your company gives you a database, and you have to write those silly pieces of code that do Create, Read, Update, Delete. If you are lucky. Otherwise, you will likely be forced to use a CRUD generator and link code generated by it. Stop. There is nothing inherently wrong with this: we live in a world of limited resources, and we must work efficiently and effectively. This is the raison d’être of Corporate IT. If you don’t love programming, this will likely kill the fun. So, where is the fun?
We could ask several thousands of true programmers, and all of them will say that the fun is in the creation. A programmer starts from nothing and creates something. He is the agent the transforms the not-being into being. He received a gift, the gift of God:
Why is programming fun? What delights may its practitioner expect as his reward? First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God’s delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake.
(Frederick P. Brooks, Jr.)
It is that sense of creation that makes programming meaningfull, and we should never forget this truth: we create. So, the antidote for the sense of boredom that kills the fun of programming is simply: have passion.