Escribe un curriculum que te asegurará un puesto de programador

Creative Commons: http://flickr.com/photos/18percentgrey/36796508/Yo usualmente leo 5 a 20 cvs cada semana. Mi jefe y yo generalmente estamos bastante ocupados, por lo tanto es importante que un cv de un programador capte rapidamente nuestra atencion proveyendo la correcta mezcla de información necesaria con algo que haga a la persona destacar entre sus pares.

He estado envuelto en el proceso de contratación de nuestra empresa por mas de 6 meses. Por lo tanto, me siendo con bastante confianza de que puedo resumir que es lo que hace decidir, despues de ver un CV, tener una entrevista. Aqui están mis consejos para escribir y organizar el CV perfecto de programador.

Advertencia: Todos los CVs vienen desde nuestro reclutadores y nuestro departamentos de Recursos Humanos primero. Mas aún, alguna de mis ideas caen fuera de la norma cuando uno se refiere a “la definición de lo que es ser un buen programador”

Pon tus competencias/capacidades/pericias al frente y al centro.

Leer los detalles de como usaste tu competencia tipica X para lograr un objetivo tipico Y no es lo que yo ando buscando. Necesito saber tus compentencias de tal manera de no ir viendo por tu CV si es que cumples mis minimas necesidades.

Saltate el resumen y quiza tambien el objetivo

Esos resumenes son una perdida de tiempo. Si es que va a decir algo asi como “Profesional TI con experiencia y buenas capacidades de comunicacion” o “Veterano fogueado con 10 años de experiencia en programación”. Siempre es lo mismo, todo el mundo lo dice, asi que porfavor no lo pongas.

El objetivo es un cuento un poco diferente. Es útil si informa algo que la experiencia y los conocimientos no. La importancia del objetivo es de relevancia para mi en función si quieres seguir o no haciendo lo que vienes haciendo. Si veo que haz estado programando (particularmente en la capa de acceso a datos y en la capa de los objetos de negocio) y no hay objetivo en el CV, aumo que tu estas buscando mas de lo mismo con otros empleadores o en otro lugar. Si tu quieres hacer mas de ese mismo trabajo y lo pones en el objetivo, estas gastando espacio y tiempo. Si quieres cambiar de dirección (programador de GUI o empezar a manejar proyectos) es importante que lo pongas en tu objetivo. De otra fora podemos descubirir durante la entrevista que no estás interesado en lo que tenemos para ofrecer.

Pon tu educacion al ultimo

Algunas personas que se dedican a contratar recursos TI ponen mucho enfasis en la educación de los candidatos, yo no. Siempre me interesa saber cual fue tu escuela y cual es tu carrera, pero solo voy a preguntar acerca de tu educación si es que hay algo inusual o intrigante.

Por ejemplo, un candidato con el grado de de Ingeniero del MIT o con un doctorado en Quimica Orgánica captará mi atención porque esos pergaminos muestran un alto nivel de inteligencia. Por otra parte alguien con calificación de excelencia en tiro al arco o sin un titulo no contará en contra tuya.

En muchos casos, ni siquera me pregunto acerca de tu educación hasta que ya me he hecho una idea del perfil. Esto incluye certificaciones tecnicas MCSE o CCNA.. las cuales no me sorprenden demasiado en este punto. Eso importa para ciertas personas y no te hacen daño (en mi opinión) pero solo tomo las certificaciones en cuenta si todo lo demás es igual (al hacer comparaciones).

Muestrame que eres diferente

Incluso si mi proyecto es algo trivial (paginita web con algo de base de datos). igual quiero ver que tu seas alguien con 10 años de experiencia en hacer paginitas web con base de datos. Por ejemplo, comparemos estas dos descripciones.

ABURRIDA:
East Coast Power – Programador 1999 – 2005
Escribi una aplicacion VB para controlar maquinaaria. LA interface con el hardware  fue manejada con una libreria COM que fue escrita por otro grupo. La aplicacion fue robusta y confiable. Escribi una herramienta web para ver las fallas del sistema.
Creé un webservice para permitir a terceros obtener algunos datos de nuestra base de datos.

EXCELENTE!
East Coast Power – Programador 1999 – 2005
Escribí una aplicación VB que permitio control un reactor nuclear. Control en tiempo real y monitoreo manejando 10000 datos unicos por segundo.
Escribí un avanzado algoritmo en C# para que detectara fallas inminentes, lo cual fue usado en una aplicación web.
Creé un webservice en C# para permitir a los tercero accesar los datos en una forma segura, confiable y de buen desempeño. Los datos tipicos requeridos era de 1 millon de filas y se debió manejar muy bien los problemas de concurrencia en el nivel de base de datos y de la aplicación.

Ves la diferencia? control de maquinaría no me ayuda mucho, podrías haber estado trabajando en el ascensor. Programar un reactor nuclear, realmente impresiona, sobretodo ya que no han habido accidentes nucleares mientras  estuviste en ese empleo. Escribir algoritmos avanzados en C# toca mi corazón de ingeniero, mientras que una aplicacion web es trivial. Si bien, escribir un webservice es bastante facil, no es tan facil escribir uno que sea “seguro, confiable y con buen desempeño” con tamañas consultas. Tampoco es facil lidiar con problemas de concurrencia en dos niveles diferentes de la aplicación.

No estoy diciendo que tienes que ser demasiado verboso o lleno de detalles en tus descripciones, pero si estas haciendo un trabajo mas complicado que lo que haría un alumno en práctica entonces necesito saberlo. Todos los desarrolladores han escrito una aplicación web con manejo de base de datos. Muestrame más.

Asgurate que tu experiencia destaca tus habilidades.

No espero que tu historial de empleos incluyan una lista de todas tus habilidades. Pero si estás buscando un empleo como un desarrollador .Net, muestrame que haz hecho algun trabajo .Net. Si no listas esa experiencia, voy a asumir que tu tienes poco o nada de experiencia con eso (incluso si está en tu lista de habilidades). Si tu tienes un monton de experiencia en eso fuera del campo laboral, halla una forma de contarme eso.

Mantiene tu CV entre 2 y 4 paginas de largo.

Me ha costado leer CVs de 7 paginas de largo lleno de siglas y detalles aburridos que me han tenido a punto de llorar. Un CV muy largo no necesariamente me hace desechar un candidato, pero ¿por que hacerme llorar?

Por otra parte, un curriculum quue trata de mantenerse en el criterio de “una sola pagina” no va a dar para un puesto tecnico, excepto si el CV es de alguien sin experiencia. En mi opinión 2 a 4 paginas es lo ideal. Tambien pon cierto espacio en blanco ya que si no me ahogo.

Cuida tu formato

Si bien los curriculum de Programadores no tienen que ser bonitos o con mucho diseño, un buen formato puede hacer la diferencia en terminos de legibilidad.
Si no puedes poner 3 paginas de texto en frente de mi que se puedan leer, ¿porque te pondría a programar el GUI de una aplicacion o a escribir codigo que alguien mas tendrá que leer para mantener?

Te recomiendo mantenerte en una fuente grande (10 o 12 puntos) en una fuente que se lea bien impresa y en la pantalla (ej. Verdana, Helvetica, Tahoma, Calibri, Arial). Si tu quieres una fuente con un poco mas de estilo, usala solo para los titulos de secciones. Además, no mezcles fuentes serif y sans-serif eso es demasiado feo. No uses “Comic Sans”. Manten tus margenes y espacio entre parrafos lo sufientemente largo para dar “espacio para respirar”.

Lista de empleos anteriores.

Si tu eres (o fueste) un contratista o consultor, asegurate que esto queda claro. De otra forma pensaré que tu renuncias o te echan cada 3 a 12 meses.
Si no eres contratista o consultor, y parece que te cuesta mucho mantener un empleo, voy a ser bastante precavido. Si veo una creciente progresion de cargos, “mercenario” pasará por mi cabeza. Si veo que los movimientos son laterales (o peor, negativos) “manzana podrida” pasará por mi cabeza. De seguro, a veces esto ocurre por casos excepcionales debido a haber escogido malas empresas, pero trata de que eso se vea en el CV para no pensar lo contrario.

Ortografía y Gramatica.

Es crítico que la ortografía y la gramática en tu CV esté perfecta. He visto postulantes con errores en el nombre de su dirección o de su escuela. Si esto no es tu fuerte, pidele a alguien que te revise el CV. Si bien se espera que los IT no sean maestros del lenguaje, igual debes preguntarle a alguien mas si está todo bien con tu CV. De hecho, saber cuando solicitar ayuda es una gran virtud de los grandes desarrolladores. Si te entrevisto y producto de eso yo quedo con la idea que tienes el sentido común y la humildad requerida para solicitar ayuda por tu CV, yo voy a quedar realmente impresionado.

Quedate fuera del OIE (Oportunidades Iguales de Empleo)

En U.S.A las compañias con mas de 10 empleados necesitan seguir las reglas OIE, que aseguran que no se puede discriminar o mostrar preferencias por un empleado bansandose en su genero, edad, etnia, origen, religion u orientacion sexual. Por lo tanto, hazme un favor y no exponga nada de este tipo de información en tu CV. En una entrevista presencial o por telefono, algo de esta información saldrá ineludiblemente, pero nunca solicitaré esa información. No solo quiero mantener a mi empleador y a mi mismo sin problemas, si no que creo que lo de la OIE es importante. Puedo entende que muchos nombres estan fuertemente correlacionados con etnia, religion o país de origen y los años en lo que estuviste en la universidad dan pistas de tu edad. Minimiza esto lo mayormente posible. Porfavor no me digas nada acerca de tu religion, tu situación familiar, tu vida hogareña, tus padres, nada de ese tipo de información. No es que no me interese (de hecho, me encanta saber esas cosas de la gente contratada) pero no lo necesito ni quiero saber antes de que estes adentro de la empresa.

Intereses extraprogramaticos, hobbies, logros y otras actividades.

Me gusta ver este tipo de cosas, pero solo si son relevantes. Realmente no necesito saber que eres fan de tal equipo de futbol. Pero si escribiste un pedazo de codigo que puede hacer algo entretenido con las estadisticas del equipo por diversión, me interesará saberlo. La gente que contribuye a proyectos open source tiene una gran calificación de parte mia, pero solo si se que ellos van a sentirse bien o confortables produciendo codigo propietario con herramientas propietarias (y sin meter nada GPL en mis codigos). Si bien, haber trabajado en un proyecto Open Source haciendo X es suficiente para abrirme el apetito, tambien muestra cierta tendencia a aprender cosas nuevas fuera de la oficina. No me hagas creer que a las 6 de la tarde apagas tu cerebro. Es decir que si no tienes motivacion para estudiar algo nuevo para un proyecto externo que te interesa, nada me indica que tendrás motivacion para aprender un proyecto de la compañia.

Muestra tu geek interno (de a poco)

Dame algo simpatico de lo que podamos discutir durante la entrevista. Es decir, donde sea relevante, trata de mostrar cuan geek eres.

Por ejemplo, menciona el hovercraft que hiciste con piezas de desecho. Pon algo de la teoria de juegos iterativa y evolucionaria que programaste en Lisp y que muestra que el equilibrio de Nash es una tontera. Dime algo acerca de tus tres victorias del campeonato de ajedrez. No quiero saber que memorizaste UHF o que tienes una coleccion de logos de compañias de computadores antiguas.

Mucho de esto cae dentro de lo que era la seccion anterio, pero es relevante. Me encanta trabajar con programadores los cuales aman la tecnologia y usan sus cerebros. La gente asi son simplemente mejores programadores. ¿Porque contrataría a alguien intelectualmente flojo para un trabajo intelectualmente demandante?.

Tecnologias Oscuras o no mainstream.

No estoy contratando programadores Lisp, prolog, Erlang. APL, scheme, Clipper, powerbuilder, elphi, Pascal, Perl, Ruby, Python (perdonenme por incluir esos 4 en la lista), Fortran, Ada, Algol, PL/1, Ocaml, F#, Spec#, Smalltalk, Logo, StarLogo, askell, ML, D, Cobra, B o incluso Cobol.

Si los pones en tu CV, me gustará entrevistarte solamente para preguntarte unas pocas preguntas acerca de estos lenguajes. No lo digo en broma, como parte de mi identidad geek secreta, me gustan mucho los lenguajes y tecnologias oscuras. Se que varios de esos lenguajes son ocupados por programadores que están mas arriba del promedio en inteligencia y en experiencia. Tambien proveen otras formas de ver los problemas. Si bien nunca trabajaras directamente con esos lenguajes en mi empresa, si usarás esas formas de pensar que te proveen esos lenguajes y nos darán algo de que hablar en tu primer día acá.

Buena suerte.

Aqui he dado mis mejores consejos. Puestos en perspectivan ayudarán a cualquier programador a escribir un CV perfecto y obtener una entrevista.

Que es lo que crees que consigue una entrevista? si lees un CV como un reclutador, ve lo que te hace decir wow! o pfff!! cuando lo ves en un papel.

El original en inglés de este excelente post fue hecho por Justin James y está en Write a resume that will land you a programming job

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>