DevNano

Mariano Heredia

I've built 20+ mobile apps at Kartjuba. I'm implementing Web solutions at Commit 36. Working to make Rosta and MusicPrism successful microstartups.

20 as a Software Developer

In my youth I used to be a huge supporter of the best soccer team in my hometown: Gimnasia y Tiro de Salta.

Gimnasia y Tiro making its way to the Argentine Football First Division in 1997

Every weekend I was there in the stadium, watching on TV or tuning in the local radio station. Couldn't ever miss a match. I was so passionate about it that my nickname was albolocuraalbo is like an alias for my team, it means white. Albo-locura would be something like mad about albo or maybe Albo: Madness. It's way too common to use a lot of emotional words for cheering our teams up here in Argentina: madness, happiness, it drives me nuts, lose control, crazy, feeling. And Albo Locura was one of the main chants we used to sing at that time as supporters.

So, Mariano, what the heck all this silly albo stuff has to do with computers and programming? Well, it turns out that I mixed these two passions that I had into a single one: developing a Gimnasia y Tiro de Salta supporters Website? Why not!

I started learning some basic Web development and between 1999 and 2001 I maintained and updated http://albolocura.com.ar online – it was Website like a fan site with news, pictures, chants lyrics and some early blogging too.

Having a clear goal was key for me and after three years I got solid concepts about the Web: NIC registry, DNS, hosting, FTP, mailing and I'd say basic Web development skills.

Website Animation Intro I implemented with Macromedia Flash animation. Background music: supporters chanting Albo Locura

I think I started getting really eager to learn how to properly program at that moment. In some way I was programming but without even realizing it. I was writing some HTML + JS snippets and libs, embedding a few cool Flash movies and Java Applets but wasn't able to write structured programming code by myself yet.

In 2002 it was time to start studying at University. I was more than sure that it'd be something computers related but didn't know for sure which career path to choose. After a high level analysis on the alternatives I had, I decided to move to Córdoba and entered in the Systems Engineering field.

I can say today that most of my knowledge was mainly acquired as a self-taught through all of these years. Can't say that I would've achieved the same level if it wasn't for my formal education, though. I had all the willpower to focus on learning new stuff but it was definitely at the University were I got that final push in my way to turning into a pro developer.

Sometimes it was in spite of some teachers that I was able to learn new concepts. I was highly excited about starting to code but I was so unlucky that my first programming teacher was incredibly boring and basic. She spent almost 4 months trying to teach some pseudocode and flowcharts concepts. At first I had a really hard time trying to grasp what was all that about. Fortunately my sister was an experienced programmer at that point so I managed to make her a question or two to get through that initial bad experience.

It was only in the 2nd semester that we were supposed to start with the real programming. I literally couldn't wait to start coding so after the third or fourth class doing flowcharts I downloaded and installed Turbo C++. Translating the pseudocode exercises to short DOS programs was way more fun and clarifying that just writing abstract things in pencil and paper! And from that point on I never stopped learning, thinking, designing and writing code.

Turbo C Hello Programming World Writing and running a Hello Programming World in Turbo C++

While the career years went by I realized that the working field as a Systems Engineer was broader than just programming. The plan was heavily focused on Organizational Systems not just Computer Systems. Business Management, Human Capital, Quality Assurance, Production Strategies and so on. I got a little bit disappointed and frustrated since I was feeling like those subjects weren't what I was looking for. For some time I considered switching careers or just starting over. CS seemed to be a better fit for me!

I finally decided to just keep going on but couldn't help to spend most of the time on Programming, Networking, Operating Systems, Database, Business Intelligence subjects. The other ones: just pass them and keep going.

I kept into learning programming languages and new technologies. I was dying to get more background on tools and languages like Linux and Java but they weren't taken into account in the career plan. And there I went: I started installing and using as many Linux distros as I could and then launched a few side Java SE projects to learn along the way – small games, clocks, simulations, etc.

All that energy and effort would quickly – even quicker than I would ever imagine – pay off: I got my first job as a Java Standard Lib developer intern in 2005.