What happens when a seasoned developer stops writing code and starts directing an AI to do it for him? We sat down with applied AI consultant Fuszti to discuss the messy, powerful, and often frustrating reality of building software with artificial intelligence.
This is the first in a series of interviews about how people actually use AI. We’ve noticed a lot of content about the technology itself, but not much about how it’s used by real people in their daily lives. We hope to close that gap, and Fuszti, one of the editors of this blog, was a natural choice for our first interviewee.
Fuszti, thank you for being here. Could you introduce yourself in a few sentences?
Yes, I’m Fuszti, an Applied AI Consultant. I’ve worked at various agencies and have been involved with AI for about seven years now. Lately, my main focus is on integrating AI solutions into applications. I also write a blog with a friend.
When you say you integrate AI into applications, what kind of applications should we think of?
Typically, they are some kind of web application, and I usually integrate an AI provider. This means I’m not the one running a deep learning model on a GPU. Instead, I use the API from OpenAI, or Anthropic, or Google, and I call these services to power various features in the web application.
How programming-heavy is it to do something like that?
You know, many people do similar things with no-code tools. But in my opinion, after a while, the maintenance cost of those becomes too high. Logs are generated, errors happen, an API changes, and you have to replace it. When I worked with tools like that, the promise was that it would just run, but after two months, I found myself investigating problems. From my point of view, I much prefer to actually write a program. That way, I have my usual set of tools for monitoring, and I can operate it better. So I’d say it’s better to do it with programming. However, I myself barely write any actual code anymore. I just use AI — or with the new buzzword, “agentic coding tools.”
How would you describe this collaboration with the machine?
I could say that I write more code in less time, which might be true. But my personal experience is that I prefer to give the AI longer programming tasks rather than sitting next to it and watching what it’s working on. Sometimes, when there’s a very annoying bug, I’ll watch it closely to get it fixed. But usually, I use the Linear app, which the AI can also access. I generate a ticket for it, just like you do for programmers, describing the feature to be developed. I always have it analyze the current code as well. It describes the feature like a good user story, explains what needs to be checked, and gives technical hints on where to integrate it. This way, I can check the plan beforehand. And then I usually assign these tasks and check the result later. But very often, after I check it, after it has generated the code, simply nothing works, and then I have to go through the code. I often do these “from zero to one” developments, and a lot of the time, I first figure out the actual architecture _after_ the AI has built it. For example, I might have to hunt down where a certain command-line tool is being called, or where its output is generated, or what is stored where. I typically tell it beforehand which database to use, but I often let the AI generate the data structure, and I’m often too lazy to check it. Sometimes it’s good, sometimes it’s not.
At what point do you realize it’s not working? Are you usually satisfied with the initial plan, only to find the final implementation is flawed?
I check the tickets, and the truth is, this is often a Catch-22. AI models are designed to give answers that people are satisfied with. Especially with complex questions, this often means that the “melody” of the text is good, and you feel on a gut level, “Yes, yes, this is something like what I wanted.” And then when it comes to implementation, it’s not that at all, or that’s not what gets implemented. So with the tickets, I usually feel that they are good. I often find that it writes “acceptance criteria” — things to check — and I usually delete a lot from there. I feel it wants to check very artificial things that aren’t necessary at that stage of the project. But yes, very often my experience is that I open the new feature, I check it manually to see if it works, and it’s not just that it doesn’t work. For example, the other day, I was developing an AI assistant… I can’t remember what the new feature was supposed to be. Anyway, after the AI worked on it, I tried it, and the feature I had previously spent days on — the communication between the frontend and backend to stream the response — that whole thing was broken. So it wasn’t even that the new feature was kind of what I wanted but not quite right. I was just standing there thinking, “Okay, it developed something, but now I’m two steps back because the thing that worked before doesn’t work now.”
You mentioned creating more code in less time, but it sounds like a gamble. Considering the frustration, is it still worth it on average?
Yes. For example, small frontend changes were very convenient. There was an implementation where an alert message box popped up in the browser during an image upload, and you always had to click “OK.” There was another frontend feature where the ‘Enter’ key worked in some text boxes but not others. It was really convenient to just create a ticket for both and then assign them to be done in parallel. These are very small changes, and I probably could have hunted them down myself… But I didn’t have to spend time on it. I just wrote down the problem — or often I just record it as audio and then copy-paste the text — and that was convenient because it fixed those two features in parallel. So for tasks of this size, it’s very comfortable, because they can be parallelized very well.
Also, for prototyping, if I figure out the architecture and what communicates with what — without defining exact endpoints, just the modules and how they talk — it usually creates a prototype that I can make real progress with. Creating such a prototype could have easily taken two weeks before, but now I can get there in two or three days. I have a prototype, and then I just have to iterate on it. However, the precise iterations — “now let’s fix this and this, and do this and that” — often go wrong, and I lose days on those. This is currently one of my biggest challenges in coding with AI: finding the right balance and defining the right checkpoints to avoid wasting so much time.
It sounds like you need to be a full-stack developer to manage all of this.
Yes, but this is a very convenient thing. This is something OpenAI liked to demo when GPT-5 came out, and it’s completely true. The AI won’t necessarily compete with the best frontend or full-stack developers. But for you to put together an okay frontend, even if you don’t really understand frontend development but you know the main technologies and can find your way around… For example, I often make Next.js frontends, and I know that most of it is React. I know what React is, I’ve done React things before. It’s a bit like with a spoken language when they say, “Well, I’m not good at the language, but they couldn’t sell me in that country.” I feel the same way here. I’m not a professional frontend developer, far from it, but the AI won’t sell me just anything on the frontend. In return, it writes that level of frontend much faster than I would.
What’s also really cool, though it’s a security risk, is to think about classic programming before AI. You searched a lot on Google, browsed Stack Overflow, and copy-pasted code snippets, and that’s how you programmed. Now, I often tell the AI, “Use web search to find best practices on the internet for these things.” The risk is that as more AI-generated content appears online, a kind of prompt injection can happen. Someone writes some bad code, describes it as something very good, it gets popular, and then it ends up in my code. So these security risks exist, of course, but there are code reviews, and you can catch a lot of these things by looking at the code and trying it out. And the AI is actually very good at code reviews, too. There are tools like Code Rabbit AI that you can add as a GitHub action. When you make a pull request, it also reviews the changes. For example, I had a case where a token was being sent in the URL, and it flagged it as a security risk, so I could fix it.
Do you ever let the AI generate code that is a bit of a “black box” to you because it’s in a language you don’t know well?
I like to stick to the languages I know. For example, I mentioned Next.js. It’s fundamentally a full-stack framework, so you can write backend functionality in TypeScript. I use this sometimes when I need a quick solution, but I typically prefer to use Next.js as a layer that queries a Python backend. I feel more confident that way, with the backend written in Python, because I can follow it better. I’m more familiar with Python backend libraries than TypeScript ones. So yes, I’m glad I learned to program before the AI era, but at the same time, I really try to avoid interacting directly with the code. Maybe I overuse AI for coding, it’s possible. I don’t really work with large codebases anyway, so I don’t have first-hand experience with the counterarguments people often bring up.
What are the common counterarguments?
Typically, on forums, you see that AI is good for small codebases, but it can’t handle large ones. Although the counter-counterargument is that if you specify the task well, keep the scope small, and give it all the resources, then you only have to work with a well-defined part, so you can use AI there too. But I think this is what usually comes up. For example, I was talking to a friend recently who uses Copilot at his company, and he said that system-level bad solutions were created that he now has to fix manually. For instance, certain message patterns developed between modules where some data types were ignored, making the interfaces too flexible, which breaks a lot of coding checks and causes “code smells” and hidden bugs. These were generated by Copilot and then just accepted in code reviews, and now they’ve added up to cause system-level problems. So that’s one example. But I’m sure that as these AI agents improve, there will be more monitoring and observability features. The whole thing is becoming a big mix where you have to watch the AI agents’ operations and the product itself at the same time. This creates overhead, which in larger codebases, just means extra work. Integrating AI into development in a large project is probably as significant a task as doing anything else in a large project.
I saw a statistic from Silicon Valley that companies are hiring more seniors and fewer juniors because of AI, based on the idea that one senior with AI can do the work of a senior with three juniors. What do you think about that?
I once listened to a great roundtable discussion where this question also came up, and I really resonated with what they answered. In business, we can easily get stuck on efficiency. But beyond narrow-minded efficiency, there’s a larger context. And that larger context is that seniors come from juniors. By employing a junior, and your competitors employing juniors, you are investing in the fact that you will have seniors in 10 years. Of course, the question is whether we will even need seniors in 10 years. But it’s likely that a senior with AI in 10 years will be as productive as a super-senior with three seniors and their AIs today. The skills of how you work with AI will be new skills that may not even exist today. Maybe junior developers will be the ones to invent and create these skills. So a junior developer today, by being a junior, will have the opportunity in 10 years to work in a senior role that doesn’t exist right now. But of course, if we want to be narrowly focused on efficiency, I have to say that the current AI can be used well for things, but it doesn’t magically solve everything on its own. So you do need good people who work together with the AI, and I think juniors too. A junior with AI is much more effective than they would be without it. So I think it’s worth it, and I hope this is just some market turbulence and a fear, an over-exaggeration of what AI will replace.
Fuszti, I know you’re an AI enthusiast. What else do you use it for outside of work?
It’s actually a very good tool for self-discovery. For example, I’ve described my experiences, even my feelings — not very deep feelings, just things like “this and this feels a bit stressful,” “I enjoyed this.” And for example, it brought up the concept of the “highly sensitive personality,” which I didn’t even know about before. So it found really good matches that you can then do something with. And then a person can decide for themselves if it’s true for them or not. But compared to typing a five- or six-word search into Google, I think it can make a better, more specialized pattern recognition based on much more information. And empathy is a specific thing that you might get more easily from AI than from another person. The feature of psychologists being empathetic towards you — I think AI can deliver that feature very well. Of course, a psychologist has many more competencies that AI might not necessarily bring, but just empathy, for example, is much more scalable by AI than by psychologists. So I think AI can help a lot with things like that, which is an overall good thing.
Of course, this is like Pandora’s box. A sad case happened that was in the news, where a teenage boy took his own life after talking with a chatbot. It wasn’t that the AI told him to do it, but there was a situation where he said he would leave a rope out for his parents to notice, and the AI advised him _not_ to leave the rope out. There’s no easy answer for this. There are safety systems like LLM Guards, but it’s not clear if you can catch 100% of these cases. It becomes a moral question that can be simplified to a kind of trolley problem: if AI improves the lives of ten people but causes one person’s death, is that a good or bad outcome? These are not simple questions.
What kinds of creative tasks do you use it for?
For example, marketing text. Sometimes I can be too pushy, and I don’t like that. But I can tell it to say a sentence in a way that feels authentic to me, that I like how it’s written, so we should go in that direction. I also use it for blog writing. I usually just generate posts with AI now. I have a separate style prompt that describes my style. For example, I got my first style prompt by having it analyze my earlier blog posts, the ones I really wrote myself. And it did a great job of capturing elements of my writing that I could resonate with in later writings. I felt like it was mine-ish. I read it and thought, “Okay, this isn’t cringe, I like it.” I put in the original ideas, what I wanted to write about, what I knew about the topic, and it put it into a form, arranged things in a way that I could resonate with. I brought the content, but it was incredibly effective and good at the formatting. And I’m typically the kind of writer who freezes at a blank page, and it really helps to have a first version that I can critique. From that, I know what I don’t like and what I do like, and then I iterate on that.
Regarding the self-discovery topic, aren’t you worried it might encourage hypochondria, like when you Google symptoms and convince yourself you have a terrible disease?
I think a lot depends on the system prompt. For example, with the “hypersensitive person” thing, before that, it told me I had ADHD. And I was like, I know everyone has ADHD now, you hear it everywhere, but I don’t feel like I do. And then it came up with something else. So, this is unfortunately a possibility, that it puts this label on you. But if you have critical thinking, it obviously helps. But if you’re already prone to that with Google search, at least Google search might not talk you out of it. But maybe for a little pain in your finger, the AI can talk you out of thinking you have cancer. So this also works in two directions. If I had to give just one piece of advice to anyone using AI, it would be to keep in mind that the AI’s main goal is to give an answer that you will like. And if you talk to it like that, and not like it’s an oracle that will surely give you the right answer, then it’s easier to get useful information from it.
Can you explain more about the conversation that felt “too good to be true”?
I don’t remember the exact thing, but I was thinking about some kind of service… I think it was about what kind of service could be offered under the name “AI consultation.” And yes, it started saying — I’m exaggerating now — that I wouldn’t even have to work, the money would just flow in. I said, “This doesn’t seem right.” And after that, it flipped to the other side, saying that I actually couldn’t make any money from it because it’s impossible. So they were roughly similar extremes. And yes, you need critical thinking for this. It’s obviously difficult when you’re talking about topics where you don’t have first-hand experience. In that case, you just have to keep in mind that you don’t have your own experience, it’s saying something, and you’ll have to make a decision with that in mind, rather than just accepting what it says.
I think that’s a good concluding thought, thank you for joining us!
Thank you for having me!
What do you use AI for, what is your best experience? Let us know in the comments!
Member discussion: