Data structures — Stack
Data structures — Stack

When I was studying Computer Science at the University, one of the most difficult classes was about data structures. We were using C to learn and build it and there were some people repeating the classes even for the 5th time.

Recently I wanted some inspiration to write and I decided to tackle this subject. One of the most difficult things when you're learning it for the first time is to figure out real-life situations where you could apply it and break the abstraction.

Today I picked a very simple structure to talk about: the Stack.

Stack structures are based…


Recently I was looking for a way to help my team to reflect about how we are performing and how we could do things better.

In every good team, it's very common to find people that might always think everything looks good, and many times it can be the case that you ask the team members what they think we could do to improve things, and they don't have an answer as, for them, maybe everything was already going well. Believe me… Over the years I've even heard things like:

I think we don’t need retrospective because we’re all doing…


Are you familiar the with data provider pattern for unit testing? In Php and Java, it's very common, but it feels to me that in the Javascript world this is not very popular.

Javascript unit test displayed inside VSCode
Javascript unit test displayed inside VSCode

Sometimes you might get yourself in a situation where you need to test the same method or function with a variety of different parameters. This is very common and when it happens we have two usual ways to deal with it:

  • write a new spec for each combination of parameters
  • write one spec and use data provider approach

For the sake of this article, I'm gonna use…


Besides being a software engineer, I also play the role of Scrum master for my team. Time management is really challenging sometimes and it's important to use it efficiently, both for the company, the team and myself.

In this post, I want to share with you a very simple, but efficient approach I'm applying for running retrospectives in my team. The first time I used it was in 2012, in a team with around 12 people. As you can imagine, it was a bit bigger than the usual recommendation of 7 people. …


Last week I decided to try something new in the company that I work in. Something I’ve been thinking about for months, and finally had the opportunity to turn into reality.

I came up with an experiment where I used a ps4 game to demonstrate the importance of having a process and keep constantly improving it.

The chosen game is called Overcooked 2, and you'll soon understand why.

Overcooked 2 is a chaotic co-op cooking game for 1–4 players in which you must serve a variety of recipes including sushi, pasta, cakes, burgers and burritos to hungry customers in a…


Living in the frontend ecosystem it's very common to listen to people saying how fast the community is evolving. This is true and it's one of the reasons why we are more and more enable to build and ship new and amazing things.

This is even truer when we think about the frameworks we have and how fast new versions are being released, and many even include Javascript(JS) itself in this comparison. But… was it always like this?

Image for post
Image for post
ECMAScript/Javascript releases timeline

As you can see in the image above, there was a huge gap between 1999 and 2009, and during this time, Javascript…


How do peerDependencies work?

In a nutshell, peerDependencies are a way to “warn” projects that might use your, let's say, plugin, that this plugin requires specific dependencies to be able to work properly, and these dependencies have to be installed in your root project.

WTH does it mean in practice?

Let’s say you’re creating a plugin written in React, and you decided to use Hooks, which was officially released in react 16.8.0. Since Hooks is not available to previous versions of React, we need to be careful about this detail.

Now, imagine a project wants to use your plugin, but…


In my last post, I mentioned how JavaScript is evolving fast and listed all the features that will be standardized in the language in the next release this year.

Today I want to talk about JSON superset, so just to keep track of what I've talked so far, here goes the list of the ES2019 (or ES10) features:

JSON Superset

We all know JSON as a lightweight format for data interchange. …


As we all know, in the past years JavaScript has been evolving pretty fast and sometimes it's hard to keep track of many new features that are being released.

Since 2015, the Technical Committee 39 (TC39) decided to release a new version per year. This is when the term ES.Next became popular (or also ES6+). What happens is that they have a process (which I'll talk about in a future post) where they include in the next release all features that are finished by that year (or release date).

Today I will talk about one of the upcoming features that…


I've been working as a web developer since 2010 and besides different programming languages, one of the most common things we developers usually try a lot is different IDEs or text editors.

While working as a full stack developer with Php, I've used Aptana, Eclipse, Dreamweaver (haha), Notepad++.

When working as a full stack developer with Java, I used NetBeans and also Eclipse.

When I started working more focused on frontend development, I was very happy to leave Eclipse and migrate to Sublime Text. …

Sérgio Vinícius de Sá Lucena

Passionate front-end developer

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