Today, I want to tell you about my latest project; the Dev Concepts book, which you can already pre-order now (there’s a limited early-bird offer for the first 100 customers).

Image for post
Image for post
Picture courtesy of Anastasiia Chepinska

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 it taught me a lot. The writing experience in itself was interesting, but seeing people reading and learning from my own book felt great.

I want to continue to contribute to the IT community, and writing is my main medium for now. …

Office plugins (desktop & OWA) can be developed using standard Web technologies, but the templates of Microsoft are “dated”.

Image for post
Image for post
Picture courtesy of Pedro Santos

Using the Web platform to develop Microsoft office add-ins is pretty cool. Unfortunately, at least at this point in time, the template offered by Microsoft to generate Angular-based projects is quite “old-school” and not in phase with modern Angular/Web/TypeScript development.

In this article, I’ll show you that we can do better and use a standard Angular project and integrate what’s needed to make it work as an Office add-in.

Let’s get started!


  • Forget about the official Yeoman generator for now (yo…

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

Image for post
Image for post

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 Angular 10 in depth article.

If you want a helicopter view of what’s new, then check out the official Angular blog. Here, I’ll try to dig much deeper into the release notes.

As a reminder, the Angular team tries to release two major versions per year; so Angular 12 should arrive early next year.

If you’re missed the previous article about Angular 10, then go check it out too. …

Mocking overloaded TS methods with Jest is not hard per se, but you have to know how to do it.

Image for post
Image for post
Picture courtesy of Ammar Sabaa

In this article, I’ll explain the “issue” and how to work around it.

The “issue”

Method overloading is a very familiar concept for any developer used to Object-Oriented Programming (one of many that I’ll explain in my upcoming book by the way).

With method overloading, you can define multiple methods/functions with the same name but with different signatures. Overloading can be nice to use as a specific implementation is called depending on the parameters that you pass.

Of course, method overloading is a useful concept and not an issue on its own at all. While testing though, it can prove a bit difficult to mock overloaded methods with TypeScript. …

Because nested code is bad for mental health

Image for post
Image for post
Picture courtesy of Thais Cordeiro

Often, when I look at code written by juniors, I see a lot of nested code. In this article, I’ll try to articulate why it is problematic and what to do instead.

A trivial illustration of the issue

Let’s look at a trivial example together:

This function is simple enough; it either receives an input, or it does not. As it stands, almost all of the code of this function is “protected” by an if statement. That is, almost none of the code will execute if the condition is not met. If it isn’t, then there’s a single log statement to execute.

For such a simple function, this isn’t a big issue, but it is an issue nevertheless. …

Moment.js is on the way out, but if your project is using it and you’re missing a validator or two, you can still extend it.

Image for post
Image for post
Picture courtesy of NeONBRAND

Class-validator is a pretty popular JS/TS validation library based on decorators. It provides many built-in validators, but can also be extended quite easily.

As stated in the introduction, I know that Moment.js is now deprecated (and actually has been for quite some time), given its long-standing issues (bloat, lack of support for tree shaking, mutability, etc). …

Zoey est de retour

Zoey regardait au loin, perdue dans ses pensées…

Image for post
Image for post
Image de Daniel Jensen @ Unsplash

Celà faisait une éternité qu’elle n’était pas revenue ici. Depuis la mort de ses parents, elle n’avait plus jamais remis les pieds à Arkham. Il faut dire qu’au vu des circonstances, les services sociaux n’avaient pas eu d’autre choix que de l’éloigner. Ses parents ainsi que sa soeur, sa seule famille, avaient perdu la vie dans l’incendie.

L’école d’Arkham se trouvait juste de l’autre côté de l’avenue. Il aurait été bien trop douloureux pour Zoey de rester et de grandir si près du lieu du drame. Il ne restait pour ainsi dire rien de la maison de maître qu’elle avait habitée jusqu’à ce jour fatidique, peu après son sixième anniversaire. Des larmes se mîrent à couler le long de ses joues mordues par le froid, tandis qu’elle contemplaît les ruines de son ancienne habitation. …

Teams are way more fragile than you can imagine. Here are ten more things that can demolish one.

Image for post
Image for post
Picture courtesy of Tom Pumford

Forming a team is no easy task; you have to find the right profiles at the right time, with the right set of skills, with a ton of motivation and a little bit of alchemy. Making one great is even harder. Great teams form and stay strong thanks to a number of factors. Small changes can have devastating effects.

In my previous post, I’ve explored some of the things that can quickly destroy a team. In this follow-up post, I’ll explore more anti-patterns.

Don’t take breaks

It’s easy to burn a team out. If you ask everyone to give 120% all the time, it cannot last for long. …

Great teams are hard to craft but much easier to break.

Image for post
Image for post
Picture courtesy of Jilbert Ebrahimi

In this article, I’ll discuss some issues that can quickly destroy a team.

Whether you’re the management/team leader or a member of the team, there are many aspects of team dynamics that you can deeply influence. Be careful because what you do and what you accept can have a long-lasting impact on your team.

Don’t listen to your team

If you’re leading a team, then you need to have enough confidence/trust in the group as a whole. …

Junior team members should never be left alone.

Image for post
Image for post
Picture courtesy of Sasha Freemind

In this article, I’ll share my thoughts about why junior team members need to be well accompanied, for a sufficiently long period of time.

History repeats itself

I’ve witnessed this mistake time and time again in my career. Some junior, fresh out of school joins the organization, gets some attention during the first few weeks, then gets “abandoned” on a legacy project or maintenance work. Of course, silent disaster ensues.

This mistake is made for many different reasons (mostly bad ones) or simply because of a lack of attention. So what’s wrong with this situation?

Productivity killer

The gap between school (i.e., …


Sébastien Dubois.

Author, CTO. Subscribe to my newsletter: Follow me on Twitter

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