Helder S Ribeiro
Learning, making, teaching.
Photo: Erik Pitti
That’s a question I’ve been asking myself recently as I’ve thrashed around looking to settle on a stack for my next project.
COBOL is that unsexy old thing that pays $350/hour to those brave and experienced enough to still have familiarity with it. It is legacy code wrangled these days by “maintenance programmers.” (I actually saw this used as a derogatory term by some fool who probably makes less than $350/hour.)
Most of the time I’ve spent programming to date was with tools I took pleasure in using. Sure, there was some Java, some C, but the majority of it was with sweet sweet Ruby and Rails. ♦️🛤️
The times have changed though, and I don’t feel too confident in that duo anymore.
I’ve always liked the backend more, and particularly ran away from JS like the devil. But, though I hate to admit it… JS, you’re my COBOL.
A weird type of COBOL, that’s for sure. One that has a baggage of legacy, quirks, and facepalms aplenty, while also being so cutting edge that people’s brains stall and hurt from pure paradox of choice.
But it is the language of my time. The number one most popular programming language on the planet. The undisputed queen of the open web 👑. And the one most likely to put a roof over my head for decades to come with the most flexibility.
To some it’s Java, others PHP. I’m going to park my horse right here under this JS tree 🌵. (You can start a song with that.) I’ll weather the framework tides, accumulating scars and wisdom, and have you — my handy sledgehammer of sparse finesse and begrudging appeal — always by my side.
That doesn’t mean stagnation, though. Quite the opposite. Knowing my footing firm, I’ll be free to risk further into learning and making: programming- and business- wise. 🏌️
I won’t pretend I love you, JS, but I will honor your place as the breadwinner. 🍞
And after a hard day’s work, I’ll rest you carefully in my toolbox, and let my fancy fly for anything but you ;) 🆓
That is my COBOL. What’s yours?
Nice one, it made me laugh :) I'm actually a JS/Node dev, but since you are primarily a backend guy I would suggest you to try out Go. It's super easy to learn, designed for concurrency, statically typed and compiled language. Well, it's a C like language but I guess you can't have everything :)
I don't think a have a COBOL myself :) or at least I hope I don't have one.
The programming language is just a tool.
You're right that Go has heavy institutional support and a booming codebase that will have to be improved upon and maintained in the future, so it is indeed a good bet.
I'm leaning heavily towards functional languages though for my nights+weekends "everything but JS" time, so on the backend I'll probably go with Elixir.
At the moment I'm dipping my toes into Elm. I've decided I can't run from the frontend any longer, especially since I want to build my own products end to end.
I agree that the language is just a tool and metalearning is the real skill. But "fast learner" is a hard sell if you can't prove core competency on at least one technology.
And I think it makes it easier to show your work via open source packages, blog posts, etc. if you commit to one thing for the long run. I'm very prone to shiny object syndrome, so choosing to take some root helps balance out mastering with exploration.
Poetic but ultimately this is why programming is such a terrible business to be in. As a community we spend a lot of time worrying about being generic problem solvers that use generic tools but in the end the truth is the exact opposite. We are anchored to non-generic platforms and tools that outlive their shelf life and turn into a noose around the neck of some poor business owner.
What's my COBOL? What language will make me comfortable in my retirement years? Likely, it'll be Visual Basic. Those systems are scary and it takes a special breed to wrangle them into maintainability. Yup, I figure I'll always have a job so long as I'm willing to fix up legacy VB.