Introduction to MobX with React

MobX has slowly built itself up as Redux’s main competition for state management real-estate. Which is definitely not a coincidence. Because, not only is MobX incredibly easy to use; it’s also very powerful. And, believe me when I say this: I’ve never seen React perform any better than when I mix the two of them. But, instead of me telling you, why don’t I show you instead?

A little bit of History: I’ve been working with Redux since version 1.0.0 came out. I was one of the early adopters at my previous company, gave courses on it, and tried to evangelize everyone to my cause. Pretty standard stuff.

Which means that, by the time I found out about MobX, I was already pretty familiar with the competition. Making me change sides was going to be no easy task.

And that’s when I ran into this video by Matt Ruby:

But, since it’s 42 minutes long, I’ll summarize it for you: Mixing MobX and React is like giving your car a consistent Nitro Boost while also reducing its fuel consumption by 90%.

What do I mean by this? The combination literally reduces the number of updates and (by extension) rendering to the bare minimum. Which brings your application to the peak of its performance.

If that doesn’t convince you to give this combo meal a try, nothing will. But, if being super fast is something that interests you, then boy do I have a treat for you next.

Continue Reading "Introduction to Mobx with React"
Should developers know design?

Should developers know design? Or should designers know development? This is an argument that’s been around for several years, although it was mostly aimed at the design crowd. But that could all change with the recent advancements in front end development. Developers could benefit now, more than ever, from understanding design and its principles. Ever since the…Continue Reading “Should Developers know Design?”

react + mobx in es6

On the interest of teaching a topic, I usually try to keep my opinions to myself. After all, I’d much rather you guys come to your own conclusions about things, you know? But, today is not one of those days. No, good sir. None of that objective nonsense. Today we’re going to talk about why ES6 (Or JavaScript 2015) is just the best thing ever.

To do that I have prepared a list of my 5 favorite features about it. But, don’t get me wrong. I don’t mean these are the best ES6  features; that’s definitely up there for debate.

What do I mean then? Just that these are the 5 features that keep me installing Babel on all my projects. And I’m not even kidding. They just make my life that much more awesome.

So without further ado (and in no particular order) here are the 5 reasons why ES6 ROCKS, yo:

Continue Reading "5 reasons why ES6 ROCKS, yo"
Digital Nomad on the woods yo

Author’s Note: This post is a sequel to last week’s Lessons from Remote Work Job Interviews around the world. – Pt 1. If you haven’t read that one, I highly suggest starting there.

Last week we talked about the first three lesson’s I got from my 4 month remote work interviewing process. We mainly learned that:

  • There will always be someone better, but that doesn’t have to stop us.
  • Saying “I don’t know” can be surprisingly powerful.
  • Reinforcing your fundamentals can lead you to discover new strengths.

Now, this week, we’re going to be discussing the final three lessons I got from this journey, starting now:

Continue Reading "Lessons from Remote Work Job Interviews around the World. – Pt 2"
Digital Nomad Life

I’ve spent the past 4 months of my life with a single focus: Getting a Remote Job. This was a process that led me into a journey of self-discovery, learning and personal growth. Here are some of the lessons I learned from Remote Work Job Interviews around the World.

Now, don’t get me wrong, I didn’t just spend 4 months throwing resumes out there and hoping for the best. That wouldn’t have been enough. These were three of the most hard-working months of my entire life: I’m talking 16 hour days of work and study.

And while I know that it may sound excessive for some people, to me it only made sense. I knew I wanted to change Jobs, and I knew I wasn’t about to settle down for more of the same. I didn’t want another 9 to 5, different office, similar commute.

No, my friends. To me, getting a remote job meant obtaining freedom. Freedom to be wherever I wanted to be, and to visit my friends and family more often. 

But, as some of you may already know, remote work isn’t an easy perk to come by. And it’s not that hard to understand why: you’re competing against the whole world for a job like this. This also meant that remote work job interviews were going to be a little more competitive than usual.

So I had to make my mind, was I willing to fight for the kind of life I wanted? And not only was the answer yes, but by now I can also say: It worked.

But this process didn’t come without it’s fair share of challenges. It wasn’t easy. And yet I would be lying if I were to say I didn’t learn anything from it.

I gained more than just the job I wanted from this experience – I gained valuable lessons that will forever change the way I see life. And these are the ones I want to talk about today.

Continue Reading "Lessons from Remote Work Job Interviews around the World. – Pt 1"
Joy

There comes a point in everybody’s path in which we must decide what we’re going to be doing for the rest of our lives. And, not only must we choose while not being fully mature, we must also be able to [somehow] guess the future viability of our choice. Five years down the line. I’m speaking, of course, about how to choose a fulfilling career.

The idea of this article first came to me while watching the soon-to-be-classic Three Idiots. A movie which, needless to say, is a must watch for anyone. Period. But, I guess, if you’re going through college (specially engineering), then the movie’s going to resonate with you a lot more.

Most of the drama in Three Idiots revolves around the feelings that drive the heroes in their career choices. It also deals with the pressure that comes from basing such choices on the wrong reasons.

While it is a little more complex than this, the three main viewports that the movie provides for picking a career are:

  • Pressure from others.
  • Fear of embracing your true calling.
  • And (if you’re lucky) true passion towards the craft.

And these points are the reason that got me hooked on this movie, in the first place.

Each one of these world views represents one of the main characters: Raju, Farham and Rancho respectively. But they also represent points of view that I held at different points in my life. And I doubt I’m the only one.

During this article, we will be having a look at all three reasons in order. Mostly because I feel that the first two precede the last one in most people’s journey for self understanding.

That being said though, let’s get started.

Continue Reading "How to choose a fulfilling career."

I feel like, lately, a lot of my blog posts start the same way: I explain that I didn’t particularly like something in the past, then follow that up with how my perception changed. This time its different: I love TDD with my whole being, and did so from the very start.

There were, however, times when Test Driven Development and I didn’t stand on the best of terms. And, being fair with this wonderful software development process: I was wrong in all of them.

TDD wasn’t any less amazing when I didn’t like it. I just didn’t have enough experience to use it to its full potential. And this lack of vision kept me from reaping the full benefits of the approach; which in turn caused me frustration.

But as time went by, and I kept using the approach over and over again, I slowly began to see the light. And once I began to really understand it, TDD showed me a new world I didn’t even know existed, one of certainty and easy refactors.

And I’m here to share that world with you today, if you wish to join me.

Continue Reading "TDD: A story of ups, downs, and ups again."

Let me be honest with you, pair programming wasn’t really my thing back in the day. I actually pretty much hated it: It seemed intrusive, slow, and even time-wasting sometimes. And It really annoyed me to have someone looking over my shoulder, and seeing everything I typed into my machine.

It’s been two years since then and I’ve spent countless hours pair programming (specially remotely). And I can very confidently say that it’s been one of the most enriching experiences of my career.

Programming with another person can be a pretty intrusive experience when you’re just starting. But it can also be incredibly rewarding once you get used to doing it: You gain access to an entirely new lense through which to see your own code. One that isn’t blind to all your biases and bad practices, and (in the best case scenario) actively challenges you to improve.

Letting another person into your workflow can also lead you to discover parts of yourself (as a professional) that you didn’t know were in you: Maybe you’re a passionate teacher that never had any students before, for example.

And, out of all the things you’ll learn by pair programming, I can guarantee you one: Having a second set of eyes help you code will, without a doubt, teach you a thing or two about yourself and the coding world in general.

Got you interested? Let’s talk about that.

Continue Reading "What Developers get out of Pair Programming"

A lot of talk has been given around React Fiber since it was first announced last year. And even five months later, there are still a lot of questions about it. This article seeks to answer one of them: What question does Fiber answer when it comes to rendering in ReactOr, in other words, what problem does React Fiber solve?

Author’s note: Unlike most of my other articles, this one benefits from some understanding of Javascript, as well as familiarity with ReactJS.  Stephen Grider‘s Modern React with Redux is my personal favorite course for learning this topic, and the one I recommend to most people. I should also mention that, while this article will focus on the web version of the framework, the core concepts can be applied to React Native as well.

React Fiber is an ongoing reimplementation of React’s core algorithm. It is the culmination of over two years of research by the React team.

This is a quote from Geoffrey DhuyvettersWhat is React Fiber and How can I try it out today? Which offers some pretty good guidance towards mastering this new technology, and is definitely worth a read.

But more importantly, this definition tells us two things:

  1. Fiber has been in development for half of React’s open source lifetime.
  2. Fiber is going to change React’s core algorithm.

What is it actually changing though? In very simple terms: Fiber seeks to change the way in which React renders our applications. But, before we can tackle how it will be doing that, we need to understand some core concepts that it aims to improve upon:

Continue Reading "What problem does React Fiber solve?"