Real Programmers

Once upon a time, real programmers wrote code. We had a computer, a C compiler, and a couple of books full of algorithms. The books never had all the answers so we invented our own solutions. We dug in and figured it out.

Today we “leverage” code. We make a dependency file and list out the software we want to use. Before we write a line of code ourselves, our project has inherited hundreds of third-party packages that promise to do everything we need. What is all this code? Where does it come from? Nobody seems to care.

We’re convinced that we’re saving time this way. Our managers are convinced they’re saving money. In reality, we’re just trading one problem for another. Don’t know how to write a database query, send a push notification, schedule a batch job? Instead of spending hours learning how to actually do these things, you can spend hours installing a package from a sketchy web site, written by an anonymous graduate student, and figuring out how to use it by reading Stack Overflow posts.

In a couple of years your application will quit working. There will be an operating system change, a new security requirement, or a web service that no longer responds. The graduate student, now a manager at a biotech firm, will have long since abandoned the project. The code they left behind is incomprehensible. You’ll be forced to start over with… a different package.

Real programmers are still around. We have better computers now, and we’ve learned the latest languages. We write code if anyone lets us. But we are sensitive. We don’t like to be called names like “old-fashioned” or “obsolete”. So we try, as best we can, to go with the program and use the packages. We want to keep our jobs.

One day society will collapse. Without access to package repositories and web sites, we’ll be the only ones left who can program a computer. We’ll be the heroes who rebuilt civilization. Admittedly, it’s more likely that we’ll be the first ones to die after the supply of frozen burritos and Starbucks coffee runs out.

Until then, when nobody is looking, we break out the C compiler and keep the tradition alive. We open a text editor. The code flows.