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...
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...
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.
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!!:.
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.
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.
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: