September 7, 2025 | Bryan Berk
AI Won't Replace Web Developers (Here's Why)

There's a lot of fear going around that AI will replace web developers.
This is fear coming from those who don't understand the field at a deep enough level.
There is far too much involved when it comes to building production-grade applications that I can't imagine even highly advanced AI doing all of these things right.
It's like being scared that recipes will replace chefs…
Just because someone has a recipe, doesn't mean they have the skill to pull off what an experienced chef can.
The chef has a deeper level of understanding that allows them to create a meal that's levels beyond what a normal person can pull off — even if they both follow the same recipe.
Or it's like being scared that the invention of the calculator will replace mathematicians…
People who feared that a calculator would somehow replace a mathematician didn't understand that math is more than arithmetic — just as web development is more than typing code.
There's depth to things that you can't see unless you've spent the time acquiring the knowledge required to see that depth.
Without the knowledge in a field, you're blind to the depth within that field.
It is that depth that allows you to see things others don't.
It is what allows you to see things clearly while others are fearful as a result of what they do not see.
It's similar to a stock going down in price due to people panic selling out of fear…
While the investor that understands the company knows that this is the time to buy more while others are fearful.
Because the experienced investor has a level of understanding that the others do not.
I'm going to unravel some of this depth behind web development so that you too can see the big picture more clearly…
And understand why AI won't replace developers.
You'll see the big picture clearly and make better decisions, while others will be fearful from blindness around the depth that will be revealed to you.
1) Software Maintenance
Software isn't stagnant. It constantly undergoes updates at a fast rate.
There's 3 key areas that I'll cover where maintenance is crucial…
Software Security
1. Packages and Dependencies
When you build software, you don't want to re-invent the wheel all the time.
That's why there's software packages that solve common problems…
And you can use these to build faster.
These are commonly referred to as packages or dependencies.
But there are a few things to consider:
- Security vulnerabilities occur
- Packages receive security patches
- Languages update
- Libraries and frameworks update
- Technological advancements occur
To avoid security holes in your apps, you need to keep packages and dependencies up to date.
2. Secure Code
Vulnerabilities commonly occur from code that isn't written well.
As software becomes more complex, more opportunities open up for mistakes…
Mistakes that can be exploited.
When it comes to web applications, you need to be careful of certain common attacks and ensure your app is secure against them. For example:
- Cross-Site Scripting (XSS)
- SQL Injection
- Cross-Site Request Forgery (CSRF)
- Cross Origin Resource Sharing (CORS)
- etc.
As a result you need to incorporate good security practices…
Which includes:
- Defensive programming
- Input validation and sanitization
- Least privilege
- Fail securely
- Output encoding
- Secure authentication and authorization
- Brute-force protection
- Data protection (encryption)
- And much more
If you're too reliant on AI to build your apps, there's a good chance you'll make mistakes that open your app to vulnerabilities.
Security isn't something web developers think about until their app becomes compromised.
And when that happens:
- Users lose trust in the app
- Reputation is eroded
- Time and money is wasted recovering from the damage
This is why you need to have a solid foundation.
If you're too reliant on AI to build apps…
Then there's a good chance you might end up with security holes in your app that you'll pay for later.
3. Secure Architecture
Security needs to be taken into account in more areas than just code.
The architecture of your app itself is another area where you might open up security holes if you're not careful.
Here's some potential areas where security holes could occur:
- Managing user sessions
- Managing online payments
- Caching causing odd behaviours
- Vulnerability to DDoS attacks
- Encryption gaps
- Exposing endpoints
- Exposing sensitive data
- Concurrency handling
- And more
Knowing how to architect an app correctly helps with building aspects of an app correctly to handle these different security holes.
4. Secure Infrastructure
The infrastructure that your app runs on when deployed is another area of opportunity for vulnerabilities to exist.
The infrastructure itself might be exposing certain aspects of your app and data that you don't want…
Certain parts of your app infrastructure might have permissions that are too wide open and allow for a lot of damage if compromised…
And there could be parts of your app infrastructure that expose you to incurring a lot of unexpected cost if you're not careful.
Creating secure and cost-effective infrastructure for your app is something AI isn't perfect with.
It's an area that requires careful decision making to not open yourself up to certain pitfalls.
Technological Advancements
Advancements in technology are very frequent and occur at a faster and faster rate over time.
These advancements often introduce new security vulnerabilities that need to be addressed.
For example, in the old days of the web, the HTTP protocol was used to communicate with web servers…
However, the traffic going from someone's computer to the web server and back was not secure.
It was unencrypted data that anyone could sniff with the right tools.
This means that if you sent a username and password over HTTP traffic, those credentials would be completely exposed.
Then came new technology to address this in the form of the HTTPS protocol and SSL certificates.
This helps to secure connections from a computer to a server, but it also meant web applications needed to implement these changes to be secure.
Then later there were even better and more secure algorithms introduced — this led to your apps needing to now use TLS certificates to form a secure TLS connection to a web server…
As a result, this helped to further secure connections, but again required web applications to ensure they're using these new technologies.
Then fast forward to today…
Now we have things like quantum computers entering the scene which will introduce a whole new set of security vulnerabilities that will need to be addressed.
This is because of how fast quantum computers will be able to make computations…
Meaning that certain commonly used encryption algorithms will become vulnerable against this new technology, and new techniques will need to be implement to mitigate against this.
This means that as a web application developer, you need to be on top of changes and advancements in technology…
You need to be on top of how these advancements affect the security of the apps you've built…
And you need to make necessary changes to your hosted apps to ensure they're not vulnerable to security holes that new technologies either have introduced or have helped fix.
Breaking Changes
In software development, updates happen ALL THE TIME…
And not just do they happen all the time, they happen at a very fast rate.
Often you'll find that packages and dependencies that your app relies on have become deprecated…
And as a result you now need to update them…
However, often you'll find that with these updates there are breaking changes that need to be addressed…
And if your app is very large, then you'll need to update many parts of your app to address these breaking changes.
This is an area where AI isn't great…
Because AI relies on past data…
And when software updates very frequently and very fast, AI that you rely on won't always have the necessary information to address these changes.
Therefore this is another area where you can't be solely reliant on AI because more often than not it won't be able to help you until it has information that is up to date.
2) Building Maintainable Software
When it comes to large-scale web apps, maintainability is critical.
Companies that didn't put emphasis on maintainability have paid the price gravely later down the road…
They need new features to stay competitive, but their software is so unmaintainable that it's almost impossible to implement a new feature without breaking something else.
Maintainability is achieved by understanding good practices that organized large-scale software companies use…
And these good practices allow them to constantly deliver new features at a consistent pace while having confidence that what they deliver doesn't break anything else in the app.
These are techniques that require foundational knowledge of how production-grade web applications are built in order to do things right…
Again another area where you cannot rely solely on AI since AI will only help you specifically with the things you ask it.
It won't keep these good practices in mind for you.
YOU must understand these and incorporate them.
Here are some of these practices that large-scale software companies incorporate:
Automated Testing
Manually testing if things are working in your app is great if your app is small.
But as you add new features…
As it grows…
This becomes more and more time consuming to the point where it doesn't make sense anymore to do this manually.
In order to deliver efficiently, you need the testing of your application to be automated.
You want these automated tests to be written well, and to test all of the most important aspects of your app.
You want to have the confidence that any new feature you push out isn't going to unexpectedly break anything else in your app…
And that's where automated testing comes into play.
AI has become quite good at writing these automated tests.
However someone who relies solely on AI to build apps won't understand the importance of automated tests.
Again, you want to have automated tests that have comprehensive coverage of the most important features in your app…
That way you can confidently push out new features knowing that it's unlikely that anything else in your app will be affected in an unexpected way.
Automated Deployment
Automated deployments is another good practice that is necessary when building production-grade apps.
You don't want to manually have to go through the process of deploying your app every time you make a change.
There are also certain steps that need to take place every time you plan to deploy your app in order to have the confidence that what's being deployed works flawlessly.
This is something that requires foundational knowledge in order to implement correctly…
And it is absolutely necessary so that you can have the confidence that your app works as expected before it's deployed.
Every time you deploy your app, you want to ensure that:
- Your automated tests pass
- Your app is built without any errors
- You have proper test coverage
- Your code isn't introducing potential bugs
On top of this you'll also want to have a different environments you can deploy your app to as a sanity check that everything is working when you add new features…
For example, this might involve having a staging and production environment…
And once you confirm that things work in your staging environment, and your automated testing and deployment process passes without issues…
Then you can be confident that new code you're releasing won't cause production issues for users.
By the way, this whole process of automated testing and deployment is known as Continuous Integration/Continuous Delivery — or CI/CD for short.
This whole process is also commonly referred to as a pipeline…
And creating these pipelines is one of the areas of focus for those working in the field of DevOps — which is all about software orchestration and automation.
Code Analysis
This I touched on in the previous section when I mentioned that you want to have confidence that new code you're releasing has good code coverage and isn't introducing potential bugs…
This is where you want to use code analysis tools.
These tools will analyze your code and check things like:
- What percentage of your codebase is covered by automated tests
- Are there any bugs being introduced in your code
- Is your code easy to read and understand
- Are there code smells being introduced (poorly written code)
- Is there too much duplication being introduced in your code making things convoluted
In a nutshell, these are tools that assist you in making sure that you're pushing out quality, well tested and maintainable code.
If you don't know about this, AI won't necessarily tell you about it.
That's why foundational knowledge is important.
Adding Features
When you add new features, you need to ensure they're maintainable.
When things aren't maintainable, you end up with what's called "spaghetti code".
This is code that's all over the place and impossible to maintain.
When you find yourself in this scenario, it's almost impossible to deliver new features without breaking something else.
You end up in a scenario where:
- Features of your code aren't decoupled enough
- And good design patterns weren't used to help keep things organized
You should implement design patterns in your code that make it easy to add and test new features.
When you don't have a good fundamental understanding of how to design software in a clean way…
You end up with spaghetti code that makes it almost impossible to expand the app.
Breaking Things Up
As an app grows, there will be architectures that are introduced to help better maintain the scale of the app.
This is where microservices come into play.
Microservices are when individual parts of your app are split up into their own standalone service.
This also makes it easier for teams of developers to work on the same app…
Because they focus on specific microservices that are a smaller piece of the overall app.
This way, any changes they make to a microservice will only affect that one piece of the app.
There are things you need to be careful of though…
You ideally want to design things in a way where if a microservice breaks, there won't be a chain reaction causing other microservices to break.
These should ideally be standalone services that can function independently.
To design these correctly, again you need foundational knowledge.
There are many ways to design and build an app that uses a microservices architecture…
And without this foundational knowledge, AI won't be able to assist you effectively.
3) Human Decision-Making
There are aspects of the development of an app where you cannot replace human decision-making.
Decisions need to be made in many key areas, and I will outline 4 that I think are very important.
Preventing Over-Engineering
When building software, there needs to be a decision around what is "good enough" and what is considered "over-engineering".
Software takes a long time to build.
To build it you need developers.
And to have developers you need resources in the form of money.
This means that decisions need to be made around what is worth spending time on and what isn't.
What will bring the most return on time spent.
This often comes down to:
Is the return we're getting on this worth the development time and effort?
If the answer is no, then that probably means you're over-engineering the app.
Now AI isn't going to be aware of what is worth development time and effort and what isn't.
Human decision-making is required to determine to what degree should something be implemented and at what point is it overkill.
And the only way to know this is through foundational knowledge and experience that allows you to properly whey the pros and cons and make proper estimates.
(Are you noticing a pattern?)
Scalability
The amount of scale that an app needs to handle will determine the architecture decisions of the app.
Is there going to be only about 1 request hitting your app every 5 minutes?
Will there be 1 request every second?
Will there be 100 requests every second?
Or do you expect over 1,000 requests coming in every second?
The amount of scale the app needs to handle will be responsible for the design decisions around the architecture.
If you only have 1 request coming in every 5 minutes on average, then you don't need to have a more complex architecture that can handle 1,000 requests per second…
That is what would be considered over-engineering at that point.
The problem with architectures that handle that level of scale is that there is also cost and complexity tied to them.
It's much more expensive to host an architecture that can support 1,000+ requests per second compared to one that handles say 5 requests per second — and it's far more complex to implement.
When your app needs to handle a lot of scale, then you need to start making decisions around how you'll handle that scale.
Will you use vertical scaling — using more powerful machines that cost more.
Or will you use horizontal scaling — using multiple machines that work concurrently to handle requests.
If you don't have this experience, it's not something you'd even think about.
You'd just have in mind the app you want built, ask AI to build it and call it a day.
But there are lots of architecture design decisions that take place to best manage cost and scalability which AI won't do a good job of unless you have that foundational knowledge and know how to ask the right questions.
Monetization Strategies
Beyond just the technical aspects, there are other higher level decisions that need to take place as well.
What are the best ways to monetize the app?
There will be costs and so a good monetization strategy needs to be in place to cover these costs and generate profit.
Will there be an ad strategy used?
Will there be a subscription model? If so, how will churn rates be managed? Will there be different subscription tiers? Is so, what will each tier include?
Will there be a credit system?
Maybe a combination of a subscription and credit system?
Or will a commission based system be used?
There's a lot of decisions that go into how to monetize an app, and there's a lot of complexity around implementing these…
So you don't want to architect your app around a particular system and then suddenly decide to switch gears and go a different route.
Software takes a lot of time to build and so you don't want to spend lots of time and resources going down the wrong path.
Behavioural Design
On top of monetization strategies, there's also design decisions around how to get users to regularly use your app — this is not easy.
This is where behavioural design comes into play (or behavioural psychology as it's also called).
This on a high level is all about how to form habit-forming apps.
How do you design an app in such a way that it becomes ingrained as part of a habit?
In Nir Eyal's book titled "Hooked: How to Build Habit-Forming Products", he describes 4 stages that your app must include for the app to be ingrained as part of one's habits (he calls this the Hooked Model):
1. Trigger
Your app must use an internal trigger that causes someone to open your app.
An internal trigger is a thought, emotion or preexisting routine that acts as a trigger for someone to take an action — there needs to be a connection formed between the internal trigger and your app.
Internal triggers take time to form, and external triggers need to be used at the start before internal triggers take root.
External triggers are things like paid ads, organic content, sending emails to an email list, word of mouth, and anything external that brings someone to your app.
The idea is that you want to use external triggers until they're no longer needed since the user now has internal triggers formed that get them to use your app.
Let's take an example of an internal trigger from the book to illustrate what this looks like:
You see a moment in front of you that you want to capture and not miss out on…
This is an internal trigger that then gets you to open your Instagram app…
Then you take a picture, write a caption, and make a post to capture the moment.
The habit here is opening Instagram to capture a moment, with an internal trigger for the habit being seeing one of these moments to capture in front of you.
And there are plenty of other examples of internal triggers:
- Boredom
- Loneliness
- Uncertainty
- Feeling unproductive
- Fear of forgetting something
- And so on
2. Action
The internal trigger then causes you to take an action.
In the Instagram example, this would be taking a photo to not miss out on a moment.
There's a few keys behind action — which are ensuring that there is as little friction as possible behind taking the action…
And that there's anticipation of a reward after taking the action.
Dr. B.J. Fogg's Behaviour Model states that for a behaviour to occur, a trigger needs to be present while a user has sufficient ability and motivation to take the action.
This is demonstrated through the equation B = MAT (behaviour = motivation + ability + trigger).
On top of this, there are 3 key motivators behind behaviours:
- Seeking pleasure and avoiding pain
- Seeking hope and avoiding fear
- Seeking social acceptance while avoiding social rejection
And to increase one's ability to take action, 6 key factors need to be taken into account:
- Time — will it take too much time?
- Money — is it too expensive?
- Physical effort — how physically demanding is it?
- Brain cycles — how confusing is it?
- Social deviance — is this something outside the norm?
- Non-routine — is this something that feels too new and different?
3. Variable Reward
When a user is finally rewarded by taking an action, it is important that the reward they receive is a variable reward and not a static one.
This is why news feeds are very powerful on social media apps.
Every time you open a news feed, there is something different there tailored just for you…
And as you scroll down, there's a chance of something exciting coming up next…
Then if you're satisfied, you'll scroll down again…
Then maybe the next post isn't as satisfying, but maybe the next one after that will be so you scroll down again…
And that is how you trap yourself into the ever so terrible "doom scrolling" as we call it.
This is the power of variable rewards.
Variable rewards don't necessarily need to come in the form of things like a newsfeed.
Even something like a Google search produces a variable reward.
Sure, if you search for the same thing twice then you'll probably get the same search results…
But it's still a variable reward since you don't know what you're going to get before you enter the search query.
Or even an app like Uber has a variable reward since you don't know what route will be taken or exactly what type of car will pick you up until you submit the request…
Then there's apps where variable rewards can be seen more clearly…
I already mentioned social media apps, but there's also weather apps where you don't know what kind of forecast you'll see before opening the app.
Variable rewards are important to build habit-forming apps, which are also necessary for the app to be profitable and successful.
4. Investment
The final stage of the Hooked Model is investment which involves storing value in the app in some way.
This comes after the variable reward and happens when users are ready to reciprocate after receiving a variable reward.
If we take Instagram as an example, investments are things like the posts you make, the engagement you get on those posts, the number of followers you have and the other accounts that you follow.
These investments make it far more difficult to remove the app completely from your life.
We tend to overvalue our work, be consistent with our past behaviours and avoid cognitive dissonance — all of which contributes to the power of investments in an app.
Also the more investments you make in an app, the better it becomes…
This makes it far more likely that a user will return to the app.
Can you see how without this foundational knowledge you wouldn't even think to make some of these design considerations in an app?
And if you wouldn't even consider these design decisions, then I assure you that AI wouldn't consider them either…
AI will only do what you tell it to do.
If this wasn't enough, there are also design decisions around the look, feel, experience and branding of the app itself…
And how to make things intuitive and simple for users.
Design goes deep, and I don't see AI being able to fully replace humans when it comes to design decisions.
4) Observability
Visibility with what's going on in your app is another area I see that AI will have a hard time being able to fully replace humans.
When it comes to observability, there's a lot of human decisions that need to take place:
- What are useful logs we should have?
- What kind of logs are not necessary?
- How do we best structure the logs?
- What kind of dashboards would be most useful?
- What information do we care about?
- What kinds of alerts would make sense and what thresholds should we set?
These are just a few things that need to be considered when setting up visibility in your app.
The more your app grows, the more complex the internal workings become…
And it becomes crucial to have visibility into what's going on within these systems.
It's important to be able to easily see if things are working as expected or if your app is malfunctioning in some way.
Especially when your app is serving many users — then if something goes wrong you want to know about it and react to it quickly.
What kind of things would make sense to observe…how to construct dashboards in a way that makes sense…what types of alerts to create…
These are things that require human decision making and is difficult to hand off completely to AI.
There's many things to keep tabs on in an app:
- Is too much CPU and memory being used by a resource?
- Is this API returning a lot of errors? If so, what are the errors?
- What does my cache hit rate look like? Is it lower than expected? If so, why?
- What do the response times look like?
- Are servers taking too long to respond to users?
- Are queues getting bottlenecked?
- Is all the storage capacity almost used up?
- Are costs higher than expected?
And the list goes on.
The point is that the more complex an app becomes, the more things there are that can go wrong…
And the more things that can go wrong, the more observability and alerting you'll want so that you can have full visibility into what's going on internally at all times.
5) Search Engine Optimization (SEO)
SEO is another aspect of app development that I think AI will have a difficult time replacing for a number of reasons…
Constant Change and Uncertainty
Search engines are known to have very frequent updates…
Their algorithms update all the time, often on a daily basis and AI models simply can't keep up with it.
Experts who are operating in real-time can interpret ambiguous signals, run experiments and adapt strategies faster than AI can.
Experts in SEO are able to detect and react to these changes to the algorithm causing various shifts in rankings before there's even official announcements about these changes.
Strategic Thinking
There's more to SEO than keywords and technical adjustments.
Other important factors to consider are:
- Business goals
- Brand positioning
- User intent
These things need to be aligned to have an effective SEO strategy, and that requires human planning.
There's also trade-offs that need to be considered when putting together an SEO strategy that you need expertise for in order to make these decisions:
- Should a page target short-term traffic gains?
- Should it target long-term brand authority?
- How should resources be allocated to content?
- What will the link-building look like?
- How will the site architecture look like?
To do these things right and allocate resources appropriately, you need an expert that understands:
- The market you operate in
- Competitors
- Human-behaviour
And this is something that is difficult to automated with AI.
Persuasion
Content that ranks high and is effective must contain 3 key elements:
- It must be compelling
- It must be original
- And it must be persuasive
Technical optimization only gets you so far…
If the content isn't good, then it all falls flat.
AI is good at creating content, but there's a few problems with the content that it generates:
- It lacks true creativity
- It lacks original storytelling
- It lacks the ability to align your brand and content effectively
- It lacks the ability to fully leverage the psychology of your audience
An AI model might have a lot of context, but it won't necessarily understand the people that a piece of content is created for on the same level as the author.
It won't understand their pains, fears, dreams and desires to the same degree.
This deep understanding is what's required to create compelling content.
An SEO expert will be able to create content and narratives that resonate with the people that it's created for.
They'll be able to put together content that isn't just good, but that helps drive actual conversions.
Complexity In SEO
Another reason why AI will have a difficult time replacing humans for SEO is due to the complexity:
- Technical engineering — site speeds, crawlability, schemas
- Marketing — content strategy, personal relations, link-building
- Psychology — user intent, behaviour
- Analytics
AI can help with individual tasks really well, but having orchestration between all of these things becomes too complex for AI alone.
You simply need a human with cross-domain knowledge to properly orchestrate the complexity and put together effective strategies.
They will probably use AI to assist with individual tasks, but a human is still needed for the orchestration.
Human Relationships
A big aspect of effective SEO is human relationships, networking and trust:
- Link-building
- Partnerships
- Influencer outreach
- PR campaigns
These are all aspects of SEO strategy that require other humans and AI can't automate this.
AI can certainly help with things like writing an outreach email for example…
But it cannot build credibility, negotiate collaborations, or earn authentic endorsements the way that a human SEO expert would be able to.
Human relationships are a part of SEO strategy and are something that you cannot fully automated with AI.
6) Where AI Shines — And Where It Doesn't
Big Problems
The bigger the problem…the more complex…the less effective AI will be at solving it.
You cannot throw a huge problem with tons of nuance and complexity and expect AI to effectively give you a solution.
For AI to effectively handle big problems, those big problems must first be broken down into smaller problems.
Small Problems
This is the area I think AI shines.
If you can break down a problem enough, give the right context, then AI does an amazing job.
But this means you still need a human as an orchestrator.
You need a human with enough knowledge to know how to break down a big problem into smaller problems that he can feed into an AI model.
Without a human with the necessary expertise, AI will become unreliable.
AI is simply a tool used to help you be more efficiently.
It isn't a tool that completely replaces a human.
It is a tool that's there to be used by a human with domain knowledge that knows how to properly orchestrate the tool and feed it with the right inputs so that it produces an ideal output.
If you give AI to a person without the necessary domain knowledge…
They'll have no idea how to break big problems down…
They'll have no idea how to orchestrate anything…
And they'll be fully reliant on AI to do everything…to solve the big problems which it can't do very effectively.
Productivity
AI in my opinion is a tool that's there to help an expert be far more productive at what they do — by being able to orchestrate it and feed it the kind of inputs that produce an ideal output.
There's 4 areas I think AI is great when it comes to productivity…
1. Automate Mundane Tasks
In any field, there's certain things that you have to do that are simple and easy to do, but they're very tedious.
The fact that they're simple and easy to do is also why AI is fantastic at dealing with them.
There isn't all that much context that you need to feed the AI model…
You simply describe what you want it to do and it will do it…
And it will do in seconds what may have taken you hours.
That's the thing with tedious, mundane tasks…
They're really easy and straightforward…but they're also incredibly time consuming.
Why waste time on something simple but tedious when you can simply automate it and get it done in seconds.
2. Research and Problem Solving
Another area where AI is amazing is with research, problem solving and helping you come up with ideas.
Research is one of these things that's simple but very tedious to do.
Especially when you have to use a search engine to do this research…
This is because these search engine algorithms rank content better if someone is spending more time on it.
This means that content you search for is often written in a way where it won't get straight to the point and simply give you the answer you're looking for.
You'll have a scour through a whole article and try to find the one thing you actually care about.
This helps the content rank better, but is annoying when you want specific information quickly so you can move on.
This is why AI is great, it will just give you the answer you want.
(although sometimes you may need to specify to the AI model to get to the point and leave out the fluff)
Problem solving is another area I feel AI shines.
If you're ever stuck on a problem, instead of spending hours searching the internet, going through forums, reading blog posts, watching videos…
You simply ask AI, give it enough context and it will give you the answer you're looking for without you needlessly spending hours searching for the answer online.
It has the answers, and all you need to do is ask the right questions so that it gives them to you.
Often when we're stuck on a problem, we need some ideas that get the gears turning and help us ultimately solve the problem…
This is another area where AI is great.
You ask it to generate ideas, and it will come up with lots of ideas that can greatly speed up problem solving.
Researching, solving problems and coming up with ideas are all tedious and take a lot of time…
By being able to automate these you can work far more productively.
If you're stuck on a problem, AI can help you get unstuck within minutes…
Whereas without it you could be stuck on a problem for weeks or even months…
It's unreal how effective AI is in this department.
3. Enhanced Workflows
AI is becoming better and better at enhancing developer workflows.
With things like CoPilot and Cursor AI, you can now have an AI assistant by your side helping you as you write code.
You no longer need to use something like ChatGPT where you need to provide it with tons of context before you can even ask what you want…
With these tools you simply attach files you're working on and feed those as context to greatly speed up the process…
And on top of that the AI interacts directly with your codebase.
It's like having constant access to a senior developer as you're putting together an app.
But again, these tools don't eliminate the need for expertise…they simply help someone who's already an expert be far more productive.
Then there's other great workflow enhancements under development that are also pretty mind blowing…
Things like the model context protocol (MCP) — which allows AI to communicate directly with different tools that you use…
In a nutshell, the way it works is that if the tool supports the MCP protocol, then that allows AI to communicate with it.
This means that your AI assistant can suddenly have the ability to do things like make queries directly to your database, receive the information and make decisions…
It can make updates to your database models…
It can communicate directly with your AWS account and make infrastructure adjustments…
And the list goes on.
I don't think something like the MCP protocol will necessarily increase the risk of AI replacing developers…
To me it simply seems like another great tool to help expert developers work far more productively.
4. Increased Efficiency
Overall AI is great at helping a developer be far more efficient.
They don't need to waste time creating a bunch of mundane boilerplate code…
They don't need to waste weeks or even months on research and problem solving.
They don't need to waste countless hours being stuck on bugs and errors.
And they don't need to waste lots of time on simple, mundane and tedious tasks that can be done in seconds instead of hours.
AI is a great tool, but in my opinion only in the hands of an expert.
You need the human expert who will know how to orchestrate the tool…
Break down complex problems into smaller manageable problems…
And who has enough domain knowledge that allows them to feed the right inputs into the AI model and receive quality outputs.
Machines didn't replace builders and farmers, they gave them equipment that allowed them to be more efficient at what they do…
They helped them speed up mundane and tedious tasks…
But you still needed people to operate those tool correctly…
And to operate them correctly, the individuals operating them needed to understand the big picture.
Say, if you give farming machines to someone that isn't a farmer, they won't know how to take advantage of them.
They'll first need to acquire a certain level of understanding — they'll need to be able to see the big picture around what goes into farming…
Only then will these machines actually be useful.
This is exactly what AI is for web developers — it is a machine that allows them to be more efficient at what they do.
But only if the web developer can see the big picture.
At the end of the day, for web developers AI is really one of two things:
- A tool to that helps a beginner learn faster
- A tool to that helps an expert greatly increase their productivity
What it is NOT is a tool that replaces web developers.
With all that said, here are some steps for how you as a web developer can adapt in a world of AI:
- Build a solid foundation
- Know how to create maintainable code
- Know how to implement good security practices
- Understand good software architecture
- Understand how to architect cloud infrastructure
- Understand automated software testing and deployment
- Be able to use AI to enhance your productivity
The only thing that has really changed in today's AI age is that now you have an additional tool that helps you be far more productive as a web developer.
Hopefully with this deeper level understanding, you can now see how AI is simply another tool there to assist web developers — not a tool that will replace them.
That is everything for this one. Hope you enjoyed the letter and have a fantastic rest of your day.
- Bryan