Happy 🦃 Day! I hope everyone has a wonderful day
Real Programmers code in the terminal.
Maybe they dabble in slick IDEs now, in this decadent era of AI assistants, auto completion, and "intelligent" debuggers. But back in the good old days, when the term "cloud" referred to the weather and not where you stored your code, Real Programmers wrote in plain text editors. Not Visual Studio Code. Not even Helix or Fleet. Just GNU Emacs and Screen.
Lest a whole new generation of developers grow up in ignorance of this glorious past, I feel duty bound to describe, as best I can through the generation gap, how a Real Programmer writes code. I'll call her Nel, because that's her name.
I first met Nel when I joined a startup aiming to disrupt the world with yet another social app. The team was young, vibrant, and glued to their screens, eyes darting between Stack Overflow tabs and AI generated code snippets. Then there was Nel, a quiet figure hunched over a terminal window, typing furiously.
Nel didn't approve of AI assistants.
"If a programmer can't write code without an autocomplete," she said, "what good are they?"
Nel had written, using nothing but Emacs and her wits, the most critical module our company had. The real time data processor that kept everything running smoothly. It was a marvel. While the rest of us wrestled with dependency hell and cursed the day JavaScript was invented, Nel's code hummed along with these things called static types that, she said, were all the documentation she needed.
One day, disaster struck. An outage in us-east-1 left us disconnected from our beloved cloud services. Panic ensued. Without Stack Overflow, AI help, or even our code repositories, we were paralyzed. Features needed fixing, bugs needed squashing, and deadlines loomed ominously.
All except Nel were in despair.
"How can we code without the internet?" someone wailed.
"I've reached my 2-hour monthly in office quota anyway. Message me on Microsoft Teams when everything is back up," said another.
Nel looked up from her terminal, a faint smile playing on her lips.
"Maybe we can, you know, stay here and write code," she suggested.
"Without documentation? Without Google? Impossible!"
Nel shrugged and returned to her screen. Curiosity got the better of me, and I wandered over to see what she was doing. Lines of code scrolled past at an impossible speed. Functions, classes, even the occasional comment, all appearing as if by magic. She wasn't even using a mouse or trackpad.
"Are you... writing a new feature?" I asked, incredulous.
"Fixing the data parser," she replied without looking up.
"From memory?"
She nodded.
"But how do you remember the syntax? The APIs? Don't you need to look up anything?"
Nel chuckled softly. "I've been coding in this language longer than most of you have been alive. Muscle memory, I suppose."
I watched in awe as she deftly wrote a for loop, complete with iterator variables and proper scope handling, all without a single reference. It was as if I'd witnessed a unicorn.
"Could you help me with a for loop?" I asked sheepishly.
She paused and turned to face me fully for the first time.
"Sure," she said, gesturing for me to sit. "What are you trying to do?"
I explained the problem, expecting her to whip out her phone to search for an answer. Instead, she grabbed a notepad and sketched out the logic, walking me through each step.
"See? No need for the internet. Just think through the problem," she said.
She laughed as I gawked.
"I used to have to do stuff like this on whiteboards for interviews," She smiled while shaking her head.
Word spread through the office. One by one, team members approached Nel, seeking guidance. She became an impromptu mentor, her desk a shrine to the lost art of independent thinking.
Meanwhile, the managers were in a frenzy. Deadlines were at risk! Productivity was plummeting! They called an emergency all hands.
"We need solutions, people!" the CTO barked. "How can we work without our tools?"
Nel stood up.
"Perhaps we've become too reliant on them," she said calmly. "Maybe it's time we trusted our own abilities."
Silence fell. The idea was radical, almost heretical.
"But how will we manage without AI suggestions? Without code linters? Without..."
"By programming," Nel reiterated, "by understanding our code, not just piecing together fragments from the internet."
An idea sparked in Nel. "We could deploy the app on premises", "Mark has a 64-core 7.5GHz laptop with 256GB of Ram and two 10TB NVME drives. If we turned off all of the startup and electron apps we'd be able to run the entire thing locally."
Eyes turned to Mark, who nodded slowly. "It just might be possible. We have as many employees here as we have users so it would be a good test of the app"
The CTO considered this. "Can we set it up quickly?"
"Absolutely," Nel interjected. "It might even run better than in the cloud."
Emboldened, we set up the on premise deployment. With Nel's guidance, the process was smooth. We bypassed the cloud entirely, running everything locally.
Her words stirred something in us. Emboldened, we returned to our desks. The hum of conversation was replaced by the clatter of keyboards. Slowly, code began to take shape...not copied, not generated, but crafted. Whenever we had issues, we would physically walk over and discuss them with our teammates. Questions that would be left unread for hours before a response was finally given, were answered in a matter of seconds.
By the time the internet was restored, it had been 6 hours, the most I've ever worked without distractedly scrolling through short form video. We had accomplished more in those disconnected hours than we had in months.
The CTO called another all hands, praising the team's resilience. They gushed about how much VC money we would be able to raise from all the featuers we had developed. But we knew who deserved the real credit.
Nel's approach had sparked a revival of genius level programming. Developers started challenging themselves to code without immediately resorting to Google. Pair programming sessions became the norm, fostering collaboration and learning. People even began reading manuals. Not everyone could hack it though, but they eventually found their way into middle management positions.
I asked Nel one day why she preferred Emacs over the myriad of sophisticated tools available.
"Because it does exactly what I need...no more, no less," she replied. "It's just me and the code."
I haven't kept in touch with Nel since she moved on to greener pastures...or perhaps terminals. But I like to think she's out there somewhere, still coding in Emacs, still eschewing the trappings of modern development.
In any event, I was impressed enough that I've started relying less on AI assistants and more on my own understanding. And while I may never reach Nel's level of mastery, I still use VS Code after all, I did download the Vim Emulation plugin. I think I might do a lunch and learn once I finally master hjkl.
For those who don’t know this is a parody of The brilliant Story of Mel if you’ve never read it I highly recommend it!
Call To Action 📣
Hi 👋 my name is Diego Crespo and I like to talk about technology, niche programming languages, and AI. I have a Twitter, Mastodon, and Threads if you’d like to follow me on other social media platforms. If you liked the article, consider liking and subscribing. And if you haven’t why not check out another article of mine listed below! Thank you for reading and giving me a little of your valuable time. A.M.D.G