How our Associates are using AI tools: Advice for early-career developers
August 13, 2024At Michigan Labs, our Associate program offers college students and early-career developers the chance to work with a technical mentor on real projects — usually during the summer.
Our mentorship goes beyond teaching programming; it’s about learning how to work effectively. Our hybrid work structure helps early-career developers build good habits and a strong collaborative foundation. For developers, this includes learning how to research problems, communicate progress, and identify next steps.
Developers have relied on tools like Google and Stack Overflow for answers. But now there are faster, AI-powered options. Using artificial intelligence (AI) tools well isn’t something typically taught in school; it’s learned through hands-on experience.
This year, I ensured our Associates had access to these tools and encouraged them to experiment with them. While I’ve been using AI tools for several years, our Associates are at an earlier stage, facing different challenges and discovering unique benefits.
In the post that follows, Nick and Ashlyn (two of our 2024 Associates) reflect on their experience with AI tools in software development. Together, we hope to help others early in their careers understand and embrace these tools from a beginner’s perspective.
Here are the questions that Ashlyn and Nick have responded to:
What ways have you found success with AI tools?
How have they impacted how you research problems?
How have they been a challenge or hindrance to your work?
What advice would you give someone using them?
Any overall thoughts or observations you’ve found interesting?
Ashlyn’s responses #
With most technological advancements there are two extremes: some believe it will be a “salvation” that solves many problems, while others fear it will lead to disaster. However, I’ve found that the truth, especially with AI, usually lies somewhere in between.
AI has quickly become part of my daily work as a software developer — mainly through conversations with colleagues and clients, and by using tools like GitHub Copilot and sometimes ChatGPT. I’ve had great success with Copilot, which differs from ChatGPT by providing contextual answers based on active tabs and specific code snippets. It’s like a “Google for software developers,” but more efficient because it eliminates the need to sift through search results — focusing on relevant solutions within the project’s context.
Copilot also offers code implementations or pseudocode alongside its explanations. I find it most effective when combined with Google — using Copilot as a starting point and then deepening my research through Google’s vast documentation and resources like Stack Overflow.
In addition to its chat feature, GitHub Copilot’s autocomplete and suggestion tool is incredibly useful. As developers, we often need to create repetitive functions or expand on complex structures. Copilot excels at recognizing patterns, allowing it to complete these tedious tasks in seconds with just a tab. Since time is money in any field, this feature can be invaluable when used effectively.
The challenge with AI tools (like GitHub Copilot) lies in how we use them. As I mentioned before, AI is neither a savior nor a threat; it’s simply a tool.
Like any tool, its value depends on how it’s used and the skill of the user. Copilot isn’t perfect — it won’t always provide a correct answer, and sometimes it won’t have an answer at all. The biggest risks are dependency and laziness. Dependency means giving up when Copilot doesn’t have a response, instead of turning to other resources like Google, documentation, or colleagues. Laziness refers to neglecting code review. Copilot’s solutions might contain errors, both simple and complex, that require careful review to catch.
My best advice for using AI tools is to understand the code before using it. Don’t just copy and paste. Research and fully grasp the code until you can explain it. This approach helps you grow as a developer instead of relying too heavily on AI.
Nick’s responses #
When I first started learning React Native, AI tools like Copilot and ChatGPT were incredibly helpful. They’ve helped me learn new things, fix my code, and write simpler code.
When I know what I want to do but don’t know how to do it, I ask the AI for suggestions. If the response isn’t quite right, I ask follow-up questions until it fits my needs. The tools also save me time by quickly finding and fixing syntax errors, like missing brackets or semicolons. Additionally, when I know how to code something but that it will take a lot of time, I can ask the AI tool to do it, and it generates the code in seconds.
The biggest benefit has been the time saved. Instead of searching the internet for solutions or debugging for hours, I can move through tasks faster and focus on the bigger picture value of a project.
However, AI isn’t perfect. It might not always understand what you’re asking or the full context of your project, leading to incorrect results. While this can be frustrating, you can usually keep refining your request until it gets it right. Or you can still turn to the internet — or colleagues — for help.
It’s important that you personally understand any AI-generated code before using it in your project. The worst mistake is copying code without understanding it, only to face issues later and not know how to fix them. This can waste more time than it saves.
Overall, I think that AI is a great tool for boosting productivity, but you must understand how the AI-generated code fits into your project. If you don’t, it might actually reduce your productivity by creating more problems down the line.
We hope Ashlyn and Nick’s insights help you evaluate AI tools for software development. If you’re interested in learning more about our Associate program, we’ve included reflections from 2023 below:
Looking for more like this?
Sign up for our monthly newsletter to receive helpful articles, case studies, and stories from our team.
3 tips for navigating tech anxiety as an executive
March 13, 2024C-suite leaders feel the pressure to increase the tempo of their digital transformations, but feel anxiety from cybersecurity, artificial intelligence, and challenging economic, global, and political conditions. Discover how to work through this.
Read more5 takeaways from the Do iOS conference that will benefit our clients
November 30, 2023 Read moreCross tab navigation in Jetpack Compose
October 4, 2022Learn how to use Android's Jetpack Compose to navigate from a screen inside of one NavigationBarItem to another.
Read more