How Writing Open Source Tools Enhanced My Problem-Solving Skills