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?"

Now, now. I know I just threw a bunch of buzzwords at you. And you may even be thinking: “How dare this guy say that Good User Experiences don’t feel good”. But I don’t mean that UX can’t be enjoyable, that would just be a lie coming out of my mouth (or fingers, in this case.)

What I am saying, however, is that “Feeling Good” is not what a good User Experience is about. It can be a delightful side product, but it should not be the goal to aim for.

However, before I can illustrate my point any further, I’d like to tell you a story:

Continue Reading "Good User Experiences aren’t about "Feeling Good""

Before we can talk about clean, well designed and beautiful code, I would like to ask you a few questions:

Have you ever written a piece of code, and then looked at your creation and wished you never had to open that thing again? Ever opened a file only to find yourself immediately overwhelmed by its contents?

Does this image bring back fond memories of college?

Screen Shot 2017-03-11 at 12.11.53 PM
For some, minimized JQuery. For others, Tuesday.

If that’s the case, then you’ve probably experienced the bizarre world of code that was never meant to be read by a person. And that means that this article, my friend, is for you.

Continue Reading "Beautiful Code (and how to write it.)"
Why it's okay to take a break from work (with coffee.)

“I can’t take a break right now, I’ve been trying for three straight days and It just won’t work” my friend was telling me this as he sat hunched on top of his desk, bags under his eyes and a worried expression on his face. “That is precisely why you need to stop working on it for now”, was what I told him as I took a couple of cold ones out of the fridge.

He looked at me like I was crazy, he couldn’t possibly relax and drink beers with me, and specially not when he had already spent three days to work on code that been estimated in hours. I promised him that if he had just one drink with me, he would find the answer he had been looking for these past three days.

No more than two hours had passed, and we were sitting on the floor talking about life and whatnot; when all of a sudden he lighted up completely and jumped back to his pc.

He had this look on his face like he had just heard the answer of life, the universe and everything; and it didn’t take long before he finished all the work that he wasn’t able to wrap his head around for days.

It happens, we focus so hard on the work we’re trying to do that we lose sight of the original idea. Tiredness, tunnel vision and outright stubbornness can prevent us from being able to think outside of the box we ourselves created around the problem we’re facing.

You can push through all these obstacles and move forward to reach your goal. And there are definitely times when you’ll have to do this.

But most of the time though, I would argue that what you really need is to take a break.

Continue Reading "Why it’s okay to take a break from work."

Should developers know design?

People (friends, colleagues, relatives, etc.) that know I am in the web business often approach me with a similar variant of the following:

“Hey Orlando, I’m doing X and I want a website for it, what do you think?”

And I always struggle a lot with this question. For one, I am a web professional and of course I want people building websites. But second, and perhaps more important: I am a web professional and I know not everyone needs a website. So this is an answer (and a series) that’s very controversial for me to write.

There a many different kind of reasons for which someone could want a website but, for the sake of simplicity, I’m going to divide these people into two groups: Business owners and Content creators.

Of course, these two groups usually end up overlapping with each other: business owners will probably benefit from creating content, and content creators will probably end up wanting to monetize their content. But as a starting point, I would say most websites probably get created for one of these two reasons.

For the sake of simplicity, I will be using the word “business” to reference both of these groups in this first section. But if you just so happen to belong to either of them, and are interested in getting yourself a new website, then this article is for you:

Continue Reading "Do you really need a website?"

Developer advice from a seasoned professional

Author’s note: I originally intended for this to be a single post containing some of the lessons I had gathered over the years of doing website development and design. Alas, it proved to be a little bit too long (spanning over 3000 words and 15 pages), so I decided to break it up a little. 

It is strongly recommended that you read part 1 of these series before moving forward onto the next, if only so I may let you know of the situation that inspired me to write these pieces of advice here for everyone to see them.

But, now that we’ve cleared that out, these are the last 6 pieces of advice I would like to share with you all:

Continue Reading "10 things new developers should know – Part 2"
Teaching developers javascript taught me things

I know what the title says, but I’d like to instead start by saying: I didn’t always enjoy teaching things or helping others understand different topics. As a matter of fact, it kind of [extremely] annoyed me to find people who didn’t seem to get a grasp on the things that I did at the same speed that it had taken me to learn them.

I was a very different (definitely more selfish) person than I am today. But I am glad that I didn’t stay being that way, because then I would have missed out on what has to this day been one of the most satisfying experiences of my life: Sharing my knowledge with other people.

Teaching is the reason that I even started writing this blog in the first place.

But what I find the most interesting is not what I was able to teach others. But what teaching others how to do different things has taught me.

And that is what I’m here to talk to you about today.

Continue Reading "How teaching javascript made me a better developer."