Never Develop Alone
You Stand On the Shoulders of Giants
2 min read
It's easy to feel isolated as a developer--especially in the era of remote work. This feeling is exacerbated for those who work on small teams or as individuals. I know, because for most of my career I have been both remote and an individual.
It isn't unusual to get discouraged when working through problems on your own. When you find yourself in this situation, stop. Take a breath. Go for a walk. And remember that you're not alone.
Odds are, you're developing a project that relies on third-party libraries. Often times, these libraries will update or fall behind, causing your code to break. When this happens, don't despair! Use that noggin of yours. Read code from your dependencies. Get to the root cause of what's happening. Once you are sure that the fault lies with a library you depend on, open an issue on the maintainer's repository!
I have had times when I leave work on a Friday with a pristine, working codebase only to return on Monday and have my builds fail. It's easy to grow frustrated, especially when you feel like you have no one to turn to. But there's always someone to turn to in this day and age.
In my experience, the issues that you'll encounter as a consumer of a third-party library are one of two types: a library that doesn't do something that it used to do, or a library that doesn't do something that it should (or could) do.
In either case, the maintainers (assuming you're using a maintained library--I recommend sticking to maintained libraries) will be more than happy to help. Reach out to them! Submit a ticket (in the format that the maintainers request), and communicate with them as they work to solve your issue. They're here to help!
I've had breaking changes resolved by maintainers within twelve hours of opening a ticket.
This won't always happen. Some projects are bigger than others. But do your best. Communicate the blockers you encounter with their repository and then do your best to create a workaround. In your code, add a comment to describe the ideal solution, link the issue request, and merge your workaround. Don't forget to share your solution, as it might be relevant to improving the usability of the library!
In this day and age of development, we're mostly just combining existing building blocks in new and exciting ways. Then, we just sprinkle some unique business logic on top of that foundation. You're not alone--even as an independent developer. You're standing on the shoulders of giants. And many of them are still alive, well, and happy to help you solve new and exciting problems.