Integrated Concepts
AI won't replace your mentor, but it might be the only one available
software
ai
I have no one else to take a stake in my code
My work tends more towards product management, “dev-ops” tooling, and product<br>verification. We wear several hats at my job, so even the<br>Product Manager is spinning up VMs, testing out<br>features and bugfixes, taking escalation calls and working with service teams<br>to feedback product requests to the developers. Though perhaps he just has a<br>hard time delegating. And no we’re not a startup.
Anyway, over the last several years I have been developing more internal tools for<br>the product and deployments teams to use. These have evolved from smaller bash<br>or python scripts into full service packages, installable on our system’s OS for<br>ease of use. They are essentially miniature products in their own right, with<br>a backend and front end, state management and auth flows.
Maybe they have less tests than they should…
With these increasingly ambitious projects, I’ve also found myself trying to<br>learn more about system design practices, algorithms, and how to structure the<br>code to help make it more maintainable (even though at this time I’m the only<br>one that works on it). I copy patterns from our product services; we<br>utilize a microservice architecture, though most of the services are far from<br>‘micro’ at 14 years in. I also attempt to engage our developers when possible to<br>see if they can provide any feedback or guidance on my decisions. And that is<br>where I tend to hit a roadblock.
I’d like to be clear that in no way do I feel entitled to anyones help. Everyone<br>has their own priorities, and unless your work overlaps directly with someone<br>elses, chances are they wont be able to find the bandwidth to help you with it.
So it becomes hard to find professional input on my problems. Our team is close,<br>we go to lunch together, go out for drinks, message outside of work, but<br>the software I’m writing does not excite them. It doesnt tie into their work,<br>which is more directly tied to the product as opposed being a “side” project.<br>So they dont tend to offer a lot of input on it. I ask them about whatever problem I’m<br>working through, and they do occasionally listen and give some feedback,<br>but its not with any passion. It cant be.<br>They’re not engaging on the core problem, trying to identify gaps, wanting to<br>look at the code with me to see what I’m doing or what I can do better.
Perhaps one of the more annoying aspects of this dynamic is that I get a lot<br>feedback focusing more on criticizing the decisions made, rather than trying<br>to understand why those decisions were made and guiding in a more appropriate<br>direction. Maybe its due to lack of time, its easier to tell someone what they<br>are doing isnt how you would do it, rather than working through an alternative<br>solution.
Here are some quotes from a recent interaction:
this project doesnt matter, so you can do whatever
this seems complicated (with no follow up on how to improve)
im speaking from experience which you dont have so just trust me
The last one being particularly harsh, since I started self-teaching myself<br>software and putting in the work since 2018.
Writers Block
Maybe its a lack of confidence, or a lack of experience, but when I find myself working<br>hard on something with little or no feedback on whether or not the approach I’m taking<br>is sound, I hit writers block. It becomes impossible to figure out<br>what that next move should be:
How should I approach the problem?
What are the best practices when dealing with this pattern?
Is this going to be extensible? Maintainable?
I understand that at a certain point you just have to build it and<br>make it good later but as someone trying to improve in these areas, getting a<br>concrete step forward, no matter how minimal, can make a big difference.
With AI I have a sound-board
Another voice that can have a discussion around the problem and<br>consider my context; a stakeholder.
Its not that I like being told “you’re absolutely<br>right!” (in fact, I use the caveman skill<br>with Claude to remove the sycophantic responses), but I have something that can<br>help me get to the next step in the process.
AI will:
understand what I’m trying to achieve, and relate that what I have done in the past
provide some back and forth on specific implementation ideas
not assume the decisions I’ve made until this point are bad, or misinformed
provide code review
This makes it a lot easier for me to work through writers block. I am no longer<br>getting several different opinions on what to do next. I’m not getting flack<br>for making decisions that seem bad at the surface, but perhaps were necessary given<br>the project scope. I’m able to get concrete responses on what to do next, how best<br>to move forward past the current hurdle, and what the possible ways are to handle...