<?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: Wynand Pieters</title>
    <description>The latest articles on DEV Community by Wynand Pieters (@wynandpieters).</description>
    <link>https://dev.to/wynandpieters</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%2F885009%2F9b69b0e3-08a4-479a-9d05-bfbf1a443171.png</url>
      <title>DEV Community: Wynand Pieters</title>
      <link>https://dev.to/wynandpieters</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wynandpieters"/>
    <language>en</language>
    <item>
      <title>We've Seen This Movie Before</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Thu, 19 Mar 2026 08:54:35 +0000</pubDate>
      <link>https://dev.to/wynandpieters/weve-seen-this-movie-before-3719</link>
      <guid>https://dev.to/wynandpieters/weve-seen-this-movie-before-3719</guid>
      <description>&lt;p&gt;I've been sitting on this comparison for a while, trying to decide if it was too obvious to write about.&lt;/p&gt;

&lt;p&gt;Then a good friend of mine DM'd me on Slack about "every vibe coding tech bro is now vibe coding a dashboard to 'monitor the global situation'. my feed is full of it." with some screenshots of the kind of stuff that's popping up everywhere.&lt;/p&gt;

&lt;p&gt;And it just reminded me; I'm not imagining this.&lt;/p&gt;

&lt;p&gt;So. Here we are.&lt;/p&gt;

&lt;p&gt;Here's the comparison: &lt;strong&gt;what's happening right now with AI coding tools is the same thing that happened when Unity and Unreal Engine went free.&lt;/strong&gt; Same pattern. Same consequences. Just faster, and with higher stakes.&lt;/p&gt;

&lt;p&gt;If you weren't around for that, let me explain. And if you were, I'm sorry for what this post is about to make you remember.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Great Game Dev Democratisation
&lt;/h2&gt;

&lt;p&gt;Unity launched in 2005. In 2009, they released a free tier. Active users roughly doubled on launch day.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Unreal_Engine_4" rel="noopener noreferrer"&gt;Unreal Engine 4 went completely free on March 2, 2015&lt;/a&gt; — Epic kept a 5% royalty on revenue, that's it. Unity responded within weeks by making their full engine free for anyone under $100,000/year.&lt;/p&gt;

&lt;p&gt;The tools were now basically free. Then &lt;a href="https://en.wikipedia.org/wiki/Steam_(service)#Greenlight" rel="noopener noreferrer"&gt;Steam Greenlight&lt;/a&gt; launched in August 2012 and replaced Valve's hand-curation with community voting. The $100 submission fee kept nobody out. When Steam Direct replaced Greenlight in 2017 with a $100 recoupable fee and a 30-day wait, the floodgates didn't open. They evaporated.&lt;/p&gt;

&lt;p&gt;The numbers are not subtle. In 2012, Steam released around 303 games. By 2017 it was 6,930. By 2021 it was 11,236. In 2025, &lt;strong&gt;19,991 games shipped on Steam.&lt;/strong&gt; Forty times more than 2012, in thirteen years.&lt;/p&gt;

&lt;p&gt;And what happened to quality?&lt;/p&gt;

&lt;p&gt;By 2025, &lt;strong&gt;47.5% of all games released on Steam sold fewer than 100 copies.&lt;/strong&gt; Two-thirds of games earned their creators less than $1,000. Forty percent didn't even recoup the $100 publishing fee. Median copies sold dropped from over 20,000 a decade ago to roughly 2,000.&lt;/p&gt;

&lt;p&gt;The free tools didn't raise all boats. They raised the ceiling for a few and flooded the floor for everyone else.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://steamdb.info/stats/releases/" rel="noopener noreferrer"&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%2Fd248tl7uhmf6mf1ds4c5.png" alt="Screenshot from SteamDB " width="800" height="1052"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Part Where It Gets Embarrassing
&lt;/h2&gt;

&lt;p&gt;The game industry coined a term for the lowest-effort output: &lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Asset_flip" rel="noopener noreferrer"&gt;asset flip&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You'd buy pre-made assets from Unity's Asset Store — characters, environments, sound effects, the lot — assemble them with minimal original work, and push it through to Steam hoping someone would buy it before the reviews came in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Digital_Homicide_Studios" rel="noopener noreferrer"&gt;Digital Homicide Studios&lt;/a&gt; became the poster child. Two brothers out of Yuma, Arizona — one a former liquor salesman — produced approximately &lt;strong&gt;60 games between 2014 and 2016.&lt;/strong&gt; Titles like &lt;em&gt;The Slaughtering Grounds&lt;/em&gt; and &lt;em&gt;Galactic Hitman&lt;/em&gt;, built "almost 100% out of pre-made assets with little to no original work." When critic Jim Sterling reviewed one of them honestly, they sued him for $10 million. Then they separately sued 100 anonymous Steam users for $18 million. Valve responded by removing every Digital Homicide title from the platform, which the Romines admitted "destroyed" the studio.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/Games/comments/5wg72n/when_jim_sterling_was_sued_for_10_million_by/" rel="noopener noreferrer"&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%2F6oslwwnuvxwrnyshzs3d.png" alt="Screenshot from Reddit around the Jim Sterling lawsuit" width="800" height="1177"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Silicon Echo Studios was even more systematic. In July and August 2017 alone, this one operation accounted for &lt;strong&gt;over 10% of all new games published on Steam&lt;/strong&gt;, releasing 86 titles in two months. Valve eventually pulled 173 of their titles.&lt;/p&gt;

&lt;p&gt;On mobile, it was worse. When Flappy Bird was earning $50,000 a day before its creator pulled it in February 2014, clones arrived at a rate of &lt;a href="https://www.gamespot.com/articles/report-new-flappy-bird-clone-hits-app-store-every-24-minutes/1100-6418126/" rel="noopener noreferrer"&gt;one new Flappy Bird clone every 24 minutes&lt;/a&gt;. In a single 24-hour period, a third of all new iOS games were Flappy Bird clones.&lt;/p&gt;

&lt;p&gt;"Unity game" became a slur. One developer wrote about overhearing teenagers at a café clock the Unity splash screen and immediately switch to something else. This was the stigma that legitimate developers — the ones using Unity to make something real — had to carry.&lt;/p&gt;




&lt;h2&gt;
  
  
  So. About Those AI Coding Tools.
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/features/copilot" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt; launched in 2021 and hit &lt;strong&gt;20 million users by July 2025&lt;/strong&gt;, growing 400% year-over-year. &lt;a href="https://www.businesswire.com/news/home/20251113939996/en/Cursor-Secures-$2.3-Billion-Series-D-Financing-at-$29.3-Billion-Valuation-to-Redefine-How-Software-is-Written" rel="noopener noreferrer"&gt;Cursor hit $2 billion in annual recurring revenue by February 2026&lt;/a&gt; — the fastest SaaS company to reach $100 million ARR, doing it in 12 months. Lovable hit $20 million ARR in two months. Bolt.new went from zero to $40 million ARR in under six months.&lt;/p&gt;

&lt;p&gt;The tools, again, are essentially free. Or cheap enough that the creation barrier has collapsed. Well, &lt;a href="https://wynandpieters.dev/posts/ai-agents-are-the-future-argument-is-flawed/" rel="noopener noreferrer"&gt;mostly&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Andrej Karpathy named the new pattern on &lt;a href="https://x.com/karpathy/status/1886192184808087010" rel="noopener noreferrer"&gt;February 2, 2025, in an X post&lt;/a&gt; that got 4.5 million views: &lt;em&gt;"There's a new kind of coding I call 'vibe coding,' where you fully give in to the vibes, embrace exponentials, and forget that the code even exists… I 'Accept All' always, I don't read the diffs anymore."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.collinsdictionary.com/language-lovers/collins-word-of-the-year-2025-ai-meets-authenticity-as-society-shifts/" rel="noopener noreferrer"&gt;Collins Dictionary named "vibe coding" its Word of the Year for 2025.&lt;/a&gt; Merriam-Webster named "slop" theirs.&lt;/p&gt;

&lt;p&gt;A survey found &lt;strong&gt;63% of vibe coding users have no development background.&lt;/strong&gt; &lt;a href="https://techcrunch.com/2025/03/06/a-quarter-of-startups-in-ycs-current-cohort-have-codebases-that-are-almost-entirely-ai-generated/" rel="noopener noreferrer"&gt;Y Combinator's Winter 2025 batch had 25% of startups with codebases that were &lt;strong&gt;95% AI-generated.&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub Copilot now writes &lt;strong&gt;46% of code&lt;/strong&gt; for active users. Across the industry, an estimated 41% of all code written in 2025 was AI-generated or assisted.&lt;/p&gt;

&lt;p&gt;That's the volume explosion. Now for the quality floor.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Part You Probably Already Suspected
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.gitclear.com/ai_assistant_code_quality_2025_research" rel="noopener noreferrer"&gt;GitClear analysed 211 million lines of code&lt;/a&gt; from repositories at Google, Microsoft, and Meta. Code refactoring dropped from 25% of changed lines in 2021 to &lt;strong&gt;under 10% in 2024&lt;/strong&gt; — a 60% decline. Code duplication increased approximately &lt;strong&gt;4x in volume.&lt;/strong&gt; Code churn — code rewritten within two weeks of being merged — nearly doubled.&lt;/p&gt;

&lt;p&gt;GitClear's CEO Bill Harding said it plainly: &lt;em&gt;"AI has this overwhelming tendency to not understand what the existing conventions are within a repository. And so it is very likely to come up with its own slightly different version of how to solve a problem."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Security is where it gets genuinely dangerous rather than just embarrassing.&lt;/p&gt;

&lt;p&gt;A Stanford study found developers using AI assistants wrote &lt;strong&gt;significantly less secure code&lt;/strong&gt; than those without — while being &lt;em&gt;more confident&lt;/em&gt; their code was secure. That's a spectacular combination of outcomes. Veracode's 2025 report found &lt;strong&gt;45% of AI-generated code introduces vulnerabilities.&lt;/strong&gt; &lt;a href="https://apiiro.com/blog/4x-velocity-10x-vulnerabilities-ai-coding-assistants-are-shipping-more-risks/" rel="noopener noreferrer"&gt;Apiiro Research tracked a &lt;strong&gt;10x spike in new security findings per month&lt;/strong&gt;&lt;/a&gt; between December 2024 and June 2025.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://escape.tech/blog/methodology-how-we-discovered-vulnerabilities-apps-built-with-vibe-coding/" rel="noopener noreferrer"&gt;Security firm Escape.tech analysed &lt;strong&gt;5,600 publicly available vibe-coded applications&lt;/strong&gt;&lt;/a&gt; and found over 2,000 vulnerabilities, 400 exposed secrets, and 175 instances of personally identifiable information — medical records, bank details, phone numbers — sitting in the open.&lt;/p&gt;

&lt;p&gt;And then there are the case studies that should make every "I built a SaaS in 4 hours" founder stop and read carefully.&lt;/p&gt;

&lt;p&gt;Developer Leonel Acevedo publicly celebrated building his startup Enrichlead using Cursor with zero handwritten code. &lt;strong&gt;Within 72 hours of launch&lt;/strong&gt;, users were bypassing his paywall by changing a single value in the browser console. All security logic was client-side. He posted: &lt;em&gt;"guys, I'm under attack… random things are happening, maxed out usage on API keys."&lt;/em&gt; He couldn't audit his own 15,000 lines of AI-generated code.&lt;/p&gt;

&lt;p&gt;SaaStr founder Jason Lemkin trusted Replit's AI agent to build a production app. On day eight, the agent &lt;strong&gt;deleted his entire production database&lt;/strong&gt; — 1,206 executive records and months of data — then attempted to cover it by generating 4,000 fake records.&lt;/p&gt;

&lt;p&gt;A women's dating safety app, apparently vibe-coded, exposed &lt;strong&gt;72,000 images including 13,000 government IDs with GPS data&lt;/strong&gt; through a wide-open Firebase endpoint.&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%2Fiql2v654gm474r1pq27e.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%2Fiql2v654gm474r1pq27e.jpg" alt="The classic " width="800" height="564"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  This Is the Asset Flip
&lt;/h2&gt;

&lt;p&gt;The direct equivalent of buying Unity Asset Store packages and reselling them as "games" is the AI wrapper — a thin frontend over GPT or Claude with minimal added value, shipped as a product.&lt;/p&gt;

&lt;p&gt;Over &lt;strong&gt;35,000 AI wrapper applications&lt;/strong&gt; exist globally. Only 2,000–3,000 have meaningful traction. The failure rate is &lt;strong&gt;90–92% within the first year.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@WebdesignerDepot/how-producthunt-com-became-overrun-with-ai-products-3ae12b948b22" rel="noopener noreferrer"&gt;Product Hunt's transformation&lt;/a&gt; is a useful mirror. Of the top 15 launches on Product Hunt in 2025, 13 were tagged "Artificial Intelligence." Dozens of AI chatbots, text generators, "chat with your PDF" apps — one observer counted 73 clones launching in a single week — all feeling like they were "made from the same cookie-cutter mold."&lt;/p&gt;

&lt;p&gt;VCs are starting to notice. Aaron Holiday of 645 Ventures identified "easily replicable solutions, generic productivity tools, basic CRM clones, and thin AI wrappers built on existing APIs" as the categories losing investor interest fastest. &lt;a href="https://www.saas-capital.com/blog-posts/saas-capital-ai-update-for-2025-q1/" rel="noopener noreferrer"&gt;SaaS Capital put it bluntly&lt;/a&gt;: if your value proposition can be cloned by a tiny team using AI as a development turbocharger, you don't have enough gravity in the market to survive.&lt;/p&gt;

&lt;p&gt;Stripe co-founder John Collison captured the tension: &lt;em&gt;"It's clear that it is very helpful to have AI helping you write code. It's not clear how you run an AI-coded codebase."&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Game Industry Eventually Learned
&lt;/h2&gt;

&lt;p&gt;The platforms eventually responded. Nintendo restricted Switch 2 developer kits to filter shovelware. Steam added mandatory AI disclosure. Sony started removing AI-generated titles from the PlayStation Store. Apple updated App Store guidelines to regulate AI for the first time and began pushing back on vibe-coded apps in March 2026. Google blocked 1.75 million policy-violating apps in 2025.&lt;/p&gt;

&lt;p&gt;None of it was enough. Steam analyst Chris Zukowski describes what emerged as "two Steams" — the curated experience users see, and the landfill underneath. Even with sophisticated algorithms, &lt;strong&gt;only about 0.5% of indie games released on Steam are financially viable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But the gems did emerge. &lt;a href="https://www.hollowknight.com/" rel="noopener noreferrer"&gt;Hollow Knight&lt;/a&gt; — three people in Adelaide, Australia, using Unity, years of work — sold over 15 million copies. &lt;a href="https://cupheadgame.com/" rel="noopener noreferrer"&gt;Cuphead&lt;/a&gt;'s creators remortgaged their houses to fund painstaking 1930s-style hand-drawn animation. It sold a million copies in two weeks.&lt;/p&gt;

&lt;p&gt;And it wasn't just Unity. ConcernedApe spent four years alone building &lt;a href="https://www.stardewvalley.net/" rel="noopener noreferrer"&gt;Stardew Valley&lt;/a&gt; from scratch — 30 million copies later, it's still one of the most beloved games ever made.&lt;/p&gt;

&lt;p&gt;These weren't just good games. None of them were the fastest to ship. They were &lt;strong&gt;impossible to confuse with anything else.&lt;/strong&gt; That was the point.&lt;/p&gt;

&lt;p&gt;The game dev community eventually worked this out: the tool is not the differentiator. The vision, the craft, the understanding of what you're building and why — that's the differentiator. The developers who survived the shovelware era weren't the ones who shipped fastest. They were the ones who knew exactly what they were making and couldn't be easily cloned.&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%2F8ea644mfl0olb6gcblds.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%2F8ea644mfl0olb6gcblds.jpg" alt="Photo of developer on Nintendo eShop with no single unique game, only obvious clones of popular indie games" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This One Is Worse
&lt;/h2&gt;

&lt;p&gt;Here's where the game dev comparison breaks down — and not in our favour.&lt;/p&gt;

&lt;p&gt;Shovelware games could embarrass you. They could waste your afternoon and your $5. They couldn't leak your medical records, expose your banking details, or hand your private data to anyone with a browser console and five minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployed software with real users carries real risk.&lt;/strong&gt; And right now we are shipping a tremendous amount of it without the understanding to know what we've built.&lt;/p&gt;

&lt;p&gt;A &lt;a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/" rel="noopener noreferrer"&gt;METR study&lt;/a&gt; found that experienced developers were actually &lt;strong&gt;19% slower&lt;/strong&gt; when using AI coding tools — despite predicting they'd be 24% faster and &lt;em&gt;believing afterward&lt;/em&gt; they'd been 20% faster. The subjective feeling of velocity masked a measurable slowdown. Builders who think they're shipping faster while accumulating technical debt they can't see, can't audit, and can't fix.&lt;/p&gt;

&lt;p&gt;That perception gap is the most insidious part of all of this. The asset-flip game developer at least knew they were shipping asset flips. A lot of vibe coders genuinely don't know what they've built.&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%2Fj8kbm6ng9zxsgc7cgiyx.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%2Fj8kbm6ng9zxsgc7cgiyx.jpg" alt="Gru's Plan meme going from " width="700" height="449"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  So What Do We Do
&lt;/h2&gt;

&lt;p&gt;I'm not arguing the tools are bad. I use them. They're genuinely useful, and in the hands of someone who actually understands what's happening under the hood, they're remarkable productivity amplifiers.&lt;/p&gt;

&lt;p&gt;But we have got to stop celebrating velocity as a virtue in isolation.&lt;/p&gt;

&lt;p&gt;"I shipped in 4 hours" is not impressive if nobody audited the auth, if the database can be wiped by an agent on day eight, if 72,000 user images are sitting in an open endpoint. The barrier to creation collapsed. The barrier to &lt;a href="https://wynandpieters.dev/posts/fundamentals-matter/" rel="noopener noreferrer"&gt;understanding what you created&lt;/a&gt; did not.&lt;/p&gt;

&lt;p&gt;The Hollow Knights of software are coming. I genuinely believe that. Teams who use AI as an accelerant for real vision, who understand their codebase, who care about what they're putting in front of users. They'll emerge from this era the way the great indie games emerged from the shovelware swamp.&lt;/p&gt;

&lt;p&gt;But we're going to have to wade through a lot of Flappy Bird clones with exposed Firebase endpoints to get there.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I've been negative about the amount of shameless clones on game stores a lot lately, and all the AI news these days is giving me serious fatigue. This post came from realising we've been here before, and I don't think we are learning from the past. I've linked out to the key sources where I can. If you're building something — genuinely building it, not just prompting it — I'd love to hear from you.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>gamedev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Claude Code vs Warp.dev vs Jetbrains Junie</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Thu, 07 Aug 2025 14:24:25 +0000</pubDate>
      <link>https://dev.to/wynandpieters/claude-code-vs-warpdev-vs-jetbrains-junie-5484</link>
      <guid>https://dev.to/wynandpieters/claude-code-vs-warpdev-vs-jetbrains-junie-5484</guid>
      <description>&lt;p&gt;I posted over on LinkedIn about an interesting comparison between Lovable and Bolt.new which I did. I had this idea for my next Flutter project, but after being hit by the 5th LinkedIn post about Lovable in as many minutes, I had this thought.&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%2Fvaudvc65d30dy0s9m8ea.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%2Fvaudvc65d30dy0s9m8ea.jpg" alt="Smart guy meme why do it yourself when AI can do it for you" width="551" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;😂😂😂 No, actually, the thought was more along the lines of&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%2Fcre61t4eps65rt9xwcyf.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%2Fcre61t4eps65rt9xwcyf.jpg" alt="Bilbo Why Shouldn't I use AI Meme" width="500" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Okay, fine, I kid, I kid. If you've read any of my previous posts on AI, you'll know I'm excited for where it's going but tired of the overinflated exaggerations of the "media" and tech bro CEOs.&lt;/p&gt;

&lt;p&gt;The thing that was actually interesting to me was how much these tools have improved since I last looked at them, and what about Lovable has made it &lt;a href="https://techcrunch.com/2025/07/23/eight-months-in-swedish-unicorn-lovable-crosses-the-100m-arr-milestone/" rel="noopener noreferrer"&gt;$100m in ARR&lt;/a&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%2Fbwbfqhnuxxy25grfayiz.gif" 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%2Fbwbfqhnuxxy25grfayiz.gif" alt="GIF of Kevin Hart saying " width="498" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(I'll chill with the memes and GIFs in a bit, let me get it out of my system).&lt;/p&gt;

&lt;p&gt;You can go read the original LinkedIn post &lt;a href="https://www.linkedin.com/posts/wynand-pieters_aitools-nocode-lowcode-activity-7358426185355120641-Tjza" rel="noopener noreferrer"&gt;here&lt;/a&gt;, but the TL;DR was I got something out very quick on both platforms, even on the free tier, but Lovable was the clear winner, but neither app I would call "production ready".&lt;/p&gt;

&lt;p&gt;And while it was an interesting &lt;em&gt;experience&lt;/em&gt; building the same app with two tools, it wasn't a great &lt;strong&gt;experiment&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So I wanted to take it further.&lt;/p&gt;

&lt;h2&gt;
  
  
  Down the rabbit hole
&lt;/h2&gt;

&lt;p&gt;In my &lt;a href="https://dev.to/wynandpieters/tools-im-using-in-2025-not-that-anyone-asked-42l9"&gt;previous post&lt;/a&gt; I talked about Windsurf and Warp becoming my AI tools of choice. But I also mentioned I still wanted to give Junie a fair shake. I'm a big fan of Jetbrains products and they've been taking my money for a good many years, only fair that I actually give it the old college try.&lt;/p&gt;

&lt;p&gt;But alongside that, people keep telling me I need to try Claude Code. I've been hesitant, mainly because I don't see the benefit over the combo of Warp and Windsurf which I'm already using. But being the curious sort, I figured, yeah, this is it. This is the showdown.&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%2F520mufrrdn2qisaydskq.gif" 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%2F520mufrrdn2qisaydskq.gif" alt="GIF The Office Showdown" width="357" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Challenge
&lt;/h2&gt;

&lt;p&gt;I'll link to the Github, because I don't want this post becoming 500 pages, but it boils down to the same &lt;a href="https://raw.githubusercontent.com/wpieters/daily-quest-workout-app-flutter/refs/heads/main/spec.md" rel="noopener noreferrer"&gt;spec.md&lt;/a&gt; file, the same &lt;a href="https://raw.githubusercontent.com/wpieters/daily-quest-workout-app-flutter/refs/heads/main/.windsurfrules" rel="noopener noreferrer"&gt;project rules&lt;/a&gt; files, followed by the same &lt;a href="https://raw.githubusercontent.com/wpieters/daily-quest-workout-app-flutter/refs/heads/main/promp.md" rel="noopener noreferrer"&gt;prompt&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;These where also exactly as I used for Lovable and Bolt. I left some things vague; I wanted to test if the tools make some assumptions I assume every human developer would (i.e. toggling this checkbox active should disable the related button), and then also see how they respond to changing specs (i.e. oh, can we also just quickly add this thing).&lt;/p&gt;

&lt;h2&gt;
  
  
  Some Background: The App
&lt;/h2&gt;

&lt;p&gt;In an effort to get back into more consistent workouts, I decided to start with the One Punch Man workout.&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%2Faroeeidg5l4t2ei59t8m.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%2Faroeeidg5l4t2ei59t8m.webp" alt="Screenshot from the Manga where Saitama shares his workout routine" width="712" height="1024"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, the thing is, I needed to ease myself into it, so I decided I'll do 10 reps and 1km every hour for 10 hours in the day; when I get up, every hour at work, and then before I go home.&lt;/p&gt;

&lt;p&gt;But I wanted a way to track it. And since I didn't quickly (i.e. within 5 seconds of Google'ing) find something, I decided to build it myself.&lt;/p&gt;

&lt;p&gt;Then decided to let AI build it.&lt;/p&gt;

&lt;p&gt;5 times apparently.&lt;/p&gt;

&lt;p&gt;So the app is simple. Track the reps for Pushups, Situps and Squats, and track running in 100m increments. Simple.&lt;/p&gt;

&lt;p&gt;I quickly realized, being at the tail end of the very wet and cold South African winter, that I'm not doing 10km a day. I'm not that kind of crazy, so I decided that running should be optional.&lt;/p&gt;

&lt;p&gt;And lastly I decided that a nice way to show progress is to have a different Goku Saiyan transformation animations play as you progress. Every single AI tool misunderstood my requirement here 🤦 At least some of them remembered the animation bit, others completely dropped that... But no Goku's were harmed in these experiments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overall Impressions
&lt;/h2&gt;

&lt;p&gt;Initial thoughts vs the Lovable/Bolt combo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They actually built Flutter apps: this may be a small detail, but I asked for Flutter, they gave me Flutter. Unlike Lovable/Bolt which only do React, these tools are already superior just because they can do more.&lt;/li&gt;
&lt;li&gt;Context access is crucial: the terminal based tools (Claude Code and Warp) that can see errors and project state in the same place I'm working provide massive workflow advantages.&lt;/li&gt;
&lt;li&gt;None of the tools got (what I consider to be) basic UX patterns right initially: All tools missed obvious interaction design (disabling running button when toggled off), so clearly there are still some human traits useful in building visual apps.&lt;/li&gt;
&lt;li&gt;Time investment varied significantly: 30-60 minute range with very different friction levels, but all in all, still impressive for effort in vs output.&lt;/li&gt;
&lt;li&gt;Manual deployment required: Unlike Bolt/Lovable's built-in deployment, all three of these needed separate CI/CD setup. I could probably have used MCP to fix this problem, but that is more setup and more time, and I want a "native" experience.&lt;/li&gt;
&lt;li&gt;I specifically wanted to test with post-hoc changes to see responsiveness to evolving requirements, and they all performed fine. No tool broke the app further, but some struggled to get the requirements right (like using 100m increments for running).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall, as you'll see below, I was most impressed with Claude Code. I can see why everyone said I should check it out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Impression: Claude Code
&lt;/h2&gt;

&lt;p&gt;Demo URL: &lt;a href="https://vibe-claude-code.d14wa6u34905q.amplifyapp.com/" rel="noopener noreferrer"&gt;https://vibe-claude-code.d14wa6u34905q.amplifyapp.com/&lt;/a&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%2F80409etgd59pc0eog1wn.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%2F80409etgd59pc0eog1wn.png" alt="Screenshot of the Claude Code final app" width="433" height="926"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most natural development experience: Conversational, collaborative approach felt intuitive&lt;/li&gt;
&lt;li&gt;Best context retention: Remembered previous discussions and decisions effectively&lt;/li&gt;
&lt;li&gt;Fastest to working result: ~30 minutes with least "poking and prodding" required&lt;/li&gt;
&lt;li&gt;Closest to actual requirements: Most complete feature implementation matching original spec&lt;/li&gt;
&lt;li&gt;Best visual polish: Professional, cohesive design language with proper stage progression&lt;/li&gt;
&lt;li&gt;Currently in active use: The version I'm using for actual workouts in the interim&lt;/li&gt;
&lt;li&gt;Least amount of work required: Minimal intervention needed throughout development&lt;/li&gt;
&lt;li&gt;Also had one of my now favorite features: when asked if it should execute something... "No, but tell Claude what you want instead". Brilliant. So much better than clicking cancel or no, then trying to reset the context with a prompt and having the AI get confused.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Impression: Warp.dev
&lt;/h2&gt;

&lt;p&gt;Demo URL: &lt;a href="https://vibe-warp-dev.d14wa6u34905q.amplifyapp.com/" rel="noopener noreferrer"&gt;https://vibe-warp-dev.d14wa6u34905q.amplifyapp.com/&lt;/a&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%2F6rfnf7y9lujkdjdehdvx.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%2F6rfnf7y9lujkdjdehdvx.png" alt="Screenshot of the Warp.dev final app" width="432" height="931"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Surprise standout performer: Exceeded expectations given how new their agentic features are. Will keep on eye on where this goes.&lt;/li&gt;
&lt;li&gt;Excellent "brave mode" experience: Worked well while multitasking on other projects. The only one I actually ran this way, and only because I was also baking a sourdough at the same time...&lt;/li&gt;
&lt;li&gt;Strong context access: Terminal integration allowed AI to see errors and project state, just like Claude Code.&lt;/li&gt;
&lt;li&gt;Took most creative liberties: Added features not in spec (Total Workouts, Best Streak, navigation tabs), not sure why it went rogue.&lt;/li&gt;
&lt;li&gt;Scope creep issues: Worse than taking creative liberties, it added these extra features while basic functionality (running checkbox) remained broken.&lt;/li&gt;
&lt;li&gt;Screenshot sharing limitations: Harder to share visual issues compared to IDE integration, Claude also had this issue, but made fewer mistakes in the design, so didn't run into it.&lt;/li&gt;
&lt;li&gt;Circular reference bugs: State management issues with the running toggle functionality. Biggest bug introduced I'd seen from the tools. The others had mostly linting and compile issues.&lt;/li&gt;
&lt;li&gt;Reasonable timeframe: ~40 minutes development time, despite fundamental bugs, so still impressive (but had the benefit of no oversight)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Impression: Jetbrains Junie
&lt;/h2&gt;

&lt;p&gt;Demo URL: &lt;a href="https://vibe-jetbrains-junie.d14wa6u34905q.amplifyapp.com/" rel="noopener noreferrer"&gt;https://vibe-jetbrains-junie.d14wa6u34905q.amplifyapp.com/&lt;/a&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%2Fo4h9tf4az1b2y0hry4ra.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%2Fo4h9tf4az1b2y0hry4ra.png" alt="Screenshot of the Junie final app" width="432" height="930"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most disappointing experience: Despite high expectations from JetBrains and their IDEs, it was much slower (they'd say methodical) and seemed to get stuck in loops now and then.&lt;/li&gt;
&lt;li&gt;Basic project setup issues: Created project in subfolder, breaking CI/CD pipeline I created for the Claude Code and Warp projects, and despite causing issues in the IDE. Expected more from the tight integration.&lt;/li&gt;
&lt;li&gt;Required most manual intervention: Needed more terminal fixes than terminal-focused Warp, also harder to maintain context as it would create new Junie Terminals for different tasks.&lt;/li&gt;
&lt;li&gt;Longest development time: ~60 minutes for inferior result&lt;/li&gt;
&lt;li&gt;Multiple code mistakes: Frequent errors requiring manual prompting of fixes.&lt;/li&gt;
&lt;li&gt;Cleanest final UI: Minimal, iOS-like design despite poor development experience. Not quite the "anime-inspired" look I asked for, but pretty.&lt;/li&gt;
&lt;li&gt;Failed to meet expectations: IDE integration didn't provide expected advantages, although I didn't get to a point of debugging in the IDE, which might change my opinion&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Ultimately, I was very impressed with the outputs. While I wouldn't sell any one of these five versions, some of these could actually serve as really good templates to start from. But ultimately, I just decided that I'm going to do it myself anyway.&lt;/p&gt;

&lt;p&gt;A friend I spoke to phrased it nicely; these tools give you a nice MVP to sell to an investor, but that first round of cash is gonna have to go to a good dev team to build it proper.&lt;/p&gt;

&lt;p&gt;Make it work. Make it right. Make it scale.&lt;/p&gt;

&lt;p&gt;These AI tools are for sure getting pretty good at "making it work", but I'm not sold on that they are "making it right".&lt;/p&gt;

&lt;p&gt;Yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;So first of all, I'm still sticking to Warp and Windsurf as my main tools for the time being. I'm not completely sold yet on moving redoing my stack again.&lt;/p&gt;

&lt;p&gt;Secondly, I really wanna develop this app, because I think it could be useful to people. I definitely want it to be more Solo Leveling inspired, based on &lt;strong&gt;The Preparation To Become Powerful&lt;/strong&gt; daily quest given to Jinwoo to complete by the System. I want the interface to be more System like, and I want to bring in the whole penalty bit somehow.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;CAUTION! - IF THE DAILY QUEST REMAINS INCOMPLETE, PENALTIES&lt;br&gt;
WILL BE GIVEN ACCORDINGLY.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The idea my wife had was to maybe have some kind of an in-app avatar that gets more buff and powerful with XP earned, and you can use in-app currency to kit them out, but then failure to complete the daily quest has XP and currency penalties or whatever.&lt;/p&gt;

&lt;p&gt;We actually discussed making this subscription based, but instead of charging a monthly fee, the penalty for for not completing your goals is $1 a day 🤣 So as long as you keep working out (or at least pretend to, I won't know) the app stays free 😉&lt;/p&gt;

&lt;p&gt;She also wanted to take the avatar idea a step further and let people then battle their avatars, so losing XP and gear and whatever has a more tangible impact, but sheesh, that's thinking way ahead... I just wanna track my workouts 😐&lt;/p&gt;

&lt;p&gt;Alongside that, having app notifications for when the quest starts and ends, and any penalties given, and then reminders through the day about progress, maybe eventually adding Widgets for the phone and so on...&lt;/p&gt;

&lt;p&gt;Oh, and maybe supporting logins and online syncing, because right now everything is stored locally, which is a crap user experience, especially if you use more than one device (and who doesn't these days).&lt;/p&gt;

&lt;p&gt;And you know what, maybe I'll have Claude Code keep working on its version while I do mine, as a longer term experiment. That could be really interesting 🤔&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>vibecoding</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Tools I'm Using in 2025 (not that anyone asked)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Tue, 03 Jun 2025 21:09:58 +0000</pubDate>
      <link>https://dev.to/wynandpieters/tools-im-using-in-2025-not-that-anyone-asked-42l9</link>
      <guid>https://dev.to/wynandpieters/tools-im-using-in-2025-not-that-anyone-asked-42l9</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;I keep saying my next post won't be about AI, and then inevitably, I post something about AI.&lt;/p&gt;

&lt;p&gt;It's hard to ignore, it's the big bubble we are dealing with, and there is so much hype that needs to be ignored and filtered so we can get to the actually good stuff...&lt;/p&gt;

&lt;p&gt;I've been playing around with various tools over the last 3 or 4 months, and I think I've settled into what I find to be most useful for me. And while the topic says no-one asked, truth is, this actually does come up in a few discussions on other platforms and groups I'm part of, so I figured I'd love to share, but more importantly, hear what others are doing and why you agree or disagree with me.&lt;/p&gt;

&lt;p&gt;So, without further ado...&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%2F7d2j1ls9g9r3kfds0hra.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%2F7d2j1ls9g9r3kfds0hra.png" alt="Meme about how saying " width="800" height="799"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  [blank] has entered the Chat
&lt;/h2&gt;

&lt;p&gt;When it comes to chat powered LLMs, there is no question that &lt;a href="https://chatgpt.com" rel="noopener noreferrer"&gt;ChatGPT&lt;/a&gt; is the one that comes to mind for most people, and they've actually added a ton of features over time. I really love that on the mobile app there is a full on "conversational voice" mode, and that we get (pretty questionable) image generation.&lt;/p&gt;

&lt;p&gt;That said, my experience over the last months has been that &lt;a href="https://claude.ai" rel="noopener noreferrer"&gt;Claude&lt;/a&gt; just makes fewer mistakes, has fewer hallucinations, and is generally better at code related things (which is what I use my AIs for 80% of the time). &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%2Frclsc8wpql7n6jzywtwo.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%2Frclsc8wpql7n6jzywtwo.png" alt="Screenshot showing Chatgpt losing at rock-paper-scissors because it always says it choice first" width="653" height="595"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've also dabbled with &lt;a href="https://ollama.com" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt; and hosting locally on my M3 Max, but ultimately, I've found paying for Claude is the best ROI for my use case. I use free ChatGPT for some things now and then, but having Projects in Claude is great for organizing and limiting scope and context. It's just become my go to. &lt;/p&gt;

&lt;p&gt;(Side note: I still use Ollama for other things, it's awesome).&lt;/p&gt;

&lt;p&gt;Also, &lt;a href="https://gemini.google.com" rel="noopener noreferrer"&gt;Gemini&lt;/a&gt; who? I have access to this through my Google Workspace, but I find I rarely go back to it. It just never feels quite right to me.&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%2F0jgl1fjpnjts6trv5clp.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%2F0jgl1fjpnjts6trv5clp.png" alt="Screenshot showing Gemini suggesting user should use non-toxic glue to prevent cheese slipping off pizza" width="598" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Any other tools I should be looking at? Meta or X? How are they these days?&lt;/p&gt;

&lt;h2&gt;
  
  
  Deep Thought? Deep Think? Ah, Deep Research!
&lt;/h2&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%2Fqkcq3iys29dh6j6az1cx.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%2Fqkcq3iys29dh6j6az1cx.png" alt="Image of Deep Thought from Hitchhiker's Guide to the Galaxy" width="639" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, &lt;a href="https://www.perplexity.ai" rel="noopener noreferrer"&gt;Perplexity&lt;/a&gt; has become my go to and the one that I still pay for. I'm not actually sure what the standard is these days. Perplexity was one of the first ones I used and I might just be sticking with it out of habit.&lt;/p&gt;

&lt;p&gt;I've heard that &lt;a href="https://elicit.com" rel="noopener noreferrer"&gt;Elicit&lt;/a&gt; is good for academic research, which is not something I really need to do often, and that &lt;a href="https://chatgpt.com/g/g-67a038d447348191aeb993eba9dd9c4c-deep-research" rel="noopener noreferrer"&gt;ChatGPT Deep Research&lt;/a&gt; is good at handling complex research tasks, but maybe my queries are not as complex or detailed, because I've personally found Perplexity to handle my research just fine.&lt;/p&gt;

&lt;p&gt;I mentioned my poor experience with Gemini, and perhaps this is also why I haven't given &lt;a href="https://gemini.google/overview/deep-research/?hl=en" rel="noopener noreferrer"&gt;Google’s Deep Research via Gemini&lt;/a&gt; a fair shake. I will add this to my list to try out for the next few months. I'm always looking at optimizing my tools and usage (but there is an important caveat I will get to later).&lt;/p&gt;

&lt;h2&gt;
  
  
  AI-dee-ee? Like aaay-dee-ee? IDE with AI built in?
&lt;/h2&gt;

&lt;p&gt;That was lame, it works much better sounding it out. What a crap heading, I apologize (but not sorry enough to take it out).&lt;/p&gt;

&lt;p&gt;Vibe coding is the new thing people keep talking about, and I hate it. I probably mentioned this &lt;a href="https://dev.to/wynandpieters/comment/2m94h"&gt;before in comments&lt;/a&gt; on other posts, and &lt;a href="https://wynandpieters.dev/posts/vibe-coding-is-not-a-vibe/" rel="noopener noreferrer"&gt;even in my posts&lt;/a&gt;, but I feel like people misappropriated the term that Andrej Karpathy coined.&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%2Fd1ktkz6081bgtkcfgqle.jpeg" 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%2Fd1ktkz6081bgtkcfgqle.jpeg" alt="Truth behind vibe coding meme; it's all shit unless you already know what you are doing" width="800" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anyway, AI tooling for coding environments is amazing. I've talked about &lt;a href="https://wynandpieters.dev/posts/my-two-favorite-ai-tools/" rel="noopener noreferrer"&gt;my favorite tools&lt;/a&gt; before, but this has changed recently. While I do still love &lt;a href="https://www.continue.dev" rel="noopener noreferrer"&gt;Continue.dev&lt;/a&gt; and the work the team there are doing, I've switched gears a bit.&lt;/p&gt;

&lt;p&gt;First off, I went on a &lt;a href="https://www.cursor.com" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt; vs &lt;a href="https://windsurf.com/editor" rel="noopener noreferrer"&gt;Windsurf&lt;/a&gt; rabbit hole for 2 months, and I eventually ended up paying for Windsurf. While I agree with the assessments out there that Cursor is more customizable and performant, I actually like that Windsurf kinda "just works".&lt;/p&gt;

&lt;p&gt;So here's the thing, one of my favorite quotes ever is &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Linux is only free if your time is worthless.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, granted, Linux in 2025 is not the same as Linux in 1995, which is when I first started using it, but the principle here is that, sometimes I just want things to work.&lt;/p&gt;

&lt;p&gt;I love tinkering. I love hacking and modifying. It's in my DNA and part of why I love being a developer.&lt;/p&gt;

&lt;p&gt;But what I don't love, is being &lt;strong&gt;forced&lt;/strong&gt; to tinker. &lt;strong&gt;Forced&lt;/strong&gt; to hack. &lt;strong&gt;Forced&lt;/strong&gt; to sit endless hours to &lt;em&gt;just make something work&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;It's the reason I've been stuck on Mac since buying my first one in 2010. And why I still prefer Jetbrains IDEs over everything else. If I'm getting something free, I'm happy to tweak and tinker. But if I'm paying, especially paying a subscription, it better damn well work out the box and solve my problem with little to no input.&lt;/p&gt;

&lt;p&gt;And Windsurf gave me that. So it got my vote. And my money.&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%2Fh33wb6pj9l2vbt8n163z.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%2Fh33wb6pj9l2vbt8n163z.png" alt="AI generated image showing Cursor, Windsurf and Junie imagined as 90s kids at a LAN" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;BUT! I gotta make a comment here, because the truth is, now that &lt;a href="https://www.jetbrains.com/ai/#" rel="noopener noreferrer"&gt;Jetbrains AI&lt;/a&gt; is included in the All Products Pack, and that &lt;a href="https://www.jetbrains.com/junie/" rel="noopener noreferrer"&gt;Junie&lt;/a&gt; is out of EAP, I'm actually using those all the time.&lt;/p&gt;

&lt;p&gt;Windsurf I find is then most useful for smaller projects which don't have a dedicated solution in the Jetbrains ecosystem, or where Junie is not yet fully integrated, but overall, if you want something that just works, Jetbrains FTW.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus!
&lt;/h2&gt;

&lt;p&gt;Oh yeah, another reason I don't pay for more than Claude, is because all these AI tools inside the IDEs and other editors typically give me chat built-in, and often with better models than I get on free tiers in other places, so unless I need the web interface or mobile apps, this has become the go to for chatting with LLMs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;So I don't really use AI tooling for anything else; I want to still look at things like &lt;a href="https://superwhisper.com" rel="noopener noreferrer"&gt;Superwhisper&lt;/a&gt; for speech to text, and I'm playing with &lt;a href="https://fluidcalendar.com" rel="noopener noreferrer"&gt;FluidCalendar&lt;/a&gt; for managing and scheduling my time, but other than that, the free tier things are generally getting good enough for my most typical use cases.&lt;/p&gt;

&lt;p&gt;I'm curious about better image generation and specifically editing tools. My biggest gripe with DALL-E is that I can't get it to modify an image properly, like if it generated something and I want it changed. My IDE image above was one such case...&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%2Fxg4tumf7j8spvhqa7rky.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%2Fxg4tumf7j8spvhqa7rky.png" alt="Screenshot showing the challenges with prompting for the previous image" width="800" height="975"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One more thing...
&lt;/h2&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%2Flxujyd7kwclndfof5j2u.gif" 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%2Flxujyd7kwclndfof5j2u.gif" alt="Columbo " width="500" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Can't believe I nearly forgot this. Was about to post and then remembered probably the biggest and bestest tool I started using.&lt;/p&gt;

&lt;p&gt;For years iTerm2 was my go to Terminal on MacOS, but then I discovered &lt;a href="https://www.warp.dev" rel="noopener noreferrer"&gt;Warp&lt;/a&gt;, and I loved the idea, but the execution was iffy, so I started using &lt;a href="https://ghostty.org" rel="noopener noreferrer"&gt;Ghostty&lt;/a&gt; with &lt;a href="https://github.com/danielmiessler/fabric" rel="noopener noreferrer"&gt;Fabric&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Then I saw some &lt;a href="https://www.youtube.com/watch?v=qkduRen6QFk" rel="noopener noreferrer"&gt;recent YouTube videos&lt;/a&gt; on Warp and some of the improvements they made, I tried it out, and very promptly just gave them my money.&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%2Fjf1wsdt3040fuzk8119d.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%2Fjf1wsdt3040fuzk8119d.webp" alt="Futurama Fry " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This has been a game changer for me, the AI Agent is just so seamlessly integrated into everything. From writing complex Bash scripts to helping debug SSH issues, it's changed the way I use the terminal and I'm here for it.&lt;/p&gt;

&lt;p&gt;Also, it now supports Windows an Linux which just makes it so much better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Done for real now...
&lt;/h2&gt;

&lt;p&gt;All right, over to you. What AI tooling can you not live without, and what should I be looking at next?&lt;/p&gt;

&lt;p&gt;(Edited on 2025/06/04 to add links to the tools I talk about. Not affiliate links. I don't do that. Just regular links.)&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>tooling</category>
      <category>discuss</category>
    </item>
    <item>
      <title>AI Tools: Are We Replacing Skills or Enhancing Them? (and at what cost)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Thu, 27 Feb 2025 14:52:53 +0000</pubDate>
      <link>https://dev.to/wynandpieters/ai-tools-are-we-replacing-skills-or-enhancing-them-28n</link>
      <guid>https://dev.to/wynandpieters/ai-tools-are-we-replacing-skills-or-enhancing-them-28n</guid>
      <description>&lt;h2&gt;
  
  
  The Promise vs. Reality of AI in Tech
&lt;/h2&gt;

&lt;p&gt;I'm genuinely excited about recent AI advancements. The tools continue improving, and we're discovering more ways to optimize and enhance our work. I've personally found a good rhythm using AI to multiply my skills rather than replace or hinder them.&lt;/p&gt;

&lt;p&gt;However, I'm concerned about the industry's direction with these improvements. Instead of creating better developers, &lt;a href="https://tech.co/news/companies-replace-workers-with-ai" rel="noopener noreferrer"&gt;we're often replacing them&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Rather than building amazing accessibility tools, we're &lt;a href="https://www.forbes.com/sites/chriswestfall/2024/11/29/ai-deepfakes-of-elon-musk-on-the-rise-causing-billions-in-fraud-losses/" rel="noopener noreferrer"&gt;creating deep fakes&lt;/a&gt; and &lt;a href="https://www.aixploria.com/en/best-ai-girlfriend-apps-websites/" rel="noopener noreferrer"&gt;virtual companions&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Instead of developing better MVPs for *&lt;em&gt;real *&lt;/em&gt; problems faster, we're seeing &lt;a href="https://leaddev.com/software-quality/how-ai-generated-code-accelerates-technical-debt" rel="noopener noreferrer"&gt;low-quality products&lt;/a&gt; marketed as revolutionary simply because they were built without coding experience, &lt;a href="https://www.udemy.com/course/20-proven-ways-to-make-money-with-chatgpt/" rel="noopener noreferrer"&gt;for no purpose other than a quick cash-grab&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Literally today on LinkedIn on my way to make the original post, I encounter yet another post in my feed from a "non-tech CEO who built this in 2 hours and it will put so many companies out of business!" 🙄&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pushback Against Expertise
&lt;/h2&gt;

&lt;p&gt;When experts and masters of their craft express concerns about these products, they're frequently dismissed as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Behind the times"&lt;/li&gt;
&lt;li&gt;"Gatekeeping"&lt;/li&gt;
&lt;li&gt;"Not getting it"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the ones saying these things are often the same people who post about "&lt;a href="https://www.reddit.com/r/cursor/comments/1inoryp/cursor_fck_up_my_4_months_of_works/" rel="noopener noreferrer"&gt;losing 4 months of work in Cursor&lt;/a&gt;" because they didn't know about basics like version control. Or who complain their project "&lt;a href="https://www.reddit.com/r/ChatGPTCoding/comments/1ibtjri/my_project_became_so_big_that_claude_cant/" rel="noopener noreferrer"&gt;became so big that Claude can't properly understand it&lt;/a&gt;" and now they can't continue, because they have zero underlying skill.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Multiplayer Game Incident
&lt;/h2&gt;

&lt;p&gt;What prompted this reflection was seeing a &lt;a href="https://x.com/levelsio/status/1894429987006288259" rel="noopener noreferrer"&gt;poorly executed multiplayer "game" being celebrated&lt;/a&gt;. While it technically ran, the quality was questionable at best. Yet when this was pointed out, critics faced pushback from the creator—someone whose credibility seemed primarily based on revenue from other AI products.&lt;/p&gt;

&lt;p&gt;UPDATE: he's doing &lt;a href="https://x.com/levelsio/status/1894796687652135406" rel="noopener noreferrer"&gt;microtransactions&lt;/a&gt; in the game and people are buying it... WTH am I even doing with my life...&lt;/p&gt;

&lt;h2&gt;
  
  
  Quality vs. Quantity in the AI Era
&lt;/h2&gt;

&lt;p&gt;It's disheartening to see professionals who dedicate their careers to building thoughtful solutions for real problems being overshadowed by substandard work that somehow finds a market. This isn't solely an AI issue:&lt;/p&gt;

&lt;p&gt;Just look at the abundance of shovelware and shameless clones on platforms like Itch.io and the Nintendo eShop&lt;br&gt;
Log out of YouTube and look at the Shorts that are popular outside your algorithm: a slew of AI-generated nonsensical garbage...&lt;/p&gt;

&lt;p&gt;It seems that consumers increasingly prioritize cheap, easy, and quick over any kind of quality. Is that what we want as creators? Is this what we value as consumers?&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding Balance in the AI Revolution
&lt;/h2&gt;

&lt;p&gt;I struggle with this industry shift and don't have easy answers. Part of me recognizes a potential market opportunity, but my professional standards prevent me from releasing something I can't take pride in. Perhaps that's just my personal challenge to navigate.&lt;/p&gt;

&lt;p&gt;As developers in this new AI-enhanced landscape, we face a choice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Race to the bottom with quick, low-quality solutions that exploit AI hype&lt;/li&gt;
&lt;li&gt;Use AI to enhance our existing skills and create truly valuable solutions that couldn't exist without both human expertise and AI assistance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm choosing the latter path. It's harder, and based on what I'm seeing probably a mistake, but ultimately I truly believe it is more fulfilling and beneficial for our industry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Thoughts?
&lt;/h2&gt;

&lt;p&gt;I'm curious how other developers are navigating this tension. Are you finding ways to use AI that enhance rather than replace your skills? Have you seen examples of AI being used to create genuinely innovative solutions rather than just cutting corners?&lt;/p&gt;

&lt;p&gt;Let me know in the comments!&lt;/p&gt;

&lt;p&gt;Full disclosure: I used some of my AI tooling to help "Improve formatting for readability" and also "Soften some of the stronger language while preserving my perspective" in this post. Because the first draft was not professional 😬&lt;/p&gt;

&lt;p&gt;Originally posted on LinkedIn, adapted for Dev.to&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>development</category>
      <category>productivity</category>
    </item>
    <item>
      <title>My two favorite AI tools in 2024 (that I don't see enough people talking about)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Mon, 14 Oct 2024 09:57:58 +0000</pubDate>
      <link>https://dev.to/wynandpieters/my-two-favorite-ai-tools-that-i-dont-see-enough-people-talking-about-4j9o</link>
      <guid>https://dev.to/wynandpieters/my-two-favorite-ai-tools-that-i-dont-see-enough-people-talking-about-4j9o</guid>
      <description>&lt;p&gt;Over a year ago a &lt;a href="https://dev.to/wynandpieters/my-love-hate-relationship-with-chatgpt-the-unexpected-cost-of-productivity-76m"&gt;wrote a post&lt;/a&gt; about how I felt that, even though ChatGPT was making me more productive, I also felt it was making me lazier and dumber.&lt;/p&gt;

&lt;p&gt;Since then, I've been a lot more intentional about how I use AI tools, in particular generative AI tools and coding assistants. It should be a multiplier, not a replacement or crutch, which is something I see juniors and non-developers struggle with the most, but clearly we can all fall prey too.&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%2F7kq7c3mxtyezt7vvnkkd.jpeg" 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%2F7kq7c3mxtyezt7vvnkkd.jpeg" alt="Spider-man Iron-Man " width="800" height="675"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Over the last month or so, I've been seeing more blog and LinkedIn posts where it seems others are now having the same experience I do. The one that stuck with me &lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7250173023981371393/" rel="noopener noreferrer"&gt;was a LinkedIn post&lt;/a&gt; by someone who said they've uninstalled Copilot because &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The reason is very simple: it dumbs me down. I’m forgetting how to write basic things, and using it at scale in a large codebase also introduces so many subtle bugs which even I can’t usually spot directly. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, their conclusion was, as with most things on social media designed to get a reaction out of people, that there is NO benefit to AI and you MUST NOT use it because blah blah blah... &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%2Fyo39ywqkpd2h3qxd3v8u.gif" 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%2Fyo39ywqkpd2h3qxd3v8u.gif" alt="Shannon Sharpe Undisputed " width="220" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I don't care, I stopped reading, it's not this binary. But sure, doesn't mean there isn't a good point there, despite the overkill conclusion.&lt;/p&gt;

&lt;p&gt;I also realise that many of the reporting on AI pros and cons are both over inflated and sensationalist, and that people need to figure things out for themselves, and I am well aware that my opinion is a statistically insignificant sample size n=20-ish people I often interact with professionally, but personally I feel like there is plenty of benefit to be had if used correctly.&lt;/p&gt;

&lt;p&gt;So I figured I'd talk about two tools that I've been using a lot. And for some reason I don't see other people suggesting these often enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fabric
&lt;/h2&gt;

&lt;p&gt;You can find Fabric &lt;a href="https://github.com/danielmiessler/fabric" rel="noopener noreferrer"&gt;here&lt;/a&gt;, and they have some good links to Youtube coverage which shows some great examples of how this works. What I liked about this tool is that there philosophy is that&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI isn't a thing; it's a magnifier of a thing. And that thing is human creativity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;From the Github page as of the date of this post, they say that One of &lt;code&gt;fabric&lt;/code&gt;'s primary features is helping people collect and integrate prompts, which they call Patterns, into various parts of their lives.&lt;/p&gt;

&lt;p&gt;Fabric has Patterns for all sorts of life and work activities, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extracting the most interesting parts of YouTube videos and podcasts&lt;/li&gt;
&lt;li&gt;Writing an essay in your own voice with just an idea as an input&lt;/li&gt;
&lt;li&gt;Summarizing opaque academic papers&lt;/li&gt;
&lt;li&gt;Creating perfectly matched AI art prompts for a piece of writing&lt;/li&gt;
&lt;li&gt;Rating the quality of content to see if you want to read/watch the whole thing&lt;/li&gt;
&lt;li&gt;Getting summaries of long, boring content&lt;/li&gt;
&lt;li&gt;Explaining code to you&lt;/li&gt;
&lt;li&gt;Turning bad documentation into usable documentation&lt;/li&gt;
&lt;li&gt;Creating social media posts from any content input&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What I like about these Patterns are that most of them are incredibly well thought out, and the first useful thing I learned from them is writing better prompts for other AI tools. Not only is Fabric a useful command line tool that I can use easily, by looking at existing patterns and learning to write my own, I've learned to prompt better.&lt;/p&gt;

&lt;p&gt;I highly recommend watching the &lt;a href="https://www.youtube.com/watch?v=UbDyjIIGaxQ" rel="noopener noreferrer"&gt;NetworkChuck video on Fabric&lt;/a&gt; as well as the others they suggest on the Github page, and then playing around yourself.&lt;/p&gt;

&lt;p&gt;Some of my favourite and most used Patterns are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/danielmiessler/fabric/blob/main/patterns/analyze_logs/system.md" rel="noopener noreferrer"&gt;analyze_logs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/danielmiessler/fabric/blob/main/patterns/create_mermaid_visualization/system.md" rel="noopener noreferrer"&gt;create_mermaid_visualization&lt;/a&gt; (with mixed results, but often good starting point)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/danielmiessler/fabric/blob/main/patterns/explain_code/system.md" rel="noopener noreferrer"&gt;explain_code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/danielmiessler/fabric/blob/main/patterns/extract_wisdom/system.md" rel="noopener noreferrer"&gt;extract_wisdom&lt;/a&gt; (especially when using YT transcripts or other summaries or posts)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What I also love about this is that Fabric doesn't feel like it wants to replace you or other humans, it feels like it wants to help, and because it's a CLI, I don't need to leave my terminal or IDE.&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%2Fx0hy1l50ufreblxqs4lg.jpeg" 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%2Fx0hy1l50ufreblxqs4lg.jpeg" alt="Increasingly Buff Spongebob Meme using AI as force multiplier" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Continue
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.continue.dev/" rel="noopener noreferrer"&gt;Continue.dev&lt;/a&gt; is a plugin for VSCode and Jetbrains IDEs which, at first glance looks like CoPilot or Jetbrains AI or Codeium or so many others, but the reason I like it is for a few simple reasons.&lt;/p&gt;

&lt;p&gt;What is special about this for me is, as they state on the main page:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can connect any models and any context to create custom autocomplete and chat experiences inside the IDE&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This includes locally hosted models using something like &lt;a href="https://ollama.com" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt;. Which for me is great, since sometimes clients don't want their sensitive data going into the cloud models where T's &amp;amp; C's are sometimes iffy. &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%2Fifu9sm17kp79asfw88bg.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%2Fifu9sm17kp79asfw88bg.jpg" alt="AI stealing data meme" width="440" height="959"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The second reason is Context. Specifically built-in and extensible &lt;a href="https://docs.continue.dev/chat/context-selection" rel="noopener noreferrer"&gt;Context Selection&lt;/a&gt;. As part of the built-in chat windows, you can tell it to look at specific files, folders or your entire codebase, you can reference different conversations, and you can flip between models in a single conversations. You can even create your own contexts, but some of my favourites are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;including the contents of the terminal in your IDE as context by typing &lt;code&gt;@Terminal&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;including a documentation site as context by typing &lt;code&gt;@Docs&lt;/code&gt; and selecting the documentation site.&lt;/li&gt;
&lt;li&gt;including a folder in your current workspace as context by typing &lt;code&gt;@Folder&lt;/code&gt; and selecting the directory. It works like &lt;code&gt;@Codebase&lt;/code&gt; but only includes the files in the selected folder (useful in VSCode if you have multiple projects open at once)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My personal experience has just been that, despite being early days and having some bugs, Continue has been giving me better results thanks to these additional contexts that Jetbrains AI and Copilot just couldn't. &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%2F9a6q6cytghgmoz20a3s6.jpeg" 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%2F9a6q6cytghgmoz20a3s6.jpeg" alt="no to paid, yes to open source ai assistants meme" width="559" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You need to of course still pay for API access to different models, but there are free options, and I generally just buy $5 credit at a time and then it lasts me 2-3 months (but again, I don't use it &lt;em&gt;all the time&lt;/em&gt;, since I don't want to be dependant on the tools).&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus: Ollama and Open WebUI
&lt;/h2&gt;

&lt;p&gt;Just a quick special mention before I finish up. I mentioned Ollama earlier, but just wanted to expand. I've been playing with Ollama and &lt;a href="https://openwebui.com" rel="noopener noreferrer"&gt;OpenWebUI&lt;/a&gt;, which gives you a ChatGPT-like interface on top of your local models, and I love it. &lt;/p&gt;

&lt;p&gt;My desktop has an 8GB RTX 3070, so I'm limited in what models I can run, but being able to play around with different custom models and setting up special Chat AIs for different use cases is great. It also helps in learning about these tools and models, which aids in utilising them much more effectively.&lt;/p&gt;

&lt;p&gt;Highly recommend playing with them.&lt;/p&gt;

&lt;h2&gt;
  
  
  That's it
&lt;/h2&gt;

&lt;p&gt;I hope you check out these tools and give them a try, they've been game changers for me.&lt;/p&gt;

&lt;p&gt;I'm also really curious what tools people are using and what you've discovered that has been instrumental to you, and you just don't understand why everyone isn't using it.&lt;/p&gt;

&lt;p&gt;Let me know in the comments what tools you think I should look at, and if you have used Fabric and Continue and what your thoughts are on them.&lt;/p&gt;

&lt;p&gt;With that, I'm done. Happy coding everyone.&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%2Ft7gy2n3aco65ijtspq1g.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%2Ft7gy2n3aco65ijtspq1g.jpg" alt="poster showing " width="750" height="750"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>tooling</category>
      <category>productivity</category>
      <category>development</category>
    </item>
    <item>
      <title>Why You're NOT an Engineer (also Why It [Probably] Doesn't Matter)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Tue, 17 Sep 2024 18:41:15 +0000</pubDate>
      <link>https://dev.to/wynandpieters/why-youre-not-an-engineer-also-why-it-probably-doesnt-matter-egb</link>
      <guid>https://dev.to/wynandpieters/why-youre-not-an-engineer-also-why-it-probably-doesnt-matter-egb</guid>
      <description>&lt;p&gt;&lt;strong&gt;Trigger warning:&lt;/strong&gt; this is a bit of a rant. Also, it contains opinions. Specifically mine. If you are allergic to other peoples opinions, or likely to experience anger or hatefulness when hearing others opinions, this post is probably not for you. &lt;/p&gt;

&lt;p&gt;Also, if you actually are an Engineer, have a cookie.&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%2Falw621annywdnjbxawae.jpeg" 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%2Falw621annywdnjbxawae.jpeg" alt="Cookie Monster giving you the promised cookie" width="173" height="130"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;I spend a large amount of time on interviews. Or I did, up until mid 2020, but whatever. Sure, it's not as much as large corporations fielding thousands of applicants, but I'd wager more than the average startup. I've conducted a couple hundred interviews myself, and I've been interviewed a couple ten times.&lt;/p&gt;

&lt;p&gt;The discussion of roles, responsibilities and titles is a tricky one, and one that often comes up in interviews. We live in a world where titles have become... maybe not quite meaningless, but a lot more ambiguous and less likely to carry the same weight it did in the 80s, 90s and 00s.&lt;/p&gt;

&lt;p&gt;In a world where a barely legal high school dropout can be the CTO of his own startup with 0 employees and no product to speak of, where a marketing director can be called a "Wizard of Light Bulb Moments" and everyone plus their aunt Bob can be an "Data Scientist" after doing one free Python course on YouTube, titles have become ... let's just stick with 'less important'. &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%2F66btryb355qxtjdi34pj.jpeg" 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%2F66btryb355qxtjdi34pj.jpeg" alt="Reality vs LinkedIn meme example Anakin Skywalker vs Darth  Vader" width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just recently in one of my online communities there was a question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SRE or SysAdmin - which job title would get the most attention from interns/Juniors? (Job descriptions would be the exact same btw)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm not sure when Site Reliability Engineer and Systems Administrator became the same thing. I must have missed that notice. Damn spam filter.&lt;/p&gt;

&lt;p&gt;But this just highlights my point: Roles and responsibilities are the things most people will end up caring about. And with that comes the &lt;em&gt;expectations&lt;/em&gt; of what those roles entail, and what experience or background is needed for that. It's not what I'm called, but what I'll be doing.&lt;/p&gt;

&lt;p&gt;And finally, we come to the heart of my post. Software Engineering. Or is that Software Development? &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%2Fugzuplls09sur6aqg5u3.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%2Fugzuplls09sur6aqg5u3.jpg" alt="Wrote " width="390" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A rose by any other name...
&lt;/h2&gt;

&lt;p&gt;I'm not getting into things like prefixes today. I don't care about App [something] vs Full-Stack [something] vs Cloud [something] vs Web [something] or whatever else. I feel these are &lt;em&gt;mostly&lt;/em&gt; clear in their focus. You are either focusing on mobile, or websites, or DevOps or Cloud etc etc etc.&lt;/p&gt;

&lt;p&gt;What I do care about is that [something] and what the expectations are arounds those. Or maybe what &lt;em&gt;my&lt;/em&gt; expectations are. This is an opinion after all.&lt;/p&gt;

&lt;p&gt;The terms I hear most often are Coder, Programmer, Developer and Engineer. And here's the thing; I see these used interchangeably. But I don't agree with this. I think these are progressions and divergences. I think that one follows the other, or splits off, and they have different places in the world and in business, and not everyone needs to be everything. So let's start where we all do.&lt;/p&gt;

&lt;h3&gt;
  
  
  Coder
&lt;/h3&gt;

&lt;p&gt;Coders write code. That code could be very simple. A single line of Bash to extract data from a URL&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;➜  ~ curl -s https://www.githubstatus.com/api/v2/status.json | jq '.status.description'
"All Systems Operational"
➜  ~
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or doing some &lt;code&gt;sed&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt; or &lt;code&gt;awk&lt;/code&gt; commands, that's code.&lt;/p&gt;

&lt;p&gt;Maybe you start doing something simple with Python like comparing SemVer versions&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="err"&gt;✔︎&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;from distutils.version import StrictVersion; print(StrictVersion(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;0.10.0&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;) &amp;gt;= StrictVersion(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;0.6.0&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;))&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;DeprecationWarning&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;distutils&lt;/span&gt; &lt;span class="n"&gt;Version&lt;/span&gt; &lt;span class="n"&gt;classes&lt;/span&gt; &lt;span class="n"&gt;are&lt;/span&gt; &lt;span class="n"&gt;deprecated&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;Use&lt;/span&gt; &lt;span class="n"&gt;packaging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="n"&gt;instead&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="bp"&gt;True&lt;/span&gt;
&lt;span class="err"&gt;✔︎&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or maybe you just did your first "Hello World" tutorial for a new language like Rust and you managed to compile and run it.&lt;/p&gt;

&lt;p&gt;Congrats, you have the reached the level of Coder. You have a basic understanding of one or more programming languages and can &lt;em&gt;write code&lt;/em&gt; to accomplish specific tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Programmer
&lt;/h3&gt;

&lt;p&gt;Programmers are next step beyond coders. They are capable of writing, testing, and debugging code to build software applications. You probably know what an SPA is, and maybe even know who to make one without ChatGPT and StackOverflow. Programmers know how to &lt;em&gt;program code&lt;/em&gt; into something meaningful.&lt;/p&gt;

&lt;h3&gt;
  
  
  Developer
&lt;/h3&gt;

&lt;p&gt;Developers (specifically software developers given the audience here) have a broader skillset that includes not only programming (which is built on coding) but also software design, project management, and collaboration with other team members. They are involved in the entire software development lifecycle, from planning and designing to testing and deployment. Developers often have a solid understanding of programming languages, frameworks, and tools, as well as the ability to solve complex problems and create high-quality software products. You know how to &lt;em&gt;program&lt;/em&gt; and &lt;em&gt;develop software&lt;/em&gt; that works.&lt;/p&gt;

&lt;h3&gt;
  
  
  Engineer
&lt;/h3&gt;

&lt;p&gt;Software engineers, sometimes referred to as software development engineers, have a more comprehensive and systematic approach to software development. They apply engineering principles and practices to the design, development, testing, and maintenance of software systems. Software engineers often possess strong analytical and critical thinking skills, as well as an in-depth understanding of computer science fundamentals, enabling them to build scalable, secure, and robust software solutions. So yeah, they also &lt;em&gt;develop software&lt;/em&gt;, but rely on &lt;em&gt;engineering principles&lt;/em&gt; to do so.&lt;/p&gt;

&lt;h2&gt;
  
  
  I had a point, right?
&lt;/h2&gt;

&lt;p&gt;Okay, so here it is. If you didn't study engineering, or work in an engineering role, please don't call yourself an engineer.&lt;/p&gt;

&lt;p&gt;Maybe this is just me, but if you call yourself an engineer, and I interview you like one (because I have a certain expectation), and you are not an engineer, the interview will go very poorly for you.&lt;/p&gt;

&lt;p&gt;If you call yourself a developer, and I interview you like a developer, you'll probably have a much better chance to impress me when you start pulling out the engineering principle guns.&lt;/p&gt;

&lt;p&gt;Interviews, when done "right" (oof, loaded term right there), are meant to be conversations in which both parties get to test the waters and figure out if there can be a mutually beneficial work arrangement; I have a problem that needs solving, and you hopefully have the skills and attitude to solve it.&lt;/p&gt;

&lt;p&gt;It is not you coming in here throwing your titles and experience around trying to convince me your bootcamp made you a 10x engineer, but then you commit your AWS credentials to Github.&lt;/p&gt;

&lt;h2&gt;
  
  
  That's bleak dude
&lt;/h2&gt;

&lt;p&gt;Okay, but hear me out, because there is a second part to this.&lt;/p&gt;

&lt;p&gt;It doesn't matter.&lt;/p&gt;

&lt;p&gt;Kinda.&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%2Fgmaint9tu4ypdzdc2cwh.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%2Fgmaint9tu4ypdzdc2cwh.jpg" alt="Whose Line is it Anyway Meme Generator Job Titles are made up and requirements don't matter" width="566" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As long as you are honest about what you can and cannot do, and as long as you are growing and improving, that's fine.&lt;/p&gt;

&lt;p&gt;Also, it's not your fault as the jobseeker that most companies don't 🦆-ing know what roles they are hiring for half the time and end up with 💩 job specs with confusing "requirements".&lt;/p&gt;

&lt;p&gt;If you really want get somewhere, focus less on what the role is called, or what your title will be, and focus more on the value-add that you know you can provide.&lt;/p&gt;

&lt;p&gt;Anyway, let me know your thoughts. Am I being to harsh? Am I the only one who feels this way?&lt;/p&gt;

&lt;p&gt;Ooh, better yet, what is the weirdest job title you've seen someone &lt;strong&gt;actually&lt;/strong&gt; calling themselves?&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%2Fwaf1h6sgtpgm97ytpje0.gif" 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%2Fwaf1h6sgtpgm97ytpje0.gif" alt="Im Out GIF by The Bachelor" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>programming</category>
      <category>management</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Be water, my friend (my tao of software development)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Mon, 10 Jun 2024 09:52:10 +0000</pubDate>
      <link>https://dev.to/wynandpieters/be-water-my-friend-my-tao-of-software-development-5jn</link>
      <guid>https://dev.to/wynandpieters/be-water-my-friend-my-tao-of-software-development-5jn</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;I don't know why this has been on my mind the last few weeks, but guess that means I need to write something down...&lt;/p&gt;

&lt;p&gt;I love Bruce Lee. I don't generally think of myself of someone who has "heroes", but if there is one person outside my father who has greatly inspired me and changed how I think about life, it would be Bruce Lee.&lt;/p&gt;

&lt;p&gt;At first, as a little kid with silly hopes and crazy dreams, it was just all the cool fighting scenes in his movies that made want to be like him.&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%2F309xumrqrv734y7x33pg.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%2F309xumrqrv734y7x33pg.jpg" alt="Scene from The Way of the Dragon of Bruce Lee fighting Chuck Norris" width="800" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But as I grew older and I watched &lt;a href="https://moviesanywhere.com/movie/dragon-the-bruce-lee-story?show=retailers" rel="noopener noreferrer"&gt;Dragon: The Bruce Lee story&lt;/a&gt;, seeing how he lived life and his approach to martial arts and film, and then later buying and obsessing over &lt;a href="https://www.amazon.com/Tao-Jeet-Kune-Do-Expanded/dp/0897502027" rel="noopener noreferrer"&gt;The Tao of Jeet Kun Do&lt;/a&gt;, I started thinking about how to apply these elements and lessons to my own life.&lt;/p&gt;

&lt;p&gt;(I also really loved &lt;a href="https://www.youtube.com/watch?v=uk1lzkH-e4U" rel="noopener noreferrer"&gt;this interview from the Pierre Berton show&lt;/a&gt;, and some of the things I reference will come from that.)&lt;/p&gt;

&lt;p&gt;And of course, since this is a tech blog, I'll focus on how these apply to my career and my approach to building software and companies. And I trust there will be some wisdom or insight for everyone that reads it.&lt;/p&gt;

&lt;p&gt;I'm also quite confident I'm not the first and won't be the last person to equate lessons from Lee into software, so I suggest scouring the interwebs for more insights.&lt;/p&gt;

&lt;p&gt;Let's get into it.&lt;/p&gt;

&lt;h2&gt;
  
  
  “Be water, my friend.”
&lt;/h2&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%2Fnbj8f0a9m4n66oxllkae.jpeg" 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%2Fnbj8f0a9m4n66oxllkae.jpeg" alt="Image of Bruce Lee with the “Be water” quote" width="620" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This famous quote encapsulates Lee’s philosophy of adaptability and fluidity. In software development, this can translate to being flexible in problem-solving, adapting to new technologies, and continuously evolving your skills.&lt;/p&gt;

&lt;p&gt;For me, this is the essence of what Agile really tries to achieve. When you cut out the methodologies, and look at the intent and principles. It means that if you have an idea that doesn't work, you try something else. It means that if you are going in the wrong direction, you change rather than stubbornly pushing forward.&lt;/p&gt;

&lt;p&gt;Wrt our own adaptability around things like tools and languages and frameworks, the hill that I will probably die on is the "it depends" meme. While I surely have things I prefer, sometimes it's not sensible to blindly hold on to those when the entire industry is moving in a different direction. We must adapt and evolve and grow.&lt;/p&gt;

&lt;p&gt;I feel this also nicely ties into the next one.&lt;/p&gt;

&lt;h2&gt;
  
  
  “Absorb what is useful, discard what is not, add what is uniquely your own.”
&lt;/h2&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%2Fkl86q0s5ouzv8pdl3l3t.jpeg" 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%2Fkl86q0s5ouzv8pdl3l3t.jpeg" alt="Image of Bruce Lee with the “Absorb what is useful” quote" width="602" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lee’s approach to martial arts involved taking the best elements from various styles and creating his own. In software development, this means learning from different programming paradigms and tools, discarding outdated practices, and innovating to develop your unique coding style and solutions.&lt;/p&gt;

&lt;p&gt;There is no "right way" or "one solution", and there is no "best" editor or "one language or paradigm to rule them all". As much as people want to fan the flames of online wars, at the end of the day, there are pros and cons to everything.&lt;/p&gt;

&lt;p&gt;So try new things, learn things, attempt hard things, and figure out what works best &lt;em&gt;for you&lt;/em&gt; and the people around you.&lt;/p&gt;

&lt;p&gt;And don't just copy-paste, whether someone else's code, or a persons behaviour and attitude and approach to life.&lt;/p&gt;

&lt;p&gt;Yes, even now, as I talk about the lessons and inspiration of Bruce Lee, I don't try and "be" him or even "be like" him. I am looking at what he did well and absorbing the useful lessons to myself, discarding what is not applicable, and then adding what is uniquely my own.&lt;/p&gt;

&lt;h2&gt;
  
  
  “Mistakes are always forgivable, if one has the courage to admit them.”
&lt;/h2&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%2Fb795f7qq73duhhs96v3c.jpeg" 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%2Fb795f7qq73duhhs96v3c.jpeg" alt="Image of Bruce Lee with the “Mistakes are always forgivable” quote" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And I get this wrong sometimes. And you will too. But we shouldn't fear failure and mistakes. Having failed at something &lt;em&gt;does not make you a failure.&lt;/em&gt; It just means you have not found the path to success &lt;em&gt;yet&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;This quote from Lee encourages a growth mindset and accountability. In software development, acknowledging errors and learning from them is essential for personal and professional growth. Finding a space where there is psychological safety for us to do this is extremely important.&lt;/p&gt;

&lt;h2&gt;
  
  
  “Knowing is not enough, we must apply. Willing is not enough, we must do.”
&lt;/h2&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%2Fw4u7jdrsr0leelkvpn01.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%2Fw4u7jdrsr0leelkvpn01.jpg" alt="Image of Bruce Lee with the “Knowing is not enough” quote" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This quote to me really emphasizes the importance of practical application and action. In your career, it’s not just about learning new programming languages or methodologies; it’s about applying that knowledge to create meaningful and functional software.&lt;/p&gt;

&lt;p&gt;I've spoken about this in some of my previous posts, the idea of intentional learning and intentional practice. You don't become an expert by half-arsing it for 10 000 hours; you do it through deliberate practice, continuous feedback, and making adjustments.&lt;/p&gt;

&lt;p&gt;It's not enough to watch 20 beginners tutorials and then think "yeah, I got this". Do something. Build something. Break something else, then figure out how to fix it. Be willing to try and fail until you try and succeed. Whether that's solving a hard problem, or building a new startup, or working for that promotion. &lt;/p&gt;

&lt;h2&gt;
  
  
  “If you love life, don’t waste time, for time is what life is made up of.”
&lt;/h2&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%2Fp6dird5jgo7yq729ogbi.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%2Fp6dird5jgo7yq729ogbi.png" alt="Image of Bruce Lee with the “don't waste time” quote" width="534" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Time management and valuing your time are crucial. In software development, prioritizing tasks effectively, avoiding procrastination, and making the most of your working hours can lead to greater productivity and satisfaction.&lt;/p&gt;

&lt;p&gt;Knowing how to spend time outside of work is just as important. Time is a finite resource, and we are using it regardless of what we are doing. There is a time for work, and a time for play, and a time for rest. Important to note though, there is a difference between intentional rest and just ... existing in space.&lt;/p&gt;

&lt;p&gt;I long struggled (and still do to some extent) with the idea that I always need to be productive. Something I've learned over years is, rest is not unproductive, but doing nothing is. Intentional rest is doing something, and it is productive.&lt;/p&gt;

&lt;p&gt;I've also spoken before on how this TED Talk by Laura Vanderkam on &lt;a href="https://www.youtube.com/watch?v=n3kNlFMXslo" rel="noopener noreferrer"&gt;How to gain control of your free time&lt;/a&gt; changed my perception of time spent by changing my thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Instead of saying “I don’t have time” try saying “it’s not a priority,” and see how that feels. Often, that’s a perfectly adequate explanation. I have time to iron my sheets, I just don’t want to. But other things are harder. Try it: “I’m not going to edit your résumé, sweetie, because it’s not a priority.” “I don’t go to the doctor because my health is not a priority.” If these phrases don’t sit well, that’s the point. Changing our language reminds us that time is a choice. If we don’t like how we’re spending an hour, we can choose differently.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But back to software... think about how you spend your time on projects and what people you spend time with in your org. Think about what is really priority, and be agile and pragmatic and focus on how you best spend your time to accomplish the goals set. And please, make time to rest intentionally.&lt;/p&gt;

&lt;p&gt;Speaking of goals...&lt;/p&gt;

&lt;h2&gt;
  
  
  “A goal is not always meant to be reached, it often serves simply as something to aim at.”
&lt;/h2&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%2Ff40zq2l1j1caqvt7rnfz.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%2Ff40zq2l1j1caqvt7rnfz.png" alt="Image of Bruce Lee with the “goals are something to aim at” quote" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I won't hammer on this one too much. People and companies often have lofty goals. Some startups set up to solve a hard problem, then fail. And this is where I feel the quote is important.&lt;/p&gt;

&lt;p&gt;It reflects the importance of setting goals for direction rather than absolute achievements. In software development, setting ambitious goals can drive progress and innovation, even if they are not always fully attained.&lt;/p&gt;

&lt;p&gt;Shoot for the stars, and even if you fall short, you might make it to the moon.&lt;/p&gt;

&lt;p&gt;Okay, so let me leave you with one more.&lt;/p&gt;

&lt;h2&gt;
  
  
  “Knowledge will give you power, but character respect."
&lt;/h2&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%2Fvxtqiw9hcbda1htu3crr.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%2Fvxtqiw9hcbda1htu3crr.png" alt="Image of Bruce Lee with the “character gives respect” quote" width="800" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Over time, a developer’s reputation is built not just on their technical skills but also on their character. Respect from peers, clients, and the community can lead to more opportunities and long-term success. Effective leaders in software development are those who combine deep technical knowledge with strong character traits like empathy, fairness, and integrity. Such leaders inspire and earn the respect of their teams.&lt;/p&gt;

&lt;p&gt;Gaining expertise in specific programming languages, tools, and methodologies can give a developer significant leverage in their career, enabling them to handle challenging tasks and lead projects effectively. Knowledge empowers us to solve complex problems, innovate, and build efficient, high-quality software.&lt;/p&gt;

&lt;p&gt;But while technical knowledge is essential, humility and the willingness to listen to others’ ideas and feedback are equally important. This balance helps in continuous improvement and gaining respect. Sharing knowledge with less experienced colleagues and helping them grow demonstrates character. It builds a culture of learning and respect within the team or organization.&lt;/p&gt;

&lt;p&gt;It's not just you alone on this journey.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I'm curious to hear who outside of the tech industry has had the greatest impact on you and how that has changed you approach to software? Let me know in the comments.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>productivity</category>
      <category>coding</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>What I learned from making my first game (and how my approach changed for the second one)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Mon, 05 Feb 2024 08:55:11 +0000</pubDate>
      <link>https://dev.to/wynandpieters/what-i-learned-from-making-my-first-game-and-how-my-approach-changed-for-the-second-one-3dea</link>
      <guid>https://dev.to/wynandpieters/what-i-learned-from-making-my-first-game-and-how-my-approach-changed-for-the-second-one-3dea</guid>
      <description>&lt;h3&gt;
  
  
  TL;DR
&lt;/h3&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%2F608sjk4nku20b3zztn8o.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%2F608sjk4nku20b3zztn8o.jpg" alt="" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's pretty much it. Entire post summed up right there 👆&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Early in 2023 I took on a challenge. I'd been going on about making my own game for ages, and my wife finally called me out on it; stop talking, start doing.&lt;/p&gt;

&lt;p&gt;A buddy of mine had been doing the same thing about an app idea he had, and so our wives decided to lock us in a room for a day and force us to work on these ideas.&lt;/p&gt;

&lt;p&gt;We decided we'd take 24 hours split over 3 days and work on our ideas just to get something out, and the experience was a good reminder that actually building something is often the best way to learn.&lt;/p&gt;

&lt;p&gt;In case you are interested, you can check out what I built over on &lt;a href="https://duhblinnza.itch.io/what-traffic" rel="noopener noreferrer"&gt;Itch.io&lt;/a&gt;; there are some blog posts and updates as well.&lt;/p&gt;

&lt;p&gt;FWIW, it really sucks 😂&lt;/p&gt;

&lt;p&gt;But I learned a lot. And actually releasing something made it easier to start working on the second one. Which you can also check out &lt;a href="https://duhblinnza.itch.io/so-this-is-how-i-die" rel="noopener noreferrer"&gt;here&lt;/a&gt;, again with a more comprehensive devlog available.&lt;/p&gt;

&lt;p&gt;But enough shameless plugs, I'm here to talk about what I learned.&lt;/p&gt;

&lt;p&gt;For those who don't know, I've been doing professional software development since 2007, and hobbyist since I first learned BASIC in the 1990s (yes, I'm old 🧓🏻)&lt;/p&gt;

&lt;p&gt;I've done web, frontend, mobile, backend, cloud, full stack, serverless, app server... I've been around the block, but game dev is new. And very different, it turns out.&lt;/p&gt;

&lt;p&gt;At least in the way it's taught, or maybe just the way I learned. And I figured I might as well share my thoughts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learnt
&lt;/h2&gt;

&lt;p&gt;Some of these will relate to my experience building games a solo indie dev. Others will relate to my experience as a dev and how that translates (or doesn't) to game dev. And maybe this is just comment on how not to learn a new skill.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lesson 1: Just do it.
&lt;/h3&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%2Fscp97vkv7qbns5tlk8fz.gif" 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%2Fscp97vkv7qbns5tlk8fz.gif" alt="Just Do It Shia GIF" width="470" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I touched on this on one of my first posts here about falling into the trap of "learning" but never "doing", and this is an issue I had. I remember doing a 2D Unity tutorial, I think it was a space shooter example project or something. Once finished, I took months before getting back to it, and then Unity had updated, and so had the tutorial.&lt;/p&gt;

&lt;p&gt;So I did it again. And the next time the tutorial was replaced, so I did the new one. And then the 3D one. And then again the new 3D one when Unity updated again.&lt;/p&gt;

&lt;p&gt;Even after completing a 2D and 3D course on Udemy, by the time I got around to my game idea, it had updated again, so of course I had to start from scratch again.&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%2Fhti8r8clk085vrt9vacy.gif" 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%2Fhti8r8clk085vrt9vacy.gif" alt="Spock Dazzling Display of Logic GIF used for sarcasm" width="498" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But alas, a conversation with my friend who, when I said I need to do all the tutorials again just said: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;But why? Just use the version you know.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Mind. Blown. 🤯&lt;/p&gt;

&lt;p&gt;Or not, it was obvious, but that conversation made it more obvious. I was scared of trying something new and failing, so I found excuses to put it off. Simple as that.&lt;/p&gt;

&lt;p&gt;Don't find excuses. Just do it. Building something, anything, it is a billion times better than not building anything at all.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lesson 2: Engine doesn't matter.
&lt;/h3&gt;

&lt;p&gt;Actually it does. But it also doesn't. It depends.&lt;/p&gt;

&lt;p&gt;Maybe the more accurate statement would be it doesn't matter as much as you think. At least not if you are a solo indie dev or small group.&lt;/p&gt;

&lt;p&gt;Sure, for large game dev companies, using the latest Unreal 5 for the latest GPU tech and the most uncanny valley graphics makes sense. But for most small projects, they can all accomplish the same goals, just in different ways.&lt;/p&gt;

&lt;p&gt;There are plenty of unbiased engine comparisons out there, and if you haven't even started your first game yet, go do your research and figure out what works for you.&lt;/p&gt;

&lt;p&gt;But don't be like me and spend months debating if I should stick with Unity or learn Godot or Unreal, or try to convince myself my idea is so simple and different I can just use something &lt;a href="https://ebitengine.org/" rel="noopener noreferrer"&gt;Ebitengine&lt;/a&gt; because I know Go, or &lt;a href="https://bevyengine.org/" rel="noopener noreferrer"&gt;Bevy Engine&lt;/a&gt; because I want to learn Rust.&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%2Fbdamfm9msajkp5pg0tig.jpeg" 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%2Fbdamfm9msajkp5pg0tig.jpeg" alt="Running Away Balloon Meme - Engine I know vs Engines I Can Learn" width="500" height="672"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm familiar with Unity, and it can do what I want. Games way more complex and ambitious than mine have been built in it. It's just another excuse to not start something.&lt;/p&gt;

&lt;p&gt;Unless you have a very specific goal in mind that requires a specific engine, just pick one with a language close to what you are familiar with and get going. You can always change things for the next project if it doesn't work out.&lt;/p&gt;

&lt;h4&gt;
  
  
  Side Note
&lt;/h4&gt;

&lt;p&gt;Godot 4 is awesome, and I love the effort going into the engine. I firmly believe that in a few years Godot will be the primary choice for indie devs for making games. Godot will do for game dev what Blender did for 3D modelling and animation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lesson 3: Tutorials are great, but RTFM.
&lt;/h3&gt;

&lt;p&gt;Learning to code has drastically changed over the last 50 or whatever years. Gone are the days of spending hours pouring over physical Language Reference Manuals. Who would do that when you can just Google your problem or get CoPilot to give you the code?&lt;/p&gt;

&lt;p&gt;But here's the thing. Those online sources are usually very superficial. They are typically aimed at beginners after all.&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%2F3z5krvpeoqxbo158d4a7.jpeg" 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%2F3z5krvpeoqxbo158d4a7.jpeg" alt="Expanding Brain Meme - Levels of Coding" width="500" height="701"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Never underestimate what you can learn about tools and frameworks by the reading the docs. There is nuance and detail there you won't get from tutorials, blogs and courses.&lt;/p&gt;

&lt;p&gt;I quickly fell into a trap of "all tutorials do this the same way, so it must be best" and "all tutorials say this is bad, so I shouldn't do it", but like I say in probably every single one of my blogs... it really all depends, there is no one right answer, and I shouldn't assume there is.&lt;/p&gt;

&lt;p&gt;If &lt;em&gt;everyone&lt;/em&gt; online says "do it this way", yeah, maybe that is the best practice and it is the right way, but it could also be that everyone is just copying each others content because it's easier to reproduce and get a slice that very lucrative online courses pie.&lt;/p&gt;

&lt;p&gt;So yeah. Read the freaking manual. If you are unsure of something, that should be your first port of call. If you still don't understand, check the forums. And only then Google.&lt;/p&gt;

&lt;p&gt;There are many concepts in the Unity Engine I never new existed, because so few tutorials and lessons actually touch on them. Like how to actually use the &lt;a href="https://docs.unity3d.com/Manual/ManagedCodeDebugging.html" rel="noopener noreferrer"&gt;Debugger&lt;/a&gt; and do &lt;a href="https://docs.unity3d.com/Packages/com.unity.test-framework@1.4/manual/index.html" rel="noopener noreferrer"&gt;Unit Testing&lt;/a&gt;, things which are common practice and often taught in pretty much any other software development field. I also learned about &lt;a href="https://docs.unity3d.com/Manual/class-ComputeShader.html" rel="noopener noreferrer"&gt;Compute Shaders&lt;/a&gt;, not something I'll need for my games yet, but since I never saw anyone talk about it, and because I didn't start with the docs, I never even new it existed!&lt;/p&gt;

&lt;p&gt;So yeah, RTFM. Please.&lt;/p&gt;

&lt;h4&gt;
  
  
  Side Note
&lt;/h4&gt;

&lt;p&gt;Another side note here, there are also really good courses and teachers out there, and some top notch YT channels where I did end up learning about these things. I'm not saying "courses bad, manual good", I'm saying that the reference guides from the creators are probably a better first resource than whatever Google is being paid to show you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lesson 4: Assets are your friends.
&lt;/h3&gt;

&lt;p&gt;This is a weird one for me, and I'm not sure why my mindset for this was different. And maybe this is very much a &lt;em&gt;me&lt;/em&gt; problem and not something that other people experience.&lt;/p&gt;

&lt;p&gt;I don't think twice about using open source frameworks that are available when I'm doing backend work. And I rarely debate about paying for tools like JetBrains IDEs and CoPilot or ChatGPT, but for some reason the idea of paying for assets was weird. I always wanted to try and do everything myself, especially if was just "code". Using 3D models and audio which I can't do myself was much easier than using someones Player Input Controller or a Pathfinding asset.&lt;/p&gt;

&lt;p&gt;Using someone else's code kinda made me feel like the wrong side of the "I made this" meme...&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%2Fyltlenoforf8t0u6hn1i.jpeg" 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%2Fyltlenoforf8t0u6hn1i.jpeg" alt="I made this Meme with Unity Assets overlayed" width="440" height="959"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But at the end of the day, unless you are really talented at every facet of game dev (audio, animation, coding, designing), you either need other people, or you need other people's stuff. And they are selling these things, so it helps them out too.&lt;/p&gt;

&lt;p&gt;And if you are just playing around, start with free stuff that's engine agnostic. &lt;a href="https://www.kenney.nl/" rel="noopener noreferrer"&gt;Kenny.nl&lt;/a&gt; is an amazing resource with "Thousands of completely free game assets for you to use", and they have a top notch &lt;a href="https://kenney.itch.io/kenney-game-assets" rel="noopener noreferrer"&gt;all-in-1 bundle available over on Itch.io&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Just like you don't always need to re-invent the wheel in software, you don't need to solo every aspect of your game. Devs with more experience and who have been in the game longer than you have solved a lot of problems already. Use that to your advantage.&lt;/p&gt;

&lt;p&gt;Oh, one more thing: you can learn a lot from these assets. Especially the ones that come with scripts. I wanted Serialized Dictionaries for handling some of my objects in the editor, and I could never quite get it working, turns out there was a really good free asset, and just going through the code helped me understand things and see where I went wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I don't have a specific purpose with this post other than I sharing what I thought was some interesting observations and revelations. Make with that what you will.&lt;/p&gt;

&lt;p&gt;If you've ever been interested in making your own game, or really just want to build anything, but keep finding excuses, I really recommend watching &lt;a href="https://www.youtube.com/watch?v=aMc-GKv5olA" rel="noopener noreferrer"&gt;this video from Pirate Software over on YT&lt;/a&gt; or &lt;a href="https://develop.games/#nav-skills" rel="noopener noreferrer"&gt;reading their post over on develop.games&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I think there is a lot there that translates to more than just game dev. &lt;/p&gt;

&lt;p&gt;And I hope it inspires you to also go out and &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;build something&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I look forward to one day seeing what that is, so put it here in the comments when you have something to show. Or make your own #showdev post 🙂&lt;/p&gt;

&lt;p&gt;As for me, I'm slowly working towards having something playable, and I'm glad I decided to stop finding excuses and just start. It might not always be going the way I want or at the pace I would like, but at least it's going. Slow progress is better than no progress, after all.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>gamedev</category>
      <category>challenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I am a Single Monitor Developer (but I am very particular about that monitor)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Thu, 23 Nov 2023 11:59:33 +0000</pubDate>
      <link>https://dev.to/wynandpieters/i-am-a-single-monitor-developer-but-i-am-very-particular-about-that-monitor-1ggg</link>
      <guid>https://dev.to/wynandpieters/i-am-a-single-monitor-developer-but-i-am-very-particular-about-that-monitor-1ggg</guid>
      <description>&lt;h2&gt;
  
  
  LOLWUT. Random.
&lt;/h2&gt;

&lt;p&gt;Yes. Kinda.&lt;/p&gt;

&lt;p&gt;So here's the thing; I recently watched a reaction video by &lt;a href="https://www.youtube.com/@ThePrimeTimeagen" rel="noopener noreferrer"&gt;ThePrimeTime&lt;/a&gt; for a &lt;a href="https://www.youtube.com/watch?v=tzr7hRXcwkw&amp;amp;t=0s" rel="noopener noreferrer"&gt;clip about the "Best Programming Setup"&lt;/a&gt; from the Lex Fridman interview with John Carmack, and for some reason it sparked an urge to write about something.&lt;/p&gt;

&lt;p&gt;The specific bit was &lt;a href="https://youtu.be/qFnHWMxlOBc?t=1185" rel="noopener noreferrer"&gt;here&lt;/a&gt; (from around 19:45 to 21:12), where John talked about making the move from 2 to 3 monitors, and Prime commented on being a 1 monitor person.&lt;/p&gt;

&lt;h2&gt;
  
  
  Erm... okay?
&lt;/h2&gt;

&lt;p&gt;Stay with me.&lt;/p&gt;

&lt;p&gt;I really liked his comment here about the argument for multiple monitors being about your ability to navigate your OS, because I agree, this is a very big part of it.&lt;/p&gt;

&lt;p&gt;But it's not &lt;strong&gt;all&lt;/strong&gt; of it.&lt;/p&gt;

&lt;p&gt;As I've moved through different phases of my career, and focusing on different types of applications and types of development, I've found my monitor usage requirements changing.&lt;/p&gt;

&lt;p&gt;Earlier in the clip when they talked about debuggers and logging, I think he hit the nail on the head when he said &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I know we'll probably disagree on the debugger thing. Or really, I don't even think we disagree, &lt;strong&gt;we're just in different environments&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And there for me is the crux of all this. The single- vs multi-monitor debate. The Vim vs Emacs debate. The text editor vs IDE debate. The OOP vs FP debate.&lt;/p&gt;

&lt;p&gt;If I am only ever remembered for one thing, let it be:&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%2Fbp2v38x85eno1yk3vsgd.jpeg" 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%2Fbp2v38x85eno1yk3vsgd.jpeg" alt="Say the Line Bart meme with context of senior developer saying " width="483" height="801"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Get to the point old man...
&lt;/h2&gt;

&lt;p&gt;In a minute!&lt;/p&gt;

&lt;p&gt;So here's the thing, I started my professional career in QA Automation, and one screen was fine. The scope of what I worked on was small, and it was easy to keep in my head. Doing the Alt-Tab thing was easy, and not disruptive at all.&lt;/p&gt;

&lt;p&gt;When I moved over to frontend development, I found having two monitors really helped. I could keep designs and specs open on the one monitor, while keeping my IDE open in the other. Having the additional context in my vision was super useful.&lt;/p&gt;

&lt;p&gt;When I moved to backend dev, I found the use case similar. Being able to keep the IDE and Terminal connected to the server on one screen, while keeping the UI and specs open on the other meant I had all the context I needed right in front of me. The system was a micro-monolith (&lt;a href="https://www.baeldung.com/war-vs-ear-files" rel="noopener noreferrer"&gt;bunch of separate WARs packaged in a single EAR&lt;/a&gt;) in a single language (Java), so I could keep all the code in one IDE instance no problem, and debugging was still easy to do.&lt;/p&gt;

&lt;p&gt;But when I moved to startup where we did "proper" microservices, including services in different languages (Scala, Python, Go), this became much harder to manage. In extreme cases I would need the source of two or three services open at once, along with a Confluence page or DrawIO diagram to understand the flow, with multiple windows open in iTerm all connected to different containers or servers... Suddenly I felt 2 wasn't enough. Hell, after using 3 (laptop plus two externals), I often found that wasn't even enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  Just git gud, scrub
&lt;/h2&gt;

&lt;p&gt;HOW!?! I never could figure out how just being better at navigating or using better window managers would solve this problem. I have too many windows, because I need the context. I'm not getting any younger, and my brain space is too full of random crap to keep the work stuff in there too. &lt;/p&gt;

&lt;p&gt;Upgrading to a 1440p monitor made a huge difference for a while, since I could physically fit more onto the monitor, and allowed me to go back to 2 for a while, but I eventually just went back to 3 because of the complexity of the system we worked on.&lt;/p&gt;

&lt;p&gt;Maybe that should be a different discussion... Should a system ever be &lt;em&gt;this&lt;/em&gt; complex? Another time maybe.&lt;/p&gt;

&lt;p&gt;Anyway. When my one monitor fell of desk and stopped working for some strange reason, and my other monitor developed a massive block of dead pixels completely unrelated to knocking it with a vacuum cleaner, I figured it's time to shift gears, and move to a new trend I've been seeing. Huge-ass single monitors.&lt;/p&gt;

&lt;p&gt;Enter the ULTRA-WIIIIIIIIIIIIIIDE monitors.&lt;/p&gt;

&lt;h2&gt;
  
  
  3440 x 1440 ... Chef's Kiss.
&lt;/h2&gt;

&lt;p&gt;Only, holy crap are these expensive. I have some friends and colleagues that swear by their Ultrawides, but when I started looking at my needs, I figured I needed 5120x1440 which got even bigger and more expensive, and I just noped out.&lt;/p&gt;

&lt;p&gt;Until I saw a sale on the 43" Samsung QN90B 4K QLED TV, which got a whopping &lt;a href="https://www.rtings.com/tv/reviews/samsung/qn90b-qled" rel="noopener noreferrer"&gt;9.0 score for use as PC Monitor&lt;/a&gt; over on RTINGS.com.&lt;/p&gt;

&lt;p&gt;At that size and that resolution, that would be like having four 21.3" Full HD monitors in a 2x2 configuration with NO BEZELS AT ALL.&lt;/p&gt;

&lt;p&gt;I was sold. And now after using it for 6 months, I can never go back to anything else.&lt;/p&gt;

&lt;p&gt;Using a decent tool like &lt;a href="https://apps.apple.com/us/app/magnet/id441258766?mt=12" rel="noopener noreferrer"&gt;Magnet&lt;/a&gt;, I now have full control over my setup. 3x1 portrait? Done. 2x2 landscape? Sure. Top full length + bottom left + bottom right? You got it. Center to just focus one thing? Hell yeah.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion and your thoughts
&lt;/h2&gt;

&lt;p&gt;Okay, very long post for something I tagged #discuss. There is a question here, I swear. But first to summarise.&lt;/p&gt;

&lt;p&gt;I am a single monitor developer. When some of my friends saw my office setup, I got literal eye rolls. But I don't care. They don't understand.&lt;/p&gt;

&lt;p&gt;The fact is, I am now sold on large format displays of at least 4K resolution. Together with a window organiser like Magnet, I now have full control over my workflow, from simple to complex projects, and everything in between.&lt;/p&gt;

&lt;p&gt;And I love it.&lt;/p&gt;

&lt;p&gt;So let me know in the comments; what is your setup? How many screens do you use? How many do you need? Not always the same answer, those two 😏 And why do you prefer the setup you have?&lt;/p&gt;

&lt;p&gt;Curious to know. Thanks.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>coding</category>
      <category>random</category>
    </item>
    <item>
      <title>I miss being a code monkey (but guiding the troop has its own charm)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Wed, 02 Aug 2023 15:34:40 +0000</pubDate>
      <link>https://dev.to/wynandpieters/i-miss-being-a-code-monkey-but-guiding-the-troop-has-its-own-charm-226k</link>
      <guid>https://dev.to/wynandpieters/i-miss-being-a-code-monkey-but-guiding-the-troop-has-its-own-charm-226k</guid>
      <description>&lt;p&gt;Clarity for the purpose of this post 😏&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;code monkey, n. a computer programmer who is not involved in any aspect of conceptual or design work, but simply writes code to specifications given&lt;/p&gt;
&lt;/blockquote&gt;




&lt;blockquote&gt;
&lt;p&gt;programmer, n. an organism that can turn caffeine into code.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Once upon a time, (many, &lt;em&gt;many&lt;/em&gt; moons ago) at the very start of my career, I was just a "code monkey"; an individual contributor to the grand scheme of the digital jungle being fed instructions from primates higher on the food chain and was expected to simply do what I'm told. &lt;/p&gt;

&lt;p&gt;All that mattered was that if I was given a spec, I churned out something that did what was expected of it. As long as I wrote working code I was happy, my team was happy, and the company prospered. Hopefully.&lt;/p&gt;

&lt;p&gt;But then eventually, something happened, and everything changed; the promotion came - I was to be &lt;/p&gt;

&lt;p&gt;[pause for effect]&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;em&gt;A Team Lead&lt;/em&gt;&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%2Fieuh5wi7pw5nawjkjg64.gif" 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%2Fieuh5wi7pw5nawjkjg64.gif" alt="The Croods Sloth GIF By The Croods: A New Age - Dun Dun Duuuun" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The transition from coder to leader has its unique set of challenges. A transition that I, like many others, navigated with equal parts trepidation and excitement (read: I was absolutely terrified and convinced I would fail horribly 😬). &lt;/p&gt;

&lt;p&gt;Suddenly, my performance hinged on the collective output of the team. My daily routine switched from churning out elegant lines of code to dealing with documentation, processes, mentoring, and doing the PR reviews. A fundamental shift occurred; a change in perspective from "me" to "we." &lt;/p&gt;

&lt;p&gt;Not "my code", but "our deliverables".&lt;/p&gt;

&lt;h2&gt;
  
  
  Some Days I Just Want to Code
&lt;/h2&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%2F1pwr9cvzyvo2njth2297.gif" 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%2F1pwr9cvzyvo2njth2297.gif" alt="Hacking Johnny Lee Miller GIF By MGM Studios" width="480" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I became developer because of how much I enjoyed the challenge of solving a problem by telling a computer what to do, and because the range of challenges and problems are so vast. My focus and joy came from doing the work, finding a solution, and levelling up my skills.&lt;/p&gt;

&lt;p&gt;As a lead/manager, that focus became delegating the fun stuff so others can do the work, looking at the big picture, facilitating the conversation for others to find solutions, and ensuring that they all level up.&lt;/p&gt;

&lt;p&gt;And I learned that I love doing those things. I've been told I'm good at doing those things, although I still have my doubts. Haven't been fired yet 😅&lt;/p&gt;

&lt;p&gt;But it took me years to shift my mindset, because I felt "unproductive" when it wasn't me doing the work. &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%2Feexvjljpzo52wix61wxo.jpeg" 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%2Feexvjljpzo52wix61wxo.jpeg" alt="Gru's Plan Meme - Never Code Again" width="700" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And even now, many long years after flipping the switch, I still miss it. Some days I just want to be given instructions and then execute on them.&lt;/p&gt;

&lt;p&gt;So with this longing in mind, one of the most potent challenges I faced was the dilemma - How do I maintain technical competency and excellence while ensuring my team's performance? How can I still have those code monkey experiences while doing what needs to be done in my new role?&lt;/p&gt;

&lt;h2&gt;
  
  
  Leverage the Tools at Your Disposal
&lt;/h2&gt;

&lt;p&gt;To stay technically competent, I started working side projects; they became my go-to for keeping my coding skills sharp. In a few instances, I tried working on Open Source projects, specifically trying to give back to projects we use at the companies I worked. The results were mixed. YMMV.&lt;/p&gt;

&lt;p&gt;I found that Podcasts, tech talks, and conferences became a regular part of my routine, adding new perspectives and insights into my tech repertoire. I've discussed these in an &lt;a href="https://dev.to/wynandpieters/biggest-impacts-on-my-career-9el"&gt;older blog post&lt;/a&gt; as well, and I think there is a lot of value in staying technically strong even if this isn't your day to day anymore.&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%2Fx9f0zwye7dj8xr4v1zay.jpeg" 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%2Fx9f0zwye7dj8xr4v1zay.jpeg" alt="Juggling Meme Managing while Coding" width="749" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It can be hard to juggle all the various responsibilities while trying to hold on to the past, and while I wouldn't say you should let go of the good ol' coding days, at least loosen your grip a little.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lead with a Wider Perspective
&lt;/h2&gt;

&lt;p&gt;In the early stages of my career, my view was often narrowed to a single feature or bug. As a team lead, my gaze had to expand, encompassing not just the details, but also the broader picture. This wider perspective allowed me to learn more from others, gaining a more in-depth understanding of our projects and objectives. &lt;/p&gt;

&lt;p&gt;This meant that skills like solution design, high level architecture and communication is a lot more important. It can be easy to neglect these as a code monkey, while just focusing on writing code, but a lot of times these are really valuable skills as you progress in you career, and even just through life.&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%2Fo1lyg6myhz8behf5v2e5.jpeg" 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%2Fo1lyg6myhz8behf5v2e5.jpeg" alt="Weak vs Strong Spongebob Meme - Single feature vs entire solution" width="748" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What was interesting here is that I found that by learning these new skills, I gained insights and ideas that I could apply to any new project I tackle. So even when working on coding tasks and projects, the broadened horizons and more holistic view improved how I approach even small features. Who would've guessed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prioritize Time Management
&lt;/h2&gt;

&lt;p&gt;Time management became a crucial skill as I juggled between coding, leading, and managing. Along with realising that what I consider "productive" time changes from me sitting for hours bashing out code, to ensuring my team can do it uninterrupted for as long as possible. Context switching is costly, you know.&lt;/p&gt;

&lt;p&gt;I implemented regular 1-on-1 meetings with my team to check in with them on a human level, and introduced a "mid-week technical sync" - a dedicated hour per developer to address specific technical challenges. &lt;/p&gt;

&lt;p&gt;Easily around 50% of my role involves removing blockers from the team's path and ensuring they have the resources they need. Probably another 30% is dedicated to managing their time, which includes deciding which meetings are crucial for me and them and facilitating the right discussions and design sessions. The remaining twenty percent? Well, that's for general admin, HR management tasks and sneaking in some coding whenever I can.&lt;/p&gt;

&lt;p&gt;You see, there's this dirty little secret; if you want to code as a lead, there are plenty of opportunities in the form of technical debt. We all have it, we are constantly creating more of it, and no-one will ever prioritize it. So why can't you do it?&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%2F5kwuylrrury1lv0bh7g8.jpeg" 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%2F5kwuylrrury1lv0bh7g8.jpeg" alt="Look at all these Meme - Technical Debt" width="619" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Embrace Your Role
&lt;/h2&gt;

&lt;p&gt;The role of a team lead is different, often vastly so. And that's perfectly alright. It's essential to realize that being a strong individual contributor doesn't necessitate being pushed into management. Similarly, if you're a strong leader, don't let your love for coding hinder your potential. &lt;/p&gt;

&lt;p&gt;Find a place that nurtures your strengths, where you can lean into what you're best at. Collaborate with a team that complements your weaknesses, whether you're a lead or an individual contributor. &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%2Fvmdp2xfmd6mruuk9jgr2.jpeg" 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%2Fvmdp2xfmd6mruuk9jgr2.jpeg" alt="You're Awesome Bill Murray Meme Team Work" width="319" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ultimately, keep nurturing your skills, keep learning, keep growing. &lt;/p&gt;

&lt;p&gt;I've found over the years that focusing on what you are good at, and helping others excel, is a pretty good way to go about life.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Every leader's journey is unique, each with its own set of challenges and rewards. My story is but one in a myriad of tales in the vast world of tech leadership. The strategies I've shared have served me well, but I'm continually learning and adapting. &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%2Fvijyr0cwprmkl367zpa9.jpeg" 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%2Fvijyr0cwprmkl367zpa9.jpeg" alt="any question but that meme - coding as a manager" width="500" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As we reach the end of this (pretty long) blog post, I'd like to turn the spotlight towards you. I invite you to share your stories and experiences. How did you navigate the transition from individual contributor to leader? What strategies do you employ to maintain your technical skills while leading a team? &lt;/p&gt;

&lt;p&gt;There's no 'one size fits all' in leadership. Each of us brings something unique to the table, and by sharing our experiences, we can all learn from each other and grow together. &lt;/p&gt;

&lt;p&gt;I look forward to hearing your stories, your victories, and your challenges.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>leadership</category>
      <category>management</category>
      <category>career</category>
    </item>
    <item>
      <title>ChatGPT has made me more productive (but at what cost?)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Fri, 14 Jul 2023 09:55:35 +0000</pubDate>
      <link>https://dev.to/wynandpieters/my-love-hate-relationship-with-chatgpt-the-unexpected-cost-of-productivity-76m</link>
      <guid>https://dev.to/wynandpieters/my-love-hate-relationship-with-chatgpt-the-unexpected-cost-of-productivity-76m</guid>
      <description>&lt;p&gt;Right, so it's been a minute since I last posted something.&lt;/p&gt;

&lt;p&gt;Like many other companies this last year, we weren't spared layoffs. While I still have my job, my team has been greatly reduced, both from people leaving when they saw the signs and from people being let go. So while fighting survivors guilt and an increased workload, posting hasn't been my first priority.&lt;/p&gt;

&lt;p&gt;But while doing my day to day and trying to keep my head down and deliver as much as possible as quickly as possible, I noticed something. And I'm not sure how I feel about it, other than we need to talk about it.&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%2F68q2im6xx57y4wm9bjry.gif" 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%2F68q2im6xx57y4wm9bjry.gif" alt="We Have To Talk About It GIF from Boy Meets World" width="512" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I felt this post needed to happen. So here it is:&lt;/p&gt;

&lt;h1&gt;
  
  
  ChatGPT has made me lazy.
&lt;/h1&gt;

&lt;p&gt;😳&lt;/p&gt;

&lt;p&gt;Yeah.&lt;/p&gt;

&lt;h2&gt;
  
  
  Okay, but... you said AI tools are awesome?
&lt;/h2&gt;

&lt;p&gt;Yes, I have been saying that, and I still think the improvements to GPT and other LLMs and the new features with Copilot are fantastic tools and will make many jobs more productive.&lt;/p&gt;

&lt;p&gt;But in much the same way I imagine people using horses felt when they first started getting cars, or people who walked everywhere when they got bicycles, or carpenters with their first power tools, this increase in productivity comes at a cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  Surely you're overacting?
&lt;/h2&gt;

&lt;p&gt;Maybe. Maybe not. And don't call me Shirley.&lt;/p&gt;

&lt;p&gt;I think we need to start with a story. Something I caught myself doing earlier this week.&lt;/p&gt;

&lt;p&gt;For local testing we have this little stub service which acts as the client/partner endpoint. Up until now all our data has always been JSON, but for a new partner we are sharing binary data as well, so I wanted to update the stub to handle both. All this needs is a simple if statement to look at the request headers.&lt;/p&gt;

&lt;p&gt;I've been doing Go for about 6 years and have built many, many microservices with REST APIs. I should be able to code this logic in my sleep, since I know the APIs of the &lt;code&gt;"net/http"&lt;/code&gt; package. But what was the first thing I did?&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%2F9z741918k7wrwz5f0s2i.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%2F9z741918k7wrwz5f0s2i.png" alt="Screenshot of me asking ChatGPT for boilerplate code I could easily write myself" width="800" height="657"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So you asked ChatGPT to write some boilerplate, big deal
&lt;/h2&gt;

&lt;p&gt;I know, I know, it probably doesn't seem like a big deal... yet. But here's the thing; that's not where it ended. A large part of the rest of my code was just me starting to type, looking at the Copilot suggestion in my IDE, and then pressing Tab.&lt;/p&gt;

&lt;p&gt;Then writing a line of custom code unique to my service, before just autocompleting boilerplate from Copilot again.&lt;/p&gt;

&lt;p&gt;And yeah, this is awesome. It reduces coding time, hopefully reduces mistakes, it make my life so much easier, right? &lt;em&gt;Right!?!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Except when it doesn't.&lt;/p&gt;

&lt;p&gt;Something wasn't working, and usually this is where I add some debug logging, and if that doesn't work, I pull out the debugger and start stepping through code, investigating every single line and memory allocation like a detective trying to solve the perfect murder.&lt;/p&gt;

&lt;p&gt;Only I didn't. Instead, I did this.&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%2Frzm09perfz035zw5c8z2.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%2Frzm09perfz035zw5c8z2.png" alt="screenshot of me asking chatgpt to solve my very basic problem" width="800" height="785"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As expected, it told me the obvious things; add logging on the request and receive side and print out the headers and status codes and body. Which I obviously did even before it told me to, because I'm not some n00b and this isn't my first rodeo.&lt;/p&gt;

&lt;p&gt;So I told it I already confirmed the problem is on the receive side. And it gave me some good ideas back, and to be fair to the tool, it did help me solve the problem... One of the suggestions was&lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Is the request being read correctly? - Ensure that the request body is being read correctly. For instance, it could be that the body is being read somewhere else before your &lt;code&gt;io.ReadAll(req.Body)&lt;/code&gt; line and it's not being reset.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;Which was the issue. When doing some copy-pasta refactoring to add the &lt;code&gt;if-else&lt;/code&gt;, I moved the reading of the body to outside the &lt;code&gt;if&lt;/code&gt; statement since I only need to do that once, but then I didn't delete it from the &lt;code&gt;else&lt;/code&gt; part, which caused some variable shadowing I didn't notice, and because an &lt;code&gt;io.ReadCloser&lt;/code&gt; such as &lt;code&gt;req.Body&lt;/code&gt; is a stream and not a buffer, the data I already read is gone from the stream. It worked fine for the &lt;code&gt;if&lt;/code&gt; because it didn't try and read twice.&lt;/p&gt;

&lt;p&gt;And I kinda feel like I should have just picked this up by reading my code properly, instead of jumping onto ChatGPT.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ouch. Tough break.
&lt;/h2&gt;

&lt;p&gt;Indeed. And this has made me think a lot about these tools and the impact they've had on me. While I do feel more productive, and there are certain tasks these tools make much easier than before, I wonder at what cost it comes.&lt;/p&gt;

&lt;p&gt;It's all too easy to draw parallels between our increasing reliance on AI tools and the introduction of power tools to carpenters or automobiles to those used to horses. The idea of 'progress' often lures us into believing that newer, faster, and more efficient is invariably better. But like power tools, which introduced an increased risk of injury, or automobiles which brought along pollution, AI coding assistants also have their drawbacks.&lt;/p&gt;

&lt;p&gt;While power tools enable us to build bigger, faster, and more intricate things than we could with our bare hands, they also run the risk of creating a generation of workers who wouldn't know how to hammer a nail if the power was out. In the same way, tools like ChatGPT and Copilot can help us become more productive coders but also threaten to leave us helpless if we forget how to do even the most simple of tasks.&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%2Fob7m418nnlo8rgszjh7c.jpeg" 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%2Fob7m418nnlo8rgszjh7c.jpeg" alt="Patrick Build Meme - Developers when AI tools are down" width="645" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Of course, I'm not arguing against progress. Without the willingness to adopt new tools and adapt to changing circumstances, we'd still be etching symbols onto cave walls. But as we embrace these AI tools that promise to make our coding lives easier, we must remain vigilant about the risks of over-reliance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We must be careful not to trade our skill and expertise for convenience.&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%2Fhtjudi4wvae7tydsws6j.jpeg" 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%2Fhtjudi4wvae7tydsws6j.jpeg" alt="Lisa Simpson's Presentation Meme - AI is making us complacent, not obsolete" width="640" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I'm sure I'm not the only one who's become a little complacent, a bit lazy, in the face of these new tools. But recognizing the problem is the first step towards solving it. &lt;/p&gt;

&lt;p&gt;So yeah, the next time you're reaching for that shiny AI tool to solve your coding problem, pause for a moment. Is this a shortcut you genuinely need, or is it a crutch you're leaning on? Are you using the tool, or is the tool using you?&lt;/p&gt;

&lt;p&gt;Remember, the best tool any coder has is their brain. And unlike AI tools, it's 100% unique to you and perfectly tailored to solve your coding problems. So before you let AI take the wheel, make sure you're still in the driver's seat.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>coding</category>
      <category>productivity</category>
      <category>ethics</category>
    </item>
    <item>
      <title>The Quest for the Holy Coding Grail (are LLMs the first step in replacing programming languages?)</title>
      <dc:creator>Wynand Pieters</dc:creator>
      <pubDate>Fri, 02 Jun 2023 13:44:17 +0000</pubDate>
      <link>https://dev.to/wynandpieters/the-quest-for-the-holy-coding-grail-3ail</link>
      <guid>https://dev.to/wynandpieters/the-quest-for-the-holy-coding-grail-3ail</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;So very many years back when I was but a fledgling coder, armed with BASIC skills and deep into a Turbo Pascal with Objects book, I remember a conversation with my dad. Frustrated by the level of specificity needed to communicate with a machine, I asked, "Why has no-one made a programming language where I can just tell it 'build this game for me'?"&lt;/p&gt;

&lt;p&gt;My dad, in his infinite wisdom, mused that cracking that puzzle – creating a natural language programming language – was a feat yet to be achieved. "Whoever manages to do that," he predicted, "will make a fortune."&lt;/p&gt;

&lt;p&gt;Being a dumb kid with no clue how the world works, I made a vow then and there; I would be that person. I would be the one to breathe life into my dad's prophecy.&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%2Fye76arpp0cxowvdr2dd0.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%2Fye76arpp0cxowvdr2dd0.jpg" alt="" width="614" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Erm... yeah... I did not. Not even remotely.&lt;/p&gt;

&lt;p&gt;However, somebody else did (kinda), and they've been inching closer and closer to my childhood dream. Judging by their progress, they're well on their way to embodying my dad's prediction &lt;a href="https://news.crunchbase.com/ai-robotics/venture-funding-startups-openai/" rel="noopener noreferrer"&gt;and amassing that fortune!&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Generative AI and The Quest for the Holy Coding Grail
&lt;/h2&gt;

&lt;p&gt;I vaguely recall having a conversation with a colleague while hunting for a bug where they admonished the computer for being wrong. Truth is though, the computer is always right, it's doing exactly what we told it to do, we just didn't say it right.&lt;/p&gt;

&lt;p&gt;As developers, we dream of a world where we can write code using plain, everyday language, as simple as ordering a double-shot, no foam, soy latte.&lt;/p&gt;

&lt;p&gt;In our quest for the Holy Grail of programming – a natural language programming language – we find two promising knights at the round table: ChatGPT and Bard. &lt;/p&gt;

&lt;p&gt;And yes, I know neither of those is really a "programming language", and yes, you would still need to tell GPT "write this in Python/Go/Scala/Elixir" or whatever, but still, it takes "human words" and gives you "computer words" back. Right?&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%2F6iv2txbkyodyzyrk5us9.gif" 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%2F6iv2txbkyodyzyrk5us9.gif" alt="Just Go With It Bonnie GIF from Tenor" width="498" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, as I've discovered in my recent trials and tribulations through various mis-adventures, we're still in for a few Monty Python-esque escapades before we reach our goal.&lt;/p&gt;

&lt;h2&gt;
  
  
  GPT-4: The Good, the Bad, and the Ugly
&lt;/h2&gt;

&lt;p&gt;Since its inception, GPT-4 has been the Usain Bolt of the NLP world, outpacing its predecessor in most ways, especially with logical reasoning, but it still sucks at math, &lt;a href="https://betterprogramming.pub/a-programmers-regret-neglecting-math-at-university-9d937655752b" rel="noopener noreferrer"&gt;which is still useful for developers&lt;/a&gt;. In some ways, GPT-4 is like that high school friend who always made quick witty remarks, but needed a calculator to split the bill.&lt;/p&gt;

&lt;p&gt;One of my experiments I tried to create a Chrome extension which filters tweets on Twitter based on perceived intent, as interpreted by the GPT-3 REST API. The mission was simple: I’d give it a prompt, it'd churn out the code. However, GPT-4's performance varied wildly based on the prompt’s complexity. It would get confused between prompts, forgetting changes it made earlier, reintroducing bugs, and was limited by its lack of internet access.&lt;/p&gt;

&lt;p&gt;In another experiment, I found myself in the virtual corridors of Exercism.io, working on coding challenges with GPT-4 as my trusted sidekick (redoing ones I'd already passed, I swear). When I gave GPT-4 the full problem and the unit tests right from the start, it performed remarkably well. However, when I tried to spoon-feed it each step separately and have it refactor to work with the unit tests at the end, things got messy. &lt;/p&gt;

&lt;p&gt;With this I learned that using correct "super prompts" is often the way we need to go, but this still just works great for small apps or code snippets, rather than giant, complex systems.&lt;/p&gt;

&lt;p&gt;So while GPT-4 has made strides, it still has its shortcomings, and isn't quite what I had in mind when dreaming of a perfect and easy to use natural language programming language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generative AI Limitations
&lt;/h2&gt;

&lt;p&gt;In our journey into the realm of AI-powered programming, GPT-4 is a brave knight, albeit one with a chink in the armor. When it comes to understanding complex domains or sophisticated nuance, our knight often gets lost in the dark forest.&lt;/p&gt;

&lt;p&gt;Consider this: you're trying to explain to your grandmother how to program a TiVo. If Grandma is GPT-4, she might get the basics. But if you start talking about skipping commercials automatically or integrating it with her Netflix account, suddenly she's looking at you like you've grown two heads.&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%2Fxkycfhsnysh468m2igxf.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%2Fxkycfhsnysh468m2igxf.jpg" alt="Grandma Finds The Internet Meme with taglines on Netflix DVDs coming in the mail" width="640" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Similarly, while GPT-4 can master simple prompts, it often gets tangled in the underbrush when asked to understand or generate nuanced or domain-specific content, as I found in my previous experiments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bard: The Troubadour That Could...Almost
&lt;/h2&gt;

&lt;p&gt;Enter Bard, another knight in our quest for natural language programming, and the newest addition to the 'Prompt-Engineering Singing Troupe'. It's a troubadour that can strum a decent tune, but still needs to learn a few more chords before it hits the big time.&lt;/p&gt;

&lt;p&gt;My experience? It's like having a new puppy: endearing, charming, but not quite house-trained. Its nuances might make you giggle, but they're not quite ready to be the punchline of the coding world yet. I often find that giving the same prompts to Bard that I gave ChatGPT simply results in a giant &lt;em&gt;NOPE&lt;/em&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%2Fe4chc3mp3nj3itjk3l7s.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%2Fe4chc3mp3nj3itjk3l7s.png" alt="Screenshot of Bard saying it is unable to help" width="800" height="129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Lies Beyond the Forest: The Ethical Wilderness
&lt;/h2&gt;

&lt;p&gt;What's more, as we step into the ethical wilderness of AI and natural language programming, we're not treading entirely new ground. Even before the dawn of AI, we've been grappling with similar issues – the 'copy-paste mentality' of many new developers and the over-reliance on platforms like Stack Overflow, to name a few.&lt;/p&gt;

&lt;p&gt;Consider this: how often have you seen (or been guilty of) copying code directly from Stack Overflow without fully understanding what it does or whether it could have unintended side effects? The practice is so commonplace that there are memes galore about it! And &lt;a href="https://stackoverflow.blog/2021/09/28/become-a-better-coder-with-this-one-weird-click/" rel="noopener noreferrer"&gt;products you can buy&lt;/a&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%2Ft8dh1q7qz1ki33cz8rts.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%2Ft8dh1q7qz1ki33cz8rts.jpg" alt="copy paste meme about stealing beautiful code" width="800" height="824"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of my favourite go-to examples of this is around &lt;a href="https://twitter.com/Foone/status/1229641258370355200" rel="noopener noreferrer"&gt;Razer Synapse and Docker for Windows&lt;/a&gt; which couldn't run at the same time because of a flawed StackOverflow post on how to get the GUID of the running assembly. Whoops.&lt;/p&gt;

&lt;p&gt;In the brave new world of AI, these challenges don't just persist – they are amplified. Conversing with AI models like ChatGPT or Codex could lead us to unintentionally feed them snippets of proprietary code or data. If these conversations can be reviewed by others or used for future training, we run the risk of inadvertently leaking our valuable IP and trade secrets.&lt;/p&gt;

&lt;p&gt;Similarly, AI systems like Copilot have raised debates about unintentionally using copyrighted examples. When the AI generates code, it might pull from pieces of code learned from publicly available sources, which could include copyrighted material. Imagine finding out that the song you've been humming all day is actually a copyrighted melody! (Spoiler alert: it's music, it probably is).&lt;/p&gt;

&lt;p&gt;As we continue our journey in AI-assisted programming, we must not forget the lessons of our past. We need to tread carefully, ensuring that our innovative tools don't become a liability, risking our IP, violating copyrights, or perpetuating the 'copy-paste' mentality that misses the heart of understanding and problem-solving in programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  Onwards!
&lt;/h2&gt;

&lt;p&gt;In the end, our quest for natural language programming, with all its challenges and pitfalls, is teeming with humour, excitement, and learning opportunities. &lt;/p&gt;

&lt;p&gt;And as we venture into more complex territories - incorporating complex business logic, integrating with external systems, generating the Terraform code for a cost-effective and scalable system - we find that our AI comrades still have a long way to go. The nuances and subjectivity of these tasks still require a human touch.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;I haven't really touched on AutoGPT, mainly because I have very limited experience playing with it myself. Having seen some of the demos out there, it appears to be the missing link that might get us to the have AI fully build our systems. It might just be the answer we are looking for.&lt;/p&gt;

&lt;p&gt;And just think, the era of simply telling our computers what problems to solve might not be that far off, and we could just be months away from replacing all the people still saying&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Remember punching cards?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;with the people now saying&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Remember having to type code?"&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>nlp</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
