Interviews Coder Academy Educator Alex Holder

11 December 2023Written by Coder Academy
Alex Holder has been teaching at Coder Academy for seven years and has a love for gardening, gaming and all things web development; so who better to answer some questions for, when they wanted to know, “Where coding fits in a future powered by AI”?

You can find the full article here, however if you’d like to see behind the scenes, then you can read their original interview with Alex, raw, in full, and full of juicy insights, right here.  

Would you be able to explain your role and the work you’re doing at Coder Academy?

My name is Alex, and I’m one of the educators at Coder Academy. I’ll either be in the (virtual) classrooms to run lessons on topics like JavaScript and the MERN stack, or in our virtual and on-campus support hubs to support students throughout their various learning activities. 

I’ve been with Coder Academy since 2016, where I was first involved in the K12 (primary and high school) workshops as well as corporate training courses. Teaching in the bootcamps has been really fun and rewarding – it’s a direct, life-changing impact on peoples’ careers! People come into the bootcamps from a huge variety of backgrounds and skill levels, and I get to help everyone learn and grow – I love that.

Alex Holder (Coder Academy educator) teaching in the Sydney Study Hub

Alex Holder at Coder Academy’s Sydney support hub, answering coding questions.

How would you describe the response of the developer community to advancements in AI? Do devs see it as an opportunity? Or is it perceived to be a threat?

Overall, I’d say that software developers are not perceiving AI as a threat. The usual reactions of developers I chat to range from, “This makes life so much easier” to, “This makes some parts easier but other parts just do not benefit from it”. 

A few adventurous software developers I know look at every new AI tool or system that gets released and ask themselves, “What can I build on top of this?” or, “What can I do with this?” – software development as a career is all about adapting to new technologies and tools, and the boom in AI functionality complements that attitude extremely well.

Read: Will AI Steal My Job?

What ways are developers already using AI to improve workflows?

There’s a huge variety here – AI tools are often so extensible and easy to integrate into other tools that there are just so many things that developers can do with AI at the moment.

Some developers are using tools like GitHub Copilot to assist them in their programming, where they can automatically write out boilerplate or common, simple code to start a project or start a new file of code.

Some developers are using that same tool, plus other general AI tools like ChatGPT, to carry out “rubber duck debugging” – a development technique that helps developers troubleshoot their own work.

Some developers are using AI in the form of machine learning agents like Unity ML Agents to automate things like software testing. My favourite example here is when video game development companies use AI-powered “players” to make sure their game is working or playable as intended – seeing a hundred AI agents drive around a virtual racetrack in different track conditions or with different driving skill levels is always cool.

Some developers are using AI for actual content generation – there are tools like Stable Diffusion for images, Suno for audio, ChatGPT for text, and Google DreamFusion to generate 3D assets. 

And of course, there is nothing limiting a developer to using just one AI tool when they need to do something. Imagine being responsible for the user interface of a website or app, and being stumped by colour choices – you can just ask ChatGPT to list out some colour palettes that complement each other according to colour theory and colour language, and then ask Stable Diffusion to generate some mockups or wireframes based on a description that you provide, including those colour palettes.

Would someone with no knowledge or experience of coding be able to use a program like ChatGPT to generate workable code? What would be the problems of this approach?

This is absolutely doable, and is the type of situation where a senior or other experienced developer would say, “This is why I don’t blindly obey what ChatGPT says,” or, “This is why I don’t use ChatGPT”. 

The problem here is that the modern version of “AI”, all based on large language models, are not sentient concept-understanding AI in the typical science-fiction sense. AI like ChatGPT and Stable Diffusion are pattern matchers. So, if you pose a question like, “What is 1+1?” to the AI, the AI will take that input and do whatever processing it does until it finds a pattern like, “1+1=2”. The problem already existed, the solution already existed, and the AI has confidence in what it’s generated for you because a simple, common problem has a definite, common solution.

This means that when you use AI tools to solve problems, eventually you’ll reach a stage where you’re encountering problems that no one else has encountered before – so the AI tools cannot find guaranteed-working solutions for you.

This then leads to the AI tool trying to invent a solution – but again, it’s just a pattern-matching system. 

It can help to think of tools like ChatGPT as very fancy autocomplete systems. If you’re asking autocomplete to make a new sentence that you have never written before, it’s going to become very silly very quickly. It could generate a new sentence that was never written, but you’d need the skills to go and fix up that new sentence when it inevitably creates gibberish. 

So, for a person with no software development experience or coding experience: AI tools are definitely usable, but you’ll be limited in what you can successfully do with those tools. It’s difficult to use AI tools to create complex things until you gain the knowledge needed to troubleshoot and create new solutions to your problems.

What are some of the challenges of AI in the workplace?

It depends on the AI tool, so there’s a variety of challenges. There are famous examples like Samsung leaking sensitive data via ChatGPT, and everyday occurrences like the AI tools generating garbage results.

Cloud-based AI tools are a huge security risk in general, as the cloud is just someone else’s computer. You have no control over what someone does with what you provide to the cloud – you’re just putting trust in them. Businesses can address that by running local, offline equivalents to those tools – open-source tools like Open Assistant are built as the self-hosted equivalent to ChatGPT, as an example.

And of course, AI tools can generate garbage. The time spent fixing up an AI’s output could outweigh the time needed to just get a real person to create something – and the chance of AI garbage goes up as a workplace’s needs become more bespoke and specific.

What are the qualities of a great developer that AI can’t replicate?

Conceptual understanding and context of a problem is the big one. AI these days is not sentient, and has no understanding or awareness of concepts or problems. You can provide it with a nice string of words as a request to generate something, but all it does is check its model data to match patterns.

In our bootcamps, we focus on teaching career-changers how to write software. This means that these new software developers have greater contexts about different problems. 

We’ve had former language teachers come through and create amazing apps that localise their content in respectful, sensible ways – whereas AI would just translate text in place and call it a day, even if the translations break the app or don’t even make sense.

We’ve seen lawyers come through and realise how much they could automate and simplify in a legal practice, due to gaining context about data design and databases.

We’ve seen office administrators come through and realise better ways to automate chunks of office management.

And so on and so on.

The context and understanding of anything that a person gains helps inform what they learn next and allows them to create new things. Large language model-powered AI just cannot do that.

What role do you see AI playing in the future? Will it replace roles? Or will it be more like an assistant to certain repetitive tasks?

AI currently works best as an assistant, where people acknowledge its output and use it to make an even better output. We’ve almost definitely reached the limit of, “We treat this AI’s output as the word of god and obey it as-is, blindly,” already. Nothing new will happen in that space until proper science-fiction level sentient AIs get invented.

Roles like illustrator and musician will absolutely get shaken up, but not replaced. AI are like an easier-to-use brush system for illustrators (no joke, check Adobe Photoshop’s brush variety – some of them are like visual Lego pieces) and like an automated mixing deck for musicians. You can theoretically make art with those tools by just pressing some buttons, sure – but if you want the good stuff, a skilled person still needs to be involved.

Various industries will shine once they realise that AI tools can bolster a professional’s output and assist in their workflow, not replace the professional. With software development in particular, it means that developers will spend less time on boilerplate or common “starter” code, and more time solving their actual problems.

Why will AI never be a substitute for fundamental developer skills?

Fundamental developer skills are rarely the actual technical, “hard” skills that people usually think of, like “JavaScript programming” or “SQL programming”. The most fundamental skills that a developer can have are problem-solving and communication skills.

For freelance or contract developers, this can be as simple as, “Client presents a need and/or struggles conveying their needs” – the developer must have the skills needed to help the client communicate successfully, formulate a solution, and then convey that solution back to the client. All of that on top of having the skill to actually write the software to implement the solution.

For employee developers, the situation is similar – just replace a client with a project manager or project requirements.

Both situations, while similar to, “AI receives input, matches patterns, and generates output”, benefit from developers’ fundamental skills to allow them to handle the tougher problems, create better solutions, and communicate in a way that keeps everyone involved on the same page about the solutions.

When it comes to problem-solving, well – that’s software development at its most distilled, essential form. Developers have to be able to break apart a complex problem into singular steps that a computer can carry out. AI tools can provide solutions to a problem if its dataset included that problem exactly as it was presented, but if the problem is presented in a different context or with different wording, the AI tool will struggle. When a problem is big, multi-faceted, nuanced, contextual, and so on – a human will be able to process that problem and translate it into smaller, clearer and more actionable problems.

How can developers prepare for a changing world with advancements like AI?

Create, and don’t stop learning how to create! 

Software development is a hands-on industry where you learn best by doing, and gain experience best by doing. The more knowledge and experience that you have, the more you can do and the more problems you can identify solutions for.

The specific technologies and tools developers would use in their day-to-day work will change over time – you can’t just learn one language or tech stack and swear off of learning for the rest of your career as a software developer. And this doesn’t mean you have to redo a bachelor’s degree over and over again throughout your career – a good course, whether it’s a full degree or a speedy bootcamp, will teach you how to learn, unlearn and relearn. 

Preparing yourself for changes in the software development industry usually means things like learning how to use a different programming language or different software framework – and that can be done by rebuilding things you’ve already built in those new tools.

You can also prepare yourself for changes in the industry by looking at how to improve your workflow. Something like, “I need to make JSDoc comments about this code,” might seem like a chore, but as you write more code and learn more about what those comments actually mean or need to include, you would realise better ways to write them – and even automate that whole process through an AI tool. And as you gain even more experience with that, you’d realise where the AI is falling short, and customise what you’re doing or how you use the AI to make an even better development process for yourself.

AI in particular is an extremely dynamic, constantly-evolving section of the software development industry – so being able to create with and learn how to use the varieties of AI tools that pop up will be an essential habit for staying relevant as a developer.

All of that stems from developers just continuing to learn and create, and never stopping that!

What advice would you give to someone about to embark on a career in coding, who’s curious, perhaps even concerned, about the impact AI will have on their career?

This era of AI and all of its large language model-driven functionality works best as an assistant to a real person. This means that software development companies will absolutely need real humans as developers – so while how the job gets done may get shaken up by AI impacts from here on in, there’ll still be jobs that need real humans like you.

The most in-demand developers will be the ones who learn how to use AI tools as exactly that: tools. You’ll still need your own skills, knowledge and experience, but knowing how to use AI tools can be a nice benefit to your work.

How is Coder Academy helping students and graduates navigate this changing landscape?

Coder Academy regularly updates its course content, adapting to the needs of the software development industry. This means that fundamental skills and the most common or most-in-demand technologies and tools will be in the toolbox of any of our graduates. 

We build up habits in our students like learning how to learn, and understanding that being married to a singular technology or tool will limit how far you can go in the software development industry. So, we teach our students multiple technologies, tools, and frameworks. 

Our teaching staff stay updated with those changing items as well, since not all frameworks and languages stay popular and in-demand from employers all the time. Being able to share our passion and curiosity about these changing technologies has – as far as I can tell – been a comfort and inspiration to our students as they go through our intense courses. 

When your educators are open-minded and passionate about new things like the latest AI tool that pops up, it becomes easier to start thinking about how you can work with that latest AI tool yourself.

And then, of course, like any decent education provider, we also love to host industry guests (actively working software developers and development-adjacent roles like managers) to chat to our students and even run special workshops to help our students grow even more.

Is there anything else you’d like to add?

Anyone worried about AI just needs to remember that, in this day and age, AI is just a fancy autocomplete tool. You can find great ways to use that in your work!

Go from not knowing a single line of code to coding legend in less than a year. Master the fundamentals of full-stack web development in 10 months with our Web Development Bootcamp.

Now enrolling | 100% online | Study now, pay later with FEE-HELP!

Coder Academy – Where Coders Are Made.

Related Articles

View all
/* Start VWO code *//* End VWO code */