When you get good at fixing things, you worry less about breaking them.- Alex Lindsay
It is the 1980s. I am in grade school. Math consists of memorizing multiplication tables and performing long division. I wonder why I am asked to do this. I have a calculator. My watch is a calculator. It stores up to twenty phone numbers. The teacher informs me this is important because I cannot always depend on having a calculator with me. Yet, even in the 1980s, I already do. It is the 2020s. Everyone carries a far more advanced calculator in their pocket, embedded within a phone. The teacher was wrong.
It is the 1990s. I am in high school. I have a TI-81 graphing calculator, though to me, it is not for graphing. It is for programming. In Pre-Calculus, I write a program that, given three points, determines the equation of the circle that passes through them. I show my teacher. She tells me using it on tests and homework is cheating. I write many more programs. I show her none of them.
The next year, in Physics, I write a program that solves for speed, distance, or time, given two of the three variables. It shows the work. I show my teacher. He is impressed. He tells me using it on tests and homework is cheating. I use it on both. It is not cheating.
It is the day of the AP Calculus exam. I am not allowed to bring my TI-81. I am allowed a basic calculator. I also bring a slide rule. The proctor laughs. I do not know how to use a slide rule. The next year, students are allowed to use graphing calculators; I would have done better the next year.
It is the early 2000s. I am in college. I take courses on cryptography and cryptanalysis. I write programs for the Sieve of Eratosthenes and the Pohlig-Hellman Algorithm on my calculator. I show my professor. Something has changed. He is delighted. He asks for copies. He challenges me to implement the Lenstra-Lenstra-Lovász algorithm.
It is my first job interview. I am given a complex optimization problem and asked to solve it using C++ on a whiteboard in under thirty minutes. I succeed. I am offered the job. I accept. At no point in my job is writing functional C++ on a whiteboard ever required.
Okay, let me step back. For anyone who read those paragraphs and delighted that I was making a reference to the Watchman comic book and how Dr. Manhattan talks while he is experience non-linear time on Mars, you get bonus points. I mean, I wrote it linearly, so not an exact homage, but you if you got, kudos. Here is the real deal, the fact that I was able to use my TI-81 programmable calculator and write programs to solve problems more efficiently and double check my work was not cheating. A professor who considered it cheating was a ludite.
When I interview candidates today (and in the 2010s), I give them a coding problem to complete, send back to me, and discuss in the interview. Back then, the instructions included:
- “If you are confused about the problem, please ask me for clarification. In this job, you will be allowed to talk to your coworkers.”
- “Feel free to use Google. In your job, you will have access to the internet to be successful.”
But in recent years, I’ve had to add something new. Can you guess?
- “Feel free to use an AI assistant to help you write the code. I will still ask you questions, so make sure you understand what it’s doing. In your job, you can use AI to be more productive.”
I’ve spent my career on the bleeding edge of technology, and if there’s one thing that’s always set me apart, it’s using every tool available to be more efficient. We don’t expect builders to construct a house without a power drill. I don’t expect software engineers to write production code on a whiteboard.
Every new technology changes the game:
- Electric cars replaced most horse caretakers—but not all.
- Vinyl printers replaced hand-painted signs—but not every sign.
- 3D printing replaced delicate machining—except where precision still matters.
AI is no different.
In my field, Python is everywhere. And yes, Copilot could generate 80% of the code I see just fine. But then there’s the artisanal software engineer—the one writing high-performance C at the core of the system that AI won’t master anytime soon. Could AI functionally write that code? Yes. Would it be as efficient? Not currently.
Me? I’m a systems integrator. I write glue code in whatever language is required. And with AI, I can now do it 10x faster in languages I’ve barely touched before. This isn’t cheating. This is modern software development.
p.s. Please don’t ask me to write syntactically correct code on a whiteboard unless I will do that in my job.
p.p.s. I can defend my work.