A properly prepared team can make or break an expensive development effort. When I prepare a team to work together on an application, I like to keep four distinct documents in the source code that detail how the application works, how it is programmed, how to use it, and what we are working on. In […]
Why PhD’s are Great Hires as Programmers
In 2017, there are a lot of programmers in the world. The talent pool is enormous. As languages evolve and technical education becomes more accessible, a growing number of professionals are either self-taught or converted from another area of expertise. At the same time, computer science curricula in universities are evolving to focus on more […]
Managing Developers in Unfamiliar Languages: A Data Scientist’s Perspective
Overview Data scientists are often very cloistered in the world of software development. We are noble purists that value elegant math and efficient logic. As a data scientist turned project manager, I have some pieces of wisdom for managing developers working in unfamiliar domains. A few examples of situations this can apply to: You need an […]
Designing Python for Concurrent Development (for Teams)
Overview It is often impossible to meet a deadline with an army of one. For this reason, many codebases and frameworks designed to allow multiple developers to modify and add components, simultaneously and independently, without creating unexpected problems elsewhere in the codebase. We will classify such codebases as modular. We will explore existing modular codebases […]