The first, blind steps

I started playing around with programming when I was in my last year of high school. Mainly, I was interested in creating websites, even though the internet was a very minor part of my life. Why? Beats me.

Considering I was going through that phase when we have no idea what we’re doing with our lives, I think it’s safe to say I was just trying something new for no particular reason. It sounded cool and there was the possibility of turning it into a career, I guess.

At the beginning I was okay with HTML and CSS, I was even comfortable. But then I needed more. I wanted to click a button and see things change colors, I wanted to build a calculator… And that’s when I first crossed paths with JavaScript.

To give you a little bit of context: when I started trying to learn programming, I hadn’t even seen a smartphone in my life. Back then, the word “android” reminded me of Dragon Ball Z. Also, I had the feeling that there wasn’t any really good learning resources in my mother language — I still think there isn’t, but that’s for another article — and my english was pretty poor.

Given all of that, my first experience with programming was really bad. I had no clue about what I was doing. Error messages were arcane gibberish. I couldn’t tell which way was up.

“I can’t learn this”, I remember thinking. I gave up as something else caught my attention.

The first real chance at learning

A couple of years after I first met JavaScript, I tried learning again. YouTube was a thing now, and I could understand everything some guy was saying about PHP, databases, HTTP… It was a whole new world. I was even able to learn a little bit about jQuery, and finally got that freaking button to change the background color. Take that, JavaScript!

At the time, web design sounded “too artsy”, and Good Ol’ Prejudiced me could not summon the interest to learn. Needless to say, the pages I built looked liked garbage. I was so aware of that I didn’t even try getting a job in the industry.

A few months later, I started considering game development. I guess I was thinking it would be easier to create interfaces if I did not have to deal with HTML and CSS? Silly me.

After spending quite some time with Python, Java, C++, C#, weird IDEs — I do not miss you, Visual Studio — , and a messed up experience with IT education in college, I figured what I liked about programming was the problem solving, not the code itself.

I started playing around with Linux and, with the little I knew of Python, I finished some of the challenges on Project Euler and even did some grey hat stuff.

It was clear that I had a passion for figuring out how things work, so thinking about engineering was only natural. The thing is, formal education (i.e., a college degree) is a way too common job requirement where I live. So yeah, another awful college experience, this time in industrial engineering…

Giving in

Midway through college, I was looking for a way out when a friend mentioned Ruby On Rails. At first, I was very skeptical — I’d tried setting it up on Windows before. The folly of mortals… — , but I was using Linux now and desperation is a good motivator, it seems.

I’d just started working at a job in the public sector when I began reading the Ruby on Rails Tutorial, by Michael Hartl. Almost a year later, by early 2016, I’d dropped out of college, applied for a remote job as a Rails developer, and joined a team that was creating a service and needed a developer.

The team disbanded, and I did not get the job, but the whole experience introduced me to Treehouse(referral link) and, once again, I was pushed towards JavaScript. Even though I was mostly working with Ruby, there was no way to run from JavaScript if I wanted to be a good developer.

I was having trouble with a personal project when I stumbled upon the concept of front-end frameworks. That’s when I started looking into Angular.

After that, all I could see on my feeds were articles about how Node was killing Rails, how JavaScript was taking over the world… Gotta love the lack of privacy, huh?

“If there is no running, why not give it another try?”, I said to myself.

And that’s what I’ve been doing. Over the last year or so, I’ve studied a lot of different things involving JavaScript, like Meteor, React, Node, Express, Angular, Ionic… I’ll talk about each — and hopefully more — in detail in future articles.

Overall, I guess you could say I’m beginning to make peace with JavaScript. I’d go as far as to say JS is a friendly acquaintance.

The road

Recently, I’ve started to share my code on GitHub and to build a portfolio website. After I get a few projects on it, I plan on starting a career change.

With its twists and turns, life has brought me back to coding time and time again, and now I am once again setting foot on the road…