Onboarding a new colleague is not easy. It takes a lot of time, energy and preparation. Other work is ongoing so the goal is to get the new team member up to speed as efficient and quick as possible. The candidate is excited about his new adventure, perhaps nervous about all the new people and the challenges ahead and soon tired from the waterfall of information provided by his new team members. Here’s a practical guide to making onboarding process a nicer for both the company and the new team member.

Photo by Etienne Boulanger on Unsplash

1. Create an owner of the process

Onboarding is a process. Somebody needs to own it…


When developing your applications you inevitably come across situations where you need to create functionalities/features or even functions which are similar, but spreaded over multiple components or even modules. This means you have to find a solution for code reusability to keep your code maintainable. In Angular, and Javascript applications in general, there are many patterns and solutions to set this up. As Angular is entirely Class based, inheritance could be a solution. Here’s why that might not be the best solution.

Photo by Kalen Emsley on Unsplash

The problem with inheritance in Angular

For you who don’t know what inheritance is. Inheritance is a way to extend your code with functionalities…


Mapping data is a common operation while writing your program. When you use RxJS in your code to produce your data streams it’s very likely you eventually need a way to map the data to whatever format you need it to be. RxJS comes with a ‘normal’ map function, but also has functions like mergeMap, switchMap and concatMap which all behave slightly different.

Photo by Dennis Kummer on Unsplash

The map operator

The map operator is the most common of all. For each value that the Observable emits you can apply a function in which you can modify the data. The return value will, behind the scenes, be reemitted…


When i started to get the hang of Observables it took me quite some time to understand what is meant by a hot or a cold Observable. Once i started to grasp the concepts i better understood how my Observables where behaving. Hence i’m going to explain it to you, the easy way.

If you’re not sure that you already understand how Observables work in general, i would recommend to first read my other article: Understanding, creating and subscribing to observables in Angular.

Photo by Emily Campbell on Unsplash

To understand the concept of a hot and cold Observable it’s good to always refer to what…


The ECMAscript 6 specification introduced a new syntax which makes it easier to get values out of arrays and objects. We call this syntax “destructuring”.

Photo by Dayne Topkin on Unsplash

The destructuring assignment syntax with Arrays

The destructuring assignment syntax allows you to easily get values out of arrays and objects while using an array or object literal like syntax. This syntax is very short and very easy to read.

Without using the destructuring syntax getting multiple values out of an array can be quite cumbersome. You would do something like this:

With the destructuring assignment syntax this can be written like this:

Pretty neat, right? Let me explain…


Subjects are used for multicasting Observables. This means that Subjects will make sure each subscription gets the exact same value as the Observable execution is shared among the subscribers. You can do this using the Subject class. But rxjs offers different types of Subjects, namely: BehaviorSubject, ReplaySubject and AsyncSubject.

If you think you understand Subjects, read on! Else i would suggest to read my other article about Subjects: Understanding rxjs Subjects.

Photo by Cory Schadt on Unsplash

The BehaviorSubject

One of the variants of the Subject is the BehaviorSubject. The BehaviorSubject has the characteristic that it stores the “current” value. …


Rxjs is great. It helps you with composing and subscribing to data streams. You probably do this a lot with “plain” Observables. Rxjs however offers a multiple classes to use with data streams, and one of them is a Subject.

If you think you understand Observables, read on! Else i suggest you to read more about it in my other article: Understanding, creating and subscribing to observables in Angular.

Photo by Anvesh Uppunuthula on Unsplash

Subjects

A Subject is like an Observable. It can be subscribed to, just like you normally would with Observables. …


Whenever you do an HTTP request, there are things that could go wrong. If things go wrong the request will return a response with an error code. Based on this error code you for example want to inform the user what went wrong. now, would it be handy if you can put this logic in one place and reuse it everywhere? Read on!

Photo by Duffy Brook on Unsplash

You can only deal with http errors if you attach a catch to your request. This can possibly look like this:

When your application grows, the amount of HTTP requests increases as well. Attaching a catch


Last summer MapD open-sourced their technology and made it available for everybody. At that moment me and my colleagues at Dimebox where working on a POV for a potential big client which we had to impress. Our data analytics capabilities where already advanced, but couldn’t handle a lot of data due to the fact it worked client side. We decided to hop on the MapD-train and the results thus far are pretty amazing.

My example dashboard can be found on: https://github.com/luukgruijs/mapd-examples

MapD is a GPU database platform. It consists of a few standalone packages that work together. These are:

  • MapD Core: an in-memory, column store, SQL relational database…

When building an API with Node, Express and MongoDB you can choose Mongoose as your ODM. Mongoose helps you to easily do CRUD operations. When your API grows, usually the amount of models grow and therefore also the amount of express routes grow. In a lot of cases those routes just do simple create, read, update or delete operations. If those routes do not contain any other logic it would be nice if we can just forward the request to a reusable shared function which takes care of the request, right?

by Matteo Catanese on unsplash

well, yes! Abstracting easy logic can help speed up…

Luuk Gruijs

Dev lead @ Founda. We are hiring: https://jobs.founda.com/

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