Tactical vs Strategic Programming, and why I'm nervous for juniors:
Good programming involves a mix of tactical and strategic decision-making:
- Tactical: on the ground, short-term. The soldier doing the fighting.
- Strategic: high-view, long-term. The general planning the war.
You need to be a tactician to write good code. To choose the right syntax. To figure out the file structure. To figure out how best to test your changes.
But you need to be a strategist to build code that lasts. To design the architecture. To automate away problems. To think beyond today.
Agents have eaten the tactical part of programming. When you can pay below minimum wage for code, there's no point going into the trenches yourself.
But AI cannot code strategically. Agents need someone at the top of the pyramid to tell them what to do. They need oversight.
So, a developer's day-to-day job has become 100% strategy. Long-term thinking, all the time. (maybe this is why I'm so tired all the time now)
If you identify as a tactical programmer - a code monkey - then you are out of luck. The job has changed.
Personally, I like it. I always preferred thinking strategically about code. If you asked me what my job was about, I'd say 'building apps', not 'writing code'.
But what makes me nervous is that we've pulled down the only bridge that brought juniors into the industry.
We used to train juniors like this:
1. Give them only tactical tasks
2. Let them build up their strategic experience slowly
Eventually, they are a good enough strategist that they are no longer a junior.
But what happens when all tactical code is written by AI? What is the point of a junior?
We obviously need juniors. We need new lifeblood coming into the industry. We need to leave paths open for extraordinary hires to enrich our companies.
But how do we train them? How do you train strategic thinking?
These are the questions I'm thinking about. I'd love to know your thoughts.
Just got back from Beyond the Prompt by @AGGrid and @Bryntum. Thanks, @swylviavargas, for organizing this wonderful event!
Met so many cool and inspiring people. London is where it's at for sure!
Two ideas I'm still thinking about:
@mattpocockuk on two modes of programming:
• Strategic: You're the general (AI struggles here)
• Tactical: You're on the field (AI excels)
@Mappletons on quality vs quantity:
What if we use AI to ship at the same speed but with much better quality?
Not just faster. Better.
ChatJS now ships with a desktop app
Build your chat app once, deploy everywhere. Based on @electronjs
Web, Mac, Windows, and Linux from the same codebase.