Pages

Monday, August 24, 2026

Software Development With AI

 ... is enormously productive, within limits.

Among other things at work, I develop Groovy-coded customizations for a large Jira instance. Jira is the world's top project tracking tool. Groovy is a Java derivative that is used by a Jira plugin called ScriptRunner which allows you to access Jira's API and do anything you want. I don't have a development environment, so I work directly on the live production system. I have hundreds of users, tens of thousands of live tickets and a 10-figure gross budget worth of work riding on the use of Jira.

I joke that working on the live production system while people are using it is like fixing a car as its being driven down the freeway without the driver or passengers knowing. I've been doing it this way for years because my employers don't want to spend the money to get me an apprentice, much less pay for a development system and all that it entails.

C'est la vie. I rather enjoy it.

I have been using AI, read: ChatGPT, for almost as long as it's been around to help me with my coding. Being an old man, I didn't want to learn Groovy. I never learned Java and the whole thing sounded like a lot of work. As a result, I ask AI the same basic syntax and coding questions over and over until I learn by osmosis. I'm a perfectly adequate Groovy developer now.

I don't use AI to do system design. While not a real software professional, I have done enough large scale software design to see the picture of interdependencies in my mind's eye. I don't trust anyone or anything to modify it. An apprentice will change all that, after he gets a year or so of development under his belt.

As a result, AI works at the function level, within a class structure in Groovy. I use it all day every day by feeding it my source code and whatever error I might be seeing. I'd say it has at least doubled my output. Customers are getting features in half the time because of AI and because I don't ask it to do anything large scale that I don't understand, I maintain control over the design.

If I let it run wild and it made a mistake, I could end up with a database mass casualty event. Everyone's week would be ruined and my reputation irreparably harmed.

AI At Catican Bayou

At my river house in Alabama, my backhaul is Starlink. Mostly farm country, Baldwin County's fiber is sparse and data rates to the houses are DSL speeds. That's unsatisfactory for a VRBO. On rainy days, the guests will want to pacify their tiny tots with streamed episodes of Paw Patrol, particularly the ones where the puppy team cooperates with ICE agents and pepper sprays a pack of Democratic Socialists during a protest. A DSL connection would result in toddler tantrums and 1-star reviews.

A look at the river in Alabama as of the writing of this post.

Starlink does fine, giving me about 80-100 MBps throughput. I'm not anticipating hosting an OnlyFans site or downloading NOAA's complete data set, so 80 MBps is plenty. All I need is the ability to stream 1-3 videos simultaneously.

My internal network is a mesh system made up of 3 Netgear Orbi WiFi nodes. I use this at home and the mesh allows me much greater reach than a single WiFi router. I imagine I'm paying a throughput price for this, but it does the most important job, giving me a lot-sized footprint of good 802.11 coverage.

At the river, I installed a Raspberry Pi, affectionately known as Riverpi, to act as my controller. I added it to my small Tailscale network which includes my home Linux server, my laptop and desktop PCs and my phone. If you haven't heard of Tailscale, it allows you to create a VPN between remote systems. It's awesome.

Unlike my Jira installation at work, I allowed AI to write absolutely everything I needed on the Riverpi. I don't bother to read anything it writes. I think it's called vibe coding. I give it loose specs and then it treats me like a child and walks me through what needs to be done. When I encounter errors, I cut and paste the errors into my AI chat session and it works me through the necessary corrections.

As a result, with only a few hours of work, I now have a remotely accessible system that captures images from my ReoLink camera at the end of the boat house, serves up a page of weather data taken from some free Internet source, tells me the status of all the devices on my network by gathering information from my Orbi primary node and hosts a page telling me the status of the Riverpi.

At no time did I bother to understand what it was doing any deeper than absolutely necessary. I had AI walk me through setting up the Riverpi as a drive on my PC and laptop so I can access the files in /var/www/html from File Explorer. I open the sources in Dreamweaver and dutifully paste in whatever inscrutable nonsense AI gives me.

It might be good code. It might be a tangled mess. I don't know and haven't bothered to look. What it does is work.

Assessment

I would never, never do this at work. There is way too much riding on the success of that project. When customers find bugs, I can't trust anyone but myself to fix them. If the design ever got away from me, and right now, there are parts that are at the very limits of my ability to remember all I've done, I'd be cooked.

At the river house, who cares? If the thing blows up because AI told me to CTRL-A delete and I went along with it, I can just wait for my next visit, do a factory reset and start over.

From time to time, I ask AI to teach me this or that in Groovy and it always does a good job. Despite my best efforts, I'm learning the language and enjoying it.

I think that's the sweet spot for AI at work. Have it solve very small, bounded problems on a system you understand down to the nuts and bolts. Ask it to teach you small lessons you need to learn. 

Large-scale vibe coding is for hobby-level work only.

5 comments:

  1. Warning, this could get pretty geeky.

    TLDR: I got a lot of junk and use AI sparingly.

    Before retiring, I was at my last job about 5 years. It started out I was a Linux developer. That's what they called me. But I was an integrator. I wrote and maintained mostly bash scripts that did the unattended install of our suite of products. Starting with a custom kickstart of Red Hat, to installing Oracle including redundancy/failover, installing Web Logic, installing the java apps. setting up cron, third party add-ons, setting up backups, etc, etc, etc. All on 2-6 servers. So my code has installed RedHat and Oracle 10s of thousands of times, I have little doubt.

    Also, quarterly automated patching of the DB and Weblogic, without downtime.

    I didn't need AI for any of that, but then as people left and were not replaced, I got to do WIX installers on Windows, and ultimately, some C++ code to add some minor SSL stuff to the Windows app in the suite. All with 0 training.
    I only gave AI specific instructions for small portions of the code that was needed.

    After retiring, I decided to rewrite the web portion of a little database project I did for myself at home. And then had the idea of a database for the hundreds of pre-school books my wife has for her job. Sorting which box they were stored in, and having categories to label them with for look ups.
    The old web code was in perl, and the screen was ugly. I decided to use PHP, not that I knew it, but seemed like the thing to use. AI did a lot more for me there, but I read the code, and modified it, helping me learn PHP along the way.

    As to the Raspberry Pi, I used to use those for a VPN (I self host with OpenVPN), but I found the Pi too unreliable, the SD slot particularly was prone to failure, up time was problematic. I've ended up with a combination of little x86 palm sized boxes and old laptops as my VPN servers, using Ubuntu mostly. I've got a really old Lenovo with a failing wifi. I'm thinking of rebuilding a palm sized box with FreeBSD, just to get back to real Unix. Or maybe Fedora if that doesn't work out.

    I also have an oldish desktop computer with 64 gig of ram running Fedora. I used to have VMware on it, but it got too slow for that, so Fedora as a base and LXC for containers or VirtualBox to play with different GUIs.

    ReplyDelete
  2. You were always a professional at this sort of thing. Me, I'm more of a smooth-talking weasel who knows enough technology to fool the rubes and pick up the money. At best, it can be said that I know to type on the side of the keyboard with the buttons, not the smooth side, if you know what I mean.

    :-)

    ReplyDelete
  3. In all seriousness, I have a vision I'm trying to realize in several areas of life and I'm finding that AI is helping me progress towards different aspects of it much faster than I would have 20 years ago. I would have given up on the Riverpi project long before now if I'd had to learn every single step from man pages. My fiction writing would be far more primitive without AI as a sounding board. There's other things as well.

    If you already have a good foundation in the area, AI is a terrific tool. If you don't, it can be a crippling and seductive time sink that retards your growth.

    ReplyDelete
  4. Oh yeah, its a tool that can help for sure.

    I didn't mention, when I decided to retire, I wasn't ready to be completely done, I asked if they'd be interested in my staying on part time. My thought was I could train my replacement. They did, and I went down to 24 hours of pay. Which I *mostly* kept to under 30 hours a week.

    The punch line is they didn't replacement. They dumped my work on the rest of the team. Including the QA guys. So yeah, the same guys "writing" code are the ones verifying.

    The team was making the push to the next release, and asked if I would contract to help out that effort. I said sure, management said Claude can do it.

    About a month later, management asked the team to ask me if I would come back for what I was getting paid when I retired. I said no, I'd want a fair contractor rate (especially since I would need 0 training, and 0 come up to speed time, and health insurance is insane). They said no again.

    So, that's done. I still get headhunters on LinkedIn, but I think if I go back to work at all, it will be at the local hardware store, or big box store. Maybe at the micro-brew pub a 1/2 mile away.

    But, really, I've got plenty to keep me busy. My new toy car is home (Jensen Healey, was my late brothers) and I need to get the MG sold (probably won't happen until the spring).

    ReplyDelete
  5. The Jensen Healey sounds great! I love how management thought they could replace an experienced developer with AI and then found out they couldn't. I'd bet that's happening a lot.

    ReplyDelete