Pretty much every engineer has, at one point or another, looked at something and said, “Yeah, I could do that better.” Or even just, “Yeah, I could do that.” And this might actually be true in some cases, although often what seems like a simple problem at first turns out to be far more complicated than originally thought. But even if you can, you need to stop and think about whether or not you actually should. If you are talking about a product or a service that you provide, and you do believe that you can make something similar that is better than what other companies make, then by all means: go for it! Make a better product and go sell it and make lots of money. That’s a career.
If it’s something that forms a part of your product, or a tool or service you use to develop your product, then you really need to ask yourself whether or not that’s something you should do yourself. Because if it’s not actually your product, then why are you wasting time on it? Is it part of your differentiation? Part of your key product functionality? No? Then why would you possibly want to do that yourself, even if you can? You should spend your time on what makes your company competitive and unique, not on the tools or components or libraries that you use. That’s a tool. If you really think you can make a better one, then you should probably do that and sell it instead. Otherwise, leave it to people that actually make it their business to create, support, update, and sell that end product or service. It’s a tool, not a career.
Figure out what business you are in, and devote your efforts to that. Anything else? Buy it from someone who does. Yes, I said buy, especially with software. Sure, there are a lot of free software solutions out there. And sometimes some of them are quite good. If you are a home hobbyist, it can be a wonderful thing to be able to get free apps and libraries. But if you are a company that depends on those tools to build your product, ask yourself if you really want to provide your own support, and perhaps even develop new features when you need them. For the tool. The tool that is not your product. The tool that you are spending valuable time enhancing, customizing, and supporting. Is that really the best use of your time? Is it supposed to be a tool, or a career? Spend your precious resources on your career, not building your own tools. Just because you can doesn’t mean you should.