viernes, 21 de agosto de 2015

We belong to where we're going:.

Sometimes all it takes is for somebody else to trust in you...
And to be honest, I've always liked this...to start from the bottom (somewhere new) and see where it takes me. 

I'm ready =):.


There's a way that you look me straight in the eyes,
only lasts for a moment, 
it lasts through the night.

sábado, 8 de agosto de 2015

And I know she'll be the death of me:.:.

Have you heard about those mythical [Mountain View* company] interviews where you must master red-black trees and remember all sorts for sorting algorithms?. Well, due to a NDA I can't tell you more...just that if you ever apply for any [Mountain View* company], you'll probably be interviewed by a programmer who thinks that a random algorithm test is a good way to tell a good developer from an average one...even when said programmer only cares to write the test five minutes before you meet him (his own words!!)...the result: you'll find so many grammar problems that when you point them out, said programmer will just blush and will try to move on:.

I could tell you about another [Mountain View* company] guy who wouldn't accept the use of a Java's Collections method in the middle of the interview...but that at the end of the interview will blame you for not relying on standard API's....say what??...When you remind him that he specifically said not to use the Collections framework (which is part of the standard API)...he will say, OK (but an OK which means: I'm letting you down, no chance I'm perceived as I'm no expert).

I'm just tired of people posing like they know what they're doing...


But at least we'll both be beautiful,
and stay forever young.

miércoles, 22 de julio de 2015

How in the hell does one heart swell:.

It's a shame what I witnessed today.

Besides programming, football and CoD4, there are few other things that I truly enjoy...but today I witnessed such a monstrosity in the Mexico-Panama match that I must stop supporting my football national team.

Corruption, blatant corruption everywhere!!, I cannot support that!!.

So, I promise not to watch any match (or for that matter, support my football national team) at least until the next world cup. Chances are they won't be there anyway...


If you're feeling bad, 
wave your hand at a cab,
and hitch a ride to the other side of the town.

lunes, 20 de julio de 2015

Y encuentre un campo lleno de caña:.

Sadly...no... Even those companies ranked as "the best companies" to work in Mexico still run in an old fashioned manner.

Let me say it again: it's not the technical knowledge that matters, it's not how cool you talk (or how many swear words you know?), it's not even about the 'fictional' time you have to solve a problem...and you know why?: because all good designs evolve (it's not like they're born out of thin air)...

You don't know/remember an API? It doesn't matter, you can master it in a couple of hours. But I guess that from a worker's (programmer/second class citizen) point of view it makes all of the difference...which is really sad!. 

To all of you who happen to read this blog...please remember that you're not just programmers (workers/second class citizens)!, you're developers!!. But please (oh! please) don't let that go into you head and demand people start calling you by some random animal name (true story!!) and start acting like the world doesn't deserve you...

I guess it's OK. So far all of my interviewers have made huge mistakes (no way to iterate over arrays?, no Threads for external behaviour?, and most recently, suggest one-to-one relationship in a clearly one-to-many relationship?), but there's no penalty for them...I guess all developers are equal, but some developers are more equal than others:.

Thank god we can apply to other companies that might recognize talent in a different way:.


Sigo cruzando ríos
Andando selvas
Amando el sol.

lunes, 13 de julio de 2015

¿Dónde queda esa calma original?

He de confesar que, además de la programación, la música y las películas han sido mi gran pasión estos últimos años (y que gracias a ellas nunca he caído en depresión total).

Al final de cuentas todas ellas nos permiten lo mismo: crear mundos imposibles con nuestras propias reglas!. Libertad total!.

Tal vez por eso sea tan triste ver que las entrevistas de (una gran mayoría de) empresas que se dedican a generar estos mundos sigan un guión tan estático, tan mecánico, sin lugar a la imaginación...

Y me refiero por ejemplo a hacer preguntas que pueden ser fácilmente resueltas con una vista rápida al API (o al Sr. Google). Una vez más mantengo que: los detalles no importan!, o como dirían los Simpsons "Are you telling me you memorized that fact when anyone with a cell phone can find it out in 30 seconds?". It's what you've done (and how you can explain it) and what you can do (and how you can defend it) what matters. In brief (paraphrasing the KISS moto) it's the Big Picture, not the Details, St**id (BP.DS)!!.

Another problem arises when you defend an idea but the recruiter only cares about a pre-defined answer, and he won't accept yours, either because he doesn't understand it (which worries me) or because he doesn't care (which worries me more!). 

Anyway, next Wednesday I'll have an interview that promises to be better...I can only hope it really is!!:.


Dejaré aquí pedazos de ti,
como los que tú me diste a mi.

viernes, 10 de julio de 2015

Just me and you:.

Summer 2001, I get into one of the best schools to study computer science (CS) in Mexico.
Winter 2005, I graduate (with honors) from a top-tier institution in CS
Summer 2009, I start a Master in CS (to try and fix what people working on CS actually do)
Winter 2010, I graduate (with honors) from a top-tier institution in CS
Sumer 2011, I start a PhD (France) in CS (to fix what people working on CS actually do)
Winter 2014, nobody knows what they're doing (including me)...so, I resign.
Spring 2015, I go back to developing a better world!!:.

July 2015, I'm back!!:.




The stars and moon
remind me of you.

viernes, 12 de junio de 2015

Wait until the dust settles:.

A few days ago I had a programming interview (the first in a long time!), and I didn't like the way it went. Let me explain.

My first programming interview (2006) was in a small company where I thought I could work with smart and fun people. To get this job, I had to take a 1 month course about a particular development methodology (PSP/TSP), while solving some programming/mathematical problems. Each week we were evaluated on our (perceived) programming skills, and at the end of the month we were given either an offer or a farewell and goodnight.

They made me an offer, but they also told me that since I had barely made the cut, they would pay me less money compared to other newcomers. I didn't care, I just wanted to develop great software...

A year passed and management told me that I was in charge of evaluating the programming skills of newcomers, and all because some key people had praised my programming skills during the time I worked with them in that same company. Irony?, I don't think so. I just believe that it's really difficult to know whether somebody is a good developer or not before you hire them. The only way to know for sure if someone is a good fit is to develop an application with them side-by-syde and then decide whether or not you respect them as a colleague.

Almost ten years have passed, and, sadly, (at least in some companies) things haven't changed...it's 2015, we should know better than asking trivia questions and brainteasers to evaluate somebody's programming skills!.

There are better ways to do it...for example, you can analyze the code of a potential hire and then ask him to explain why he designed it that way. Or maybe how he would solve a particular problem, while staying at a high level of abstraction. And this, I believe to be key!.

Programming languages come and go. It doesn't matter if you memorize an API, chances are it will change. What matters is that you have an idea of how to solve a problem, and then look for the tools that let you implement that idea in an optimal way.

It's only worse when the person interviewing you makes mistakes (like saying you have to extend the Iterator interface to iterate a simple array in Java (?!?!)), and only admits his error once he's Googled the problem! (or to be fair, probably looked at the documentation). But that same person goes crazy when you claim that it's not important to know the particular package and name of a class in Java because you can always look it up in the API (or a simple Google search)...double standards anyone?.

What have I learned after spending all this time in the programming trenches?. Rather than evaluating people on what they know (or remember), do it on what they can develop...in the end, that's all that matters, that's what you're gonna need!:.


I recommend getting your heart trampled on to anyone,
I recommend walking around naked in your living room.