Development

How our Associates are using AI tools: Advice for early-career developers

August 13, 2024
How our Associates are using AI tools: Advice for early-career developers

At 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 DeVries

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 Karns

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:

David Crawford
David Crawford
Software Developer

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?
Business Process

To RFP or not to RFP?

January 19, 2024

Selecting 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 more
How to Prepare for our Associate Software Developer Position
Team

How to Prepare for our Associate Software Developer Position

June 30, 2023

Tips for applying to MichiganLab's Associate Software Developer program

Read more
Build what matters: Prioritize value over feature count
Development Process

Build what matters: Prioritize value over feature count

August 1, 2024

Focusing on value delivery—rather than just feature count—combines your business goals with your users’ needs to achieve real software ROI.

Read more
View more articles