AWS Builder Center
My Journey with Amazon Q: From Inquisitive Student to AI-Assisted Developer

My Journey with Amazon Q: From Inquisitive Student to AI-Assisted Developer

An exploration of how the Amazon Q Developer Fundamentals badge transformed my view of software development, detailing the power of AI agents to automate complex tasks, from legacy Java upgrades to instantaneous DevSecOps code reviews.

Hi fellow cloudies! Entering the world of cloud computing can feel both thrilling, and a bit intimidating. As a matter of fact, when I initially decided to get my feet wet in the cloud, I felt that I would struggle to conquer this goal, but time and perseverance defied all the fears. Coming back to the real deal, the first time I saw the AWS Student Learn > Share Challenge, I knew I had to take the opportunity to explore more. I decided to pursue the AWS Knowledge: Amazon Q Developer Fundamentals badge, interested in all the buzz concerning AI and software development. I had no idea how much this generative AI assistant would change how I view coding, debugging, and learning. This experience was not just about skeeving a badge; this was a new way to build using AWS.

What I Learned: More Than Just Code Completion 🧠

My first thought about Amazon Q was that it was just another cosmetic code completion tool, but I quickly learned it is much more. The introductory module emphasized its potential to act as a partner throughout the Software Development Life Cycle (SDLC) - from the very first planning stages to updating older applications - while allowing developers to spend more time innovating.
Getting started was surprisingly easy. I didn't need a full AWS account to get started - I was able to dive right in with a simple AWS Builder ID to explore the free tier for students. Setting up the VS Code extension took mere minutes, and I now have an embedded assistant where I write code!
I learned to think of Amazon Q in two key ways:
  1. The Conversational Strategist: Through its chat interface (available across IDEs, the CLI, console, and even Slack!), Q became my go-to for brainstorming and understanding complex topics. Asking high-level questions about architecture or AWS services yielded clear, detailed answers, significantly cutting down research time.
  2. The Hands-on Specialist Team: This is where Q directly interacts with the code. Beyond real-time inline suggestions as I typed, the specialized agents like /dev (for implementing features based on prompts), /test (for generating unit tests), /review (for checking security and quality), and /doc (for updating READMEs) felt like having different experts ready to contribute.
One of the standout features I learned about was the /transform agent. This agent is a serious upgrade, aimed at modernizing legacy code bases - the hard work of the effort is being delivered. I saw how it could analyze an older Java application (potentially one using Java 8 or 11) and automate what could be a higher order transformation effort. It could automate the updating of the JDK, all the upstream default frameworks (for example, you could upgrade Spring Boot), dealing with altered code patterns (for example, javax.* packages moving to jakarta.*), managing dependencies, then running the project's unit tests. Importantly, this agent produces a summary and diff view to review everything before you push the transformation. While that was an extraordinary discovery, I had no idea it would do something similar for .NET Framework applications and help move them to a modern cross-platform .NET that runs on Linux. This feature turns potentially months-long manual refactoring efforts into a much more manageable, automated workflow.
The learning experience gave me a sense that Q wasn't limited to the IDE. Q is also in the Command Line Interface (CLI) space, too, allowing you to ask and engage in natural language with Q in the terminal. This means it was aware of the context of all of your project files and it would ask you for help or just generate the specific AWS CLI commands you needed without switching windows.
Also, Q goes into a critical area of operations and troubleshooting. By integrating with services like AWS X-Ray, Q can review application traces during failures, enabling teams to determine "what went wrong" during outages - a critical challenge in complex microservice architectures that can ultimately reduce downtime.
Many teams find the ability to train Q on a specific organization's private code repository (Pro tier capability) valuable. This allows Q to tailor its recommendations based on a team's libraries, APIs, and coding standards. Last, but certainly not least, is the fundamental skill of Prompt Engineering that enables the use of these features. Understanding the Prompt Blueprint - the role(s) that the AI is to fulfill, the specific task to complete, relevant context and the expected output format - is critical for maximizing Q's capabilities. A good prompt matters, and a helpful tip is to always include what you want, why you want it (the context) and how you expect it to look.

What Was Most Challenging? Learning to Ask the Right Questions 🤔

While Amazon Q is extremely robust, the learning curve was present. Initially, the most difficult aspect of using Q was changing my mindset from merely writing code to working with an AI.
In particular, learning Prompt Engineering took practice. My first couple of prompts were often too vague (for example: "fix this mess," or "enhance this") and yielded generic or unhelpful responses. I learned that I could be more prescriptive, using the principles of the 'Prompt Blueprint' to give Amazon Q the specifics it needed (such as relevant code snippets, error messages, and resulting output format) to get better results. Using Q as a tool, it felt less about tool usage and more about learning how to communicate effectively; - articulating what my needs clearly led faster and better results. The first suggestion was usually tempting to use but typically, and more importantly, I often achieved better results from getting Q to iterate - reprompting it based on Q's reference response. The conversational aspect of Q was powerful, but it also forced a type of patience and a shift in how I thought about solving a problem. My suggestion on this point: Don't settle on the first prompt; restate a prompt or provide a clarifying prompt!

What Was Most Rewarding? The "Oho!" Moments 🎉

Throughout this learning adventure, there were certainly many rewarding moments when I truly felt the power of AWS Q clicking into place.
The first came within moments of installing the VS Code extension. "What can AWS Q do for me?" I innocently typed in the prompt, and I watched it populate within seconds a complete list of all the things it could do for me in the editor. I experienced a real-time "Oho!" moment, and suddenly Q became a tangible tool rather than an abstract discussion.
The absolute blockbuster was understanding the power of the /transform agent. Realizing that just one command could take an entire legacy Java or .NET application and upgrade it into a complex program handling frameworks, deprecated code, and dependencies felt like an episode of Star Trek. That one instance of efficiency clearly exemplified how AI can provide the advantage of automating portions of work that consume a lot of coders' time and carry significant risk.
Further enjoyment stemmed from looking at CLI integration in practice as well-- imagining asking Q to generate a complex aws command in a natural language, compared to spending ten minutes pouring through documentation, felt like I had unlocked the ultimate productivity hack. Understanding that Q could be my sidekick during an operational event with high stress levels by looking at CloudWatch logs and X-Ray traces really exemplified that Q had value outside of programming-- it can be an important teammate for building and maintaining reliable systems.

What Do I Plan to Do Next? Applying AI to My Cloud Journey 🚀

This is not the end of earning this badge; it is definitely just the beginning! In my experience with Amazon Q, I realized how AI can speed up both learning and building in the cloud ecosystem.
I realized this even more after participating in the recent RU HealthHackathon. My team worked on a challenge in the Sevaro track and leveraged AWS services heavily. It was an intense and memorable experience for sure. However, I became fascinated by a different track, MedEd. For me, moving to MedEd was the next logical step for what I learned.
The MedEd challenge was on AI-Powered Feedback for Objective Structured Clinical Examinations (OSCEs) in medical education. The objective was to build an AI tool that would analyze video recordings of medical students completing a simulated OSCE with a standardized patient. The AI would provide feedback to students related to clinical accurate (e.g., diagnostic questions asked) and interpersonal skills (clinical empathy and clarity). The AI would provide consistent feedback also free from the bias that may exist in human grading.
As I think back on the project now, I can think of how tremendously useful it would be to have an Amazon Q Developer and services like Amazon Bedrock. Leveraging Q Developer would allow me to generate, debug, and optimize the Python code necessary for manipulating the transcripts and video data for the faculty observation; meanwhile, Bedrock's powerful foundation models to handle the Natural Language Processing (NLP) work of understanding the conversations, pulling out relevant clinical questions, judging the degree of empathy based on the language, and even summarizing the feedback for the students. Q would even help me call the Bedrock APIs into my application.
Engaging in a project like the MedEd challenge in a fun way to coalesce my cloud knowledge and the skills gained from the Amazon Q badge development experience. It also presents a very tangible goal of harnessing these tools to make something meaningful. Similarly, I plan to have my self-directed work include continuous learning opportunities with Prompt Engineering, so I can build my personal library of prompt solutions for common development scenarios.
Outside of these concrete projects, this experience has really stoked my interest in AWS. I am fully going to explore additional AWS Knowledge Badges soon, and I might eventually pursue the AWS Certified Solutions Architect Associate certification, and I will probably incorporate Q as an additional study route. For modern development workflows, integrating AI tools, such as Amazon Q, seems increasingly necessary, and I am excited to grow that skill set going forward.

Conclusion: Embrace Your AI Coding Companion! 🤝

I had such a great experience with the AWS Learn > Share Challenge. When I began working with Amazon Q Developer Fundamentals, I soon realized AI does not replace developers, it enables them. It acts as a knowledgeable guide, an extra pair of hands, and an expert troubleshooter – all in your development environment. It democratizes learning challenging AWS services, while also taking care of many mundane or even boring tasks so we can put more time into creative problem-solving and building creative solutions.
My best tip to other learners just starting to work with Amazon Q? Be curious, practice writing targeted prompts, and embrace the iterative process! Think of the interaction as a conversation and contextualize your prompts. The more clearly you communicate what you need, the more Q helps. Good luck with your own cloud adventures!
Credly Badge:  https://www.credly.com/badges/71c71d44-d2e4-40c6-8f9a-f9c1f513ec31/public_url
LinkedIn:  www.linkedin.com/in/karmvirsinh-p-0b3959111
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article