<?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>Forem: Micky C</title>
    <description>The latest articles on Forem by Micky C (@micky_c_4274c0e7c56db4dd8).</description>
    <link>https://forem.com/micky_c_4274c0e7c56db4dd8</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3925480%2F6e535fa6-57d8-4ee0-ac2d-892da00b8366.png</url>
      <title>Forem: Micky C</title>
      <link>https://forem.com/micky_c_4274c0e7c56db4dd8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/micky_c_4274c0e7c56db4dd8"/>
    <language>en</language>
    <item>
      <title>What AI Can't Understand About Your Users — And Why That Matters for Your Career</title>
      <dc:creator>Micky C</dc:creator>
      <pubDate>Fri, 22 May 2026 09:03:15 +0000</pubDate>
      <link>https://forem.com/micky_c_4274c0e7c56db4dd8/what-ai-cant-understand-about-your-users-and-why-that-matters-for-your-career-25nj</link>
      <guid>https://forem.com/micky_c_4274c0e7c56db4dd8/what-ai-cant-understand-about-your-users-and-why-that-matters-for-your-career-25nj</guid>
      <description>&lt;h2&gt;
  
  
  The User Research Blind Spot
&lt;/h2&gt;

&lt;p&gt;Your AI can write a login form. It can even write a beautiful, accessible, responsive login form with perfect validation and error messages.&lt;/p&gt;

&lt;p&gt;What it cannot do is tell you why your users keep forgetting their password on the exact screen you designed.&lt;/p&gt;

&lt;p&gt;This is the AI user research blind spot. It's not a gap in capability. It's a category error.&lt;/p&gt;




&lt;h2&gt;
  
  
  What AI Can and Can't Know About Users
&lt;/h2&gt;

&lt;p&gt;AI learns from data. It can tell you what users did in the past. It cannot tell you why they did it, what they were thinking, or what they wanted but couldn't articulate.&lt;/p&gt;

&lt;p&gt;When you watch a user try to complete a task and fail, you see the frustration, the hesitation, the moment they give up and close the tab. That moment is data. It's the most valuable data you can collect. AI wasn't in the room.&lt;/p&gt;

&lt;p&gt;The senior developer who understands the user research process — the interviews, the usability tests, the "say out loud" protocol — has access to a category of insight that AI cannot generate.&lt;/p&gt;

&lt;p&gt;This is not about the technique. It's about the specific humans you're building for, and what it takes to understand them.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why User Research Is an AI-Resistant Skill
&lt;/h2&gt;

&lt;p&gt;User research requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Being present with another person&lt;/li&gt;
&lt;li&gt;Reading their emotional state&lt;/li&gt;
&lt;li&gt;Following threads that seem tangential but turn out to be crucial&lt;/li&gt;
&lt;li&gt;Recognizing when what someone says and what they mean are different things&lt;/li&gt;
&lt;li&gt;Making judgment calls about which feedback to act on and which to contextualize&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these can be automated. None of them can be delegated to an AI that wasn't in the room.&lt;/p&gt;

&lt;p&gt;The developers who are most effective at building the right thing are the ones who have direct, ongoing relationships with the people who use what they build. They know the users. They've watched them struggle. They remember the moment of confusion.&lt;/p&gt;

&lt;p&gt;AI can analyze a heatmap. It cannot tell you what that heatmap means in the context of your users' lives.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Career Implication
&lt;/h2&gt;

&lt;p&gt;The developers who will thrive in an AI-powered world are not the ones who can write more code, faster. They're the ones who can tell the difference between building the right thing and building the thing right.&lt;/p&gt;

&lt;p&gt;Building the right thing requires understanding your users. Understanding your users requires being in the room with them.&lt;/p&gt;

&lt;p&gt;That's not a technical skill. It's a human skill. And it's exactly what AI can't replicate.&lt;/p&gt;

&lt;p&gt;The opportunity isn't to become a better coder. It's to become the person in the room who understands what to build.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Part of the AI-Proof Programmer series.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ux</category>
      <category>users</category>
      <category>ai</category>
    </item>
    <item>
      <title>Stop Learning Frameworks, Start Learning Patterns That Transfer</title>
      <dc:creator>Micky C</dc:creator>
      <pubDate>Tue, 19 May 2026 09:03:40 +0000</pubDate>
      <link>https://forem.com/micky_c_4274c0e7c56db4dd8/stop-learning-frameworks-start-learning-patterns-that-transfer-5hl7</link>
      <guid>https://forem.com/micky_c_4274c0e7c56db4dd8/stop-learning-frameworks-start-learning-patterns-that-transfer-5hl7</guid>
      <description>&lt;h2&gt;
  
  
  The Framework Trap
&lt;/h2&gt;

&lt;p&gt;You learned React. Now you're learning Vue. Now Angular is making a comeback. You've spent the last three years learning framework after framework, and you keep ending up at the same place: confused about what actually matters.&lt;/p&gt;

&lt;p&gt;This is the framework trap. And it's more dangerous than it looks.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Frameworks Actually Do
&lt;/h2&gt;

&lt;p&gt;A framework is a set of conventions that helps you build things within a specific set of constraints. React helps you build UIs. Django helps you build web apps. Kafka helps you build data pipelines.&lt;/p&gt;

&lt;p&gt;The thing about conventions is that they're arbitrary. The specific way React handles state is not a law of nature. It's a choice made by a team of engineers at Meta, influenced by their specific needs and constraints.&lt;/p&gt;

&lt;p&gt;When you learn React, you're learning those specific choices. When the next framework comes along, those choices become liabilities. The hours you spent learning component lifecycle methods? Gone. The time you spent understanding the virtual DOM? Transferred to nobody.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Patterns Beneath the Frameworks
&lt;/h2&gt;

&lt;p&gt;Real knowledge is framework-agnostic. It transfers. It compounds.&lt;/p&gt;

&lt;p&gt;Here's an example: the observer pattern. Once you understand it deeply, React's useEffect dependency array makes immediate sense. Redux's store updates make sense. Vue's reactivity system makes sense. You didn't learn React — you learned a manifestation of a pattern that happens to be implemented in React.&lt;/p&gt;

&lt;p&gt;The same is true for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dependency injection&lt;/strong&gt; — understanding it makes Spring make sense, but also Hilt, and the service locator pattern in plain JavaScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Event-driven architecture&lt;/strong&gt; — understanding it makes Kafka clicks, but also RabbitMQ, and the Pub/Sub system your team built custom&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimistic UI&lt;/strong&gt; — understanding it makes React's pending state patterns make sense, but also the patterns in native mobile apps, and the ones your team rolls by hand&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Event sourcing&lt;/strong&gt; — understanding it makes Kafka the tool you reach for, not the tool you were taught to use&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Frameworks come and go. Patterns are forever.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Good Engineers Actually Know
&lt;/h2&gt;

&lt;p&gt;Ask a senior engineer at a FAANG company how they'd build something, and notice what they reach for: not frameworks. Patterns.&lt;/p&gt;

&lt;p&gt;"This is an event-driven problem. We could use a message queue, but honestly, for our scale, a simple in-memory pub/sub might be enough until we hit maybe ten thousand users a day."&lt;/p&gt;

&lt;p&gt;"This looks like a CQRS situation. The read model and write model have different access patterns, so we should separate them."&lt;/p&gt;

&lt;p&gt;"This is a classic distributed systems problem. We need eventual consistency here, strict consistency there. Let's draw the boundary."&lt;/p&gt;

&lt;p&gt;This is not framework knowledge. This is pattern knowledge. And it transfers across every framework you'll ever work with.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Learn Patterns, Not Frameworks
&lt;/h2&gt;

&lt;p&gt;The key to learning patterns is to always ask: "what problem does this solve, and is there a better way to solve it in my specific context?"&lt;/p&gt;

&lt;p&gt;When you hit a problem that makes you reach for a framework feature, stop. Ask yourself:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is this feature actually doing?&lt;/li&gt;
&lt;li&gt;What pattern is it an implementation of?&lt;/li&gt;
&lt;li&gt;Is there a simpler implementation of that pattern that doesn't require the framework?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When you learn a new framework, don't learn the features. Learn what problems each feature solves. Then look for the patterns. Once you see the pattern, the framework becomes a detail.&lt;/p&gt;

&lt;p&gt;The developer who understands the observer pattern doesn't need to be taught Vue's reactivity system. They'll figure it out in an afternoon.&lt;/p&gt;

&lt;p&gt;The developer who doesn't understand the observer pattern could spend years in Vue and still not understand why Vue behaves the way it does.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Compound Interest of Pattern Knowledge
&lt;/h2&gt;

&lt;p&gt;Pattern knowledge compounds. The more patterns you understand, the faster you learn new frameworks, because every new framework is just a different implementation of patterns you already know.&lt;/p&gt;

&lt;p&gt;The trap of framework knowledge is that it doesn't compound. You learn React, then Vue, then Angular. Three separate piles of knowledge that don't connect to each other.&lt;/p&gt;

&lt;p&gt;The senior engineers you admire aren't smarter than you. They've just been at this long enough that they've built a mental library of patterns. When something new comes along, they map it to what they already know. That's what makes them fast.&lt;/p&gt;

&lt;p&gt;The investment you make in pattern knowledge today is the investment that pays dividends when the next framework drops and everyone scrambles to learn it. You'll already know the pattern. You'll learn the framework in an afternoon.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Part of the AI-Proof Programmer series.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>learning</category>
      <category>architecture</category>
      <category>ai</category>
    </item>
    <item>
      <title>The Five Conversations Every Programmer Should Master — And Why AI Can't Do Them</title>
      <dc:creator>Micky C</dc:creator>
      <pubDate>Fri, 15 May 2026 15:50:14 +0000</pubDate>
      <link>https://forem.com/micky_c_4274c0e7c56db4dd8/the-five-conversations-every-programmer-should-master-and-why-ai-cant-do-them-g0j</link>
      <guid>https://forem.com/micky_c_4274c0e7c56db4dd8/the-five-conversations-every-programmer-should-master-and-why-ai-cant-do-them-g0j</guid>
      <description>&lt;h2&gt;
  
  
  Code is 20% of the Job
&lt;/h2&gt;

&lt;p&gt;Most programmers spend about 20% of their time writing code. The other 80% is something else entirely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clarifying requirements in planning meetings&lt;/li&gt;
&lt;li&gt;Explaining technical decisions to stakeholders&lt;/li&gt;
&lt;li&gt;Negotiating scope and trade-offs with product managers&lt;/li&gt;
&lt;li&gt;Giving feedback to colleagues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not a soft-skills pitch. This is about the conversations that actually determine whether your code ships, whether your features work, and whether your career advances.&lt;/p&gt;

&lt;p&gt;AI can write code. It cannot negotiate a deadline.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conversation 1: Requirements Clarification
&lt;/h2&gt;

&lt;p&gt;The most expensive bug I've ever encountered wasn't a logic error. It was a feature that did exactly what the ticket said, but not what the stakeholder actually needed. It took three weeks to build, two more weeks to realize the mistake, and another week to fix.&lt;/p&gt;

&lt;p&gt;The root cause was a requirements conversation that nobody had.&lt;/p&gt;

&lt;p&gt;Requirements clarification is a skill. It involves asking questions that surface hidden assumptions, probing the "why" behind stated constraints, and getting specific about edge cases. Senior developers do this naturally. Junior developers often think requirements are just things written in tickets.&lt;/p&gt;

&lt;p&gt;AI does not understand requirements. It does not know your company's context. It cannot ask the question that would have prevented three weeks of wasted work.&lt;/p&gt;

&lt;p&gt;The developers who get things right the first time are the ones who had the right conversations before writing a line of code.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conversation 2: Technical Trade-off Communication
&lt;/h2&gt;

&lt;p&gt;Every architectural decision is a trade-off. You're choosing speed of development over flexibility, or simplicity over scalability. The developers who advance fastest are the ones who can articulate these trade-offs clearly — to managers, to other engineers, to stakeholders.&lt;/p&gt;

&lt;p&gt;This matters because technical decisions often have business consequences that aren't immediately obvious. A "clean" architecture might take twice as long to build. A "quick" solution might create technical debt that slows down the team for months.&lt;/p&gt;

&lt;p&gt;The conversation isn't just about the technical merits. It's about mapping technical reality to business constraints, and doing it in language that non-technical stakeholders can understand and act on.&lt;/p&gt;

&lt;p&gt;AI can explain technical concepts. It cannot weigh trade-offs in the context of your specific business, team, and timeline.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conversation 3: Scope Negotiation
&lt;/h2&gt;

&lt;p&gt;"Why can't we have it all?"&lt;/p&gt;

&lt;p&gt;Because scope is a negotiation. Features take time. Time has a cost. Resources are finite. Every "yes" to a feature is implicitly a "no" to something else — usually something implicit.&lt;/p&gt;

&lt;p&gt;The developers who are trusted partners in product decisions are the ones who can have honest scope conversations without destroying relationships. They can say "yes, we can do that, but here's what it costs" and help find creative solutions that satisfy the underlying need without killing the timeline.&lt;/p&gt;

&lt;p&gt;This is a conversation about priorities, about trust, about understanding what actually matters to the business. AI has no skin in the game.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conversation 4: Feedback Delivery
&lt;/h2&gt;

&lt;p&gt;The hardest feedback to give is honest feedback that might sting. The hardest feedback to receive is feedback that challenges your assumptions. The developers who get better fastest are the ones who can do both.&lt;/p&gt;

&lt;p&gt;Giving feedback well requires reading the other person's emotional state, understanding their context, choosing the right moment, and framing the message so it lands rather than bounces off.&lt;/p&gt;

&lt;p&gt;This is not a technical skill. It's not something you can learn from documentation. It's something you learn from actually doing it — and from getting it wrong, and trying again.&lt;/p&gt;

&lt;p&gt;AI cannot give feedback that changes behavior. It can generate words that sound like feedback.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conversation 5: Mentoring Handoffs
&lt;/h2&gt;

&lt;p&gt;The most valuable developers don't just write code. They grow the team around them. This means mentoring junior developers through the moments that define how they think about software.&lt;/p&gt;

&lt;p&gt;The handoff conversation is when you explain why a decision was made a certain way, what you considered and rejected, and what the junior developer should watch out for. Done well, this is worth more than any blog post or tutorial.&lt;/p&gt;

&lt;p&gt;It's not about the code. It's about the judgment behind the code. And judgment transfer requires human connection.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why AI Can't Do These
&lt;/h2&gt;

&lt;p&gt;AI processes language. It can generate responses that sound like these conversations. It can even simulate the structure of a good negotiation.&lt;/p&gt;

&lt;p&gt;What it cannot do is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand the specific humans involved and what they care about&lt;/li&gt;
&lt;li&gt;Read the room before deciding how to frame a difficult conversation&lt;/li&gt;
&lt;li&gt;Make the judgment call about which battle to fight and which to let go&lt;/li&gt;
&lt;li&gt;Build the trust that makes honest conversations possible&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These conversations require you to be present. AI is never present.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Part of the AI-Proof Programmer series.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>career</category>
      <category>communication</category>
      <category>ai</category>
    </item>
    <item>
      <title>The AI-Resistant Programmer: Why Soft Skills Matter More Than Code</title>
      <dc:creator>Micky C</dc:creator>
      <pubDate>Fri, 15 May 2026 15:44:37 +0000</pubDate>
      <link>https://forem.com/micky_c_4274c0e7c56db4dd8/the-ai-resistant-programmer-why-soft-skills-matter-more-than-code-2fcl</link>
      <guid>https://forem.com/micky_c_4274c0e7c56db4dd8/the-ai-resistant-programmer-why-soft-skills-matter-more-than-code-2fcl</guid>
      <description>&lt;h2&gt;
  
  
  The World Changed Quietly
&lt;/h2&gt;

&lt;p&gt;In 2023, something strange started happening in programming communities. People who had spent years building their careers around technical excellence began noticing something unexpected: the developers getting promoted weren't always the ones who wrote the best code.&lt;/p&gt;

&lt;p&gt;They were the ones who could explain that code to a product manager in plain English. The ones who knew which meetings to show up to and which to skip. The ones who could tell a junior developer why something was done a certain way — and make it click.&lt;/p&gt;

&lt;p&gt;This isn't a story about AI replacing programmers. It's a story about what AI makes more valuable.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Skills That Actually Matter
&lt;/h2&gt;

&lt;p&gt;Ask any senior developer what separates great programmers from competent ones, and you'll rarely hear "writes cleaner code" as the first answer. You'll hear things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"They understand the business context"&lt;/li&gt;
&lt;li&gt;"They know when to push back on requirements"&lt;/li&gt;
&lt;li&gt;"They make everyone around them more effective"&lt;/li&gt;
&lt;li&gt;"They can debug by talking to the system, not just staring at logs"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are soft skills. And soft skills are exactly what AI can't replicate.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Soft Skills Are AI-Resistant
&lt;/h2&gt;

&lt;p&gt;AI is trained on patterns. It excels at tasks with clear inputs and outputs, where the "right" answer is verifiable. Soft skills are the opposite — they're ambiguous by nature, context-dependent, and require reading people.&lt;/p&gt;

&lt;p&gt;When an AI can reliably tell you that your product manager's actual concern behind that feature request is security theater, not user experience — come back and tell me about AI-resistant skills.&lt;/p&gt;

&lt;p&gt;Soft skills matter more in an AI-powered world because:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Communication is coordination.&lt;/strong&gt; Every hour a developer spends in meetings is an hour they're reducing coordination costs. High coordination costs destroy software organizations. Being the person who makes meetings productive is irreplaceable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Judgment is scarce.&lt;/strong&gt; AI can generate options. It can't tell you which option aligns with a three-year-old company's actual strategy when the CEO just changed direction last week. That judgment requires context, relationships, and trust.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trust is non-negotiable.&lt;/strong&gt; Senior developers get access to systems, data, and decisions that junior ones don't. Trust is built through relationships, not capability. You can't AI-generate trust.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Quiet Revolution in What Companies Value
&lt;/h2&gt;

&lt;p&gt;The developers who are thriving right now aren't necessarily the ones with the most LeetCode points or the deepest systems knowledge. They're the ones who can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Translate between business language and technical constraints&lt;/li&gt;
&lt;li&gt;Identify which technical debt actually matters (hint: not all of it)&lt;/li&gt;
&lt;li&gt;Mentor juniors without making them feel stupid&lt;/li&gt;
&lt;li&gt;Push back on deadlines without killing the relationship&lt;/li&gt;
&lt;li&gt;Know when "good enough" is actually good enough&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These skills were always important. But in a world where AI handles more and more of the technical work, the differentiator is everything AI can't do.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Means For Your Career
&lt;/h2&gt;

&lt;p&gt;The programmers who should be worried aren't the ones who write good code. They're the ones whose only value is writing good code. If your entire value proposition is technical execution, you'll be fine — for now. But "for now" is a dangerous place to build a career.&lt;/p&gt;

&lt;p&gt;The people who will thrive are the ones who use AI as a productivity multiplier for their soft skills. Imagine being 10x more effective at the things AI can't do. That's the opportunity.&lt;/p&gt;

&lt;p&gt;The AI-Resistant Programmer isn't anti-AI. They're the developer who uses AI to handle everything except the part that actually matters.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Part of the AI-Proof Programmer series.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>career</category>
      <category>ai</category>
      <category>softskills</category>
    </item>
    <item>
      <title>Test 1</title>
      <dc:creator>Micky C</dc:creator>
      <pubDate>Mon, 11 May 2026 19:59:13 +0000</pubDate>
      <link>https://forem.com/micky_c_4274c0e7c56db4dd8/test-1-3b29</link>
      <guid>https://forem.com/micky_c_4274c0e7c56db4dd8/test-1-3b29</guid>
      <description>&lt;p&gt;Body here&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
