Treat Your Development Tools As Tools, Not Religions

Tools are meant to solve problems efficiently, not stifle innovation.

Tags: Software DevelopmentTools

Published on 19 April 2024 7 min read

Introduction

If you've worked on anything more complicated than a simple landing page, then you might've tried using one of the available tools and come across the absurd comparisons between them. You might ask, "Which one is better?" However, as with most things in life, the answer is that "it depends" and "there are tradeoffs".

Unfortunately, this is the state of the software industry today. An industry where you've to belong to a specific group. An industry where you can't remain neutral and take advantage of the benefits these tools offer. An industry where being a part of a group requires you to despise and curse developers who use a different tool. It's an industry full of biases and fanboyism.

While this approach may be entertaining for some, it can mislead beginner developers. The software industry has reached where it's today and is still moving forward, thanks to an innovative mindset of exploring different and more effective ways to tackle problems. Restricting developers to a single tool may limit their ability to think outside of that paradigm and view every problem from the tool's perspective, which in many cases is not accurate. It's similar to the person who wants to use a hammer for every problem.

We must understand why developers become fanboys so that we can avoid becoming one ourselves. We need to learn how to use other developers' advice and conduct our research to make informed decisions.

Why do developers become fanboys?

Many online flame wars are caused by a culprit known as the Fanboy. This individual is typically male and a fanatic who is so attached to a particular tool, to the extent that anyone expressing admiration for any other tool is considered blasphemy. The rabid fanboys cling to a particular tool as their deity, and now there is a rising number of alternative tool followers.

Some of these individuals have serious psychiatric problems while others are just obsessed with these tools. It's best to think of these obsessions as a religion, and it's important to handle them delicately because these individuals can't see any other opinion as being valid except their own. They've been so intensely brainwashed that anything you say or write that doesn't completely agree with their worldview is met with astonishment and bitter criticism.

People become fanboys for many reasons. First, fanboyism is fun and safe. It guarantees a seat at the table regardless of your opinion. However, it's important to understand that fanboys have chosen sides to protect their invested time, money, and effort in one of their choices. They may have already spent thousands of dollars on courses or invested their entire career in using a tool that they now consider themselves to be experts in. Therefore, the fear of starting from scratch and becoming a beginner again by learning a new tool makes them anxious. It's not our place to judge or fear these folks. It's our place to avoid fanboyism at all costs and offer opinions tempered with intelligence and wit. You can hold an opinion, but in the software development world where tools come and go, fall into fanboyism at your peril.

What's a better way to use other developers' advice?

Parker Palmer, an American teacher, author, and founder had the following to say about advice:

Advice-giving comes naturally to our species, and is mostly done with good intent. But in my experience, the driver behind a lot of advice has as much to do with self-interest as interest in the other’s needs — and some advice can end up doing more harm than good.

A lot of advice we see online today, be it on a programming forum, blog post, or YouTube, is often driven by self-interest rather than interest in the recipient's needs. This is especially true for advice from developer advocates of a tool, tech bloggers heavily invested in a tool, content creators popular for a tool, and popular YouTubers teaching courses on a tool. These people may not be able to give unbiased advice without contradicting the tool they promote.

Furthermore, many of these individuals accept a certain kind of advertising that can look like a regular blog post or YouTube video. Some of them are upfront about which content is paid for by advertisers and which is their work. However, advertisers often try to blur the line between advertising and regular content, and unfortunately, some content creators allow this to happen.

So, how should you approach advice from these sources? The answer is simple: "find out the best use cases for the tool, along with its tradeoffs, and then decide if it's still the best choice for your project." All tools have their strengths and weaknesses, and there're some areas where they excel and others where they do not. Additionally, each tool has its way of thinking about and solving problems, which may not always apply to your specific situation. By understanding these nuances, you can make an informed decision about whether or not to follow the advice you receive.

What's a better way to do our research to make informed decisions?

It's important to choose the right tools for yourself, but this decision can be influenced by the stage of life you're currently in.

  • If you're a student, don't worry about what others think and focus on learning and building exciting projects, using the tool of your choice, because no pressure is on you. Recruiters won't come knocking on your door because you're a master of one popular tool, but because you're building applications that everyone is talking about.

  • If you're a freelancer, then major in the majors and minor in the minors. That is, focus on the most in-demand tools to get jobs and upskill yourself by learning other tools in your free time.

  • If you're looking for a job in the next six months, research the most popular tools in your location and industry that get developers the jobs and pay well. In your free time, explore other tools, and if you've a heart for innovation then become the hero advocating for it to be used in your team in your place of work.

  • If you're an indie hacker starting a business, ask others in your industry for recommendations on the best tools to use. Ultimately do your due diligence and choose the tools that work best for your current situation and goals.

Conclusion

You may think this blog post falls into the "giving advice" category, and you would be correct, which might make you see this entire blog post as self-contradictory. However, I want you to know that your interest is what is driving the conversation, not mine, and that’s exactly the intent. If I ever advise in the future (which I’ll occasionally do), I hope I can always stop and think first about whose interest is driving the conversation.

When it comes to software tools, it's important to understand that they all have limitations. None is a one-in-all solution for all software problems, and each tool was created with specific concepts in mind, making them solve some problems very well while trying to do their best in others. Therefore, it's your responsibility to determine which tool best fits your particular problem.

It's not your job to promote or criticize any tool, or to make subjective comparisons. Developers put in a lot of time, energy, and resources to create open-source tools, and many of them are never paid or recognized for their work. If you want to help, your goal should be to provide assistance and information in a neutral and unbiased way. Unfortunately, this is not always possible, especially if you're a developer advocate, tech influencer, content creator, or YouTuber, as you may have to accept sponsorship deals or go against what you know to be wrong.

Remember, "hackers hack, crackers crack, and whiners whine. Be a hacker." Take care.