An Engineer’s Perspective: The Individual Contributor Adapts to GenAI

Intro

Prompt Engineering is clearly the skill to be investing in. We all use natural language; this affects everyone, just like the arrival of the internet. It’s that big. In my first article[1], the focus was on the role of the software engineer executing DevOps workloads (GitHub Actions, AWS, Terraform) and how adoption of natural language tools (GenAI) can positively extend a software engineer’s abilities.

Recap

Let’s restate the core findings. Firstly, the level of abstraction is higher, and the software engineer must adapt their workflows to focus on guidance, delegation, validation, and acceptance of Generative AI outputs. Prompt engineering has the techniques to help you get there. You, the engineer, must take responsibility for the code produced using GenAI. Writing code is actually a boilerplate activity. Use GenAI to do more critical thinking.

Generalization

Clearly, GenAI is a game-changer at a revolutionary scale. I would like to expand on the previous conclusion and expand the scope. Prompt engineering is going to be the essential skill going forward for all professional individual contributors, not just IT professionals.

Why? Because when you have a clearly defined problem with a well-formed idea of how you want to achieve it, GenAI can remove 80%+ of the boilerplate task(s) associated with the work (writing code for me) and produce a generally more robust, better solution first time. This is from personal experience. GenAI allows me to produce not just good code, but better engineering solutions. There is a change in the mental activities associated with writing software, with a noted shift to more critical thinking away from procedural thinking and logistics.

In the original flowchart for the GenAI development model I have been using for myself, I noticed that there is actually very little to do with a coding task in the second step, development (work). Let’s revisit that diagram with a focus on the individual contributor’s work on a generalized project.

traditional approach

Generalizing to a common workload, we can see that GenAI fits well with the individual contributor model, as one might expect of a conversational-based tool. Yes, GenAI is an amplifier, not a complete replacement for the critically thinking individual contributor (presently), and remember it takes two to have a conversation. This is a great way to conceptualize it:

traditional approach

Using GenAI can happen anywhere we have conversations, documentation, and individual contributor workloads. I focused on the development work as that’s where I tend to live as a software engineer. This is the power of GenAI’s interface - natural language. A lot of this is in flux right now; for example, how does a team work together with GenAI? However, it should be apparent that as an individual contributor, concentrating on your prompt engineering skills is a solid start to working with GenAI, whatever path you are following.

Adoption

There are many technical guides which will help you on the way; I particularly liked this one[2]. And reading documentation, getting help through classes or certifications, or just using the good old internet are all good places to start. Eventually, it will be you, your work, and a prompt. Here I discuss the insights I have gained through my prompting.

The mental task of reading dramatically increases when your GenAI work is going well. This is a sign you’re spending more of your time critically thinking, the number one skill of a professional individual contributor! Keep an eye on the type of work you are doing; for example, for a software engineer, if you find yourself writing source code - stop! You are no longer delegating the work to GenAI; you are doing it yourself. Interestingly, delegation is a top management skill for any profession, and now you have an opportunity to practice that skill daily.

Start work on an existing project so you can focus on your prompting skills. I found that intention and detail matter - know what you want. Your comprehension and understanding of a workload are used to guide GenAI to a solution; it is you who must accept that solution. And if you accept that solution without validation and review, then you are effectively taking GenAI’s word for it!

GenAI is as good a conversationalist as you will let it be. I mentally frame my conversational interactions with GenAI as interacting with an absolutely brilliant, but native new-hire software engineer. So my intention needs to be clear and presented in well-crafted instructions that will be refined and leverage the building of context as time progresses with the prompt engineering session.

Amplification works both ways

Both the good and bad get amplified. I have found coding rabbit holes to be a lot more elaborate in their makeup, and errors can be very subtle. This I put down to the amplification of the rate of change that the software engineer can effect using GenAI. Intuitively and in practice, it’s clear you can iterate at a much quicker rate and therefore produce more code in a shorter time.

Because of the high level of abstraction, when things do go wrong, they can be dramatic in nature, leaving you feeling lost and without understanding or direction. This is where you need to get comfortable with the level of change you are prepared to work with. I have found the grander and bigger the request I make of GenAI, the worse the results have been. GenAI is not going to build that retirement-worthy e-commerce website for you, and if it could, why would yours be any different from anyone else’s?

Conclusion

Working with GenAI is a unique experience that is going to have repercussions for our spoken word and languages. Why should you say please or thank you to a language construct? Are you not just wasting time? For me, this becomes a question of style and what works for you as an individual contributor. If you’re getting the results you need or better, run with it! The nature of conversations is to evolve with new events or to become irrelevant and fade away; the same will happen with your prompting.

There are as many styles of conversation as there are people on this planet. When you view your GenAI interactions as a conversation, your level of participation becomes clear. You get what you put into it. The individual contributor should take comfort and satisfaction from realizing the following fact(It’s worth restating):

traditional approach

I can’t help but wonder what linguistics experts make of such technically driven adaptations to our natural languages…

Resources

  1. https://www.linkedin.com/pulse/devops-perspective-how-genai-makes-me-better-engineer-peter-hornsby-nkskc/?trackingId=rtU4RBA3Bkc3EB1w%2B3ctWg%3D%3D
  2. https://learnprompting.org/docs/introduction?srsltid=AfmBOor1XZA8a51fJZAxPmAVwE9Rb9iAePngY_RWelbHRZSNBWrLZ-g9