Rediscovering Coding with AI Assistants

This article was written on 11th August 2024

As Head of Engineering at 383 Project, I've spent the last four years focusing on managing teams and high-level tech strategies. But when I found myself with some unexpected free time this year, I decided to dive back into hands-on coding. What I discovered was not just how quickly I could pick things up again, but also how dramatically the coding landscape has changed, particularly with the use of AI coding assistants.

The Project: A Mastermind-Inspired Puzzle Game

My journey back into coding began with a puzzle game inspired by Mastermind and the password-guessing game from the BBC show "House of Games". The concept is simple: players are given a password hint and must guess a two-word password. With each guess, they receive further clues and a traffic light grading system indicating which words are in the correct location or found elsewhere in the password.

This project served as an excellent logic exercise to flex my coding muscles again. You can check out the finished product at https://codebreakers.andbert.com/, and the code is publicly available on my GitHub repository for those interested in the behind-the-scenes work.

Relearning and New Challenges

Returning to coding after a four-year break presented its own set of challenges. While much felt familiar, I found myself in a constant state of relearning. The biggest hurdle was getting started - remembering where to begin and how to structure my approach.

I also faced new learning curves, particularly with TypeScript in React, which I hadn't used before. The landscape of development tools had evolved too, with changes in GitHub hooks and other processes.

To rebuild my foundation, I turned to Exercism, completing their entire JavaScript learning path. This hands-on approach helped me quickly refamiliarise myself with available methods and best practices as I find that the best way to learn.

Embracing AI Assistants in Coding

Perhaps the most significant change in the coding landscape since my hiatus has been the rise of AI coding assistants. I decided to experiment with these tools, specifically Anthropic's Claude AI and GitHub Copilot, to support my learning and development process.

Claude AI: A Supportive Coach

I set up Claude AI as a project assistant, instructing it not to provide direct answers but to coach me towards finding the right solutions. This approach worked wonderfully, helping me overcome roadblocks without robbing me of the learning experience.

Claude excelled at:

  • Providing cleaner and more readable code suggestions
  • Offering intelligent help in creating puzzles and shaping ideas
  • Generating game content like passwords, hints, and clues
  • Validating entire files and approaches
  • General Code review advice

GitHub Copilot: A Double-Edged Sword

GitHub Copilot, integrated directly into my coding environment within visual studio code, and provided a different experience. While occasionally brilliant, it sometimes felt skittish, changing code unpredictably or generating irrelevant snippets.

Copilot's strengths:

  • Offering quick solutions to specific, niche problems
  • Providing on-the-fly support for error messages
  • Excelling in writing deep logic-like classes

Its weaknesses:

  • Generating unreliable CSS code
  • often producing code that doesn't execute error-free

The AI Coding Experience: A Tech Leader's Perspective

As a software engineering leader, having some hands on first time with these AI coding tools has given me a further perspective on their potential impact on the industry after now trying them out first hand.

  1. AI as a Productivity Booster: While AI tools like Copilot and Claude can significantly speed up development, they require disciplined use. Giving AI full autonomy in building something likely won't yield the best results.

  2. The Importance of Human Oversight: As a leader, I see the critical need for developers to maintain their skills and judgment. AI tools are excellent assistants but should not replace human decision-making and code review processes.

  3. AI's Impact on Learning: For those returning to coding or learning new skills, AI can be a powerful aid. However, it's crucial to use it as a learning tool rather than a crutch, for frameworks and other tools that have well written documentation make sure to read those too.

  4. The Future of Web Development: The integration of AI into development workflows is just the beginning. With companies like Perplexity, Google, and OpenAI pushing the boundaries of AI-assisted information retrieval, I believe we're on the cusp of a significant shift in how developers might also access and utilise information. GitHub Copilot might just be the start by giving them an option to not even leave their IDE to get information to help resolve issues.

  5. Preparing for an AI-Augmented Future: We need to prepare our teams for a future where AI assistants are commonplace. This includes training on how to effectively use these tools and how to critically evaluate their output.

Lessons Learned and Looking Forward

This project, completed over a couple of days, taught me valuable lessons about the current state of coding and AI assistance. While I'll certainly continue to use AI in future projects, I've learned to approach it with a balanced perspective - leveraging its strengths while being aware of its limitations.

For other technical leaders considering a return to hands-on coding, I'd offer this advice: embrace the AI tools available, but use them as enhancers of your skills, not replacements. They're incredibly useful for solving specific, niche problems and can significantly boost productivity when used right.

As we move into the future, the ability to effectively collaborate with AI coding assistants will likely become an essential skill for developers. It's an exciting time to be in tech, with these tools opening up new possibilities for innovation and efficiency. However, the core skills of problem-solving, critical thinking, and clean coding remain as important as ever.

The coding landscape may have changed, but the thrill of bringing ideas to life through code remains the same. Whether you're a seasoned tech leader or a developer at any stage of your career, I encourage you to explore these new AI coding assistants. They may just help you rediscover the joy of coding, as they did for me.

My Latest Tech Reflections

Thoughts on engineering practices, emerging technologies, and nurturing talent in the digital age.

Rebooting After Redundancy

Written on 12th October 2024

Navigating the 2024 tech job market: Lessons learned and strategies for success after an unexpected career shift.

Read more

The Double-Edged Sword of AI-Generated Code

Written on 2nd September 2024

As AI code generation tools like Anthropic's new artifact model reshape the development landscape, we explore the opportunities and challenges for the tech industry.

Read more

Contact Me

Got a hanging question or just want to connect? Get in touch!

LinkedIn

Find Me Online

See what I am up to online.

GitHub Instagram

Crafted with :