La semana pasada, algunos colegas y yo participamos en ferias de carreras en tres universidades importantes (dos aquí en los EE. UU. Y una en Inglaterra), donde intentamos (sin mucho éxito) reclutar para varios puestos de compilador, desde pasantías hasta nivel de entrada, a más alto, para nuestro equipo.
Para nuestra sorpresa, el 80% de los estudiantes con los que hablamos respondieron en algún lugar la línea de "Quiero construir aplicaciones Ansroid", cuando se les preguntó qué estaban interesados en hacer. (¿Y el otro 20%? ¿"Aplicaciones para iPhone"!) Algunos incluso expresaron abiertamente que no "querían crear un compilador, ..., es aburrido"; dijeron y cité.
Entonces, ¿qué tienen las aplicaciones móviles que es tan atractivo para los "desarrolladores" (¿jóvenes?) En estos días? Y de la misma manera, ¿por qué el compilador es un tema tan "aburrido" para ellos? (No creo necesariamente que estos dos sean mutuamente excluyentes. Ciertamente se puede construir un compilador para un teléfono móvil, pero eso no viene al caso)
¿Qué podemos hacer, en todo caso, para atraer más talentos, o incluso candidatos interesados?
fuente
Respuestas:
Mejor redactado, su pregunta es por qué es difícil reclutar para trabajos que actualmente no están de moda.
Y la reformulación llega al núcleo del desafío: las tendencias . En sí mismos, no hay mucho mal con las tendencias. Siempre ocurrirán en algún grado variable.
Cualquier empresa o dominio de programación que esté fuera de lo que está de moda actualmente tendrá más dificultades para reclutar candidatos. Es solo la naturaleza de la bestia.
Pero las tendencias van y vienen. Por ejemplo, a finales de los 90 y quizás a principios de los 00, RedHat estaba en una lágrima y "todos los que eran cualquiera" * querían trabajar allí. Luego, la economía cambió un poco, la atención se centró en otros lugares y la industria recogió nuevos favoritos para el concurso de popularidad.
* Ok, eso es un poco hipérbole pero esa es la naturaleza de las tendencias
En primer lugar, asegúrese de promocionar los fragmentos interesantes de esos trabajos. Cada trabajo tiene un trabajo duro asociado, y soportamos esos aspectos para las partes divertidas de nuestros trabajos. Asegúrate de liderar con las partes divertidas al describir el concierto.
En segundo lugar, asegúrese de promover los aspectos divertidos e interesantes de su empleador. Por ejemplo, si está reclutando tanto en los EE. UU. Como en Inglaterra, anuncie su presencia internacional. Si envía desarrolladores al extranjero por períodos de entrenamiento cruzado, indíquelo. Muchos desarrolladores están interesados en oportunidades para viajar internacionalmente y aumentar la amplitud de sus habilidades.
Tercero, asegúrese de obtener el nombre de su empresa fuera de la temporada de reclutamiento. Las tendencias van y vienen, pero usted combate las tendencias asegurándose de que al menos se haya oído hablar de la marca de la compañía fuera de temporada. Hay una empresa internacional de software realmente grande con sede en Armonk que anuncia constantemente para asegurarse de que su nombre sea conocido. Probablemente no tenga el mismo presupuesto publicitario que ellos, pero puede orientar los campus de los que le interesa reclutar.
Cuarto, siempre contrate a alguien nuevo cada año, especialmente en los años de escasez. No tiene que ser la misma cantidad que un año de crecimiento, pero debe contratar al menos a una persona. Esa misma empresa que mencioné tiene ese tipo de política vigente por una serie de razones. Se correrá la voz en el campus de que ustedes siempre tienen un espacio disponible incluso en los peores momentos. Esa seguridad y fortaleza económica generarán interés en su empresa.
Quinto, asegúrese de que los beneficios y el salario que ofrece su empresa sean competitivos. Se corre la voz acerca de la calidad de las ofertas realizadas. Los estudiantes y el centro de carreras del campus saben quién es barato y quién es competitivo. No seas barato si no obtienes suficientes candidatos.
Sexto, asegúrese de que los estudiantes sepan qué habilidades está buscando. Tendrán un tiempo limitado para desarrollar compiladores, quizás solo un semestre o dos de experiencia. Si su percepción es que está buscando años de experiencia o solo aquellos que han realizado inmersiones profundas en compiladores, entonces no van a solicitar esos trabajos. Del mismo modo, los candidatos pueden necesitar cierto grado de seguridad de que los ayudará a capacitarlos en la transición del diseño del compilador académico al trabajo del compilador industrial.
Finalmente, considere donar equipos o software o ambos a los laboratorios de ingeniería. Si los estudiantes no saben quién es su empresa, bríndeles la oportunidad de conocer su producto. Sun Microsystems lo hizo realmente bien por un tiempo con este enfoque. Dar equipo gratis o de bajo costo a las universidades es una excelente manera de asegurarse de que los estudiantes conozcan su kit.
fuente
Bueno, primero, me gustaría romper el estereotipo: tengo 17 años y contribuyo a / he escrito varios compiladores y más bien me gustan.
Para responder a la pregunta, la interacción principal de un adolescente con una computadora no es examinar un volcado de IL de algún compilador, sino a través de aplicaciones / sitios web / videojuegos. Por lo tanto, es un paso natural que si alguien decide que quiere comenzar a programar, ¿por qué no hacer algo que ya "sabe" un poco y que le gusta?
No ayuda que haya una fuerte percepción de que los trabajos reales se centran en la web y los juegos. Entonces, ya estás luchando contra la respuesta "Oooh brillante" de los adolescentes y el hecho de que piensan que ahí es donde está el dinero.
¡Finalmente, ya nadie enseña a los compiladores! Muchos cursos de compiladores se relegan a cursos opcionales de posgrado. Incluso cuando muchos toman un curso de compiladores, la mitad del curso se gasta en el analizador, que podría decirse que es uno de los bits menos interesantes de un compilador. Entonces, aquellos que hacen el esfuerzo de registrarse se van y dicen: "Ok, escribimos el analizador, luego la magia, luego el codegen". No es exactamente emocionante en comparación con Angry Birds.
Ahora reclutar es generalmente difícil, pero creo que lo encontrará más difícil que la mayoría, ya que muchos estudiantes universitarios que están dispuestos a dedicar su propio tiempo a descubrir cómo escribir o contribuir a un compilador ya tienen planes. En cuyo caso, el consejo de Joel sobre cómo obtener buenos desarrolladores es relevante.
fuente
Desde la perspectiva de un joven compilador (ish), una cosa que no se discute aquí es la cuestión de dónde las personas obtienen su introducción a la tecnología del compilador.
Si tienes suerte, tienen un proyecto o una clase que discute compiladores. Tal vez un curso sobre arquitectura de computadora o componentes internos que los presente a diferentes capas de abstracción y optimización.
Si tiene mala suerte, entonces escuchan de sus amigos que los compiladores son: Un problema resuelto, aburrido, sin impacto, de muy bajo nivel, un mercado laboral demasiado pequeño, etc.
Mi universidad tiene un profesor que todavía trabaja en compiladores y él es la razón por la que todavía hay personas que salen de esa universidad con experiencia e interés en el área. Aún mejor, tiene muchas conexiones industriales y las usa para ayudar a los estudiantes a obtener experiencia laboral en el área.
Entonces esa podría ser una ruta importante: Comience a hacer amigos en la facultad de las universidades que le interesan: Comience a tratar de obtener pasantes e investigar a los estudiantes asociados. Comenzarás a construir un grupo de talentos.
fuente
Compañía aburrida Debido a que creen que crear una aplicación móvil es el camino hacia la próxima "gran" cosa, por lo que las empresas que las crean son más emocionantes y ofrecen mayores oportunidades. Seamos financiados, seamos públicos y seamos millonarios. No puedo hacer eso con un compilador. Ciertamente, lo mejor de su empresa no es construir compiladores. ¿O es eso?
Gente aburrida Es difícil reclutar los tipos de desarrolladores que necesitas, así que intensifica tu juego. Sea más creativo en su reclutamiento al unirse a profesores que imparten clases de compilación. Encuentra a sus mejores estudiantes y cortejalos. No esperes el día de la carrera. Todos quieren ser deseados y, para demostrarlo, ofrecer un bono de firma por realizar una pasantía.
Al ser comercializables, es posible que no vean una carrera profesional en su área de producto / tecnología. Depende de usted convencerlos de que este no es un callejón sin salida. ¿Quieres crear aplicaciones móviles para niños? Es mejor aprender a trabajar con escasez de memoria. Aprenderá que en nuestra empresa a tal nivel, lo colocará en el 1% superior de los desarrolladores móviles si decide cambiar. Asegúrese de que entiendan las trampas de algunos trabajos de desarrollo móvil.
Escribir código para personas A veces puede ser más liberador escribir código que escriba código. Evite a los clientes que desean que agregue funciones tan inútiles que apestan su voluntad de vivir. ¿Puedes arreglar esa línea en tu GUI que está un píxel apagado?
Steve Jobs se acercó al CEO de Pepsi y le preguntó: "¿Quiere vender agua azucarada toda su vida o cambiar el mundo?" Me pregunto qué habría dicho Dell. "¡Ven con nosotros y ahorraremos 3 centavos en cada ficha que compramos!"
fuente