AI Coding Agents Didn’t Make Software Engineering Obsolete—They Changed Where the Value Lies

For many developers, the emergence of AI coding agents has prompted an uncomfortable question: Was all the time spent learning software development worth it if AI can now generate working code in minutes?

A recent reflection on the development of the Flipnzee Auctions plugin offers an interesting perspective.

The project began as a learning exercise. Rather than rushing to release a product, its development progressed step by step, covering WordPress plugin architecture, object-oriented PHP, database design, AJAX, scheduled tasks, payment workflows, Git, debugging, and software organization. Every feature became an opportunity to understand not just what to build, but why it should be built that way.

Looking back, there is no denying that modern AI coding agents can now perform many of these implementation tasks remarkably quickly. Refactoring classes, generating CRUD interfaces, organizing project structures, fixing common bugs, writing documentation, and even producing test cases are increasingly becoming tasks that can be completed in minutes rather than days.

At first glance, this might suggest that months of development effort were unnecessary.

The reality is more nuanced.

The greatest value of the project was never the number of lines of PHP that were written. It was the understanding gained throughout the process.

By building the plugin manually, the developer learned how WordPress hooks interact, how database migrations work, why security checks matter, how to organize maintainable code, how to debug complex issues, and how seemingly small architectural decisions affect future development.

These lessons cannot simply be downloaded from an AI.

Ironically, this experience makes AI significantly more valuable rather than less. Someone who understands software engineering can evaluate AI-generated code, recognize hidden bugs, identify security concerns, and determine whether a suggested implementation truly fits the product.

Without that understanding, generated code often becomes little more than a black box.

There is, however, an important lesson for startups.

While the educational value of building software from scratch is enormous, there is also a point of diminishing returns. Projects can become trapped in endless cycles of refactoring, redesigning, and documenting instead of reaching users.

Many founders discover that they spend more time perfecting architecture than validating whether customers actually want the product.

In hindsight, a more balanced approach may have been to release an early version, gather feedback, and allow AI to accelerate subsequent iterations.

This highlights the real shift brought about by modern coding agents.

The competitive advantage is no longer typing code faster than everyone else.

The competitive advantage lies in identifying worthwhile problems, designing practical solutions, specifying clear requirements, reviewing AI-generated implementations, and continuously improving the product based on real-world feedback.

For developers who have invested years in learning programming, this should be encouraging rather than discouraging.

Their knowledge has not lost its value.

Instead, the nature of their work has evolved.

As AI increasingly handles implementation, software engineers move higher up the value chain—focusing on product strategy, architecture, user experience, quality assurance, and business decisions.

The future belongs not to those who write every line of code manually, nor to those who rely entirely on AI, but to those who can combine engineering judgment with AI-assisted development.

In many ways, learning software engineering has become more valuable than ever—not because developers must write every function themselves, but because they now possess the expertise to guide AI toward building better software.

Why WordPress Uses Nonces: Understanding CSRF with a Simple Real-World Example

Many WordPress beginners encounter functions like wp_nonce_field() and check_admin_referer() while developing plugins. At first, these functions can seem unnecessary. After all, if only administrators can access your plugin settings, why add another layer of protection?

The answer lies in understanding a common web security attack called Cross-Site Request Forgery (CSRF). In this article, we’ll explore how such an attack works, why it is dangerous, and how WordPress nonces help prevent it.

A Simple Plugin Settings Form

Imagine your plugin has a settings page where an administrator can save an API key.

<form method="post">
    <input type="text" name="api_key">
    <input type="submit" value="Save Settings">
</form>

When the administrator submits the form, the plugin stores the value.

update_option(
    'my_plugin_api_key',
    $_POST['api_key']
);

Everything works perfectly during normal use.

The Administrator Is Already Logged In

When an administrator logs into WordPress, the browser stores a login cookie.

Whenever the browser communicates with the WordPress website, this cookie is automatically included with every request.

This allows WordPress to recognize the administrator without asking them to log in again for every page.

The Unexpected Problem

Now imagine the administrator visits another website while still logged into WordPress.

That website appears harmless, but behind the scenes it contains a hidden HTML form.

<form action="https://mysite.com/wp-admin/admin.php?page=my-plugin"
      method="POST">

    <input type="hidden"
           name="api_key"
           value="HACKED">

</form>

<script>
document.forms[0].submit();
</script>

The administrator never sees this form.

The JavaScript immediately submits it in the background.

What Happens Next?

When the browser submits the hidden form to your WordPress website, it automatically includes the administrator’s login cookie.

From WordPress’s perspective, the request looks completely legitimate because it comes from an authenticated administrator.

If your plugin simply executes:

update_option(
    'my_plugin_api_key',
    $_POST['api_key']
);

the malicious value is saved.

The administrator never clicked your plugin’s Save Settings button. Their browser unknowingly performed the action on their behalf.

Why Is This Dangerous?

At first glance, changing a single setting may not seem like a serious problem. However, many administrative actions can be performed through web forms.

Without CSRF protection, an attacker could trick an administrator’s browser into:

  • Changing plugin or theme settings
  • Publishing unwanted posts or announcements
  • Creating a new administrator account
  • Deleting important data
  • Disabling security plugins
  • Importing malicious configuration files
  • Triggering actions that execute harmful code

The attacker never needs to know the administrator’s password.

Instead, they misuse the administrator’s already authenticated browser.

Enter WordPress Nonces

WordPress solves this problem by adding a nonce to forms.

wp_nonce_field( 'save_settings' );

This generates a hidden field similar to:

<input type="hidden"
       name="_wpnonce"
       value="9f8d72e1ab">

When the form is submitted, your plugin verifies the nonce.

check_admin_referer( 'save_settings' );

If the nonce is missing or invalid, WordPress immediately rejects the request.

Why Can’t the Attacker Guess the Nonce?

The nonce is generated by WordPress specifically for the logged-in user and is embedded in the genuine plugin page.

A malicious website cannot simply invent a valid nonce value.

Without the correct nonce, the forged request fails, even though the administrator is logged in.

Cookies and Nonces Serve Different Purposes

It is important to understand that authentication cookies and nonces solve different problems.

The login cookie answers:

Who is making this request?

The nonce answers:

Did this request originate from a legitimate WordPress form?

Both checks are necessary for secure plugin development.

A Real-World Analogy

Imagine entering your office using your employee ID card.

Once inside, someone hands you a sealed envelope and asks you to place it in the manager’s mailbox.

You assume it’s legitimate and deliver it.

Later, the manager discovers the envelope contains a fake resignation letter or an unauthorized payment request.

The manager trusted the envelope because it was delivered by you, even though you never intended to send that message.

A CSRF attack works in much the same way.

The attacker doesn’t steal your identity. Instead, they trick your browser—which WordPress already trusts—into performing actions on your behalf.

Key Takeaways

  • Being logged into WordPress does not automatically protect against CSRF attacks.
  • A malicious website can cause a logged-in browser to submit unwanted requests.
  • WordPress nonces help verify that a request originated from a genuine WordPress page.
  • Every plugin that processes forms should use wp_nonce_field() when generating the form and check_admin_referer() (or check_ajax_referer() for AJAX requests) before processing submitted data.
  • Authentication confirms who is making the request, while nonces help verify where the request came from.

Understanding this distinction is one of the most important milestones in becoming a secure WordPress plugin developer.

GUI vs Terminal: Which Should You Use for WordPress Plugin Development?

If you’re just starting your journey into WordPress plugin development, one of the first things you’ll notice is that experienced developers often use the terminal (command line), while beginners usually prefer the graphical user interface (GUI).

Should you force yourself to learn the terminal immediately? Or is it perfectly acceptable to rely on the GUI?

The answer is simpler than you might think.

What Is a GUI?

A Graphical User Interface (GUI) lets you interact with your computer using windows, buttons, icons, and menus.

Examples include:

  • Windows File Explorer
  • macOS Finder
  • GitHub Codespaces Explorer
  • Visual Studio Code Explorer
  • WordPress Dashboard

Instead of typing commands, you simply click your way through folders and files.

For example, creating a new file in GitHub Codespaces can be as simple as:

  • Click the New File button
  • Type ROADMAP.md
  • Press Enter

No commands required.

What Is a Terminal?

A terminal is a text-based interface where you type commands instead of clicking buttons.

For example, instead of creating a file using the mouse, you could type:

touch ROADMAP.md

Instead of opening a folder, you might type:

cd flipnzee-auctions

Instead of listing files, you would type:

ls

The terminal may seem intimidating at first, but it is simply another way of communicating with your computer.

GUI vs Terminal

TaskGUITerminal
Create a fileClick New Filetouch filename
Create a folderClick New Foldermkdir foldername
Rename a fileRight-click → Renamemv oldname newname
Delete a fileRight-click → Deleterm filename
Open a fileDouble-clickcode filename
View filesExplorerls
Change foldersClick folderscd foldername

Both approaches accomplish the same goal.

Why Do Professional Developers Use the Terminal?

There are several reasons.

Speed

Typing one command is often faster than clicking through multiple menus.

For example:

mkdir includes admin public assets languages

creates five folders instantly.

Automation

Many development tools only work from the command line.

Examples include:

git status
composer install
npm install
phpunit

As your projects grow, these tools become increasingly valuable.

Universal Skills

Whether you’re working with WordPress, Laravel, Django, Node.js, or Linux servers, terminal knowledge transfers across technologies.

Learning a handful of commands today will continue to benefit you for years.

Does That Mean Beginners Should Avoid the GUI?

Absolutely not.

In fact, beginners often learn more effectively by combining both approaches.

Suppose you create a file using the Explorer. Later, you learn the equivalent terminal command:

touch ROADMAP.md

Now you’ve learned two different ways to accomplish the same task.

Over time, you’ll naturally begin using whichever method feels more efficient.

Our Approach in This Tutorial Series

Throughout the Building Flipnzee Auctions series, we’ll demonstrate both methods whenever practical.

For example, if we create a new folder, you’ll learn:

GUI Method

  • Click New Folder
  • Enter the folder name
  • Press Enter

Terminal Method

mkdir includes

This dual approach allows every reader to progress comfortably, regardless of prior experience.

There’s No “Right” Way

Some developers spend nearly their entire day inside Visual Studio Code without touching the terminal.

Others rarely use the mouse.

Both groups build excellent software.

The goal isn’t to replace one with the other. Instead, it’s to understand that both interfaces are simply different tools for interacting with the same files.

As your confidence grows, you’ll likely find yourself using the GUI for visual tasks and the terminal for repetitive or automated work.

Final Thoughts

Don’t feel pressured to master the terminal overnight.

Start with the GUI if it makes you comfortable. Learn one or two terminal commands each week. Before long, commands like cd, ls, pwd, git status, and touch will become second nature.

Remember, great developers aren’t defined by whether they use a mouse or a keyboard. They’re defined by their ability to solve problems, write clean code, and continue learning.

Every expert was once a beginner who typed their first command.

Kinsta Launches Free AI & Bot Traffic Protection for All Hosting Customers

Published on WPNzee News

The rise of artificial intelligence has brought many benefits to website owners, but it has also introduced a new challenge: AI crawlers and automated bots consuming server resources at an unprecedented scale.

According to Kinsta’s recently released AI & Bot Traffic Report, AI bot traffic increased by more than 300% in just one year, and approximately 1 in every 31 website visits now comes from an AI bot.

To help website owners regain control over their traffic, Kinsta has announced a new Bot Protection feature inside the MyKinsta dashboard, available to all customers at no additional cost.

Why AI Bot Traffic Matters

Many AI companies deploy crawlers that continuously scan websites to collect information for training models, powering search experiences, and generating AI responses.

While some bots provide value, excessive crawler activity can:

  • Increase server load
  • Consume hosting resources
  • Slow down websites
  • Increase bandwidth usage
  • Affect website performance for real visitors

For website owners running blogs, eCommerce stores, membership sites, and business websites, unmanaged bot traffic can become a hidden cost.

What Is Kinsta’s New Bot Protection?

The new Bot Protection feature gives website owners more control over how automated traffic interacts with their websites.

With Bot Protection enabled, users can:

Control Which Bots Are Allowed

Site owners can decide which bots should be allowed access and which should be blocked or challenged.

Block Resource-Intensive AI Crawlers

The feature specifically helps identify and manage AI crawlers that may consume excessive server resources.

Protect Production and Staging Sites Separately

Different environments can have different protection rules, allowing more flexibility for development and testing.

Automatically Allow Verified Search Bots

Verified search engine bots such as Google Search crawlers can continue accessing websites normally, helping preserve SEO visibility.

Why This Matters for WordPress Users

WordPress powers millions of websites worldwide, making it a major target for automated crawlers.

For WordPress website owners, Bot Protection can help:

  • Improve site performance
  • Reduce unnecessary resource consumption
  • Maintain a better user experience
  • Protect hosting resources from unwanted traffic
  • Simplify bot management without additional plugins

Since the feature is integrated directly into Kinsta’s hosting platform, users do not need to install or configure separate security tools.

A Unique Advantage in the Hosting Market

Many hosting providers offer security features focused on malware, DDoS attacks, and firewalls.

However, dedicated AI crawler management remains relatively uncommon.

Kinsta’s decision to offer Bot Protection free of charge gives customers access to a feature that addresses one of the newest challenges facing website owners in 2026.

As AI adoption continues to grow, tools that help manage automated traffic are likely to become increasingly important.

Our Take

The rapid growth of AI crawlers means website owners need better visibility and control over who is accessing their content.

Kinsta’s new Bot Protection feature is a welcome addition that addresses a real-world problem affecting website performance and hosting resources.

For agencies, bloggers, publishers, eCommerce businesses, and WordPress professionals, this feature adds another layer of protection without requiring additional software or monthly fees.

Learn More About Kinsta

If you’re interested in managed WordPress hosting and want to explore Kinsta’s latest features, you can learn more here:

👉 https://kinsta.com/?kaid=VXFXSHMKFCLQ

Affiliate Disclosure: This article contains affiliate links. If you purchase through these links, WPNzee may earn a commission at no additional cost to you.