It was weird, let me start with that.
The engineering manager at work has me on a new project; it’s going to be a new app, entirely from scratch. No legacy code, no tech debt. New.
Our team hasn’t really worked with Python before. I have, it’s my favorite programming language, but our previous apps have been Java with Spring Boot. I’m not super clear how we got fortunate enough to be able to change direction like this. I think the data scientists like it (though I think, maybe they like “R”, too?).
The engineering manager, knowing I know Python, asked for some framework suggestions. I mentioned Flask, the one I use for my home projects. I mentioned Django, too, and FastAPI. They didn’t know about any of them, so I did some research, thought that FastAPI seemed like the hot stuff these days, so I suggested that.
“Fine,” he said. “Write a proof of concept app in FastAPI.”
Sure. Well, I said I could do it. Fast.
So what would such an app be? Well, it should implement a REST interface. We’re going to have an Angular UI, and, unlike JSP (Java Server Pages), there is no tight connection between the front and back ends. REST (Representational State Transfer) provides a meeting point between the front and back end that defines a few methods — GET, POST, DELETE and so on — that the UI can call, and the API can respond to. It doesn’t really matter what language the back end is written in, nor the front end. As long as everyone agrees on the REST.
So an app would need to add records, read records, read all the records, delete records. The records could be locations. We’d add a record — POST — with the city and state. The back end would allocate a unique ID, and we’d store that in a database. After that, it’s easy. GET ALL — read the database. GET LOCATION — read just one record.
But I wanted to show we could call external services, so I made a Geocod.io account and got an API key to turn a location into a latitude and longitude, and I got the weather API from the National Weather Service. So we could add a city, find out its location, get its weather.
This is not the hardest app in the world to write. I could do it in a day. But it wouldn’t be pro, it wouldn’t be documented, it wouldn’t be something I could show to a new team. It would just be something I tossed together in a day.
So I figured… I’d ask Claude. Claude Sonnet. The code bot that wants to replace me. I outlined what I wanted — a series of layers. The Location object and its fields. The kind of REST I wanted to build. A database abstraction layer so I could plug this into Aurora or Dynamo later. I wanted the files to be organized corporate. I wanted tests throughout. I wanted documentation.
I asked for all these things, and it produced. It would write some code, then test it until it worked, then write some more, test it. When the basic REST worked, I introduced it to the idea of the services I wanted. I needed a secrets manager for my API keys. It took that and did more writing and testing cycles until it all worked; I could enter Hartford CT as a location, and it would tell me it’s cold outside.
I might have known that.
The file organization wasn’t how I liked, so I told it to put all the tests in a tests folder. Then for the documentation. I asked it to generate an onboarding document I could hand new developers that would bring them up to speed on asynchronous service calls with Python, making REST handlers and responses with FastAPI, interfacing with the database and so on — organized in order, with links out to web sites and YouTube videos that would explain everything. It made documents for the architecture I could show my engineering manager, a full test suite.
It was pro code. I could have written it, but instead Claude did, and it took about two hours from the initial prompt until production ready.
Now I have something I can present to management. I started looking into integrated regression testing packages. I’m doing my job — being a tech lead. And Claude was doing the rest.
People worry that senior developers will keep their jobs when AI takes over, while code bots will take over the junior developer jobs. No more junior developers, no more senior developers, no more senior developers, no more developers who know the right things to ask the code bots to do.
It’s going to be a different world. Three years ago or so, when I started using Copilot, I didn’t think code bots would be able to make production-ready code. Now, I’m not so sure.







Leave a Reply to TipaCancel reply