RSSAmplifier

Kirsle.net · May 6, 2026

How I use A.I. as a Software Engineer

0
Sign in to vote or save

kirsle.net

I've been a software engineer for basically my whole life, at least ever since I first taught myself to write HTML code when I was 12 years old, and in the modern era when Artificial Intelligence and Large Language Models are commonplace, I of course have adapted with the times, as I had done before whenever a new paradigm shift in the engineering landscape had come about.

In this modern era of A.I. vibe coded apps that get built and deployed while full of bugs and security holes, which then get trivially hacked in short order and the company's data all leaked online, I thought I'd write a little about how I, a career software engineer since 2008, approach the use of A.I. in my projects.

If you happen to be a junior developer just getting started in this space and relying heavily on A.I. to do most of your job, maybe reading about my approach to A.I. could be helpful to inspire you on a different way of doing it, and help you grow as a self-sufficient developer who uses A.I. only as a tool to automate the tedious parts but without it being a crutch that you rely on too heavily that you couldn't survive without it.

My Background

I taught myself everything I know about software development, and since 2008 I have been working professionally as a "full stack" software engineer.

In 2008 I was building web apps using Perl and old-school JavaScript (jQuery), and as my career progressed, I learned many other languages and frameworks, from Python to Go, Angular to Vue.js, I have used Amazon AWS and Google Cloud Platform, and outside of my day job I have always had many side projects and apps I built myself, and deployed them on my own servers and managed the complete end-to-end process all on my own.

Even while I was still in high school, I had written and launched many websites, custom blogs and forums, and even a MySpace clone, so by the time I was ready to enter the workforce at 20 years old, I already knew the full stack: back-end, front-end, deployment and systems administration.

All of that is to set the context of where I was coming from before A.I. came about.

I don't have A.I. in my code editor

For my personal taste, I have never wanted to have A.I. built directly into my code editor.

When GitHub Co-pilot came out and your code editor had A.I. built directly into it, I never touched that myself.

The only time that I had A.I. in my editor was when I was working at Meta from 2023-26. At Meta, they have a custom build of VS Code with a ton of proprietary plugins and integrations, and there was an A.I. built in, and it would've been more trouble to remove the A.I. than to just let it be.

I can see the appeal of it: at Meta I was building an internal app to manage licensed music and I was creating a data schema to store it, with fields like Title, Artist and Album. As I got started writing the first couple of fields, the A.I. automatically picked up what I was laying down and it suggested fields like ISRC, UPC, Copyright, Duration, Genre, and so on which were all fields I wanted to add and it was fun to be able to just hit "tab-tab-tab" and accept all the suggestions.

But again, for my personal taste I do not like having an A.I. in my editor. I don't want it inspecting my entire project's source code, I don't trust it to make large-scale refactors for me, I prefer to keep my separation of concerns and have A.I. over there and my code over here without the two directly inter-mingling.

I prefer to chat with A.I. instead

The way that I utilize A.I. is to chat with it separately in my web browser, or more recently, locally on my PC using LM Studio.

One of the first things I found A.I. to be super helpful for was database queries. When I have a complicated question to ask of my database, I can open a chat session with an A.I. and tell it what I want to do, and briefly describe my tables and their relevant columns, and it gives me a custom tailored solution made specially for my exact use case.

For example, on a social networking site I built as a side project, I wanted to pull some high-level demographics data about my users, counting them by age ranges and genders, and also mix in some high-level statistics about the content that those users generated on the site. And I wanted all of this to be done using a single database query. There were many tables involved and many different questions being asked of my database at once, but I knew it was more efficient to let the database do this work rather than have my web app gather it the slow way by making many separate queries.

Before A.I., I would have had to search Google and land on StackOverflow pages where others before me were asking to solve similar problems. I would have to first read and understand the StackOverflow question, to judge if their database looked anything similar to mine, and then read through the many answers, some of which posed much more complex solutions than the others. Now, with A.I. I can just tell it what I want out of my database and what my tables look like and it tells me exactly how to do it.

The A.I. doesn't need to understand my entire codebase for this. When I was learning Rust recently, when my code wouldn't compile and my usual trial-and-error to satisfy the borrow checker wasn't working, I would open a chat with Gemini and tell it just enough context so it can help me sort out the problem. I'd paste my struct and trait definitions, and the function or piece of code where the error occurred, and it would teach me about why Rust was unhappy and how to fix my code.

And that brings me to the next point...

I use A.I. as a learning tool

When A.I. does give me some code back, I don't simply copy and paste it into my project and call it a day. I study the code to learn from it, and I rewrite it in my own style. Since A.I. doesn't have my entire codebase for context, it doesn't know how I usually name my variables or how I like to write my code, but that isn't important.

I treat A.I. the way that I used to treat senior software developers back when I was learning how to code. I work with them collaboratively, in a chat context, to learn from them and not rely on the A.I. as a crutch.

After I had ChatGPT help me with some of those gnarly database queries I mentioned above, I started to learn what the general structure is, how I could compose multiple 'subqueries' or 'Common Table Expressions' and in the future I was able to write my own queries without asking the A.I. again for help.

By analogy with GPS Navigators

A part of how I approach A.I. today actually began years back when the iPhone was first launched (ca. 2009).

Back then, I was living in Los Angeles and my friends had the iPhone and Google Maps for navigation.

One day, one of my friends had lost or broken their phone, and they were driving us somewhere and they had no idea how to get there and had to ask one of us to help navigate for them. This friend was born and raised in Los Angeles, it was their hometown, but they had already come to depend too heavily on GPS navigators to the point where they were utterly useless at navigating anywhere without it. And we weren't even driving anywhere crazy, we mainly all hung out on the west side (Culver City/Santa Monica), on streets that should be well-known to all locals.

I took it as an early warning that I would not let myself depend too heavily on GPS and let my mental maps in my head atrophy.

Whenever I am driving to a new location for the first time, for sure, I will use a GPS navigator to get there. If it's a one-off or rare trip, that's OK.

When I am driving to somewhere for the second, third or forth time -- if it's an important place like a new friend's house, for example -- I challenge myself to learn the route to get there. I may use GPS the first couple of times, especially if there are many different intersections and turns to make, but if I am still using GPS to get there after that, I consider it to be a personal failure.

And this is how I approach A.I. today. A.I. can be a very good teacher and it can give me custom tailored solutions to my problems, but I use it first and foremost to learn, I treat it like a knowledgeable friend who can teach me things and make me a stronger developer.

But if A.I. were to suddenly disappear tomorrow, I would still be a self-sufficient developer who can architect a full app end-to-end, and I would be a little smarter having had the help of A.I., but I don't rely on it as a crutch; I could really take it or leave it.

Vibe coding an app?

I have only sometimes asked an A.I. to fully create an app for me from scratch, the so called "vibe coding" way.

I don't have A.I. built into my editor, though, so it was a chat session from which I copied the code out and the A.I. helped get me started on my project.

I wouldn't blindly trust a fully A.I. generated app, though -- A.I. makes mistakes, and many startup companies had found out the hard way when they vibe coded a social media app which had no security at all and hackers then trivially leak all their customer data from unsecured data stores that had no credentials set at all. A.I. is good at giving you something that "basically works" and does what you said, but A.I. often doesn't care at all about security or doing anything the right way.

The kinds of projects I had vibe coded were for small personal things, things that I thought would be mildly cool to have but that I wouldn't want to sit down and make a whole big thing out of. For example, a personal app to help me cross-post to multiple social media apps like Bluesky and Mastodon at once. To build something like that myself, I'd have to sit down, write all the tedious boilerplate that any web app needs, read through the API docs of each platform, develop and debug and test it all the hard way, it might take me a week. Or I can ask A.I. to get me started with a full single page app which already "basically works" and has the correct API calls and everything, and then take it from there and review the code, polish it up, fix the inevitable bugs.

But I'm not deploying an app like that to production, especially if it's a much more involved app having a back-end and many more source files than a self-contained single page app would.

Summary

In summary, A.I. is useful as a learning tool and I think the best use case for it is to help grow your own knowledge. Treat it like your own personal tutor. When it helps you with your project, don't just copy and paste it and call it a day, but study the code, ask questions about it, use it as a learning exercise to help strengthen your own brain and grow as a person.

A.I. has massively improved my workflow and made me a faster developer, even while I keep A.I. in its own chat window and talk to it out-of-band from my project. I have always been a "fast coder" and, because I write my code from scratch, I am automatically mindful about what I'm doing and the security implications of my code.

A.I. can save me hours of time when it comes to the tedious things, like integrating a third-party API or giving me a skeleton template for a complex feature to build on top of, but I'm not relying on A.I. to the extent that I deploy a buggy and broken project for it or to where I would be lost without it in case A.I. were ever taken away from me.

In recent months as the true costs of A.I. are beginning to show, a lot of hosted A.I. services are going behind steep paywalls, and they're holding all of the junior developers hostage -- developers who got started in their career by using A.I. and they rely on it too heavily, in the same way that my friends in Los Angeles rely so much on their GPS navigators.

Like everything else, A.I. is a tool and it can be used in good ways or bad ways. Hanging your entire career on using A.I. in the wrong way, to the point that you become "locked in" when the A.I. companies enshittify their products (in the same way that Uber, AirBnb, etc. have gone), and having no choice but to pay them any amount of money they ask for, because you are so dependent on their product for your own livelihood, is not a good way to use A.I. in my very humble opinion.

Copyright © 2026 Noah Petherbridge — All rights reserved
Hosted by DigitalOcean
Page generated in 0.0069s.

Read the original on kirsle.net

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.