How to manage technical debt with a small team

I'm a self-taught programmer* and the CTO at SharpestMinds, where we have very small team (we just recently went from N=3 to N=4) and our engineering and development team consists of mostly just me. After leaving my PhD in Physics, I've learnt to code almost exclusively by building. Inevitably, I've had to refactor a lot … Continue reading How to manage technical debt with a small team

Building habits and breaking into data science

I sat down with Jeremie Harris recently (co-founder and COO of  SharpestMinds) for the Towards Data Science podcast. We talked about quitting a PhD, learning programming and data science from scratch, and what habits can help you get there. Listen below on Spotify, or find it on your favourite podcast streaming service! https://open.spotify.com/episode/4Dhzr3lCWzDMe1OrUGjryP?si=jGx5vGROQUCeM7zM7C9Scw

Why it’s so hard to estimate the time to build software

Estimating the time for software projects is notoriously difficult. This is because the majority of the work in most software projects is "discovered" work. Work that was not obvious while planning that is discovered when implementing. If you've done any serious programming work, you'll know what I'm talking about. "Turns out this 3rd party API … Continue reading Why it’s so hard to estimate the time to build software

Designing at the right level of abstraction

As SharpestMinds matures as a company, good design is becoming increasingly important. For most of the company's lifetime, we embraced a design-on-the-fly, just-make-it-work attitude. Without much more than a text or verbal description, we would simultaneously plan, implement, and design new features for our web-app. This approach worked well enough while we iterated towards product/market … Continue reading Designing at the right level of abstraction

When to scrap the codebase and start from scratch

This is one of those decisions that is so context specific that almost all advice on it is worthless. Nevertheless, I thought I'd share the story of when I had to make this decision as a beginner programmer. There may be a lesson or two. In the summer of 2018, SharpestMinds was a platform for … Continue reading When to scrap the codebase and start from scratch

Physicist to Programmer: bottom-up vs. top-down learning

Two years ago I left a PhD in physics, joined a startup, and taught myself to be a software developer. I had to radically alter the way I learned and approached problems. An education in physics is very much a bottom-up approach. Before you can grasp the intricacies of electromagnetism, quantum mechanics, and general relativity, … Continue reading Physicist to Programmer: bottom-up vs. top-down learning