DEV Community

Cover image for Empowering Web Developers with Spartan Strength: AI as Your Ultimate Pair Programmer
Michael J. Larocca
Michael J. Larocca

Posted on • Originally published at htmlallthethings.com

Empowering Web Developers with Spartan Strength: AI as Your Ultimate Pair Programmer

Introduction

AI is a hot topic in web development, and properly utilizing it as a cutting-edge tool can greatly enhance your capabilities and efficiency, giving you a competitive advantage as a developer seeking employment.

In this article covering the milestone 300th episode of the HTML All The Things Podcast, tech industry experts Matt Lawrence and Mike Karan will unveil how properly utilizing AI can serve as both a mentor and a collaborator, revolutionizing the way you code, learn, and solve complex problems. They also cover how not to use AI and its limitations.

Whether you're a seasoned developer or just starting out, this guide will provide insights and strategies for effectively integrating AI into your development workflow, empowering you to build with Spartan strength in the digital age!

Topics covered in this article include:

  • Large Language Models

  • Mentorship and Personalized Learning with AI

  • The Current Limitations of AI in Web Development

  • Utilizing AI as a Self-Taught Developer

  • Future of AI in the Tech Industry


Image courtesy of Warner Bros. Pictures from the movie "300". All rights reserved.

Image courtesy of Warner Bros. Pictures from the movie "300". All rights reserved.

Large Language Models (LLMs)

As a web developer, you have several options for working with AI. Some services, such as GitHub Copilot, are integrated into your coding environment, while others, like ChatGPT, can be available in an open window of your browser while you work (I use Hashnodes AI assistant).

Since all AI technologies are based on large language models, you can pick the one that best fits your workflow. What makes each AI technology different is that some are optimized for specific tasks, like GitHub Copilot, which is designed for coding.

Large Language Models (LLMs) are advanced AI systems designed to understand and generate human-like text based on the data they've been trained on. They can assist you as a student web developer by answering programming questions, explaining complex code concepts, and even writing code snippets! By interacting with LLMs, you can enhance your learning experience, get instant feedback on your coding problems, and gain insights that are typically accessible from experienced developers, making these models an invaluable tool for both learning and practical application in web development.


Mentorship

When making a serious commitment to learning web development, it is in your best interest to receive help and guidance from a mentor. However, finding a mentor can be difficult and potentially costly. Until now!

You can use AI as your personal mentor for free or at a low cost, and the help is available 24/7. Whether you have questions about the tech industry, the appropriate tech stack for your project, coding issues, or more, you now have access to continual support.

Catered Learning Experience

With AI as your mentor, you are no longer limited to a specific teaching style, as you once were by your previous instructors. Using AI as a mentor allows you to tailor your learning experience to your preferred learning style. You can ask the AI to respond to you at a grade level of your choice and dive deeper into areas you need additional help.

Receive code reviews

A significant aspect of learning web development involves receiving feedback through code reviews. With AI, you can submit your code and request a review. The feedback you receive will help guide your coding development, providing you with a robust learning experience and helping you thoroughly learn coding fundamentals in a shorter timeframe.

Help you can receive through reviews:

  • Your Code: Have AI review your written code to identify errors and suggest improvements

  • Explaining Concepts: Use AI to get explanations of complex coding concepts in various ways to enhance understanding

  • Solve Complex Problems: Utilize AI to solve intricate coding issues and explain the solutions to improve your problem-solving skills

  • Generate Study Examples: Request AI to create additional coding examples for more practice and deeper learning

  • Optimize Code Efficiency: Use AI to analyze and optimize your code for better performance and efficiency, providing suggestions for refactoring and enhancements


The Current Limitations of AI

Understanding the limitations and possible problems AI can cause is essential to be the most productive. This section discusses AI's main challenges and issues in web development. From the risk of plagiarism to the accuracy of content created by AI, it's important for you as a developer to be aware of these limitations so you can use AI responsibly and effectively in your projects.

Plagiarism Concerns

It will take time for society as a whole, especially schools, to adjust and adapt to the changing business landscape due to the advent of AI. Until then, we are in a "grey area" concerning how to use AI appropriately.

To offer a comparison of societal disruption, Matt points out that when he started high school, the academic standard was to cite information from books only; they were not to use sources from the newly available Internet. By the time Matt finished high school, the academic standard had changed, allowing the use of citations from sources on the Internet, as it had become societally acceptable over time.

When it comes to directly "copying and pasting" answers provided by AI without revision by you, Mike tells us that, academically speaking, this is an act of plagiarism. Using AI in this manner is comparable to asking someone else to do your homework for you. Not only are you cheating the school, but you are also cheating yourself out of a learning experience.

You see, a big part of your learning experience as a developer is solving problems through troubleshooting. Imagine how many core programming concepts you are missing out on, depriving yourself of the necessary hands-on experience needed to become a proficient developer because of AI prompts constantly providing you with already completed and properly working code blocks!

To become a standout hirable developer, be sure to get extensive hands-on coding experience and improve your troubleshooting skills! You can read the article "Cracking the Code: Essential Problem-Solving Techniques for Today's Dynamic Developer Landscape" for more insights.

AI does not always provide correct answers

Another thing to consider when planning to directly "copy and paste" answers provided by AI is that the answers given are not always correct! This also includes code blocks.

This problem, known as hallucination, occurs when the AI response provides incorrect information. Troubleshooting the misinformation is difficult because the AI does not provide the sources from which it's drawing information.

For example, AI could be referencing material from a blog post that provides code blocks that don't actually work. (Matt has experienced the frustration of non-working code from blog articles firsthand! I hope it wasn't one of my articles! 😅)

Showing Your Work

Another downside of relying solely on AI answers is that you will not have a work trail, meaning that you do not have all of the steps documented that showcase how you reached the answer. Remember math class when the teacher wants you to show your work?

As Kyle Tryon (TechSquidTV) told us in a recent guest Podcast interview, "showing your work" is particularly important during coding interviews. During interviews, you will be asked how you came up with coding solutions while showcasing your projects being reviewed. So, if you had used AI to generate code in your projects but do not understand how the code works, you could end up in an embarrassing situation!

To learn more about what to expect and how to prepare for technical interviews, be sure to check out Kyle's featured article, "Thriving in Tech: Securing Your First Job, Leveraging Side Hustles, and Overcoming Layoffs."

You can’t use AI during coding interviews

Speaking of code reviews, Mike explains that you cannot use AI when evaluators assess your coding skills during interviews. He emphasizes that coding proficiently without coding tools is essential to evaluating your skill set. Remember this when preparing to start interviewing, and ensure your coding skills without AI assistance are up to par!

AI can’t do complex tasks

While AI is great for learning and helping you with basic coding concepts, it is still far from taking on complex tasks independently despite all the hype! When using AI in coding, a solid understanding of programming fundamentals is essential to successfully and effectively use AI in application development.

Some companies don’t allow AI tools

Ah, yes, company policies strike again! Be sure not to become too dependent on AI tools as part of your regular workflow. Due to security issues, it might not be allowed during the production of company code! Why? For example, if an AI tool inadvertently stores sensitive data like user credentials or financial information in its training datasets, it could expose the company to data breaches and legal repercussions.


"You see, my friend, I brought more soldiers than you did."

Image courtesy of Warner Bros. Pictures from the movie "300". All rights reserved.

Image courtesy of Warner Bros. Pictures from the movie "300". All rights reserved.

In the movie "300," when King Leonidas meets the Arcadians to join forces against a common enemy, the leader of the Arcadians points out to Leonidas that they brought more soldiers (in number). However, King Leonidas questions the professions of the Arcadian soldiers, pointing out that they are not professional soldiers like his Spartans:

King Leonidas: "You there, what is your profession?" Arcadian Soldier: "I'm a potter, sir."

King Leonidas: "And you, Arcadian, what is your profession?" Arcadian Soldier: "Sculptor, sir."

King Leonidas: "Sculptor. And you? " Arcadian Soldier: "Blacksmith."

Likewise, developers who take the time and effort to learn the fundamentals of web development and hone their skills to the point when they are more than capable of programming independently can then properly utilize AI to enhance their abilities, much like Spartans wielding their weapons. Contrarily, developers who don't put in the time and effort to learn the fundamentals will use AI as a crutch, much like the less-trained Arcadians in battle who are not as effective at wielding their weapons.

💡 Tip:To truly benefit from AI in web development, it's important to master the fundamental skills first. This way, AI becomes a valuable ally that enhances your abilities instead of making up for a lack of knowledge.


Utilizing AI as a Self-Taught Developer

I am relieved to learn that I've already adapted to working with AI independently in the manner Matt and Mike recommend!

Speaking from my own experience as a self-taught web developer, utilizing AI is a game changer! My AI chat window (provided by my Hashnode Pro subscription) has become my primary learning tool, replacing Google searches, web development documentation, YouTube tutorials, and similar resources. Although I still learn from more structured materials, such as those provided by online coding schools and Udemy courses, AI has become my personal teacher for day-to-day learning and for questions and answers.

Now, before I go any further on the topic, in my opinion, two types of web developers will emerge from this new technology: developers who use AI as a tool and developers who use AI as a crutch. If you're learning web development to get a job, be sure to become a proficient developer who uses AI as a tool, as developers who depend on AI as a crutch will surely be filtered out.

I will describe how I use AI in web development, outlining the benefits and limitations I've encountered to help guide you in effectively leveraging AI as a self-taught developer to maximize your experience.

Benefits

  • You can ask AI questions and get answers as if you were talking to a more experienced developer.

  • AI can help you understand specific coding concepts.

  • AI can also conduct reviews of your code and provide you with valuable feedback.

  • AI can assist you in creating projects that are beyond your current skill level.

Limitations

  • AI does not always provide correct information

  • AI does not always provide the best coding solutions

  • You may have to start from scratch If your AI does not retain your previous conversations

  • The AI itself might not be consistent, disrupting your workflow

Benefits

Asking AI questions

One of the best benefits of utilizing AI is simply asking questions. Imagine having a senior developer right next to you that you can bombard with question after question, and they never tire or get upset with you. I've learned, and continue to learn, a lot about web development just by asking questions.

Learning individual coding concepts

From a basic JavaScript for loop to complex prop passing in React, you can use AI to ask about any coding concept you want to learn. AI can write a code example and then explain each line of code and the overall concept, helping you to gain a deeper understanding of the topic.

While building out React components, I ask AI to break down and explain how each line of code works. This has become part of my regular workflow, helping me to learn React better!

Ask AI for code reviews

Receiving code reviews from experienced developers is crucial for your growth as a developer, yet finding qualified programmers with the time to assist you can be challenging. They may also charge a fee. So, utilizing AI for code reviews provides you with the necessary feedback to improve your code and enhance your development skills.

Use AI to build beyond your current knowledge

The best way to learn is by building, and the best projects are those you're passionate about! I advise you to take the pressure off of yourself and build out a few websites just with the intention of practice, not for production, utilizing AI.

I'm in the process of coding out an entire Star Wars Ahsoka React website from scratch by pair-programming with AI, and I'm covering it all in an article series. So far, I have learned a lot, most notably essential file separation concepts, building a dropdown menu, creating a hamburger menu, and how to add YouTube videos! I even successfully pair-programmed with AI to create a Lightsaber component, including the necessary CSS!

Limitations

AI does not always provide correct information

Working with AI through a chat window genuinely makes it seem like you are talking to another person. So unless you regularly chat with "shady, untrustworthy individuals," it's safe to assume you believe what's told to you is trustworthy. But as the saying goes, never assume because it makes an ass out of you and me (ass-u-me)!

All jokes aside, AI responds with such confidence that we often accept information at face value because we are accustomed to conversing with real people. Knowing that AI does not always provide correct information will save you time, headaches, and unnecessary work. Remember, there is not a real person at the other end of the chat window to pass the blame on!

AI does not always provide the best coding solutions

Let me save you a ton of time; be sure to provide as much context upfront when asking AI for code. AI will provide you with code when you ask for it, which will most likely work. However, the code AI provides might not be the best code solution.

I wasted a ton of time pair-programming with AI while trying to fix the code for a React hamburger menu. My problem was when the hamburger menu opened, sometimes a sub-menu was unintentionally expanded. Trying to rectify the issue, AI provided me with code upon more code that not only overcomplicated the solution, but the code provided did not work as expected!

I finally resolved the issue by starting over. This time, I provided the AI with great detail on what I was trying to accomplish, and I received an elegant solution: a useEffect hook consisting of a few lines of code.

The lesson is that when seeking generated code blocks from AI for your projects, make sure to provide as much context and detail as possible regarding what you are trying to achieve to save yourself time and the frustration of wasting time going down dead-end rabbit holes.

You may have to start from scratch If your AI does not retain your previous conversations

Have you ever seen the movie Memento, in which the main character, Leonard Shelby, suffers from anterograde amnesia, which prevents him from forming new memories? My experience using AI is like pair programming with someone who has anterograde amnesia. Whenever I open the AI chat window, I must start over. And if I accidentally close it while working on a project, I lose all the progress and context I was feeding it. It's frustrating, to say the least!

This "no chat history" issue may only occur with some AI interfaces, but if the AI you use does not retain history, just know the limitation you're getting into.

The AI itself might not be consistent

This might just be an issue with the AI I use or the current state of AI, but a weird thing I occasionally encounter is inconsistent results when providing prompts to AI (a pre-made block of text requesting to do something).

One day, the prompt will work, and the AI will be capable of providing feedback. But then, the same prompt won't work the next day, resulting in the AI being unable to provide feedback. This issue might be isolated to the AI I use, but it's a potential limitation to be aware of when you use AI.

To clarify, I'm not saying I get different results with the same prompt; I'm saying that sometimes, using the same prompt, the AI tells me it can't help me! 😂


Future of AI in the Industry

Regarding the future of AI in the tech industry, Mike tells us that large language models will continue to improve. While the specific timeframe and the potential for AI intelligence to plateau remain uncertain, smaller tasks will likely become automated, leading to changes in web developers' job roles.

Much like the Industrial Revolution, when automation transformed many jobs, the tech industry will also experience similar shifts; specific roles may disappear while new ones are created. So, there is no reason to "jump ship" and abandon the web development profession just yet!

Mike explains the industry is currently full of "shallow developers," and to stay relevant and employed, developers will need to become "dense developers." In this context, shallow refers to being well-rounded yet not proficient in each technology, while dense refers to having expertise in a specific technology.

Developers will also work alongside AI technologies, such as the much-hyped Devin. Although Devin, the first AI developer, has been mostly debunked, the tech industry is headed in this kind of automation direction. Mike predicts there will be fewer senior developers per department than before, and they will collaborate with AI as their coworkers. A significant part of the senior developer's role will involve overseeing the code produced by AI.

None-tech people will use Devin-style AI

So far, we have mostly discussed AI's ripple effect on the tech industry from a developer's perspective. Mike and Matt make a good point when they encourage non-developers, like marketers and entrepreneurs, to use the available AI tools to help promote their ideas. As a business person, once you get the ball rolling, you can then hire a developer to work with the AI used to get your product out there.

Power to the people

Another sound prediction Mike makes is that the AI event will remove all of the tech titans' (FA) current power and give it to the people! In the near future, talented developers like yourself will have access to AI tools that enable you to create products that were once only within the means of mega-corporations, allowing you to compete directly with them! In this optimistic scenario, a domino effect will lead to the emergence of numerous small companies, creating a demand for hiring many new, talented developers!

Wielded correctly, AI will empower you to build with Spartan-like strength, distinguishing you from all other developers! Whether you choose to KICK down doors in the tech industry, opponents from your path, or any other obstacle that stands in your way, you are now armed with the power you need to succeed!


Image courtesy of Warner Bros. Pictures from the movie "300". All rights reserved.

HTML All The Things

Be sure to listen to the episode!

Should Junior Developers Use ChatGPT to Help Them Write Code?

Be sure to check out HTML All The Things on socials!


Learn with Scrimba!

  • Learn to code using Scrimba with their interactive follow-along code editor.

  • Join their exclusive discord communities and network to find your first job!

  • Use our affiliate link

This article contains affiliate links, which means we may receive a commission on any purchases made through these links at no additional cost to you. This helps support our work and allows us to continue providing valuable content. Thank you for your support!


Sponsored content: The original publisher kindly sponsored this article, allowing me to share my expertise and knowledge on this topic.


My other related articles


Conclusion

Much like the repercussions of the Industrial Revolution, the introduction of AI in society will continue to eliminate jobs while creating new ones. While some tech professionals take a pessimistic view of whether it's still worth learning to code, others, like Mike and Matt, take an optimistic view, believing there will be many new opportunities for developers, albeit the job role of a developer will change.

The introduction of AI has also changed the way we learn. Students can now utilize AI as a personal 24/7 mentor, relatively inexpensively or even for free! From general coding concept questions to full code reviews, you can expedite your learning timeframe while receiving a robust learning experience.

Now, before you rush into battle with your newly found tool with overconfidence, be warned of its shortcomings. Using content from AI without making personal changes can be considered plagiarism, and AI sometimes provides incorrect information that is hard to differentiate from the correct information. Additionally, you will not always be allowed to use it, such as during coding interviews and creating production-level code at companies. Also, overuse can become reliance, making AI a crutch rather than a tool. Since the playing field is now leveled out due to the AI event, web developers who cannot produce high-level content without its use are sure to be filtered out of the industry, so don't let that be YOU!

AI is transforming web development and technology, giving power back to the people. Whether you're a visionary entrepreneur or an up-and-coming web developer, you now have the tools to innovate and lead. Today's digital Spartans are defined by their skillful use of AI. Take hold of this powerful tool to enhance your abilities, gain a competitive advantage, and tackle today's fast-paced changes in the tech industry!


Let's connect! I'm active on LinkedIn and Twitter.

selftaughttxg logo

You can read all of my articles on selftaughttxg.com

Top comments (2)

Collapse
 
devluc profile image
Devluc

Great article Michael. I enjoyed reading it

Collapse
 
michaellarocca profile image
Michael J. Larocca

Thanks, Lucian!