The Coding Sloth thumbnail

📝 The Coding Sloth Blog

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

Programming is an exciting field filled with endless possibilities—from automating mundane tasks to building innovative apps and even dabbling in AI. But as rewarding as coding can be, it’s easy to fall into common pitfalls that can slow your progress, cause frustration, or even jeopardize your career. Drawing from real experiences and hard-learned lessons, here are ten programming mistakes you should steer clear of, plus a bonus tip to improve your workflow.


1. Skipping the Fundamentals

It might sound boring, but mastering the basics—variables, loops, functions—is crucial. Skipping fundamentals leads to blindly copying code without understanding it. When something inevitably breaks, you’ll be lost. Worse, this gap can show up in technical interviews and impact your career. Embrace the basics; they form the foundation that lets you build cool projects faster and with confidence.


2. Prioritizing Clever Code Over Readable Code

Sure, those one-liner solutions look impressive, but writing code that’s hard to read is a recipe for disaster—especially in interviews or team projects. If explaining your code requires a long conversation, it’s probably too clever. Aim for clear, understandable code unless extreme performance gains justify complexity. Remember, maintainability beats flashiness.


3. Being Afraid to Break Things

Fear of “breaking” your code can hold you back. The best way to learn is by experimenting—changing values, refactoring, and seeing what happens. Don’t worry about perfection. Use version control tools like Git to safeguard your work so you can experiment freely and recover easily if needed.


4. Overengineering Your Projects

It’s tempting to adopt complex architectures from big tech companies, but they’ve evolved over years with large teams and millions of users. Applying microservices, multiple databases, and messaging queues to a personal project often leads to unnecessary complexity and burnout. Keep it simple and focus on what your project truly needs.


5. Forgetting That Users Are Not Developers

Your users likely don’t share your technical background. What seems intuitive to you might confuse others. Avoid assuming knowledge of UI conventions like hamburger menus—test your designs with real people, even your grandparents. Build software that’s genuinely user-friendly, not just developer-friendly.


6. Starting Too Big

Dreaming big is great, but starting with a massive feature list leads to overwhelm and abandonment. Instead, focus on building one small, solid feature at a time. Follow the MVP (Minimum Viable Product) approach: create a simple app that does one thing well, then expand gradually. This method helps you finish projects and maintain motivation.


7. No Comments or Documentation

Don’t fool yourself into thinking you’ll remember what your code does or that code alone is enough documentation. Write clear comments explaining why something is done—not just what it does. Maintain a README file. Good documentation helps others (and future you) understand and maintain your projects.


8. Reinventing the Wheel

Before building your own solution, check if a library or tool already exists. Chances are someone else has solved that problem better and more efficiently. Only build from scratch if you want to learn deeply or have unique requirements. Otherwise, use existing solutions to save time and effort.


9. Comparing Yourself to Other Programmers

Scrolling through social media can make you feel like everyone else is a coding superstar while you struggle. Remember, you’re only seeing their highlight reels, not the hours of frustration and failures behind the scenes. Instead of comparisons, focus on your own progress—are you learning and improving compared to three months ago? That’s what counts.


10. Falling Victim to Shiny Object Syndrome

New frameworks, languages, and tools are constantly emerging, and it’s easy to jump from one to another without finishing anything. This leads to many unfinished projects and scattered skills. To succeed, pick one technology stack or project and commit to it before moving on. Depth beats breadth when building real skills.


Bonus: Consider Upgrading Your Email Experience

Managing emails can be overwhelming, but tools like Notion Mail can help. It organizes your inbox automatically, categorizes emails based on importance, and even uses AI to help craft better messages. Connecting your Gmail account is easy and free, helping you stay focused on what matters most.


Final Thoughts

Making mistakes is part of the learning process—every programmer has been there. The key is recognizing these common traps and working to avoid them. Focus on fundamentals, write clean code, don’t fear experimentation, keep your projects manageable, understand your users, and commit to continuous improvement.

Remember: even if you’ve made these mistakes, you’re not alone—and you’re definitely not a terrible programmer. Keep coding, keep learning, and enjoy the journey.


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

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!

Ключевые выводы и инсайты

  • Для эффективного запоминания информации важно переносить знания из кратковременной памяти в долговременную с помощью повторения, эмоциональной вовлечённости и глубокого понимания.
  • Память работает по трем стадиям: кодирование, хранение и воспроизведение.
  • Техника "чанкинга" (разбиение информации на осмысленные блоки) помогает повысить ёмкость кратковременной памяти и облегчает запоминание.
  • Активное вспоминание (active recall) — критически важная техника, при которой вы не просто перечитываете, а активно пытаетесь извлечь информацию из памяти.
  • Сочетание активного вспоминания с интервальным повторением (spaced repetition) позволяет значительно замедлить забывание информации.
  • Инструмент Recall помогает автоматизировать большинство этих техник с помощью ИИ, делая обучение проще и эффективнее.
  • Техника Фейнмана — объяснение материала простыми словами для глубокого понимания — отлично дополняет другие методы.

Практические стратегии

  • Используйте технику чанкинга: группируйте информацию в логические блоки, чтобы уменьшить количество элементов, удерживаемых в кратковременной памяти.
  • Активно тестируйте себя с помощью флешкарт: с одной стороны — вопрос, с другой — ответ. Отвечайте и проверяйте себя.
  • Применяйте интервальное повторение: повторяйте материал с увеличивающимися интервалами (через 1 день, 3 дня, неделю, месяц и т.д.).
  • Используйте Recall для автоматического создания заметок и флешкарт, а также для управления повторением и связями между темами.
  • Используйте функцию "augmented browsing" в Recall для моментального просмотра заметок и повторения при чтении онлайн-материалов.
  • Применяйте технику Фейнмана: объясняйте концепции простыми словами, выявляйте пробелы в понимании и улучшайте объяснения.
  • Взаимодействуйте с ИИ в Recall для проверки и критики своих объяснений, имитируя работу с наставником.

Конкретные детали и примеры

  • Мозг человека может хранить около 2,5 петабайт информации — это примерно 46 834 копии игры Fortnite.
  • Среднестатистический человек способен удерживать в кратковременной памяти 7±2 "чанка" информации (закон Миллера).
  • По данным исследований, в течение часа мы забываем около 50% новой информации, через сутки — 70%, а через неделю — 90% (кривая забывания).
  • Recall позволяет автоматически создавать конспекты и флешкарты из видео и статей любой длины, а также группировать информацию и связывать заметки между собой.
  • В Recall можно генерировать вопросы для активного вспоминания одним нажатием кнопки.
  • Функция "augmented browsing" подсвечивает изученные слова на веб-страницах и выводит связанные заметки при наведении курсора.
  • Промокод "sloth25" даёт скидку 25% на Recall до 1 мая 2025 года.

Предупреждения и распространённые ошибки

  • Самая распространённая ошибка — пассивное повторение материала (просто перечитывание без активного вспоминания), что малоэффективно для запоминания.
  • Многие не используют проверенные техники из-за лени или нехватки мотивации.
  • Создание флешкарт вручную может быть утомительным и привести к прокрастинации; автоматизация с помощью Recall решает эту проблему.
  • Не стоит игнорировать интервальное повторение, иначе забывание происходит очень быстро.
  • Объяснение материала сложными терминами без упрощения снижает эффективность техники Фейнмана.
  • Не стоит полностью полагаться на ИИ: нужно проверять и редактировать автоматически созданные заметки.

Ресурсы и следующие шаги

  • Попробуйте инструмент Recall на сайте getrecall.ai для автоматизации заметок, создания флешкарт и интервального повторения.
  • Используйте промокод sloth25 для получения скидки 25% (до 1 мая 2025).
  • Изучите технику Фейнмана: практикуйте объяснение сложных понятий простыми словами.
  • Внедрите техники активного вспоминания и интервального повторения в свою учебную практику.
  • При желании углубитесь в изучение работы памяти через специализированную литературу и исследования (например, работы Джорджа Миллера).
  • Следите за новыми видео и материалами по эффективному обучению и запоминанию.

Основные темы

  • Механизмы памяти: кодирование, хранение и воспроизведение.
  • Типы памяти: сенсорная, кратковременная и долговременная.
  • Техника чанкинга для улучшения запоминания.
  • Активное вспоминание и использование флешкарт.
  • Интервальное повторение для борьбы с кривой забывания.
  • Применение ИИ (Recall) для автоматизации учебного процесса.
  • Техника Фейнмана для глубокого понимания материала.
  • Практические советы по организации учебы и мотивации.

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!