Programming Philosophy

I have over a decade of industry experience and have full university degrees in both computer science and physics. I can rapidly learn and master new skills. Core Javascript has been my primary language ecosystem for the last 10 years, since IE6.

My intrinsic motivation is to solve ever more complex and valuable problems; this requires me to remain constantly learning and forever seeking greater mastery over my own skills. I am still learning how to program computers, half a lifetime is not nearly enough time to fully master this beautiful artform.

I believe in the three virtues of Hubris, Impatience and Laziness. My preferred management style is the combination of critical path and structured procrastination, whilst working towards high-level business goals and fully-automated production-deployment of critical infrastructure.

My computer programming style is very thoughtful. I try to consider the full project lifecycle implications of each programming decision and why none of the alternative options are better. A linguistic first development style starts with the question: Ideally, how would you like to express this problem’s logic and information? Good language allows complex concepts to be communicated with minimal human cognitive load. Bad language forces you to think about the language itself rather than the problem at hand. Human cognitive load is one of the most scarce technical resources in all of problem solving.

I want your most difficult problems.