Photo by Steven Lelham on Unsplash

Those who work with me know that I’m always obsessing about performance. Words like critical rendering path, bundle size, and frames-per-second are a common thing around the office. But it’s all for a good reason.

Performance should be a first-class citizen in software engineering.

Having a strong performance culture in your team can ensure that you mitigate any risks associated with bad performance ahead of time.

But why is it so important? And what are those risks?

Why Performance Matters

Remember that as web developers, our goal is to create the best possible experience for our users.

Performance is about usability

There are many studies ([1], [2]


A closer look at the feature that allows you to build universal applications with React

Photo by Lukas Neasi on Unsplash

Server-Side Rendering — SSR from here on — is the ability of a front-end framework to render markup while running on a back-end system.

Applications that have the ability to render both on the server and on the client are called universal apps.

Why Bother?

In order to understand why SSR is needed, we need to understand the evolution of web applications in the past ten years.

This is tightly coupled with the rise of the Single Page ApplicationSPA from here on. SPAs offer great advantages in speed and UX over traditional server-rendered apps.

But there is a catch. The…


Endless possibilities of composing and reusing functionality

Let’s take a closer look at some of the patterns that are emerging in the React ecosystem. These patterns improve readability, code clarity, and push your code towards composition and reusability.

I started working with React about 3 years ago. At that time, there were no established practices from which to learn in order to leverage its capabilities.

It took about two years for the community to settle around a few ideas. We shifted from React.createClass to the ES6 class and pure functional components. We dropped mixins and we simplified our APIs.

Now as the community is larger than ever…


JSHeroes is a first time experience for all of us in terms of organizing such a massive event. We are 100% dedicated to achieving our goals, but even though we are still in the process of getting through all the details of the first event, we already started capturing a few learning points for next year.

The speakers selection process is at the core of organizing such an event and we really put a lot of effort into building — bias detected — one of the best lineup at a tech conference in Romania.

From the outside, the process may…


The IT industry is very interesting and unique in its way. On one end it is demanding and has a high entry barrier. On the other end, it is friendly and welcoming to newcomers. Or at least it should be.

Companies go to extreme lengths to keep their employees happy and connected to their business. But most of the times they do it for their own benefit, not for the benefit of the employee.

People need to stay connected to the industry and to technology. …


Organizing your code for the long term

How does your front-end application scale? How do you make sure that the code you’re writing is maintainable six months from now?

Redux took the world of front-end development by storm in 2015 and established itself as a standard — even beyond the scope of React.

At the company where I work, we recently finished refactoring a fairly large React codebase, adding Redux instead of reflux.

We did it because moving forward would have been impossible without a well-structured application and a good set of rules.

The codebase is more than two years old, and reflux was there from the…


In recent years, we started drawing two separate career paths for developers: front-end and back-end. But we often forget about the third option — full-stack.

Full-stack development has been around for quite a while. It used to just be called “development.”

But due to increasing complexity, our user interfaces are now decoupled from much of the logic behind them. We now have the two distinct worlds of front-end and back-end development.

Let’s explore the idea of full-stack development, and see whether it’s still a relevant option considering all the challenges associated with going down this path.

I work as a…


More and more front-end developers are adopting unidirectional architectures. So what’s the future for the classic Model-View-Controller (MVC) approach?

In order to understand how we got to this point, let’s first review the evolution of front-end architecture.

Over the past four years, I’ve worked on a great deal of web projects and spent a good amount of time architecting front ends and integrating framework into them.

Before 2010, JavaScript — that programming language jQuery was written in — was used mostly for adding DOM manipulation to traditional websites. Developers didn’t seem to care much about the architecture itself. …


Image courtesy of https://xkcd.com/

No one sets out to write ugly, inconsistently-styled code. It just sort of happens.

Even as the only developer on a project, the more time that passes and the more code you crank out, the harder it gets harder to maintain a consistent code style.

That’s why you need a style guide.

I’ve experienced first-hand how much more teams can accomplish after adopting a style guide.

You no longer need to make little style judgement calls throughout the day. Just consult the style guide.

And when a teammate needs to maintain your code, it’s clean code that they can read…


Functional programming is a very strict programming paradigm that originates from mathematics and that is usually associated with programming languages like Haskel or Lisp. However, in recent years, functional programming concepts started to leak into other modern programming languages.

Can functional programming be practical?

A few weeks ago I spoke at DevTalks about functional programming in JavaScript. I wanted to emphasize the importance of functional programming thinking by showcasing some examples of how this style of writing code can greatly improve code readability and how it can take us closer to clean code principles. During and after my session, I…

Alex Moldovan

Full-steak 🥩 developer, #javascript, #react, #graphql, #webperf. Founder of @jsheroes. I never wear matching socks🧦

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