<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shaquille Niekerk</title>
    <description>The latest articles on DEV Community by Shaquille Niekerk (@shaq_attack).</description>
    <link>https://dev.to/shaq_attack</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2381335%2F7f7df455-e01b-46f8-afc8-2432d2d12e2f.jpg</url>
      <title>DEV Community: Shaquille Niekerk</title>
      <link>https://dev.to/shaq_attack</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shaq_attack"/>
    <language>en</language>
    <item>
      <title>The cost of learning everything</title>
      <dc:creator>Shaquille Niekerk</dc:creator>
      <pubDate>Mon, 29 Jun 2026 08:16:18 +0000</pubDate>
      <link>https://dev.to/shaq_attack/the-cost-of-learning-everyting-3m5d</link>
      <guid>https://dev.to/shaq_attack/the-cost-of-learning-everyting-3m5d</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;The more I tried to learn, the less I felt like I actually knew.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For the longest time, I thought becoming a better software engineer meant learning as much as possible, and I tried to do this as quickly as possible.&lt;/p&gt;

&lt;p&gt;If a new Typescript framework appeared, I wanted to learn it. If everyone was talking about AI agents, I wanted to understand them. My thinking was simple: the more I learned, the better of a developer I'd become. &lt;/p&gt;

&lt;p&gt;At least that's what I thought.&lt;/p&gt;

&lt;p&gt;It wasn't until recently that I realised I wasn't running out of motivation, I was running out of mental resources. &lt;/p&gt;

&lt;h2&gt;
  
  
  The never-ending checklist
&lt;/h2&gt;

&lt;p&gt;My weeks started looking something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A full-time software engineering job.&lt;/li&gt;
&lt;li&gt;LeetCode before work.&lt;/li&gt;
&lt;li&gt;YouTube tutorials during lunch.&lt;/li&gt;
&lt;li&gt;Researching a topic after work.&lt;/li&gt;
&lt;li&gt;Books I've bought, waiting to be read.&lt;/li&gt;
&lt;li&gt;Side projects that would help me "experiment" with what I've learned.&lt;/li&gt;
&lt;li&gt;A playlist of talks on topics I'd find time to watch.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI became a big thing, and suddenly there were LLMs, agents, MCP servers, RAG, prompt engineering, and another hundred rabbit holes waiting to be explored.&lt;/p&gt;

&lt;p&gt;Instead of feeling excited, I felt like I was just falling behind. Every topic I wasn't learning felt like I was falling behind.&lt;/p&gt;

&lt;h2&gt;
  
  
  The knowledge gap
&lt;/h2&gt;

&lt;p&gt;Part of this came from conversations I'd have with senior developers. I'd walk away thinking, "I have so much left to learn". Now, I don't think that's a bad realisation; the problem was with how I responded to it. Instead of picking one area to improve, I tried to improve everything at once. Frontend, backend, architecture, cloud, devops, AI, all of it.&lt;/p&gt;

&lt;p&gt;Every new technology felt like another piece of the puzzle I couldn't afford to ignore. Ironically, trying to close every knowledge gap only made me feel further behind.&lt;/p&gt;

&lt;h2&gt;
  
  
  Context switching is more expensive than we think
&lt;/h2&gt;

&lt;p&gt;I've tried creating the "perfect" schedule, as you read about previously...&lt;br&gt;
LeetCode before work, tutorials over lunch, study sessions after work, and reading after dinner. On paper, it looked productive. But in reality, my brain could never adjust. I'd get stuck on a LeetCode problem before work, then I'd spend half my workday subconsciously trying to solve it. At lunch, I'd start watching a tutorial while still thinking about the feature I'd been building five minutes earlier. By the evening, I'd sit down to study another topic... The words on the screen made no sense, and it felt like a mission just to keep my focus.&lt;/p&gt;

&lt;p&gt;I wasn't being lazy, I was just mentally exhausted.&lt;/p&gt;

&lt;h2&gt;
  
  
  The IDE was open, but my brain was closed
&lt;/h2&gt;

&lt;p&gt;I'd open my IDE, open the project I want to work on, look at the code, and just sit there. Not because I didn't want to work. But because I genuinely didn't have the mental energy to start. &lt;/p&gt;

&lt;p&gt;The same thing happened with documentation or tutorials. I'd be three sentences deep until I realise I've just been reading, or listening, to the words but not actually paying attention to understand what is being said. That was always frustrating.&lt;/p&gt;

&lt;h2&gt;
  
  
  The side project graveyard
&lt;/h2&gt;

&lt;p&gt;If there's one thing I'm embarrassingly good at, it's starting projects. Actually finishing them, though? That's another story.&lt;/p&gt;

&lt;p&gt;Every new idea felt more exciting than the last one. I'd jump into it, convinced this was the one. A few weeks later, another idea would steal my attention. Months later, I'd revisit an old repository only to wonder, "Why did I build this again?"&lt;/p&gt;

&lt;p&gt;I wasn't lacking motivation; I was constantly resetting it on new projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real cost
&lt;/h2&gt;

&lt;p&gt;The strange thing is that I was busy, really busy. But six months down the line, I struggle to point to anything I'd actually finished.&lt;/p&gt;

&lt;p&gt;I'd spend more time planning how I was going to learn something than actually learning anything. I'd make enormous roadmaps and become overwhelmed by the size of them. So, I'd shorten the roadmap only to convince myself I was taking shortcuts. So, I'd rebuild the roadmap again. &lt;/p&gt;

&lt;p&gt;Somewhere along the way, planning became a substitute for progress.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I'll approach learning instead
&lt;/h2&gt;

&lt;p&gt;Now, I'm still figuring this out. I don't have a magical productivity system. But what I do know is that trying to learn everything at once has never worked for me.&lt;/p&gt;

&lt;p&gt;So now I'm trying something much simpler.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One project.&lt;/li&gt;
&lt;li&gt;One topic.&lt;/li&gt;
&lt;li&gt;One goal.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finish what I'm doing before chasing the next exciting idea. Accept that some technologies will have to wait. And understand that it's better to be great at a few things than to be okay at a lot of things.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;If I could send one message back to myself a couple of years ago, it would be this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Focus on small increments. Decide where you want to go, commit to that path, and ignore all the shiny things trying to pull you away from it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Software development moves incredibly fast. There will always be another framework, another AI model, another language, another "must learn thing". The list will never end, but your mental energy does.&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope that if you take anything away from this, it's that finishing what you start is far more valuable than constantly chasing the next big thing.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>mentalhealth</category>
      <category>productivity</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>The Hidden Job of a Software Architect</title>
      <dc:creator>Shaquille Niekerk</dc:creator>
      <pubDate>Mon, 22 Jun 2026 11:45:16 +0000</pubDate>
      <link>https://dev.to/shaq_attack/the-hidden-job-of-a-software-architect-1mal</link>
      <guid>https://dev.to/shaq_attack/the-hidden-job-of-a-software-architect-1mal</guid>
      <description>&lt;p&gt;Before we begin, I'd like to preface this post by saying that these are simply my thoughts on the subject. I'm not a software architect, nor do I claim to be an expert. This is me exploring the topic and putting my thoughts "on paper," so if I've misunderstood something, feel free to correct me in the comments.&lt;/p&gt;

&lt;p&gt;In this post, I'd like to cover what it means to be a Software Architect.&lt;br&gt;
Imagine you're asked to build a simple login screen.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A junior developer might think about the form and UI that need to be built.&lt;/li&gt;
&lt;li&gt;A mid-level developer might think about authentication and authorization.&lt;/li&gt;
&lt;li&gt;A senior developer might think about security, performance, maintainability, and operational concerns.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So what does the software architect think about? All the above for sure, but also how all components fit with each other, what happens when requirements change, and what trade-offs the team is willing to accept today that they'll probably live with for years to come.&lt;/p&gt;

&lt;p&gt;The term Software Architect gets thrown around a lot. Sometimes it sounds like the most senior engineer's responsibility. Other times it sounds like the person who spends all day drawing diagrams and attending meetings.&lt;br&gt;
So what is a software architect, really?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Software Architect
&lt;/h2&gt;

&lt;p&gt;Martin Fowler describes architecture as the set of important decisions that are difficult to change later.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The database you choose.&lt;/li&gt;
&lt;li&gt;Whether you go microservices or monolith.&lt;/li&gt;
&lt;li&gt;How systems communicate.&lt;/li&gt;
&lt;li&gt;How security, scalability, reliability, and maintainability are handled.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These decisions create constraints that shape everything built afterward.&lt;/p&gt;

&lt;p&gt;So, an architect's job would be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Defining system structure.&lt;/li&gt;
&lt;li&gt;Evaluating trade-offs.&lt;/li&gt;
&lt;li&gt;Managing technical risk.&lt;/li&gt;
&lt;li&gt;Aligning technical decisions with business goals.&lt;/li&gt;
&lt;li&gt;Creating a shared vision for development teams.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An architect's job seems to be less about writing code and more about making decisions that help other developers write better code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thinking like a Software Architect
&lt;/h2&gt;

&lt;p&gt;As a developer we all usually start out thinking about features. But architects need to think in systems. Where a developer thinks "How do I build this?", and architect would think "Should we build this at all?". Where a developer thinks "Which library should I use?", an architect would think "What happens if this dependency disappears?".&lt;/p&gt;

&lt;p&gt;Thinking like an architect must be difficult because every decision comes with trade-offs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A microservice is scalable, but comes with complexity.&lt;/li&gt;
&lt;li&gt;A monolith is simpler to build and maintain, but may become harder to scale.&lt;/li&gt;
&lt;li&gt;SQL gives us consistency, but sacrifices some flexibility.&lt;/li&gt;
&lt;li&gt;NoSQL gives us flexibility, but can introduce consistency challenges.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are rarely perfect solutions. There are only solutions that are appropriate for a particular context. And these decisions affect the team in major ways, because going back on most of these decisions will be very costly, some decisions can be reversed in a week, while others can take months or even years to undo.&lt;/p&gt;

&lt;p&gt;Architects spend much of their time identifying which decisions fall into that second category.&lt;/p&gt;

&lt;p&gt;So an architect doesn't optimize for elegance, they optimize for outcomes.&lt;/p&gt;

&lt;p&gt;The core of being an architect is understanding systems, constraints, trade-offs, and people better that anyone else.&lt;/p&gt;

&lt;p&gt;The more I think about it, the less software architecture seems to be about technology and the more it seems to be about decision-making. Technologies change. Frameworks come and go. Databases evolve.&lt;/p&gt;

&lt;p&gt;But understanding systems, constraints, trade-offs, and people remains constant.&lt;/p&gt;

&lt;p&gt;Maybe that's why software architecture feels so difficult. You're not designing software for today. You're making decisions for a future version of the system, a future team, and a future set of problems that don't exist yet.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>softwareengineering</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The Last Generation of Developers Who Learned to Code Manually</title>
      <dc:creator>Shaquille Niekerk</dc:creator>
      <pubDate>Mon, 15 Jun 2026 06:21:15 +0000</pubDate>
      <link>https://dev.to/shaq_attack/the-last-generation-of-developers-who-learned-to-code-manually-24f5</link>
      <guid>https://dev.to/shaq_attack/the-last-generation-of-developers-who-learned-to-code-manually-24f5</guid>
      <description>&lt;p&gt;There was a time when software engineers had to understand the machine almost as much as the software itself.&lt;/p&gt;

&lt;p&gt;Not metaphorically. Literally.&lt;/p&gt;

&lt;p&gt;Game developers working on older consoles didn’t just write games, they engineered around physical limitations. Cartridges weren’t just storage devices. Developers learned how to manipulate the hardware itself to squeeze out more performance, more memory, more possibilities. Every byte mattered.&lt;/p&gt;

&lt;p&gt;And that got me thinking about AI.&lt;/p&gt;

&lt;p&gt;Not in the “AI is replacing developers tomorrow” kind of way. More in the:&lt;br&gt;
“What actually happens to software engineering when the hardest part is no longer writing the code itself?” kind of way.&lt;/p&gt;

&lt;p&gt;Because if you zoom out far enough, software engineering almost feels like a long history of abstraction. Each generation moves one layer further away from the metal.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Hardware Wizards to Software Builders
&lt;/h2&gt;

&lt;p&gt;Early programmers needed to think about hardware constantly.&lt;br&gt;
Memory constraints.&lt;br&gt;
CPU cycles.&lt;br&gt;
Storage limitations.&lt;br&gt;
Manual optimization.&lt;/p&gt;

&lt;p&gt;Then came higher-level programming languages. Suddenly we weren’t flipping bits or writing assembly for everything anymore. Languages started handling more complexity for us. Eventually memory management became less painful too.&lt;/p&gt;

&lt;p&gt;Manual garbage collection gave way to runtimes and managed environments.&lt;br&gt;
Frameworks appeared.&lt;br&gt;
Libraries exploded.&lt;br&gt;
Open source communities grew.&lt;/p&gt;

&lt;p&gt;And slowly, software engineering started becoming less about building everything yourself, and more about knowing how to assemble systems effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Internet Changed the Developer Brain
&lt;/h2&gt;

&lt;p&gt;Then came another massive shift: the internet.&lt;/p&gt;

&lt;p&gt;More specifically, searchable knowledge.&lt;/p&gt;

&lt;p&gt;Sites like Stack Overflow completely changed how developers worked. Before that, a lot of programming knowledge lived in books, documentation, university courses, or the minds of senior engineers guarding ancient deployment rituals like dragons protecting caves of gold.&lt;/p&gt;

&lt;p&gt;Then suddenly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;someone somewhere had already solved your problem&lt;/li&gt;
&lt;li&gt;explanations were searchable&lt;/li&gt;
&lt;li&gt;code snippets were one copy-paste away&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Developers joked about it constantly.&lt;/p&gt;

&lt;p&gt;“99% of programming is just Googling.”&lt;/p&gt;

&lt;p&gt;“Stack Overflow is my senior developer.”&lt;/p&gt;

&lt;p&gt;At the time, some people criticized this shift.&lt;br&gt;
“You don’t really understand the code.”&lt;br&gt;
“You’re relying too much on external knowledge.”&lt;/p&gt;

&lt;p&gt;But something interesting happened. Developers didn’t become less productive, they became dramatically more productive.&lt;/p&gt;

&lt;p&gt;The value wasn’t memorizing syntax anymore.&lt;br&gt;
It became understanding systems, architecture, trade-offs, debugging, and knowing how pieces fit together.&lt;/p&gt;

&lt;p&gt;And now AI feels like the next evolution of that same pattern.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Might Be the Biggest Abstraction Layer Yet
&lt;/h2&gt;

&lt;p&gt;Today, AI can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;scaffold applications&lt;/li&gt;
&lt;li&gt;explain concepts&lt;/li&gt;
&lt;li&gt;generate APIs&lt;/li&gt;
&lt;li&gt;debug code&lt;/li&gt;
&lt;li&gt;write tests&lt;/li&gt;
&lt;li&gt;create SQL queries&lt;/li&gt;
&lt;li&gt;refactor components&lt;/li&gt;
&lt;li&gt;summarize documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes frighteningly well.&lt;/p&gt;

&lt;p&gt;The weird part is that this changes the development process itself.&lt;/p&gt;

&lt;p&gt;For years, writing code was the bottleneck.&lt;br&gt;
Now the bottleneck is slowly becoming:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;knowing what to build&lt;/li&gt;
&lt;li&gt;verifying correctness&lt;/li&gt;
&lt;li&gt;designing systems properly&lt;/li&gt;
&lt;li&gt;communicating intent clearly&lt;/li&gt;
&lt;li&gt;understanding whether the generated solution is actually good&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Maybe the future software engineer spends less time manually writing every line and more time acting like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a systems architect&lt;/li&gt;
&lt;li&gt;a technical director&lt;/li&gt;
&lt;li&gt;a reviewer&lt;/li&gt;
&lt;li&gt;a validator&lt;/li&gt;
&lt;li&gt;an orchestrator of intelligent tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not replacing engineering knowledge, but changing where that knowledge gets applied.&lt;/p&gt;

&lt;h2&gt;
  
  
  The “Copy-Paste” Debate Is Happening Again
&lt;/h2&gt;

&lt;p&gt;What’s fascinating is how familiar this all sounds. People once mocked developers for relying on Stack Overflow. Now people mock developers for relying on AI. But maybe we’re watching the same cycle repeat itself.&lt;/p&gt;

&lt;p&gt;Every major leap in software engineering seems to create fear that “real engineering” is disappearing.&lt;/p&gt;

&lt;p&gt;Higher-level languages.&lt;br&gt;
Frameworks.&lt;br&gt;
Libraries.&lt;br&gt;
Search engines.&lt;br&gt;
Open source.&lt;br&gt;
Cloud infrastructure.&lt;/p&gt;

&lt;p&gt;Each abstraction reduced friction.&lt;br&gt;
Each abstraction also changed what skills mattered most&lt;br&gt;
And every time, developers adapted.&lt;/p&gt;

&lt;h2&gt;
  
  
  We’re Still in the Launch-Window Era of AI Development
&lt;/h2&gt;

&lt;p&gt;One thing I keep thinking about is console generations in gaming.&lt;/p&gt;

&lt;p&gt;If you compare early games released on a console to games released near the end of that same console’s life cycle, the difference is insane.&lt;/p&gt;

&lt;p&gt;Developers eventually learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the quirks of the hardware&lt;/li&gt;
&lt;li&gt;optimization tricks&lt;/li&gt;
&lt;li&gt;hidden capabilities&lt;/li&gt;
&lt;li&gt;workflow improvements&lt;/li&gt;
&lt;li&gt;what not to do&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the end of the generation, you get masterpieces that seemed impossible when the console first launched.&lt;/p&gt;

&lt;p&gt;That honestly feels a lot like where we are with AI right now.&lt;/p&gt;

&lt;p&gt;We’re still shipping the equivalent of launch titles.&lt;/p&gt;

&lt;p&gt;Some AI-assisted software today feels messy.&lt;br&gt;
Over-engineered.&lt;br&gt;
Poorly understood.&lt;br&gt;
Built too fast.&lt;br&gt;
Held together with hope, dreams, and motivational quotes.&lt;/p&gt;

&lt;p&gt;But that might simply be the awkward early phase of learning a new tool.&lt;/p&gt;

&lt;p&gt;Over time, developers will probably learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;when AI helps&lt;/li&gt;
&lt;li&gt;when it hurts&lt;/li&gt;
&lt;li&gt;how to structure workflows around it&lt;/li&gt;
&lt;li&gt;how to validate outputs properly&lt;/li&gt;
&lt;li&gt;how to combine speed with quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And eventually, teams that truly understand these tools may build things that feel impossible by today’s standards.&lt;/p&gt;

&lt;h2&gt;
  
  
  So… What Does a Software Engineer Become?
&lt;/h2&gt;

&lt;p&gt;I don’t think software engineers disappear. At least not in the way some people predict, but I do think the role evolves.&lt;/p&gt;

&lt;p&gt;The same way engineers once moved:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;from hardware-focused thinking&lt;/li&gt;
&lt;li&gt;to software-focused thinking&lt;/li&gt;
&lt;li&gt;to framework ecosystems&lt;/li&gt;
&lt;li&gt;to cloud-native systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…we may now be moving toward intent-driven development.&lt;/p&gt;

&lt;p&gt;Where the real skill isn’t:&lt;br&gt;
“Can you write every line manually?”&lt;/p&gt;

&lt;p&gt;But rather:&lt;br&gt;
“Can you design, guide, validate, and refine complex systems effectively?”&lt;/p&gt;

&lt;p&gt;Because AI can generate code.&lt;/p&gt;

&lt;p&gt;But understanding:&lt;/p&gt;

&lt;p&gt;trade-offs&lt;br&gt;
scalability&lt;br&gt;
maintainability&lt;br&gt;
security&lt;br&gt;
user experience&lt;br&gt;
business logic&lt;br&gt;
architecture&lt;/p&gt;

&lt;p&gt;That still matters, and maybe now more than ever.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I don’t think we fully understand yet how AI will reshape software engineering.&lt;/p&gt;

&lt;p&gt;Honestly, I think we’re still in the experimental phase where everyone is simultaneously excited, confused, skeptical, and slightly terrified.&lt;/p&gt;

&lt;p&gt;But looking back at the history of software development, one thing seems consistent:&lt;/p&gt;

&lt;p&gt;Every major abstraction changed the way engineers worked.&lt;br&gt;
And every time, the developers who learned how to properly use the new tools ended up building incredible things.&lt;/p&gt;

&lt;p&gt;Maybe AI is just the next chapter in that story, or maybe it’s the biggest shift yet.&lt;/p&gt;

&lt;p&gt;Either way, I think we’re witnessing a fascinating moment in software engineering history.&lt;/p&gt;

&lt;p&gt;And I’m very curious to see what developers become on the other side of it.&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

&lt;p&gt;Are we moving toward a future where developers become architects of intent?&lt;br&gt;
Or do you think AI-assisted development is being massively overhyped?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>softwareengineering</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Real Power of Claude Code Isn’t the Code Generation</title>
      <dc:creator>Shaquille Niekerk</dc:creator>
      <pubDate>Mon, 08 Jun 2026 12:01:51 +0000</pubDate>
      <link>https://dev.to/shaq_attack/the-real-power-of-claude-code-isnt-the-code-generation-1cgm</link>
      <guid>https://dev.to/shaq_attack/the-real-power-of-claude-code-isnt-the-code-generation-1cgm</guid>
      <description>&lt;p&gt;I would like to take some time to talk about AI coding tools, specifically my experience moving from GitHub Copilot to Claude Code CLI.&lt;/p&gt;

&lt;p&gt;This isn't going to be a "Copilot vs Claude" cage match. I still use Copilot daily inside VS Code. It's great at what it does.&lt;/p&gt;

&lt;p&gt;But over the last few months, I noticed something changing in the way I worked with AI.&lt;/p&gt;

&lt;p&gt;I started with Copilot mostly with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;autocomplete&lt;/li&gt;
&lt;li&gt;inline questions&lt;/li&gt;
&lt;li&gt;formatting help&lt;/li&gt;
&lt;li&gt;quick logic block reviews&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alongside that, I'd use ChatGPT for debugging, refactoring, tests, and explaining concepts when my brain temporarily hits a blue screen. And all this worked well.&lt;/p&gt;

&lt;p&gt;Then one day, my company got a subscription to Claude, and things started shifting pretty quickly.&lt;br&gt;
Not because the code generation was magically better. But because Claude Code made me think differently about context.&lt;/p&gt;
&lt;h2&gt;
  
  
  The early days
&lt;/h2&gt;

&lt;p&gt;The first moment that really sold me on Claude Code wasn't some massive autonomous feature implementation. But rather a skill.&lt;br&gt;
I had set up a reusable skill that updated multiple files across a test structure while keeping formatting and conventions consistent.&lt;/p&gt;

&lt;p&gt;That was the moment it stopped feeling like "smart autocomplete" and started feeling collaborative. And honestly, the transition wasn't too difficult for me because I was already used to properly prompting AI by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;giving enough context&lt;/li&gt;
&lt;li&gt;clearly defining goals&lt;/li&gt;
&lt;li&gt;discussing changes before implementation&lt;/li&gt;
&lt;li&gt;reviewing plans before execution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The harder part was learning how to structure everything around Claude Code, because once you start using the skills, hooks, &lt;code&gt;CLAUDE.md&lt;/code&gt; file, and agents, you realize pretty quickly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The real power of Claude Code isn't the code generation.&lt;/p&gt;

&lt;p&gt;It's the systems you build around it&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Copilot vs Claude Code
&lt;/h2&gt;

&lt;p&gt;Copilot still shines for quick edits for me. If I'm manually working through a logic block and know exactly what I want, Copilot's inline autocomplete is fast and lightweight. I still use it constantly.&lt;/p&gt;

&lt;p&gt;Claude Code feels different in that it feels more context-aware, especially when working across multiple files.&lt;/p&gt;

&lt;p&gt;With Copilot, I tend to monitor more closely. With Claude Code, I spend more time planning before implementation even starts. And strangely enough, that planning phase has made me think more like an architect than just a developer.&lt;br&gt;
This honestly has been one of the biggest benefits for me.&lt;/p&gt;
&lt;h2&gt;
  
  
  My Claude Setup
&lt;/h2&gt;

&lt;p&gt;Every project I work on now has its own Claude structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.claude/
 | skills/
 | agents/
 | hooks/
 | docs/
CLAUDE.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This setup was heavily inspired by Anthropic's courses, which I'd genuinely recommend if you want to use Claude Code properly. They are free to all.&lt;br&gt;
The ones I found most useful were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://anthropic.skilljar.com/claude-code-101" rel="noopener noreferrer"&gt;Claude Code 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://anthropic.skilljar.com/introduction-to-claude-cowork" rel="noopener noreferrer"&gt;Introduction to Claude Cowork&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://anthropic.skilljar.com/claude-code-in-action" rel="noopener noreferrer"&gt;Claude Code in Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://anthropic.skilljar.com/introduction-to-agent-skills" rel="noopener noreferrer"&gt;Introduction to Agent skills&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://anthropic.skilljar.com/introduction-to-subagents" rel="noopener noreferrer"&gt;Introduction to Subagents&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What I like about project-specific setups is that each codebase gets its own context. A React TypeScript frontend gets frontend-focused skills. A Go backend gets backend-focused skills. And each &lt;code&gt;CLAUDE.md&lt;/code&gt; file contains things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;coding standards&lt;/li&gt;
&lt;li&gt;naming conventions&lt;/li&gt;
&lt;li&gt;architecture rules&lt;/li&gt;
&lt;li&gt;project overviews&lt;/li&gt;
&lt;li&gt;patterns to follow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even some simple rules have a huge difference in consistency.&lt;/p&gt;

&lt;h2&gt;
  
  
  The skill I use the most
&lt;/h2&gt;

&lt;p&gt;The skill I always use is a planning skill.&lt;br&gt;
The workflow is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I describe the feature or bug&lt;/li&gt;
&lt;li&gt;The skill scans the codebase&lt;/li&gt;
&lt;li&gt;It identifies what exists and what may need to change&lt;/li&gt;
&lt;li&gt;It creates a planning document inside: .claude/docs/&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once the document is created, I manually review and approve it before implementation starts.&lt;/p&gt;

&lt;p&gt;The approval step matters the most because one thing I've learned real quick is this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI should not be left alone to do the heavy lifting&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Hooks, Guardrails, and Security
&lt;/h2&gt;

&lt;p&gt;Another thing I think many developers overlook with AI tooling is security. These tools can read a lot if you let them.&lt;/p&gt;

&lt;p&gt;I use hooks to prevent Claude from accessing sensitive files using &lt;code&gt;PreToolUse&lt;/code&gt; matchers for: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read&lt;/li&gt;
&lt;li&gt;Edit&lt;/li&gt;
&lt;li&gt;Write&lt;/li&gt;
&lt;li&gt;Grep (this one is often overlooked)
A simplified version looks something like this:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
   &lt;/span&gt;&lt;span class="nl"&gt;"matcher"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Read|Edit|Write|Grep"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
   &lt;/span&gt;&lt;span class="nl"&gt;"block"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="s2"&gt;".env"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="s2"&gt;"secrets/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
     &lt;/span&gt;&lt;span class="s2"&gt;"private-keys/"&lt;/span&gt;&lt;span class="w"&gt;
   &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's not perfect, but it adds guardrails. And I think guardrails should be one of the most important parts of AI-assisted development. Because AI tools are incredibly capable, but they're also extremely confident, sometimes they're confidently wrong.&lt;/p&gt;

&lt;p&gt;The best description I've heard, and the one I now use constantly, is this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Treat AI like a super confident junior developer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It will be Fasr, Helpful, and sometimes brilliant, but they still require oversight.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I am today
&lt;/h2&gt;

&lt;p&gt;Right now, I still don't fully trust Claude Code to implement large features without supervision. And I think that's a healthy mindset because sometimes it hallucinates patterns, over-engineers, or confidently walks directly into the architectural equivalent of a wall.&lt;/p&gt;

&lt;p&gt;But despite that, it has already changed the way I develop software. I spend more time planning, more time thinking about systems, and creating reusable workflows instead of solving the same problem time and time again.&lt;/p&gt;

&lt;p&gt;My goal is not to stop coding, it's to code better. AI should not be used to replace developers, but rather to help developers think at a higher level.&lt;/p&gt;

&lt;p&gt;That’s it from me for this post. &lt;br&gt;
I'd love to hear how other developers are using Claude Code, Copilot, Cursor, or any other AI tooling in their workflow.&lt;/p&gt;

&lt;p&gt;What's your current setup looking like?&lt;br&gt;
And which AI has become your go-to coding copilot so far?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>githubcopilot</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Comms Under Fire - Update 01</title>
      <dc:creator>Shaquille Niekerk</dc:creator>
      <pubDate>Fri, 16 Jan 2026 13:27:50 +0000</pubDate>
      <link>https://dev.to/shaq_attack/comms-under-fire-update-01-n8b</link>
      <guid>https://dev.to/shaq_attack/comms-under-fire-update-01-n8b</guid>
      <description>&lt;p&gt;This is a major update that I've done on my game.&lt;br&gt;
From a shift in the overall purpose of the game, to the mechanics, down to how things look. Below I will go over everything that I've done and try and explain why I've done it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Purpose
&lt;/h2&gt;

&lt;p&gt;Originally I wanted to create a web demo of a game I've wanted to create for PC, a game where you're in the drivers seat of a propaganda machine, and the middle man between soldiers on the ground and the powers that decide the fate of the nation. Oh, and this takes place during a war...&lt;br&gt;
Once I created the demo I realised that the tools I had to create this proved to be more difficult, so I stripped back on some functionalities and in doing so I realised I was working toward a different idea. a classic competitive typing game.&lt;br&gt;
This will have leader boards, with those who have the highest WPM sitting at the top, challenge modes where you can challenge other users to see who types the fastest, and a story mode, if you just want to improve in a relatively stress free mode, while getting the gist of what the story would be in this world.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mechanics
&lt;/h2&gt;

&lt;p&gt;The mechanics have not changed that much, the major change is that I am trying to remove any mouse input. Having the main element of the game be controlled solely by keyboard inputs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fce9jmmk2t0pgu1ewozu4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fce9jmmk2t0pgu1ewozu4.png" alt=" " width="800" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Looks
&lt;/h2&gt;

&lt;p&gt;Originally I had two monitors on screen. One that displayed the text you needed to type, and the other displaying the text that you were typing. &lt;br&gt;
This approach brought a few issues. Firstly people kept getting lost where they were in the text because they had to move their eyes between two monitors. The fix for this was to show a cursor of where you were as you typed, but this just made people only focus on that one monitor, making the two monitor approach seem redundant... Now I think I will still keep the two monitor approach for the main game I plan on creating, but for now one monitor seems to do the job just fine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Update 01
&lt;/h2&gt;

&lt;p&gt;So here we are with the first update.&lt;br&gt;
A whole new game mode, from a story driven typing game to a ranked typing game. A whole new look, from a two monitor setup to a single monitor setup that can be controlled entirely with the keyboard.&lt;/p&gt;

&lt;p&gt;For &lt;strong&gt;Update 01&lt;/strong&gt; I've only included the story mode. But rest assured that I am working on many updates to get this thing having all game modes I've mentioned, and any new ones that come to mind as I go.&lt;/p&gt;

&lt;p&gt;Thank you for reading,&lt;br&gt;
And please check out the game &lt;a href="https://war-typing-demo.vercel.app/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
And leave a comment on what you think, or let me know if you have any issues&lt;/p&gt;

</description>
      <category>indie</category>
      <category>gamedev</category>
      <category>cloudgaming</category>
      <category>indiegames</category>
    </item>
    <item>
      <title>How One Game Made Me a Gamer Again</title>
      <dc:creator>Shaquille Niekerk</dc:creator>
      <pubDate>Tue, 13 Jan 2026 14:56:04 +0000</pubDate>
      <link>https://dev.to/shaq_attack/how-one-game-made-me-a-gamer-again-kgj</link>
      <guid>https://dev.to/shaq_attack/how-one-game-made-me-a-gamer-again-kgj</guid>
      <description>&lt;p&gt;Lately, games have started to feel less like an escape and more like a chore.&lt;/p&gt;

&lt;p&gt;Every new release seems to come with a trade-off. Battle passes, cosmetic shops, seasonal content, daily logins. The message feels clear: the more money you spend and the more time you sink, the more fun you’re &lt;em&gt;allowed&lt;/em&gt; to have. Microtransactions are “optional,” of course. Just like breathing.&lt;/p&gt;

&lt;p&gt;I started wondering if the problem was me.&lt;/p&gt;

&lt;p&gt;Maybe I’ve just lost the patience to really get into games. Maybe adulthood hollowed out that part of my brain. I’d watch reviews where someone confidently stamped an “8/10” on a game, boot it up myself, and immediately feel like I’d played it already. Same mechanics, different coat of paint. Or worse, a game that felt unfinished unless I paid to fill in the gaps.&lt;/p&gt;

&lt;p&gt;Then, almost by accident, I played &lt;strong&gt;Dispatch&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqu9hvjfi9bpmdgjfm4x8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqu9hvjfi9bpmdgjfm4x8.jpg" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For those who don’t know it, you’re in charge of a superhero group, managing crises and sending heroes out to fight crime. No endless progression systems. No dangling carrots. Just a focused idea, executed well.&lt;/p&gt;

&lt;p&gt;I finished it in one sitting. And immediately wanted to replay it to see the other outcomes.&lt;/p&gt;

&lt;p&gt;That hasn’t happened to me in &lt;em&gt;years&lt;/em&gt;. I still haven’t finished The Sims 2, and I started that around 2007.&lt;/p&gt;

&lt;p&gt;That experience made me pause. Maybe I wasn’t burnt out on games. Maybe I was just burnt out on &lt;em&gt;the kinds of games I’d been choosing&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So I tested that idea.&lt;/p&gt;

&lt;p&gt;Instead of relying on reviews and scores, I went back to how I picked what game I play back in the day, so I started watching trailers and forming my own opinion about whether a game actually looked fun to &lt;em&gt;me&lt;/em&gt;. Not “content-rich” not “worth the grind” just fun.&lt;/p&gt;

&lt;p&gt;That’s how I landed on &lt;strong&gt;High on Life&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx19dmt1eonvp7vf3xdx.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx19dmt1eonvp7vf3xdx.webp" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On my first play, I went for four uninterrupted hours.&lt;/p&gt;

&lt;p&gt;That might not sound impressive, but for me, that’s huge. Four hours without checking the time. Four hours without feeling guilty. Four hours without that nagging sense that I should be doing something more “productive.”&lt;/p&gt;

&lt;p&gt;And when I stopped playing, I didn’t feel like I’d wasted my time.&lt;/p&gt;

&lt;p&gt;So now I’m left with a burning question.&lt;/p&gt;

&lt;p&gt;Is it just me, or have a lot of modern games become either souls like pits that require time and dedication just to master one move, or carefully engineered money machines designed to drip-feed dopamine? Games that don’t respect your time unless you give them your wallet too?&lt;/p&gt;

&lt;p&gt;So great games are still out there, and  I’ve just been looking in all the wrong places.&lt;/p&gt;

&lt;p&gt;What game(s) have you been playing lately that was just an absolute blast?&lt;/p&gt;

</description>
      <category>pcgaming</category>
      <category>steam</category>
    </item>
    <item>
      <title>My First game - Comms Under Fire</title>
      <dc:creator>Shaquille Niekerk</dc:creator>
      <pubDate>Thu, 11 Dec 2025 14:57:28 +0000</pubDate>
      <link>https://dev.to/shaq_attack/my-first-game-comms-under-fire-2co</link>
      <guid>https://dev.to/shaq_attack/my-first-game-comms-under-fire-2co</guid>
      <description>&lt;p&gt;A game set in an alternate world where two nations are locked in a brutal war. You’ve been assigned to man the comms, where you’ll find yourself drafting Propaganda to keep your fellow citizens calm, hacking into enemy communication channels to leak sensitive state secrets, and planting destabilizing messages to push the enemy’s civilians into panic.&lt;/p&gt;

&lt;p&gt;All of this while staying alive during active invasions, relaying time-sensitive comms from the frontline to HQ, and doing whatever it takes to help win this war.&lt;/p&gt;

&lt;p&gt;The Comms Under Fire mini-demo has just gone &lt;a href="https://war-typing-demo.vercel.app/" rel="noopener noreferrer"&gt;live&lt;/a&gt;, and you can play-test it right now. It’s the tiniest snippet of the full idea — a small taste of what the final game will become. I’ll be releasing the full version on Steam once I’ve got the proper tools to build it out.&lt;/p&gt;

&lt;p&gt;For now, enjoy the free online mini-demo. Updates will be rolling in, so keep an eye out!&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>indie</category>
      <category>cloudgaming</category>
      <category>singleplayer</category>
    </item>
  </channel>
</rss>
