Aaron Schwartz: Cómo contratar a programadores

imagen Acerca del autor: Aaron Schwartz es un activista de Internet, programador, escritor y hacktivista estadounidense. Murió por la libertad de información.



  • A la edad de 12 años, creó el sitio Info, donde todos podían escribir sobre lo que sabían (y otros podían agregar y comentar). Fue el precursor de Wikipedia.
  • A la edad de 14 años, Schwartz fue coautor de la especificación RSS 1.0.
  • Aaron Schwartz trabajó bajo el liderazgo de Tim Berners-Lee en el grupo de trabajo principal de RDF en el W3C.
  • Entré al primer programa en Y Combinator con una startup Infogami, que luego se fusionó con el popular sitio Reddit.
  • Trabajó en Open Library y Creative Commons
  • Hizo contribuciones significativas a Markdown.


Publicación de 2009

Cuando contrata a un programador (y de hecho a cualquier persona), se enfrenta a tres preguntas. ¿Es inteligente? ¿Puedes hacer lo que tienes que hacer? ¿Puedes trabajar con él? Alguien que es inteligente pero que no puede completar una tarea puede ser su amigo, pero no un trabajador. Puede discutir sus problemas con él, mientras que él retrasará el trabajo importante. Cualquiera que sea capaz de completar tareas, pero sea ineficaz, es ineficaz: las personas imprudentes hacen el trabajo de una manera que requiere mucho tiempo, trabajar con ellos es lento y está lleno de decepciones. Bueno, con alguien con quien no puede trabajar, simplemente no puede trabajar.



El procedimiento habitual para contratar a un programador consiste en: a) leer un currículum, b) hacer algunas preguntas difíciles por teléfono yc) darles un problema de programación en persona. Creo que este tipo de sistema de contratación es terrible. Hay muy poco que aprender de un currículum, y las preguntas difíciles durante las entrevistas ponen a la gente muy nerviosa. La programación no es un trabajo que se hace bajo presión, por lo que observar a las personas que están nerviosas no tiene sentido. Y las preguntas de la entrevista se eligen generalmente de acuerdo con el principio "cuanto más difíciles, mejor". Creo que soy un programador aceptable, pero nunca había hecho una entrevista como esta y dudo que pudiera hacerlo.



Entonces, cuando contrato a alguien, trato de responder las tres preguntas anteriores. Para saber si una persona es capaz de hacer las cosas correctas, simplemente le pregunto qué es lo que ya ha hecho. Si una persona es realmente capaz de trabajar, en ese momento debería haber hecho algo. Es difícil ser un buen programador sin experiencia laboral, y ahora cualquiera puede adquirir experiencia participando en algún tipo de proyecto para crear un programa gratuito. Así que solo le pido a la persona un código de muestra y un programa que funcione y veo si se ve bien. Así que realmente puedes aprender mucho, porque no miras cómo responde a una pregunta artificial durante una entrevista; miras el código que en realidad da.¿Es conciso? ¿comprensible? ¿elegante? ¿práctico? ¿Le gustaría tener algo como esto en su proyecto?



Para saber si una persona es inteligente, solo tengo una conversación informal con él. Intento hacer todo lo posible para aliviar cualquier tensión: hago una cita en un café, explico que esto no es una entrevista, hago todo lo posible para ser informal y amigable. Bajo ninguna circunstancia le hago las preguntas habituales de una entrevista; simplemente hablo con él como si estuviera charlando con alguien en una fiesta. (Si en las fiestas le pides a las personas que nombren sus fortalezas y debilidades, o que averigüen el número de afinadores de pianos en Chicago, estás en un gran problema). Creo que es bastante fácil en una conversación informal descubrir si una persona es inteligente. . Constantemente estoy evaluando la inteligencia de las personas que conozco, al igual que constantemente evalúo su atractivo.



Pero si tuviera que escribir las señales de por qué alguien me parece inteligente, enfatizaría tres puntos. Primero, ¿qué tan profundo es su conocimiento? Pregúntele qué ha estado pensando últimamente y "indague" sobre este tema. ¿Parece tener una comprensión detallada del tema? ¿Puede explicarlo claramente? (Una explicación clara es un signo de comprensión genuina). ¿Sabe sobre el tema que tú no conoces?



En segundo lugar, ¿tiene curiosidad? ¿Él te hace preguntas a cambio? ¿Está realmente interesado o solo está tratando de ser educado? ¿Hace preguntas adicionales a lo que estás diciendo? ¿Sus preguntas te hacen pensar?



En tercer lugar, ¿está aprendiendo? En algún momento de la conversación, es posible que le esté explicando algo. ¿Entiende realmente lo que estás diciendo o solo sonríe y asiente? Hay personas que tienen conocimientos en un área pequeña, pero que no están interesadas en otros temas. Y hay personas que tienen curiosidad pero no aprenden, hacen muchas preguntas pero en realidad no escuchan. Necesitas a alguien que sea tanto el uno como el otro, y el tercero.



Finalmente, determino si puedo trabajar con una persona simplemente pasando algo de tiempo con ella. Muchas personas destacadas parecen adorables en la primera hora de comunicación, pero después de un par de horas su excentricidad comienza a molestar. Entonces, cuando haya terminado con una conversación informal, invítelo a almorzar con el resto del equipo oa jugar en la oficina. Nuevamente, trate de mantener las cosas lo más informales posible. El objetivo es simplemente ver si te pone de los nervios.



Si todo se ve bien y estoy listo para contratar a una persona, el sentido común dice que es necesario un control final para asegurarme de que no estoy engañado de alguna manera: le pido que haga parte del trabajo. Esto generalmente significa que debe escribir algún código más o menos independiente que necesitemos. (Si realmente desea verlo actuar en condiciones estresantes, establezca una fecha límite para él). Si es necesario, puede ofrecerle que pague el trabajo, aunque creo que la mayoría de los programadores no son reacios a hacer una pequeña tarea, si luego puede abrir las fuentes resultantes. Esta prueba no funciona por sí sola, pero si alguien pasó las primeras tres pruebas, debería ser suficiente para demostrar que la persona no te engañó, que realmente puede hacer el trabajo.



(He conocido a personas que dicen: "Bueno, está bien, intentemos contratarte por un mes y veamos cómo te va". Esto no parece funcionar. Si no puedes tomar una decisión después de terminar un proyecto pequeño, no puede hacerlo en un mes, por lo que resulta que está contratando a alguien que no es lo suficientemente bueno. Es mejor decir que no y buscar a alguien mejor).



Estoy bastante contento con este método. Cuando solo lo cumplí parcialmente, terminé contratando personas inapropiadas que finalmente tuvieron que irse. Pero cuando seguí este plan, conseguí gente que me agradaba tanto que realmente me arrepiento de tener que separarme de ellos. Es sorprendente la cantidad de empresas que utilizan otros métodos de contratación estúpidos.



Traducción: "Webplanet"








Siga las noticias de YC Startup Library en ruso en el canal de telegramas o en Facebook .



Materiales útiles






All Articles