October 3, 2023

The Future is Now

It's 9:30 on a Tuesday morning. By all accounts, it's just like any other day working from home. Earlier today, you went on a walk and ran some errands, enjoying the freedom of your home office. With your espresso ready, you return to the same task from the day before: putting the final touches on a software development project. There’s just one minor feature to add before you can wrap it up, and move on to a new exciting idea you've been advocating for for the last several quarters.

Inspired, you fire up the IDE and start coding away. As you start typing out functions, the AI Assistant helps by suggesting the next couple of lines with pinpoint accuracy. It feels like it can read your mind, or at the very least, that you have a pair programmer buddy throughout the day. The effectiveness of the AI Assistant doesn't end with intelligent code suggestions, however.

As you discover parts of the codebase, you begin a chat session with the AI Assistant integrated into your IDE, and ask questions like "can you explain what this function does"? or "where can I find the internal docs for this library?". Once you are done, with the help of your AI pair programmer, you auto-generate unit and end-to-end test cases before you open a pull request for your team members to review. The PR description was autogenerated for you based on your changeset - you only have to make small tweaks to it.

It's time for your daily standup. Before the meeting, a status update was pulled automatically, so you can skip that part, and focus on the technical problems the team ran into yesterday. Most team members actively participate, as they didn't tune out listening to updates.

After standup, you open the pull request, and while you wait for your team members to review your change request, automation already sent suggestions for you to consider (not that same mistake again, huh!?). For this PR you need to get human approvals - if it was a trivial config change, you would have got an automated approval if all the checks passed.

As you wait on reviews, you use your downtime to check on your team health metrics - you do this, as your team is focused on improving their on-call health. You check these data points by using the same chat session with your AI Assistant as you used before to explain parts of the projects. You start by asking: "How many pages did we have in the last two weeks?", then you dig in more: "Who had more than two pages? What alerts caused them?". You make note of the answers: they'll come in handy to start a conversation with your team on the topics in your on-call handover meeting tomorrow.

Now that you have the required approvals for your PR, you land it, and it's automatically picked up by your CD to be deployed. You feel confident that your change won't break your product for your customers: traffic is slowly ramped up for your changeset, and it's being automatically rolled back if any issues arise because of it.

Looking back on your day, you feel accomplished: most of the repetitive part of your day was automated, so you could spend more time with what matters: collaborating with your team members and solve difficult technical challanges.

Did you like this article? Subscribe to get notified about new ones on engineering management, open-source and the web!
No spam. Ever.
Gergely Nemeth profile picture
Hi πŸ‘‹
My name is Gergely, and this is where I write about engineering management and open-source.
πŸ‘Ά β˜•οΈ 🚡 πŸ₯ πŸ‚ πŸ” 🐈 πŸ€ 🌁
For you