After many tries of free and open source libraries for official projects and my personal hobbies, I find out the only thing that I can do is either applying them to concrete problems instead of solving a class of problems after mathematical abstraction, or merely playing the role of “glue” by integrating a morsel of functions with other tools just to form a work flow. Then I realize that without a complete and solid mathematical foundation, I cannot contribute too much to existing software libraries, like optimizing the performance, implementing new algorithms, improving the architecture, etc. This means I can only become a proficient user but never an ingenious maker with elegant design concepts and required craftsmanship, or become an experienced engineer but never a real expert with systematic knowledge and logics.

Therefore, it is necessary to keep a habit of learning and practicing mathematics through my whole career life. To be, or not to be, that is a question!

Reference: PhD Manifesto