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.

lunes, 8 de junio de 2015

And I just might fit the bill:.

It's been a while since I had my last job interview, but nonetheless, I think it went pretty well!..sure, I'm really rusty regarding programming skills, but nothing a couple of weeks of serious programming won't fix...

No problem, for the last part of 14 years, programming has been the thing that I've enjoyed the most...and I must ask, can you name something (besides money) that makes you feel the same way I do?.:.


I said, ooh, I think I do...
I said, ooh, merci beaucoup.

lunes, 1 de junio de 2015

I'm free to be whatever I:.

Nunca me dejará de sorprender cómo la historia se repite...

Hace años escribía una entrada en mi blog en la que comentaba justo lo que siento ahora, que debo cerrar una etapa en mi vida (una etapa que define lo que he sido por bastante tiempo), con la esperanza de que lo que está por venir me acercará más a lo que debo (o siempre he estado destinado a) ser. 

No lo sé, tal vez sea que estoy acostumbrado a pensar en ciclos (o que al final no importa si obtienes lo que esperabas o no), pero quisiera cerrar esta entrada con las mismas palabras que utilicé hace años:


Whatever I choose,
And I'll sing the blues if I want.