Knowledge Points
- 1 minOne of the tenets of craftsmanship is knowing your tools. In the software world this means knowing the language you are using, the version control system and others. This is not an easy task considering how complex many of these tools are.
One of the stories we had for this week’s iteration involved looking into why our system could not perform concurrent successful calls to an external API. After an awfully good amount of time, we discovered that the issue was with the library we were using to make HTTP calls. It became obvious when we swapped it out for another library which worked fine. An issue on the Github repository of the offending library also seemed relevant but until this point we didn’t really have the need for concurrency thus why we didn’t notice it.
Knowing your tools is certainly very important but there’s always a limit to what you can learn within a specific amount of time. The key is learning as much as possible from experiences like the above. A debugging issue like this is a bitter sweet experience. It can be considered time-wasting in hindsight but when you’re in the moment you don’t know that. The knowledge points are realised later.