The Coding Sloth thumbnail

The Coding Sloth

Things I ABSOLUTELY Hate About Programming

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!

← Back to The Coding Sloth Blog