Lessons learnt from working with the monorepo-style codebase

I was always intrigued by a monorepo as a way to organise the codebase. Famously, a bunch of internet giants like Google, Facebook, Twitter, or Dropbox store their whole code in a single repository. If they do it, it must be the way to go, right? Six months ago I landed a gig where the majority of the company’s code lived in a single repository, and I had a chance to experience it myself.

What is monorepo?

Monorepo (or monolithic repository) is a way to store the source code of two or more independent, or…


Being a programmer in the modern age is not only about technical mastery and craftsmanship. It’s about making decisions and good choices. It’s about doing the right thing.

On one hand, it’s very easy to fall into a trap of procrastination. The world around us provides a multitude of stimuli which do not help with focus. I’m as easily distracted as a toddler on a walk outside. I’ve learnt that with a bit of discipline (phone in a flight mode, turning off Slack), and setting a Pomodoro timer on, I can relatively easily enter a deep and focused work state.


Introduction

Test-Driven Development (TDD) has become one of the core tools in the toolbox of a modern developer. Its practice is often considered as a manifestation of professionalism in software.

Test-Driven Development cycle

I’ve been doing TDD for over a decade. Every project I worked on acquired a slightly different approach. I can easily name specific techniques, like state or interaction testing, test doubles, mocking, growing application bottom-up, or broad-brush design. But there was always something missing, a common term which would group these sometimes contradictory techniques, and put clarity on benefits or risks associated with a given technique. One conversation (hi David!) has…

Maciej Falski

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store