How our Associates are using AI tools: Advice for early-career developers
August 13, 2024At MichiÂgan Labs, our AssoÂciate proÂgram offers colÂlege stuÂdents and earÂly-career develÂopÂers the chance to work with a techÂniÂcal menÂtor on real projects — usuÂalÂly durÂing the summer.
Our menÂtorÂship goes beyond teachÂing proÂgramÂming; it’s about learnÂing how to work effecÂtiveÂly. Our hybrid work strucÂture helps earÂly-career develÂopÂers build good habits and a strong colÂlabÂoÂraÂtive founÂdaÂtion. For develÂopÂers, this includes learnÂing how to research probÂlems, comÂmuÂniÂcate progress, and idenÂtiÂfy next steps.
DevelÂopÂers have relied on tools like Google and Stack OverÂflow for answers. But now there are faster, AI-powÂered options. Using artiÂfiÂcial intelÂliÂgence (AI) tools well isn’t someÂthing typÂiÂcalÂly taught in school; it’s learned through hands-on experience.
This year, I ensured our AssoÂciates had access to these tools and encourÂaged them to experÂiÂment with them. While I’ve been using AI tools for sevÂerÂal years, our AssoÂciates are at an earÂliÂer stage, facÂing difÂferÂent chalÂlenges and disÂcovÂerÂing unique benefits.
In the post that folÂlows, Nick and AshÂlyn (two of our 2024 AssoÂciates) reflect on their expeÂriÂence with AI tools in softÂware develÂopÂment. TogethÂer, we hope to help othÂers earÂly in their careers underÂstand and embrace these tools from a beginner’s perspective.
Here are the quesÂtions that AshÂlyn and Nick have respondÂed to:
What ways have you found sucÂcess with AI tools?
How have they impactÂed how you research problems?
How have they been a chalÂlenge or hinÂdrance to your work?
What advice would you give someÂone using them?
Any overÂall thoughts or obserÂvaÂtions you’ve found interesting?
Ashlyn’s responsÂes #
With most techÂnoÂlogÂiÂcal advanceÂments there are two extremes: some believe it will be a ​“salÂvaÂtion” that solves many probÂlems, while othÂers fear it will lead to disÂasÂter. HowÂevÂer, I’ve found that the truth, espeÂcialÂly with AI, usuÂalÂly lies someÂwhere in between.
AI has quickÂly become part of my daiÂly work as a softÂware develÂopÂer — mainÂly through conÂverÂsaÂtions with colÂleagues and clients, and by using tools like GitHub CopiÂlot and someÂtimes ChatÂGÂPT. I’ve had great sucÂcess with CopiÂlot, which difÂfers from ChatÂGÂPT by proÂvidÂing conÂtexÂtuÂal answers based on active tabs and speÂcifÂic code snipÂpets. It’s like a ​“Google for softÂware develÂopÂers,” but more effiÂcient because it elimÂiÂnates the need to sift through search results — focusÂing on relÂeÂvant soluÂtions withÂin the project’s context.
CopiÂlot also offers code impleÂmenÂtaÂtions or pseudocode alongÂside its explaÂnaÂtions. I find it most effecÂtive when comÂbined with Google — using CopiÂlot as a startÂing point and then deepÂenÂing my research through Google’s vast docÂuÂmenÂtaÂtion and resources like Stack Overflow.
In addiÂtion to its chat feaÂture, GitHub Copilot’s autoÂcomÂplete and sugÂgesÂtion tool is incredÂiÂbly useÂful. As develÂopÂers, we often need to creÂate repetÂiÂtive funcÂtions or expand on comÂplex strucÂtures. CopiÂlot excels at recÂogÂnizÂing patÂterns, allowÂing it to comÂplete these tedious tasks in secÂonds with just a tab. Since time is monÂey in any field, this feaÂture can be invaluÂable when used effectively.
The chalÂlenge with AI tools (like GitHub CopiÂlot) lies in how we use them. As I menÂtioned before, AI is neiÂther a savÂior nor a threat; it’s simÂply a tool.
Like any tool, its valÂue depends on how it’s used and the skill of the user. CopiÂlot isn’t perÂfect — it won’t always proÂvide a corÂrect answer, and someÂtimes it won’t have an answer at all. The biggest risks are depenÂdenÂcy and laziÂness. DepenÂdenÂcy means givÂing up when CopiÂlot doesn’t have a response, instead of turnÂing to othÂer resources like Google, docÂuÂmenÂtaÂtion, or colÂleagues. LaziÂness refers to neglectÂing code review. Copilot’s soluÂtions might conÂtain errors, both simÂple and comÂplex, that require careÂful review to catch.
My best advice for using AI tools is to underÂstand the code before using it. Don’t just copy and paste. Research and fulÂly grasp the code until you can explain it. This approach helps you grow as a develÂopÂer instead of relyÂing too heavÂiÂly on AI.
Nick’s responsÂes #
When I first startÂed learnÂing React Native, AI tools like CopiÂlot and ChatÂGÂPT were incredÂiÂbly helpÂful. They’ve helped me learn new things, fix my code, and write simÂpler code.
When I know what I want to do but don’t know how to do it, I ask the AI for sugÂgesÂtions. If the response isn’t quite right, I ask folÂlow-up quesÂtions until it fits my needs. The tools also save me time by quickÂly findÂing and fixÂing synÂtax errors, like missÂing brackÂets or semiÂcolons. AddiÂtionÂalÂly, when I know how to code someÂthing but that it will take a lot of time, I can ask the AI tool to do it, and it genÂerÂates the code in seconds.
The biggest benÂeÂfit has been the time saved. Instead of searchÂing the interÂnet for soluÂtions or debugÂging for hours, I can move through tasks faster and focus on the bigÂger picÂture valÂue of a project.
HowÂevÂer, AI isn’t perÂfect. It might not always underÂstand what you’re askÂing or the full conÂtext of your project, leadÂing to incorÂrect results. While this can be frusÂtratÂing, you can usuÂalÂly keep refinÂing your request until it gets it right. Or you can still turn to the interÂnet — or colÂleagues — for help.
It’s imporÂtant that you perÂsonÂalÂly underÂstand any AI-genÂerÂatÂed code before using it in your project. The worst misÂtake is copyÂing code withÂout underÂstandÂing it, only to face issues latÂer and not know how to fix them. This can waste more time than it saves.
OverÂall, I think that AI is a great tool for boostÂing proÂducÂtivÂiÂty, but you must underÂstand how the AI-genÂerÂatÂed code fits into your project. If you don’t, it might actuÂalÂly reduce your proÂducÂtivÂiÂty by creÂatÂing more probÂlems down the line.
We hope AshÂlyn and Nick’s insights help you evalÂuÂate AI tools for softÂware develÂopÂment. If you’re interÂestÂed in learnÂing more about our AssoÂciate proÂgram, we’ve includÂed reflecÂtions 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.
To RFP or not to RFP?
January 19, 2024Selecting the right digital product partner is not just about ticking boxes in a request for proposal (RFP). It’s more important to engage in a meaningful discovery process to find a collaborator who can turn your vision into a successful digital reality. Here are three things to watch out for as you search for the perfect digital collaborator.
Read moreHow to Prepare for our Associate Software Developer Position
June 30, 2023Tips for applying to MichiganLab's Associate Software Developer program
Read moreBuild what matters: Prioritize value over feature count
August 1, 2024Focusing on value delivery—rather than just feature count—combines your business goals with your users’ needs to achieve real software ROI.
Read more