Today, I want to tell you about my latest project, Dev Concepts, a collection of 12 e-books about Software Development, which is currently on pre-order.

Update 2021–05–30: You can now buy the second volume, dedicated to uncovering what users need and how to build truly great products.

Update 2021–03–20: You can now buy the first volume, dedicated to the software craft, how to acquire all the important skills, and become a true crafter.

As some of you might know, I’m the author of a book about the TypeScript programming language. It was my first experience with the publishing world and…


Now that we’ve clarified a bit what software development is and how software engineering differs, let’s look at the difference between software developers, software engineers, coders, and programmers. Please note that this is a personal opinion, and depends on the context; there’s no universal truth here.

This content is part of my Dev Concepts series.

Is there really any difference?

Let’s answer a seemingly simple, but important question: what is a software developer, engineer, coder, programmer? Well, like many things in IT, the answer is “it depends”.

Usually, I use those terms interchangeably, because I consider that all the people who write code should actually…


The difference between software development and software engineering.

In this article, I’ll share my personal take on the difference between software development and software engineering (SE). It is a personal opinion, so take it with a grain of salt.

This content is part of my Dev Concepts series.

So what is it about?

Many people may tell you that both terms refer to the same concept. Personally, I don’t agree. The way I see things, software development is the “what” (i.e., the activity) and software engineering is broader; it corresponds to the “what” and the “how” (i.e., the process, the approaches, the methodologies, etc).

NOTE: Before going any further, I want to clearly…


Software development is everywhere. But do you understand what it is about? Is it really clear for you?

In this article, I’ll explain what software development is, as seen from where I stand, fifteen years into the IT industry.

So what is it about?

Fundamentally, creating software means writing source code that, once transformed into machine code (i.e., code executable by a computer) by a compiler (i.e., sort of translator) gives instructions to the computer so that it can fulfill some useful function. Those instructions define the behavior of the software. …


Angular 12 has just been released. Time to discover what’s new!

In this article, I’ll go over (almost) everything noteworthy in this brand new release. I’ll also highlight what’s changed around Angular, just like I did with my previous articles about Angular 11 and Angular 10.

If you’re just looking for the bird-eye view, then check out the official release announcement. Here, I’ll dig much deeper into the release notes.

Join the Ivy league…

The Angular team has been working on Ivy (the new compilation & rendering pipeline) since 2018. It was finally released with Angular 8. Since Angular 9, Ivy has been the…


and how to use it right now

Learn how to migrate your applications to Tailwind 2.1+, and how to enable Tailwind’s Just-In-Time mode.

Update 2021–04–06: Adapted the content after the release of Tailwind v2.1

About two weeks ago, Adam Wathan announced a new Tailwind experiment: Just-In-Time. Since then, Tailwind 2.1 has been released and it introduces official support for this new feature.

In this article, I’ll tell you what it’s all about, and how you can take advantage of it.

WARNING: Tailwind’s Just-In-Time mode is still in preview at this point in time. …


Picture courtesy of Kevin Grieve

In very rare circumstances, you might want to delay the loading of your Angular application. In this article, I’ll show you how you can do it.

Warning: Don’t do this lightly. Carefully evaluate if you really need to do this, as it can have a devastating effect on user experience!

Angular module import side-effects

In my previous article, I’ve briefly explained the Angular application bootstrap process. One thing that I mentioned there is that the import statements remain at runtime, and are taken care of by Webpack.

What I didn’t mention though is what happens as soon as Webpack imports an Angular module; for…


Did you ever wonder how Angular applications start up?

In this article, I’ll give you an overview of how Angular applications are bootstrapped. Note that this is an article for beginners, not a deep-dive.

High-level process

For an Angular application to start, multiple things have to happen within the Web browser:

  • The HTML of the entry point must be loaded
  • The different JavaScript bundles of the application must be loaded
  • The main bundle of the application must be executed
  • The main bundle must load Angular and trigger the bootstrap of the root Angular application module
  • Angular must bootstrap the root Angular application module, and render the application

Let’s look at those…


Last month, I wrote a lengthy post to share my story as a SaaS startup founder: https://medium.com/swlh/20-months-in-2k-hours-spent-and-200k-lost-a-story-about-resilience-and-the-sunk-cost-fallacy-69fd4f61ef59

This is what happened next.

Picture courtesy of Drew Beamer

In that article, I’ve explained what I’ve gone through during the previous 20 months; all the time and effort spent trying to create a product, and not succeeding (yet).

I wrote that honestly, sharing my thoughts about the ups and downs, and the struggle to accept or reject the idea that I had fallen for the sunk cost fallacy.

In this article, I’m sharing my lessons learned since last month, and how writing that article last month influenced…


Recently, I’ve been doing some research around Next.js & GraphQL.

After looking into the back-end side (which I’ll write about another day), I wanted to test drive some libraries for querying my GraphQL API.

Of course, since I was using Apollo on the back-end, it made sense to go full-circle and use Apollo on the “client-side” too.

In this article, I’ll explain how I’ve integrated it into my Next.js application. Since you know me, it should be obvious that the application uses TypeScript!

Note that I’m no Next.js specialist (nor a React one :p) and thus, I might be wrong…

Sébastien Dubois.

Author, CTO. Subscribe to my newsletter: https://mailchi.mp/fb661753d54a/developassion-newsletter. Follow me on Twitter https://twitter.com/dsebastien

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