The Coding Sloth thumbnail

📝 The Coding Sloth Blog

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

Programming is an exciting but challenging adventure. Whether you’re just starting out or have some experience, avoiding common pitfalls can save you time, frustration, and even your enthusiasm for coding. Here are ten programming mistakes many developers make — including myself — and practical advice to steer clear of them.


1. Skipping the Fundamentals

It might sound boring, but mastering the basics like variables, loops, and functions is absolutely crucial. Skipping these fundamentals will leave you copying and pasting code blindly without understanding it. When things break — and they will — you’ll be lost and frustrated. This lack of understanding can also hurt your career, especially during technical interviews where you’re expected to explain simple concepts.

Tip: Embrace the fundamentals. It may feel tedious, but it builds the foundation for creating cool and complex projects later on.


2. Writing Clever Code Instead of Readable Code

Some programmers love to write extremely concise and complex one-liners that impress on forums but confuse everyone else. Clever code might look cool, but in real projects and interviews, clarity wins. If your code requires a lengthy explanation or looks like a puzzle, it’s probably too clever.

Tip: Prioritize readability over showing off. Clear, understandable code is easier to maintain and collaborate on.


3. Being Afraid to Break Things

When you’re new, it’s common to treat your codebase like a ticking time bomb, afraid to make mistakes. But real learning happens when you experiment, break features, and fix them. Of course, always use version control tools like Git to safeguard your work and easily revert changes if needed.

Tip: Don’t fear breaking your project. Use Git and branches to experiment safely and accelerate your learning.


4. Overengineering

It’s tempting to design your project like a massive enterprise system with microservices, multiple databases, and complex architectures. But unless you’re working on a large-scale app with millions of users and a dedicated team, this is unnecessary and overwhelming.

Tip: Keep it simple. Build what you need for your project’s scale. Use advanced architectures only when they’re truly required.


5. Forgetting That Users Are Not Developers

Developers often assume users understand technology the way they do — but they don’t. What seems intuitive to you might confuse others. For example, not everyone recognizes icons like hamburger menus.

Tip: Design with your users in mind. Test your apps with real people unfamiliar with tech to ensure usability.


6. Starting Too Big

Ambitious project ideas can quickly become overwhelming. Trying to build a full-featured app with dozens of components all at once leads to burnout and unfinished projects.

Tip: Start small. Build one feature at a time, making sure it works well before adding more. Focus on a Minimum Viable Product (MVP) — a simple app that does one thing great.


7. No Comments or Documentation

Many programmers convince themselves they’ll remember what their code does or that the code itself is enough documentation. This is rarely true and leads to confusion later.

Tip: Write clear comments explaining why you wrote the code a certain way, and maintain a README file. Good documentation helps others — and future you — understand your work.


8. Reinventing the Wheel

It’s tempting to build everything from scratch, but most problems have already been solved by open-source libraries or tools. Building your own solution wastes time unless you’re doing it to learn or have unique requirements.

Tip: Use existing libraries whenever possible. Focus your energy on features that add unique value.


9. Comparing Yourself to Other Programmers

Social media showcases highlight reels of success stories — but not the countless hours of struggle behind them. Comparing yourself to others will only discourage you.

Tip: Instead of comparing yourself to others, compare yourself to your past self. Celebrate your progress, no matter how small.


10. Shiny Object Syndrome

Getting distracted by the latest technologies and abandoning projects mid-way is a common trap. You might end up knowing many languages superficially but never finishing anything meaningful.

Tip: Pick one technology or project and commit to it. Finish before moving on to the next shiny thing.


Bonus: Upgrade Your Email Experience with Notion Mail

Managing communications as a developer can be overwhelming. Notion Mail offers an organized inbox that automatically labels emails, drafts responses, schedules meetings, and even uses AI to help write emails — all while integrating seamlessly with your existing Gmail account.


Final Thoughts

Making mistakes is part of the journey, but recognizing and avoiding these common traps will help you become a better programmer faster. Remember, nobody starts perfect — even “terrible programmers” can improve with patience and persistence.

Keep learning, keep experimenting, and most importantly, keep coding!


If you want weekly bite-sized programming tips to improve your skills, consider subscribing to newsletters like "Sloth Bites" for free insights delivered straight to your inbox.

Happy coding! 🚀

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 (Plus a Game-Changing Tool!)

Are you tired of watching endless "how to study better" videos but never actually feeling like you're retaining information? You're not alone. In this post, I'll share some scientifically proven study techniques that can help you remember things more effectively. Plus, I’ll introduce you to an incredible tool called Recall that automates many of these techniques, making studying easier and more productive—even if you’re feeling too lazy to do it all manually.

How Does Memory Work?

Before diving into the techniques, it helps to understand a bit about how memory works. Our brains process memories in three stages:

  1. Encoding – Taking in information.
  2. Storage – Saving the information.
  3. Retrieval – Accessing the information when you need it.

Memory is categorized into three types: sensory, short-term, and long-term memory. For studying, long-term memory is what matters the most—it can store vast amounts of information for days, months, or even years. The key to effective studying is transferring information into your long-term memory and strengthening it through repetition, emotional connection, and deep understanding.

Technique 1: Chunking – Break Information Into Manageable Pieces

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

For example, instead of memorizing a list of eight programming concepts individually, group related items together into four categories. This compression makes it easier for your brain to process and remember more information.

How Recall Helps with Chunking

Recall uses AI to automatically take notes and summarize content into organized chunks, saving you the effort of manual categorization. It highlights key terms and creates “connections” between related notes, making your study material easier to navigate and remember.

Technique 2: Active Recall – Exercise Your Brain

Active recall involves testing yourself to retrieve information from memory rather than passively reviewing notes. Think of it like a workout for your brain—just watching exercise videos won’t make you fit; you have to actually do the exercises. Similarly, actively recalling information strengthens your memory.

Flashcards are a great tool for active recall, but creating hundreds of them can be tedious. Recall’s built-in flashcard generator creates questions automatically from your notes, saving you time and effort.

Technique 3: Spaced Repetition – Review at Increasing Intervals

The forgetting curve shows that people forget about 50% of new information within an hour, 70% within 24 hours, and 90% within a week—unless you review the material.

Spaced repetition combats this by reviewing information at gradually increasing intervals: after 1 day, 3 days, 1 week, 1 month, and so on. This technique tricks your brain into recognizing the information as important and worth remembering.

Recall’s Augmented Browsing & Spaced Repetition

Recall not only schedules your review sessions but also offers an augmented browsing feature that highlights terms you’ve studied when you’re reading online. Hovering over these terms instantly shows your notes, turning regular reading into a spaced repetition session without extra effort.

Technique 4: The Feynman Technique – Explain to Understand

The Feynman Technique is a simple but effective way to deepen your understanding:

  1. Choose a concept.
  2. Explain it in simple terms as if teaching someone else.
  3. Identify gaps where you struggle to explain.
  4. Simplify and use analogies to fill those gaps.
  5. Repeat until you can explain clearly.

If you don’t have someone to teach, Recall’s AI chat feature can act as your personal tutor. You can practice explaining concepts to the AI, which will critique your explanation and ask follow-up questions, helping you refine your understanding without embarrassment.

Why You Need Recall

Let’s be honest—studying is hard, and most people struggle to consistently apply these techniques. Recall is designed to do the heavy lifting for you:

  • Automatically takes and organizes notes.
  • Generates flashcards for active recall.
  • Implements spaced repetition scheduling.
  • Provides AI tutoring and feedback.
  • Offers augmented browsing to review notes naturally.

If you want to boost your productivity, learn faster, and remember more without spending hours organizing your study materials, Recall is your best friend.

Try Recall Today

You can try Recall for yourself at getrecall.ai. Use the code SLOTH25 to get 25% off until May 1st, 2025. Don’t miss out on this opportunity to transform the way you study!


Final Thoughts

Studying smarter—not harder—is the key to mastering any subject. By understanding how memory works and applying techniques like chunking, active recall, spaced repetition, and the Feynman Technique, you can dramatically improve your ability to retain information. And with tools like Recall, you don’t have to do it alone.

So, what are you waiting for? Put down the TikTok, give these methods a try, and watch your learning 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!