The Coding Sloth thumbnail

📝 The Coding Sloth Blog

10 Programming Mistakes That’ll Ruin Your Life (And How to Avoid Them)

Programming is an exciting journey filled with endless learning opportunities, but it’s also riddled with pitfalls that can hinder your progress and even your career. Whether you’re a beginner or an intermediate coder, avoiding common mistakes can save you time, frustration, and a lot of headaches. Here are 10 programming mistakes you should steer clear of, along with practical advice on how to overcome them.


1. Skipping the Fundamentals

It might be tempting to jump straight into building cool projects or automating tasks, but neglecting the basics like variables, loops, and functions is a recipe for disaster. Without a solid foundation, you’ll find yourself copying code from AI or tutorials without truly understanding it. When bugs inevitably arise, you’ll be lost.

Why it matters: Skipping fundamentals hurts your learning and can damage your career—especially when you’re asked to explain simple concepts in interviews.

How to fix it: Embrace the fundamentals, even if they’re boring. Mastering them will make building advanced projects easier and more enjoyable in the long run.


2. Writing Clever Code Over Readable Code

One-liner solutions and overly clever code snippets might impress on forums, but in real-world scenarios or interviews, they often confuse others (and sometimes yourself).

Why it matters: Your interviewer or teammates will appreciate clear, maintainable code over cryptic “genius” hacks.

How to fix it: Prioritize readability. If your code requires a long explanation or feels like a puzzle, simplify it unless there’s a significant performance benefit.


3. Being Afraid to Break Things

Many beginners treat their code like it’s fragile—one wrong move and everything will break. But breaking things is a crucial part of learning.

Why it matters: Fear of experimentation slows learning. Real progress comes from trying, breaking, and fixing.

How to fix it: Learn version control (like Git) to safely experiment. Use branches and commits as “quick saves” so you can freely explore without fear.


4. Overengineering

It’s easy to get caught up in designing complex systems with microservices, multiple databases, and message queues—especially after reading advanced engineering blogs.

Why it matters: Overengineering wastes time and energy, especially on personal projects that don’t need enterprise-level complexity.

How to fix it: Keep it simple. Unless you’re preparing for system design interviews or need the complexity for a real use case, build straightforward solutions tailored to your project’s scale.


5. Forgetting That Users Are Not Developers

Developers often assume users understand tech the same way they do. This leads to creating confusing interfaces or features that users can’t navigate.

Why it matters: Real users will use your software differently, sometimes breaking it or getting frustrated.

How to fix it: Design with empathy. Test your apps with non-technical people and simplify interfaces to make software intuitive for everyone.


6. Starting Too Big

Dreaming big is great, but starting with massive projects packed with features sets you up for burnout and failure.

Why it matters: Attempting to build everything at once often leads to stalled projects and lost motivation.

How to fix it: Start small and focus on building one feature well. Use the Minimum Viable Product (MVP) approach to create a simple, working app and add features gradually.


7. No Comments or Documentation

Assuming you’ll remember what your code does or that the code itself is enough documentation is a dangerous lie.

Why it matters: Without comments and documentation, your code becomes a mystery—even to you—and impossible for others to understand or maintain.

How to fix it: Write comments that explain why you did something, not just what the code does. Maintain a README file and ensure a developer unfamiliar with your project can grasp it quickly.


8. Reinventing the Wheel

Trying to build everything from scratch because you think it’s “not that complicated” wastes valuable time.

Why it matters: Many problems have already been solved by libraries or frameworks that are more robust and secure than your homemade version.

How to fix it: Use existing solutions unless you have a specific learning goal or unique requirements that existing tools don’t meet.


9. Comparing Yourself to Other Programmers

Social media is often a highlight reel. Seeing others’ successes can make you feel like you’re falling behind.

Why it matters: Comparing yourself to others can demotivate and distract you from your own progress.

How to fix it: Focus on your personal growth. Ask yourself if you’re learning, improving, and making fewer mistakes compared to a few months ago.


10. Having Shiny Object Syndrome

Jumping from one new technology or framework to another without finishing projects leads to a pile of unfinished ideas and little real progress.

Why it matters: Constantly chasing the latest trend prevents you from mastering any one tool or completing meaningful projects.

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


Bonus Tip: Upgrade Your Email Workflow with Notion Mail

Managing email can be overwhelming, but tools like Notion Mail can help you organize your inbox, draft responses, and schedule meetings efficiently. With features like automatic labeling and AI-assisted email writing, Notion Mail gives you back time to focus on what really matters—coding and creating.


Final Thoughts

Programming is a marathon, not a sprint. Avoiding these 10 common mistakes can help you build better skills, create meaningful projects, and enjoy the journey more. Remember, even the best programmers have made these errors—what matters is learning from them.

Happy coding!


If you enjoyed these tips and want more bite-sized programming advice, consider subscribing to the Sloth Bites newsletter—a free weekly dose of programming wisdom to help you become a better developer.


Did you find this post helpful? Share your own programming mistakes and lessons learned in the comments!

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!

Unlock Your Brain’s Potential: Scientifically Proven Study Techniques & Tools to Remember Better

Are you tired of watching endless study tips videos that promise the world but leave you overwhelmed and unmotivated? You’re not alone. Most of us struggle with remembering what we study, even though our brain has an incredible capacity to store information—around 2.5 petabytes, which is equivalent to nearly 47,000 copies of Fortnite! So, why do we forget so much?

The truth is, your brain simply doesn’t prioritize remembering everything unless you actively help it along. In this post, we’ll explore four scientifically backed study techniques that can transform how you learn and remember information. Plus, we’ll introduce you to a powerful AI-powered tool called Recall that takes much of the hard work off your shoulders.


How Does Memory Work?

Understanding memory is the first step to improving it. Your brain processes memories in three stages:

  • Encoding: Taking in information.
  • Storage: Keeping the information.
  • Retrieval: Accessing the information when needed.

There are three types of memory: sensory, short-term, and long-term. For studying, the goal is to transfer information into long-term memory through repetition, emotional engagement, and deeper understanding.


Technique #1: Chunk It Up

Have you noticed how phone numbers or credit card numbers are grouped in chunks? This isn’t random—it’s a memory hack called chunking, discovered by psychologist George Miller in 1956. Miller’s Law states that the average person can hold about 7 ± 2 chunks of information in short-term memory.

By grouping related information into meaningful categories, you reduce the cognitive load on your brain, making it easier to store and recall. For example, instead of memorizing eight isolated programming concepts, group them into four categories. Each category then becomes a chunk your brain can handle more easily.

Struggle with organizing notes? This is where the AI tool Recall shines. Recall automatically summarizes videos, articles, and research papers into neat, categorized chunks. It highlights key terms and creates connections between related concepts, making your notes more navigable and study-ready.


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

Passive reading isn’t enough. To strengthen your memory, you need active recall—testing yourself on the material rather than just rereading it. Think of it like exercising your brain; watching workout videos won’t build muscle unless you actually do the exercises.

Flashcards are a classic active recall method. One side has a question, the other the answer. You try to recall the answer before checking it. But creating hundreds of flashcards manually can be tedious.

Recall automates this for you by generating flashcards directly from your notes with a click, saving you time and effort. You can also edit or customize the flashcards to fit your learning style.


Technique #3: Space Repetition — Outsmart the Forgetting Curve

Did you know that within an hour, you forget about 50% of new information? After 24 hours, it rises to 70%, and after a week, a staggering 90%. This is the Forgetting Curve.

The solution? Space repetition — reviewing your notes at increasing intervals (1 day, 3 days, 1 week, 1 month, etc.) to reinforce your memory. This repeating signals to your brain that the information is important and worth remembering.

Combine space repetition with active recall by reviewing your flashcards on this schedule. Recall’s built-in spaced repetition system manages this automatically, scheduling reviews to maximize retention.

Bonus: Recall’s augmented browsing feature highlights terms on web pages you’ve studied and lets you instantly review your notes by hovering over them. This seamless review turns everyday reading into an effective study session.


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

Nobel Prize-winning physicist Richard Feynman developed a simple but powerful technique for mastering concepts: explain it in the simplest terms possible.

Here’s how to apply it:

  1. Pick a concept you want to understand.
  2. Teach it aloud to yourself or someone else in plain language.
  3. Identify gaps where your explanation falters.
  4. Simplify and use analogies to improve understanding.
  5. Repeat until you can explain it clearly and confidently.

If you don’t have a study buddy, Recall’s AI chat feature acts like your personal tutor. You can explain concepts and have the AI critique your understanding or ask clarifying questions. This interactive feedback helps deepen your learning without embarrassment.


Why You Need Recall in Your Study Arsenal

Let’s face it—most study techniques require effort and consistency, which can be hard to maintain. Recall automates much of the work:

  • Automatically summarizes and chunks notes.
  • Generates flashcards for active recall.
  • Schedules reviews with spaced repetition.
  • Provides AI tutoring and feedback.
  • Highlights notes while browsing to boost review frequency.

With Recall, you basically get a personal, AI-powered study assistant that makes learning easier and more effective.


Final Thoughts

Improving your memory and study habits isn’t about working harder—it’s about working smarter. Use chunking to organize information, active recall to strengthen memory, spaced repetition to fight forgetting, and the Feynman technique to deepen understanding. And if you want to supercharge the process, try Recall (getrecall.ai).

For a limited time, use the code SLOTH25 to get 25% off until May 1, 2025. Don’t miss out on transforming how you study and remember!


Ready to boost your brainpower? Check out Recall and start studying smarter today!

Disclaimer: This post is inspired by a video sharing study techniques and features of the Recall app.

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!