Sign in

Senior Front End Developer passionate about the web and all the latest tech 🌐

An overview of the new ES12 specs

“JS” set to yellow background with launch emoji
“JS” set to yellow background with launch emoji

The new ES12 specs are finally here. Specs? JavaScript is indeed not an open-source language. It’s a language written following the ECMAScript standard specifications. The TC39 committee is in charge of discussing and approving new features. Who are they?

“ECMA International’s TC39 is a group of JavaScript developers, implementers, academics, and more, collaborating with the community to maintain and evolve the definition of JavaScript.” —

Their release process is composed of five stages. Since 2015, they have been doing yearly releases. They normally happen around springtime. The next proposal date for approval is on June.

There are two ways…

A journey toward finding the right tool for the right job

computer screen showing CSS
computer screen showing CSS

Flex and Grid were the most welcome changes in the Browser layout history:

  • Flexbox first working draft was published on July 23, 2009. Eleven years later it’s amazing to see that the support for it has just skyrocketed: Its usage is supported on about 99.2% of browsers.
  • Grid was initially drafted by the Microsoft team and shipped to Internet Explorer 10 in 2011. Nowadays it has great Browser support: 96%. However, Grid is continuously evolving, adding features such as subgrid that might be only available in a small browser subset. …

“KISS,” “DRY”, “YAGNI,” and more

Image of man drawing architecture
Image of man drawing architecture

Being a good programmer is a mix of skills and some common sense. It is all about being pragmatic and knowing what is the solution that fits better your problem. When facing a challenge, there are some software principles that will guide you in choosing the most correct approach.

Those are a set of guidelines every developer should know and revisit from time to time. Think about them as your secret sauce when programming.

Consistently applying those principles will make your transition from mid to senior software engineer easier. …

Improve your TypeScript knowledge with these must-know features

Code on a laptop
Code on a laptop

TypeScript’s influence is growing by the day. It is now the go-to companion tool for any new web/Node project. The benefits of using TypeScript cannot be overstated. However, it is important to know and understand all the tools that this superset of JavaScript has at our disposal.

Are you investing time in improving your Typescript skills? Are you trying to make the most out of it? Sometimes by not using the right TypeScript’s features and not following its best practices, there can be a lot of code duplication and boilerplate.

In this article, we will be looking at the five…

Tips to avoid memory leaks in your web apps

Computer chip
Computer chip

JavaScript doesn’t provide any memory management primitives. Instead, memory is managed by the JavaScript VM through a memory reclaim process. That process is known as Garbage Collection.

Since we can’t force it to run, how do we know it will work properly? What do we know about it?

  • Script execution is paused during the process.
  • It frees memory for unreachable resources.
  • It is non-deterministic.
  • It will not inspect the whole memory in one go but will run in multiple cycles.
  • It is unpredictable. It will execute when necessary.

Does that mean we don’t have to worry about resources and memory…

A deep dive into the ::before and ::after pseudo-elements in CSS

CSS logo
CSS logo

A CSS pseudo-element is used to style specified parts of an element. As a recap, let’s check the reference on the Mozilla developer network:

“A CSS pseudo-element is a keyword added to a selector that lets you style a specific part of the selected element(s). For example, ::first-line can be used to change the font of the first line of a paragraph.” — MDN Web Docs

The list of available CSS pseudo-elements is not very long. However, it is important to get familiar with them. Each one serves a specific purpose. They can greatly improve your web code base.


Log, monitor, and report unexpected Lambda errors

computer screen with the message “failed to load resource” repeated on every line
computer screen with the message “failed to load resource” repeated on every line

Amazon Lambda was once the start product in the AWS ecosystem. It started the serverless trend and changed backend infrastructure forever. Seven years after its launch, it has become the cornerstone of AWS services. It plays a key role in their interoperability.

AWS Lambda has other features which makes it an indispensable tool:

  • pay-as-you-go, which means saving on costs when not used
  • completely event driven
  • supports multiple languages
  • scalable

On the flip side, it is so easy and simple to use that developers tend to forget to apply some best practices:

  • It needs to be properly tested with unit tests.

how innovation is constantly reshaping an entire industry

The gaming industry is outperforming expectations yearly. Global revenue for 2020 is estimated at about $163 billion in 2020. Want to put that into context? It is more money than the sports and movie industries combined! It is expected to reach $300 billion over the next five years.

In the beginning, it was nothing more than an experiment in a lab. Ralph Baer and his “Brown Box” was the father of gaming. It transitioned those lab experiments into what we know today as gaming. Since then, gaming has constantly evolved into how it monetizes its content. …

Level up your team’s productivity with these Slack apps

Slack was born in 2013. Despite having a rough start, being hacked in 2015, they succeeded in becoming the world’s go-to solution for team communication.

Why did they have such success? Prior to Slack tools like Google talk and Skype were used for Team Communication. Why were they bad? Because they were not built with that purpose. Slack, on the other hand, was built specifically for team collaboration and communication.

So why is the platform so good? What does it provide?

  • Workflows: Provides a no-code solution to automate routine tasks, using predefined triggers and steps.
  • Slack apps: Uses a range…

Use the overload feature to create more comprehensive and readable function types


If you have a background in any typed language, you are probably familiar with the concept of overloading. If not, let’s quickly recap what it is:

“In some programming languages, function overloading or method overloading is the ability to create multiple functions of the same name with different implementations. Calls to an overloaded function will run a specific implementation of that function appropriate to the context of the call, allowing one function call to perform different tasks depending on context.” — Wikipedia

It is a useful feature. Given that Javascript is not typed, is it posible to use implement it…

Jose Granja

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