The Coding Sloth thumbnail

📝 The Coding Sloth Blog

10 Programming Mistakes That Could Ruin Your Coding Journey (And How to Avoid Them)

Programming is an exciting and rewarding skill, but it’s also easy to stumble along the way. From skipping basics to chasing every new shiny technology, many common mistakes can slow your progress or even derail your coding journey. Drawing from real experiences and hard-earned lessons, here are 10 programming mistakes to watch out for — and practical advice on how to avoid them.


1. Skipping the Fundamentals

The temptation to jump straight into building cool projects, automations, or games is strong, but skipping foundational concepts like variables, loops, and functions is a recipe for disaster. Without a solid grasp of the basics, you’ll find yourself blindly copying code from AI or tutorials without understanding it. When something breaks — and it will — you’ll be lost and frustrated.

Why it matters: Skipping fundamentals hurts your learning and can damage your career, especially during technical interviews where understanding simple concepts is crucial.

Advice: Embrace the basics, even if they seem boring. Master them first, and you’ll build and debug projects much faster and more confidently.


2. Writing Clever Code Over Readable Code

You might be tempted to write ultra-compact, one-line code snippets that show off your skills, especially inspired by “code gods” on forums. But overly clever code is often unreadable and confusing, especially in interviews or collaborative projects.

Why it matters: If your code requires a long explanation, it’s probably too clever. Clear, readable code is usually more valuable than cryptic, compact expressions — unless there’s a huge performance benefit.

Advice: Prioritize readability. Write code that others (and future you) can understand quickly.


3. Being Afraid to Break Things

Treating your codebase like a ticking bomb can stunt your learning. Experimenting, breaking features, and refactoring is how you truly understand programming.

Why it matters: Fear of making mistakes slows progress. Real learning happens when you explore and tinker.

Advice: Learn version control tools like Git so you can safely experiment and roll back changes. Don’t be afraid to break things — just make sure you have backups!


4. Overengineering Your Projects

It’s easy to get caught up trying to build complex systems with microservices, multiple databases, message queues, and more — especially after reading about big tech companies. But these architectures evolved over years and require teams.

Why it matters: Overengineering wastes time and complicates small projects unnecessarily.

Advice: Build simple, functional versions first. Save complex system designs for when you really need them, like in job interviews or large-scale projects.


5. Forgetting That Users Are Not Developers

As programmers, we often assume others understand technology the way we do. Reality check: most users don’t. What seems intuitive to you might confuse them.

Why it matters: User-unfriendly interfaces lead to frustration and failure of your projects.

Advice: Design with real users in mind. Test your software with people unfamiliar with tech to find usability gaps.


6. Starting Too Big

Dreaming about a massive, feature-packed app is common, but diving in too big usually leads to burnout and abandoned projects.

Why it matters: Large projects are overwhelming and hard to finish.

Advice: Start small. Build one feature solidly before moving on. Focus on a Minimum Viable Product (MVP): a simple app that does one thing well. Avoid feature creep.


7. No Comments or Documentation

Many programmers fool themselves into thinking they’ll remember what their code does or that the code itself is documentation.

Why it matters: Without proper documentation, your future self and others will struggle to understand your work.

Advice: Write README files and add comments explaining why you did something (not just what). Good documentation saves time and headaches.


8. Reinventing the Wheel

It’s tempting to build your own solutions for everything, but chances are someone already built a better, well-tested tool or library.

Why it matters: Building from scratch wastes time and effort.

Advice: Use existing libraries and frameworks whenever possible, unless you want to learn how something works or have a unique requirement.


9. Comparing Yourself to Other Programmers

Scrolling through social media can make it seem like everyone else is building startups and making money while you struggle with basics.

Why it matters: Comparison steals joy and motivation.

Advice: Remember, you’re only seeing highlight reels. Focus on your own progress over time. Are you improving compared to three months ago? That’s what counts.


10. Shiny Object Syndrome

Jumping from one new technology or project to another without finishing anything is a common trap.

Why it matters: This cycle leads to many half-finished projects and little real progress.

Advice: Pick one technology or project and commit to it. Finish what you start before moving on.


Bonus Tip: Upgrade Your Email Experience with Notion Mail

Managing communication is part of every programmer’s life. If your inbox is a mess, tools like Notion Mail can help by automatically organizing your emails, suggesting responses with AI, and integrating with your existing Gmail account — all for free.


Final Thoughts

If you find yourself making any of these mistakes, don’t worry — you’re not alone. Every programmer, including the best ones, has been there. The key is to recognize these pitfalls early and develop habits that set you up for success.

Remember: fundamentals first, clarity over cleverness, experiment fearlessly, keep projects manageable, document well, leverage existing tools, focus on your own growth, and commit to finishing what you start.

Happy coding!


If you want more bite-sized programming tips and tricks delivered weekly, consider subscribing to the Sloth Bites newsletter — it’s free and designed to make you a better programmer one step at a time.

Understanding AI Agents: The Future of Autonomous AI Systems

Artificial Intelligence (AI) has been making waves across various industries, and one of the most exciting advancements in this field is the rise of AI agents. If you've ever dreamed of having your own Jarvis like in Iron Man, AI agents are the closest reality we have today—well, maybe more like a Teimu Jarvis, a clever Bluetooth device with a mind of its own. In this post, we'll break down what AI agents are, how they work, their types, and how you can start building your own.


What Are AI Agents?

At their core, AI agents are AI systems that can reason, plan, and act continuously in a loop until they complete a specific goal. Unlike traditional AI models that respond with a single output based on input, AI agents can independently make decisions, adjust their actions based on new information, and use tools to achieve complex tasks.

What AI Agents Are Not

  • They are not secret agents or spies.
  • We’re focusing on LLM (Large Language Model) agents, not reinforcement learning agents which involve more complex math and training processes.
  • They are more than just chatbots; they actively use tools and memory to function autonomously.

From Simple AI to Autonomous Agents

Let’s look at the progression:

  • Non-agentic AI: Traditional LLM behavior. You ask a question, and it responds based on training data. No planning or tool usage.

  • AI Workflow: The AI can use tools but follows a fixed set of instructions. It can’t decide what to do next on its own.

  • AI Agent: The AI plans dynamically, adapts to new information, and loops through actions until the goal is achieved. For example, an AI agent can check the weather, notice you’re on vacation, recommend a jacket, and even suggest a cheaper option if you're short on cash—all without being explicitly told to do each step.


Key Components of an AI Agent

An AI agent typically consists of four main parts:

  1. The Model: The brain behind the agent. Depending on the task complexity, you can choose smaller, faster models or larger, more powerful ones.

  2. The Tools: These empower the agent to perform tasks beyond just generating text. Tools can include APIs for web search, database access, image generation (e.g., using ReCraft), sending emails, and more.

  3. The Memory: AI agents use both short-term memory (like conversation history) and long-term memory (important facts saved for future use) to stay context-aware and improve over time.

  4. The Instructions: Also known as prompt engineering, these are the guidelines that define the agent’s role, goals, success criteria, available tools, and response style.


Types of AI Agents

AI agents can be designed in various architectures depending on the use case:

  1. Single Agent: One agent handles the entire task. Simple and effective for many projects.

  2. Multi-Agent Crews: A team of specialized agents (e.g., researcher, planner, builder) working collaboratively.

  3. Sequential Workflow: Tasks are handed off step-by-step among agents, like a relay race. Good for fixed processes but not very flexible.

  4. Hierarchical Systems: A manager agent assigns tasks to worker agents, overseeing the big picture while workers handle details.

  5. Parallel Agents: Multiple agents work simultaneously on different tasks, making the process faster and often cheaper.

  6. Hybrid Systems: A complex mix of sequential, hierarchical, and parallel systems to leverage the strengths of each architecture.


How to Build Your Own AI Agent

Thanks to the proliferation of tools and SDKs, building AI agents is more accessible than ever:

  • No-code platforms: Tools like Flowwise, Make, and Nan allow you to create agents without heavy programming.

  • Developer SDKs and Libraries: For programmers who love to code, options include Langchain, Autogen, Crew AI, Google’s Agent SDK, OpenAI’s Agent SDK, and Cloudflare’s Agent SDK.

Building an AI agent is like stacking Lego blocks—select your model, equip it with tools, set instructions, and let it operate autonomously. You can start simple and scale up to complex autonomous systems as you gain experience.


Why Use AI Agents?

AI agents can automate complex workflows, enhance creativity (such as generating images with tools like ReCraft), improve productivity, and open new possibilities for innovation. They represent a major leap toward truly autonomous AI systems that require minimal human intervention.


Final Thoughts

AI agents are still in their early days, but their potential is enormous. Whether you're a programmer eager to build sophisticated systems or someone curious about AI’s future, understanding AI agents is essential.

If you want to dive deeper, explore technical details, or get hands-on code examples, consider subscribing to resources like the Sloth Bites newsletter, which offers free notes and programming advice.


Bonus: Try ReCraft for Creative Visuals

As a side note, if you want to explore creative tools alongside AI agents, check out ReCraft. It offers powerful image generation and editing capabilities with an extensive style library and API access—perfect for programmers and creators alike. Use promo code sloth11 for $1 off any paid plan!


Your Next Step

Ready to start building? Experiment with AI agent SDKs, explore different architectures, and let your AI agent think and act autonomously. The future of AI is agentic—don’t get left behind!


Have questions or want a tutorial on programming AI agents? Drop a comment below or subscribe to stay updated!

How to Use AI to Become a Smarter, Faster Programmer: A Practical Guide

AI is no longer a futuristic concept—it's here, and it's already transforming programming. Whether you love it or fear it, AI tools are reshaping how developers write code, debug, and build software. But are AI coding assistants a threat to your skills? Are they making programmers lazy? Or are they, in fact, powerful allies that can boost productivity and learning?

In this post, we'll explore how to use AI thoughtfully in programming, balancing learning with efficiency, and share practical strategies to collaborate with AI tools effectively—based on insights from a developer's experience using Windsurf, a cutting-edge AI code editor.


The Reality of AI in Programming

AI is rapidly becoming embedded in development workflows. Companies are adopting it to speed up coding, and developers who ignore AI risk falling behind. However, AI coding tools are often misunderstood. Some fear they might replace programmers or harm their skills. The truth is more nuanced.

AI is not a magic bullet that will solve all coding problems or replace the need to understand programming fundamentals—at least, not yet. Instead, the smartest developers treat AI like a helpful but imperfect assistant: an unpaid intern who can boost productivity but still requires oversight and management.

The key is to use AI selectively and strategically, not to hand over your entire coding brain to it.


The Three Levels of AI Support for Developers

To avoid overreliance on AI and keep your problem-solving skills sharp, think of AI assistance as a tiered system with three levels, depending on your familiarity with the task at hand.

Level 1: AI as a Tutor

When you're learning a new language, framework, or debugging unfamiliar code, use AI as a tutor—not a code generator. Here’s how:

  • Turn off autocomplete. This forces you to type and think through the code yourself rather than having AI finish it for you.
  • Use chat mode. Ask AI to explain concepts, leave comments, reference documentation, or provide examples—but avoid having it write complete code for you.
  • Leverage built-in chat features in IDEs like Windsurf. These integrate AI directly into your coding environment, making it easier to ask questions without switching apps. Plus, Windsurf can analyze your project files and documentation, offering more accurate help.
  • Use specialized prompts to avoid getting spoon-fed answers. For example, set up a prompt file that instructs the AI to act as a guiding tutor who asks questions to deepen your understanding rather than just giving answers.

This approach saves you time on research without sacrificing learning. You're still actively coding and problem-solving, with AI providing hints and explanations.


Level 2: AI as an Assistant

Once you're comfortable with a project or technology, AI can shift to assistant mode:

  • Turn autocomplete back on. Use it to generate boilerplate code, rename variables, create tests, fix typos, and leave comments.
  • Use chat mode for code reviews and improvements. Ask AI how to optimize or organize your code without letting it write large chunks for you.
  • Avoid over-reliance. If autocomplete starts generating code you don’t understand, step back to Level 1 to reinforce your learning.

Autocomplete is one of the most productivity-boosting features AI offers. It helps you stay in flow, speeding up repetitive tasks and letting you focus on complex logic. Best of all, in tools like Windsurf, this feature is free.


Level 3: AI as an Agent

For more complex or tedious tasks, or when you're stuck or tired, you can use AI as an agent—let it take more control:

  • Delegate bigger chunks of work. Provide design notes or screenshots and let AI generate code or entire features.
  • Manage and review AI output. You’re a manager here—review, tweak, and test AI-generated code carefully.
  • Use advanced features like memories or custom rules (available in some AI tools) to improve AI performance over time.

This level is like having a junior developer that can handle grunt work while you focus on high-level design and problem-solving. But remember, AI can be overconfident and make mistakes, so your oversight remains crucial.


Key Takeaways for Using AI in Programming

  • Don't see AI as a replacement but as a tool to augment your skills. It can speed up your work by even 5% without diminishing your abilities.
  • Balance AI assistance with active learning. Use tutor mode when learning, assistant mode for productivity, and agent mode for delegation.
  • Use AI tools with flexibility. Turn features on or off based on your needs.
  • Stay in control. Always review AI-generated code and understand what you’re building.
  • Try thoughtful tools like Windsurf. This code editor offers integrated chat, autocomplete, and an AI agent called Cascade—all designed to enhance your workflow without overwhelming you.

Final Thoughts

AI in programming is here to stay. The best developers don’t fear AI—they adapt, learn how to collaborate with it, and use it to their advantage. By approaching AI with a balanced mindset and using it in tiered ways, you can become a smarter, faster programmer without losing your problem-solving edge.

If you want to stay updated on practical programming tips and AI tools, consider subscribing to newsletters like Sloth Bites, which provide succinct, actionable tech insights.

Ready to see how AI can help you code better? Give Windsurf a try and start experimenting with these three levels of AI support today.


Happy coding with your new AI assistant!

Scientifically Proven Ways to Study Better and Remember More

If you've ever found yourself watching yet another "how to study better" video while scrolling through TikTok or snacking, you're not alone. It’s easy to get distracted and feel overwhelmed by all the advice out there. But what if I told you there are simple, scientifically backed techniques that not only improve your studying but also help you remember information long-term — and there’s a tool that practically does the hard work for you?

Let’s dive into some effective study methods and how a smart tool called Recall can transform your learning experience.


How Memory Works: The Basics You Need to Know

Before jumping into techniques, understanding how memory functions can help you study smarter.

Your brain processes memories in three stages:

  1. Encoding – Taking in information.
  2. Storage – Keeping the information.
  3. Retrieval – Accessing information when needed.

There are three types of memory: sensory, short-term, and long-term. For effective studying, your focus should be on long-term memory — that’s where knowledge sticks.

To strengthen long-term memory, repetition, emotional connection, and deep understanding are key.


Technique 1: Chunk It Up

Chunking is a classic memory technique where you break down large amounts of information into smaller, manageable "chunks." This concept was popularized by psychologist George Miller in 1956, who found that most people can hold about 7±2 chunks in short-term memory.

Why chunking works:

  • It organizes information into meaningful groups.
  • Helps short-term memory process info more efficiently.
  • Makes transferring information into long-term memory easier.

Example: Instead of memorizing eight isolated programming terms, group them into categories like "Data Types," "Control Structures," etc. Your brain then remembers the categories (chunks) rather than each item separately.

But who has time to manually organize notes? That’s where Recall comes in. This AI-powered tool automatically summarizes videos, articles, and papers — chunking information into sections and tagging them for easy navigation. It even creates "connections" to related notes, making studying seamless.


Technique 2: Active Recall — Train Your Brain Like a Muscle

Active recall is one of the most effective study techniques, backed by extensive research. Instead of passively rereading notes, active recall forces you to retrieve information from memory — like testing yourself.

Think of it like working out: watching fitness videos won’t build muscle unless you actually exercise. Similarly, your brain strengthens when you actively recall information.

How to practice active recall:

  • Use flashcards with questions on one side and answers on the other.
  • Test yourself repeatedly without looking at notes.

Creating hundreds of flashcards can be tedious, but Recall has you covered. Its flashcard feature generates questions automatically from your notes, saving time and effort. Plus, you can edit cards to ensure accuracy.


Technique 3: Combine With Spaced Repetition to Beat Forgetting

Did you know that within an hour, you forget about 50% of new information? After 24 hours, it jumps to 70%, and after a week, a staggering 90% — a phenomenon called the forgetting curve.

The solution? Spaced repetition — reviewing information at increasing intervals (e.g., 1 day, 3 days, 1 week, 1 month) to reinforce memory.

When combined with active recall, spaced repetition dramatically improves retention. Review flashcards or notes following this schedule to trick your brain into prioritizing that knowledge.

With Recall, spaced repetition is built-in. It categorizes reviews into immediate, subsequent, and incorrect responses, helping you focus on what needs more practice. Its unique augmented browsing feature highlights words on web pages related to your notes and lets you review them instantly — perfect for continuous learning during research or reading.


Technique 4: Explain Like I’m Five (ELI5) — The Feynman Technique

Nobel Prize-winning physicist Richard Feynman developed a simple yet powerful method to master concepts:

  1. Choose a topic.
  2. Explain it in simple terms as if teaching a child.
  3. Identify gaps in your understanding.
  4. Simplify and create analogies to clarify.
  5. Repeat until you can explain clearly.

This technique forces deep understanding and reveals weak spots in your knowledge.

If explaining to someone isn’t an option, Recall’s AI chat can act as your personal tutor. You can explain concepts to the AI and receive feedback on your explanations or be quizzed with clarifying questions — no judgment, just learning.


Why You Should Try Recall Today

Most study advice requires discipline and time, which can be hard to maintain. Recall makes it easier by automating note-taking, summarizing, flashcard creation, spaced repetition scheduling, and even tutoring.

Just press a button to get detailed or concise summaries, generate flashcards, chat with AI, and review notes while browsing online. It’s like having a personal study assistant in your pocket.

Give it a try at getrecall.ai. Use code sloth25 for 25% off until May 1st, 2025.


Final Thoughts

Studying smarter, not harder, is about using proven techniques like chunking, active recall, spaced repetition, and the Feynman technique. And with tools like Recall, you can implement these methods without the usual hassle.

Stop scrolling, start recalling, and watch your memory and productivity soar.

Happy studying!

Creating Word Tua: A Brain-Rot Twist on Wordle

If you're like many of us, you’ve probably spent some time playing Wordle — the addictive word-guessing game that took the internet by storm. But, if you’re anything like me, you might also find yourself frustrated with its sometimes obscure vocabulary and the mental effort it demands. What if there was a version of Wordle designed solely for “brain rot” — the kind of fun, silly, and cringe-worthy words that are more about entertainment than education?

Well, that’s exactly what I set out to create. In this post, I’ll walk you through my journey of building Word Tua, a brain-rot-themed Wordle clone that’s as goofy as it is addictive.


Why Build Another Wordle?

Wordle is simple yet engaging: six guesses to find a five-letter word, with color-coded feedback to guide your guesses. However, the game has evolved into a kind of brain nourishment — learning new words, expanding your vocabulary, and sometimes feeling like homework.

But on the internet, sometimes what we really want is brain rot — lighthearted, meme-worthy content that’s fun without the pressure.

So, I had an idea: why not create my own Wordle, but with only brain rot words? And to make it more interesting, I challenged myself to build it in an hour.


Step 1: Understanding the Rules

The original Wordle rules are straightforward:

  • Guess a five-letter word in six attempts.
  • Letters turn green if correctly placed.
  • Yellow means the letter is in the word but wrong place.
  • Gray means the letter isn’t in the word at all.

For Word Tua, I kept these basics but allowed some twists later on.


Step 2: Programming the Game

I chose to use React with Vite for this project, even though this game could be done without any frameworks. Why React? Because:

  • It could evolve into a library of brain rot games.
  • It was a good opportunity to refresh my React skills.

Using the command npm create vite@latest with a React template, I quickly scaffolded the project.

Next, I tested AI to generate Wordle code automatically. Surprisingly, AI produced a working Wordle clone in under 10 minutes! That said, it was rough around the edges:

  • No smooth animations.
  • No restriction on valid guess words.
  • Keyboard feedback missing.
  • Boring win/loss screens.

But hey, this was a starting point.


Step 3: Adding Brain Rot Words

The heart of Word Tua is its word list — full of internet slang, meme words, and pop culture phrases. I found existing “brain rot” word lists online, formatted them with definitions, and stored them in a JSON file.

Examples include:

  • Glaze: To hype or praise someone to a cringe-worthy extent.
  • Gagged: Shocked or amazed.
  • Riz: Charisma or flirting ability (Oxford Word of the Year 2023!).

I also removed the five-letter word limit and added support for multi-word phrases with spaces, making the game more flexible and fun.


Step 4: Enhancing the Experience

To improve animations, I used the Framer Motion library, as my CSS skills are limited. Although AI helped generate animation code — a process I dubbed “vibe coding” — some glitches remained, so I manually fixed what I could.

I added:

  • Dark mode support.
  • Definitions displayed after each word guess to help players learn the slang.
  • No daily play limit – because brain rot should be unlimited!

Step 5: Naming the Game

No game is complete without a catchy name. I asked my Discord community for suggestions, and Word Tua was born — a perfect blend of cringe and charm, just like the game itself.


What’s Next for Word Tua?

The game is playable now and open source on GitHub. But I’m still working on:

  • Adding more words.
  • Improving animations and UI.
  • Fixing bugs.

I welcome contributions from anyone who wants to help make Word Tua the ultimate brain rot Wordle experience.


Want to Learn Coding and Build Your Own Games?

If this inspired you to dive into programming, check out Brilliant, a learning platform designed to teach coding and problem-solving through interactive lessons. Their courses cover Python, programming fundamentals, and more — perfect for beginners and those looking to level up.

You can try Brilliant free for 30 days at brilliant.org/thecodingsloth and get 20% off an annual subscription.


Play Word Tua Today!

Ready to get your brain rot on? Try Word Tua now via the link below — and if you want to help improve the game or add your own brain rot words, the source code is available for you to contribute.

Play Word Tua here: [Link to game]

Let’s make Word Tua a fun, silly, and addictive alternative to Wordle — because sometimes, we all need a little brain rot.


Thanks for reading, and happy guessing!

— Sloth

Things I Hate About Programming: A Newbie’s Honest Take

Programming is a journey filled with excitement and frustration, especially when you’re just starting out. As a newcomer to the coding world, I’ve already encountered some challenges that I hope will improve with experience. But from what I’ve gathered from seasoned developers, some of these issues might actually get worse before they get better. Here are some of the things I hate about programming — and trust me, you might relate.

1. Documentation: A Love-Hate Relationship

Documentation is like caffeine for developers — you hate it, but you need it to function. Good documentation can make you feel like a genius by guiding you step-by-step through complex processes. I appreciate clear documentation like that found in projects such as Oh Camel, Rust, Stripe, and Vue. To all you contributors who help write great docs: developers love you and rely on you more than you know!

Unfortunately, not all documentation is created equal. There are “documentations of agony and despair” — outdated, confusing, or just comments in code that leave you scratching your head. Google’s Gmail API documentation is a prime example. Despite being from a tech giant worth over $2 trillion, their docs can be frustratingly incomplete and poorly organized. For instance, their quick start guide mixes sign-in code with Gmail usage without clear, logical steps. And when you look for code examples in your preferred language, sometimes they don’t even exist!

2. Debugging: The Console.log Chronicles

Debugging often feels like proof that you wrote terrible code in the first place. For many of us, debugging starts with a flurry of console.log or print statements scattered around the code to figure out what’s going wrong. Breakpoints and advanced debugging tools are great, but for smaller projects or scripting languages like Python or JavaScript, logging is the go-to method.

What’s worse are the cryptic error messages that programming languages sometimes throw at you. Instead of helpful guidance, you get messages that might as well say, “Good luck!”

3. Bug Reports: The Mystery of the Vague Complaint

If you ever put your project out there for others to use, you’ll quickly learn the pain of vague bug reports. “Website’s broken” — that’s it. No details, no steps to reproduce, no context. It’s like going to a doctor and saying “I don’t feel good” without any symptoms.

Wouldn’t it be amazing if bug reporting was easier? Imagine a tool that records a video of the bug, captures console logs, network requests, and user actions, and even helps write a clear bug report using AI. Well, that tool exists! It’s called Jam — a browser extension that captures everything a developer needs to fix a bug and integrates with popular tools like Jira, GitHub, and Slack. Jam even suggests potential fixes based on the collected data. If you’re tired of chasing vague bug reports, you should definitely check it out.

4. Inconsistent Naming Conventions

One thing I didn’t expect to struggle with was naming conventions. File names, variable names, function names — they can all be overcomplicated by inconsistent styles. Different programming languages prefer different conventions: camelCase, snake_case, kebab-case, PascalCase, and more. Sometimes it feels like there’s no universal rulebook, just strong opinions.

Even resources like FreeCodeCamp show multiple naming styles, and it’s up to you to figure out what fits best in your language or project. Honestly, I don’t get the lore or history behind these conventions — maybe you do? Let me know in the comments!

5. Vim: Just No

I know Vim has passionate fans, but I just don’t like it. For me, it’s more frustrating than friendly.

6. C++: Not My Cup of Tea

C++ is another language I dislike. Its complexity and quirks make it a tough one to enjoy.

7 & 8. The Coding Sloth & Sloth Bites

Okay, full disclosure — I have a love-hate relationship with The Coding Sloth and his newsletter, Sloth Bites. The content is good, but I kind of dislike the guy (and his sloth mascot). If you haven’t checked out Sloth Bites, it’s a weekly newsletter with bite-sized programming tips — definitely worth a look despite my grumpiness.

9. Other Programmers (Including Myself)

Sometimes, I just don’t like other programmers — and that includes myself. Programming can be a tough community to navigate, and we all have our quirks.

Bonus: More Google Documentation Woes

Google’s documentation quality can vary wildly depending on the product. Their Ads API documentation is excellent, with up-to-date tutorials, libraries in many languages (including Perl!), and clear examples. Their Angular docs are also top-notch.

But other Google APIs, like Gmail, seem neglected. It’s baffling given Google’s resources, and many developers have voiced frustration, even creating third-party packages just to avoid dealing with Google’s poor docs.


Final Thoughts

Programming is a wonderful but sometimes frustrating craft. Many issues I’ve mentioned are likely just “skill issues” — things that will improve as I (and you) gain experience. Some problems, like documentation and bug reporting, depend on the broader community and industry practices.

If you’re a developer or an open-source contributor, keep doing your part to improve documentation and tooling. And if you’re new like me, remember: you’re not alone in these struggles!


P.S. If you want to try Jam and make bug reporting easier, check out the link in the description. It might just save you hours of headaches.

Happy coding!