Los desarrolladores de software recién graduados a veces preguntan qué busca mi empresa cuando contrata a un principiante. Puedo responder a esta pregunta con una palabra: potencial.
Es mucho más fácil para nosotros contratar para puestos senior o especializados, porque los logros del candidato en estos puestos reflejan sus habilidades y lo que las impulsa. Pero los técnicos de nivel de entrada son una pizarra en blanco con currículums cortos. Identificar a los desarrolladores de nivel de entrada que probablemente sean una parte integral del equipo es arte y ciencia.
Cómo los gerentes de contratación evalúan el potencial
He visto a muchos gerentes solucionar este problema confiando en atributos que son más fáciles de medir: «¿Estudiaron en la mejor universidad?” «¿Hicieron una pasantía en una gran empresa de tecnología?» Rechazando las consecuencias sociales negativas de este enfoque, es un mal augurio de éxito que excluiría a algunos de los ingenieros más brillantes con los que he tenido la suerte de trabajar.
Si recientemente se graduó de las 20 mejores universidades del mundo, felicidades, es probable que encuentre un trabajo. Pero si me entrevistas, es posible que te contraten.
Hay características que predicen el éxito en lugar del acceso a la educación y, por lo general, no necesita una serie de herramientas de diagnóstico para identificarlas. todo se reduce a apertura al aprendizaje y pasión por una comprensión más profunda del funcionamiento interno de la tecnología.
Es más fácil mostrar estos rasgos hoy que en el pasado. La mayoría de las personas tienen una red informática en casa (Wi-Fi, dispositivos móviles, consolas de juegos, incluso timbres y bombillas conectadas), ¿te has metido con eso? Todo el mundo lleva un teléfono inteligente en el bolsillo. ¿Construiste algo para eso?
¿Conoces las últimas tendencias y herramientas tecnológicas? ¿Qué te gusta de ellos? ¿En qué situaciones usarías una determinada? tecnología y por qué? ¿Contribuiste al proyecto de código abierto o tal vez incluso lo creaste tú mismo?
Además, los conceptos básicos siguen siendo importantes. Aunque la tecnología está cambiando rápidamente, la mayoría de las veces son capas de abstracción sobre los cimientos existentes. Los protocolos de red, las capas de red, los algoritmos y soluciones de equilibrio de carga, las mejores prácticas de seguridad, los sistemas de archivos y las arquitecturas de CPU son buenos lugares para comenzar. Una comprensión clara de cualquiera de estos fundamentos permitirá que un nuevo miembro del equipo crezca.
Por ejemplo, si alguien sabe cómo trabajar con máquinas virtuales basadas en Linux, comprenderá fácilmente cómo trabajar con contenedores, ya sea Docker o containerd. Agregue a esto un conocimiento poderoso de la red, y Kubernetes será fácil.
Realización de entrevistas
Mira los antecedentes, probablemente el 90 por ciento de los ingenieros cuyo trabajo te apasiona, y al comienzo de su carrera hubo una entrevista que los puso muy nerviosos. Mi consejo es prestar atención no solo a los requisitos técnicos del puesto.
Incluso como desarrollador, las habilidades blandas son importantes. Los graduados en nuevas tecnologías -así como los recién graduados en cualquier campo- deben ser excelentes oyentes. También agradezco el desempeño continuo y la voluntad de ser parte y mandar y aprender. En definitiva, espero ver capacidad, iniciativa y humildad.
Historia real: entrevistamos a un candidato de nivel de entrada. Uno de mis ingenieros le preguntó sobre los contenedores y no supo la respuesta.
La próxima entrevista estaba programada para el día siguiente con otro miembro de nuestro equipo. El segundo entrevistador hizo una pregunta similar sobre contenedores, y el candidato no solo respondió correctamente, sino que estaba preparado y explicó que le habían hecho una pregunta similar el día anterior y la consideró más tarde porque estaba interesado en la tecnología.
Estaba impresionado. Encontrar tiempo para la autoeducación, pero también honestamente, que no sabían la respuesta antes, me dejó con una impresión muy positiva. Esta persona ahora es miembro de nuestro equipo.
Alcanzar el éxito en el trabajo
Una vez que obtienes ese primer papel, no estás fuera de peligro. Todavía tenemos que probarnos a nosotros mismos y encajar en la cultura del equipo. Lo más probable es que el equipo tenga ciertas estructuras, como procesos, herramientas, responsabilidades y ritmo. Estas estructuras forman la base sobre la que se establecen las prioridades y el estilo de trabajo del equipo.
Los principiantes deben tratar de observar cómo funcionan las cosas juntas y no apresurarse a emitir juicios si el equipo está haciendo cosas que no aprendieron, lo cual puede ser la razón por la cual adaptarse a las mejores prácticas aceptadas es lo mejor para este grupo. Debe adoptar las herramientas recomendadas, escribir código en una guía de estilo existente y, en general, seguir el ritmo del equipo.
El pensamiento crítico y la resolución de problemas son cruciales. Si el rol requiere codificación, los lenguajes de programación no son tan importantes: tiene un pensamiento limpio y conciso. Los trabajadores más jóvenes deben asegurarse de que el código se pueda leer y extender a otras personas. Los resultados del equipo son más importantes que los resultados de cualquier persona.
Sea aficionado y busque formas de agregar valor. Si el portal de seguimiento de errores tiene entradas abiertas, ofrezca explorar algunas. Incluso si no puede encontrar una solución, aprenderá de su experiencia.
También es importante poder dar y recibir retroalimentación. Ser capaz de dar y recibir retroalimentación sin resentimiento puede ayudarlo a acceder a posiciones de liderazgo.
Finalmente, no debería avergonzarse de hacer muchas preguntas. Por un momento puede parecer absurdo, pero el conocimiento es para siempre. La gente estará esperando por tu curiosidad, especialmente cuando vengas a la escuela.
Este es un buen momento para convertirse en un desarrollador de software. Siga estos pasos y estará en el camino hacia una gran carrera.