Qué tipo de programador estoy buscando

Sobre nuestros principios como “nunca seremos socios de nadie”, “sin bonificaciones”, “no compramos a nadie ni vendemos a nosotros mismos a nadie”, “nada de estupideces”, “sin descuentos”, “rechazamos cualquier apoyo del estado”, “no contratamos a gente que no son científicos (incluidos los diseñadores y los directores de marketing)” y muchos otros; un puesto de director de desarrollo que tendrá que crear todo un conjunto de programas: una biblioteca para simular reacciones químicas, un visualizador 3D de la dinámica de las reacciones moleculares (muy probablemente, usando Unity3D), un laboratorio de química virtual, un sitio web con tareas y un entorno social, todo un paquete de software para tablet para incluirlo en el juego; el desarrollador no trabajará en todo esto solo, sino que será el primero en establecer las bases de todos estos programas.


Ya he escrito sobre la gente que necesito para la visualización de los conocimientos científicos: un químico cuántico y un diseñador 3D. Para que el equipo sea completo, necesito a otra persona: un desarrollador. Para mí, el puesto de desarrollador es el más difícil. A pesar de que trabajaremos en un tipo de producto para la química, su valor principal estará en el software mediante el cual se visualizarán las reacciones químicas y los procesos interiores. En mi carrera profesional he contratado a más de un centenar de desarrolladores y he organizado un sinfín de entrevistas. Sin embargo, este hecho no hace que me sea más fácil encontrar a un programador verdadero capaz de crear cosas grandes.

Sobre los desarrolladores genios

Más de la mitad de Quake fue escrita por John Carmack

Supongo que lo más sorprendente e inusual de los desarrolladores es la enorme diferencia entre buenos programadores y genios. Muchos han oído hablar de que los buenas y los malos desarrolladores son tan diferentes como el día y la noche. La magnitud de esta diferencia no es un pequeño porcentaje ni un pequeño coeficiente multiplicador. Basta con recordar que más del 50% de Quake fue creado por un solo hombre, John Carmack, y Nginx, el tercer servidor web más popular del mundo, fue creado por un solo desarrollador Igor Sysoev.

Alguien de una industria diferente pensará que tal diferencia es increíble, pero es un hecho. En SPB Software, solo contratamos a los desarrolladores más fuertes. Muy a menudo, necesitábamos a alguien con urgencia y pasábamos 6 meses sin encontrar a ningún candidato que fuera lo suficientemente bueno. A veces, terminamos sin contratar a nadie después de realizar de 20 a 30 entrevistas (con candidatos que ya habían pasado el proceso de selección inicial). ¿Por qué les estoy diciendo esto? Porque incluso en un equipo tan fuerte como el nuestro, había genios cuya productividad era 3-5 veces mayor que la de cualquier otra persona.

Subcontratación

Si usted trabaja en una consultoría o se dedica a la subcontratación, el desarrollo personalizado o desarrollo interno de una empresa, realmente no necesita a los mejores desarrolladores. Nunca he visto un cliente dispuesto a pagar por un desarrollador que trabaja 3 veces más que el resto del equipo, incluso si es un verdadero genio. El hecho de que su desarrollador es un genio es difícil de “vender”. Incluso un sistema corporativo de 528 empleados no necesita a gente superdotada porque no tendrá suficiente espacio para que los empleados hagan una demostración de su talento. Imagine una situación en la que usted está desarrollando un sistema de automatización corporativo. Digamos que usted puede hacer que sea 2 veces más barato, pero será peor o menos funcional en un 10%. ¿Funcionará? En la mayoría de casos, sí. Para un proyecto interno, el mérito del éxito es el periodo de recuperación.

Crear un producto para un mercado competitivo es una historia completamente diferente. Supongamos que tenemos un producto A y un producto B, y A es un 10% mejor que B. ¿En qué medida será mejor en términos de ventas, usuarios y beneficios? La respuesta es que no será un 10% mejor sino probablemente 10 veces mejor o más. ¿Por qué un usuario compra un producto que es peor que el otro? A los usuarios no les importa la cantidad de dinero que ha invertido en el desarrollo del producto. Ellos simplemente intentan encontrar una solución que funciona mejor para sus necesidades.

Situación del producto

Por eso contratar a genios es tan importante para las empresas que desarrollan diferentes productos. No es una ninguna idea revolucionaria. Joel escribió sobre el principal problema de la búsqueda de desarrolladores superdotados: la mayoría de ellos ya trabajan y no buscan empleo.

Entonces, ¿qué puedo hacer para encontrar el mejor? Sí, tenemos uno de los proyectos más ambiciosos y desafiantes del mercado. Pero, no importa lo banal que pueda parecer, pero el dinero sí importa. Creo que si ofrezco un sueldo dos veces mayor que el salario medio del mercado, les daré a muchas personas una buena razón para pensar en este proyecto o enviar a sus amigos un mensaje en Facebook diciendo “Hola, creo que he encontrado un trabajo de tus sueños”.

Este enfoque tiene otra ventaja. Algunos de los mejores desarrolladores que he podido ver en mi vida no escriben código. A menudo los desarrolladores simplemente no tienen la carrera profesional que tienen los directores. Por eso muchos desarrolladores se convierten en gerentes. A pesar de que los sentáis para escribir código, el resultado podría ser igual al trabajo de todo un equipo de desarrolladores. Y sí, a menudo echan de menos la programación. Quiero ofrecer un salario que hará que estas personas se interesen por lo que hacen.

A quién estoy buscando

Es muy simple: necesito a un genio de la programación que conozca la física y la química. Un programador que escriba rápidamente muy buen código y pueda diseñar la arquitectura de un sistema cómodo y bien pensado. Un programador que esté al tanto de las tendencias, plataformas y tecnologías actuales, y capaz de seleccionar las tecnologías apropiadas tanto para el sitio web como para el software de visualización 3D de reacciones. Es muy probable que la programación se realice en C++, Java o algo como Ruby o Python. Por eso es imprescindible el conocimiento de C++ y Java (y yo realmente no creo en genios de programación que no conozcan C++ o Java).

Condiciones:

  • 250 000 RUB al mes;
  • no puede ser un segundo empleo, sino un único empleo;
  • el trabajo se desarrollará en la oficina, en la parte suroccidental de la ciudad (temporalmente, nos mudaremos este otoño);
  • vacaciones: 1 mes;
  • seguro de salud.

Qué tendrá que escribir

Nuestra situación es única: puede unirse a nosotros y comenzar a crear una gran plataforma desde cero:

  • Una biblioteca para la simulación de reacciones químicas.
  • Un visualizador 3D de la dinámica de las reacciones moleculares para la web y las tablets.
  • Un sitio web con tareas y un entorno de motivación social.
  • Sobre la base de todas estas tecnologías, tendrá que crear un laboratorio de química virtual con simulación de procesos químicos.

Solicitar este puesto y enviar un currículum

Nuestros principios

Unas pocas palabras acerca de nuestros principios. Queremos crear una empresa que trabaje en todo el mundo. Para ello, tenemos que hacer que este negocio sea rentable con una estructura escalable. Queremos crear una compañía que perdure en el tiempo, una empresa que permita a las mejores mentes trabajar para mejorar la transmisión del conocimiento científico. Voy a saltarme las conclusiones intermedias y solo compartiré las finales. Todos ellas representan una forma de negación, ya que pensé que así serían más evidentes:

  • Sin engaños: no tenemos miedo a medir nada; la gente suele sentirse estafada cuando compra una ilusión en lugar de un producto que funciona. En nuestro caso, en lugar de vender algo que hará que un niño sea más inteligente, podemos vender la ilusión de que el producto hará que el niño sea más inteligente. En el caso de una ilusión, la evaluación de la eficiencia tiene resultados negativos. Estamos dispuestos a sacrificar un producto rentable si llegamos a la conclusión que es ineficiente para la enseñanza.
  • No tendremos socios. Podemos tener subcontratistas, pero no socios.
  • No aceptamos ningún tipo de apoyo estatal.
  • Nosotros no adquirimos otras empresas.
  • Nunca venderemos la empresa porque no la creamos para venderla algún día.
  • No contratamos a altos directivos desde el exterior (hacemos que crezcan dentro de la empresa).
  • No contratamos a nadie que suspenda las pruebas científicas, incluidos los diseñadores y los especialistas en marketing.
  • No contratamos a personas que no hablan inglés.
  • No sobornamos a nadie, independientemente de la lentitud del proceso de certificación de nuestro producto, etc.
  • No ofrecemos descuentos para nuestros productos.
  • No creamos productos que no pueden ser ampliados para ser utilizados en todo el mundo.
  • Nunca castigamos por cometer errores: queremos que la gente esté abierta a los experimentos y creemos que el fracaso es uno de los posibles resultados de una empresa arriesgada.
  • No aceptamos pluriempleo.
  • Nosotros no pagamos bonificaciones y el salario es la única fuente de ingresos de los empleados. Las bonificaciones pueden crear una distracción grave de la comprensión intrínseca del bien y del mal.
  • Nosotros no participamos en calificaciones sin excepción alguna.