A master carpenter might be able to build a house with pointy shards of glass for nails, rotten wood for timber and pumice stones for hammers, but he's going to struggle every minute of the time, hate you for making him do it, probably decide to switch jobs half way through and the house is going to look like total shit (even if the only thing swapped out was the hammer this would likely become true).

In my first job I had to deal with an absolute trash-heap of a proprietary programming language (Clarion, no, don't bother googling it, you will only find misleading marketing material and a bunch of people who only know Clarion, COBOL and FoxPro and will spend all day long telling you how Clarion is the best thing under the sun).

Normally when dealing with a shitty tool, I will spend some time either replacing it or finding some way to modify it to make it less shitty, but in this case, there was nothing I could do but to master its endless quirks.

I wrote anything I didn't absolutely have to write in Clarion secretly in other languages (usually Python) and presented it at the last minute when it was too late for anyone to say no to me doing it (yes it really is much easier to ask for forgiveness than permission). No, it wasn't the most sensible decision to use languages nobody else in the company knew to write important bits (although I tried to keep all my code as straightforward as possible), but at this point there was already another person in the company who had built up an empire of job security through utilizing obscure shit nobody else knew how to maintain (except, joke's on him, I knew how to maintain it!), and also I had to survive the experience without ripping all my hair out.

Due to the frustrations of Clarion, I would often point out some of its major shortcomings and get told: "A bad workman blames his tools." To which I often replied with something along the lines of: "You wouldn't hand a good workman a rock and ask him to frame a house."

Anyone with any experience and mastery will know and be quickly capable of noticing when a tool is trash and should be replaced to avoid turning 5 hours into 5 days of work. Using this reasoning to excuse poor tool choices is a terrible thing and when experienced and inexperienced people alike complain about a tool, it's a good idea to take a step back and consider this proposition seriously. In fact, in my experience, people with less experience are much less likely to know when a tool is shit and instead assume that any shortcomings are actually par for the course and that no better options exist.

Whenever I use a tool and I find something is difficult to do, I try to take short break to find out if the tool I am using is really optimal for the work I am doing. I am pleasantly surprised (in programming and many other areas such as even DIY) when I find out that there is in fact a better tool which is a pareto improvement over what I am currently using. Take, for example, a can opener. Many people use can openers which cut down from the top into the tin. For years now a new type of can opener has been seriously failing to take the can opener market by storm (because not only do can openers not break that often, but they're so deeply standardised that nobody would recognise anything else in a shop if it was sold). This type of can opener cuts in from the side, with a much more precise blade, without creating a ragged edge burr, without requiring you to fish the lid out from the can, while creating a lid for your newly opened can. Yes I'm talking about the can opener from the technology connections video[0].

In summary, don't obsess over tools, the latest over-hyped library/framework/language/editor/IDE will probably not make your life 100 times easier, but DO learn to ask yourself if the tool you are using is really the best. Learn to modify your tools for the better. Learn the important skill of telling when you're making your life more difficult than it could be. It will make your life easier, I promise.

[0]: https://www.youtube.com/watch?v=i_mLxyIXpSY