¿Por qué los gerentes de ingeniería en las compañías de software son tan particulares sobre la cantidad de años de experiencia durante la contratación?

Bueno, antes que nada: solicite incluso si no tiene todos los años. Rara vez es un requisito difícil y más una indicación de qué tipo de capacidades está buscando la empresa. Si parece interesante, puede pasar a la etapa de entrevista, y si demuestra las habilidades requeridas, tiene todas las posibilidades de ser contratado.

He contratado a mucha gente.

Esto es lo que buscaría en un buen desarrollador con cero años de experiencia:

  • Pasión por el producto y la empresa!
  • La capacidad de aprender cosas rápidamente y enfrentar desafíos desconocidos
  • Una buena actitud y disposición para recibir comentarios, combinada con el hambre de comprender cuál es la mejor manera de hacer algo.
  • Una comprensión decente de los principios básicos de OOP y cualquier tecnología con la que trabajemos

Esto es lo que buscaría en un desarrollador con algunos años de experiencia:

  • La capacidad de poseer cosas. No solo haciendo lo que se les dice, sino resolviendo y manteniendo proactivamente a las personas informadas sobre los desafíos
  • Poder saber si el código es fácil de mantener y si es importante. Lo mismo para el rendimiento.
  • Tenga la sabiduría de decir si un patrón de diseño es adecuado para un problema o no
  • Una tendencia a refactorizar continuamente la base de código para que sea mejor, pero con la sabiduría de decir cuándo retroceder y no caer en la trampa de pasar tiempo cambiando las cosas para obtener beneficios mínimos.
  • La capacidad de detectar debilidades en el proceso del equipo y tener ideas para mejores formas de hacer las cosas.
  • La capacidad de asesorar y orientar a más desarrolladores junior sobre cómo escribir código que sea mejor
  • Exposición a trabajar en bases de código que por una razón u otra fueron terribles, fomentando la sombría determinación de aprender de los errores del pasado
  • Después de haber tenido experiencias increíbles, proporcionando planos útiles sobre cómo se pueden hacer las cosas

Hay muchas cosas que solo aprende de años de experiencia. Si está formando un equipo, es una buena idea asegurarse de tener personas allí que puedan brindarle orientación que fortalezca al equipo en su conjunto, apoyándose en sus éxitos y terribles errores.

Es como cualquier otra actividad: la práctica hace la perfección. La teoría es una cosa y el solicitante debe saberlo, pero ponerlo en práctica es una historia diferente. Cuando la persona tiene años de experiencia aplicando la teoría, ¡es mejor!

Tener y enfatizar una larga hoja de vida llena de experiencia laboral es el último refugio de los estúpidos e incapaces. Esto es especialmente cierto en el área de ingeniería de software donde todo cambia constantemente. Su conocimiento de los directores generales es mucho más importante.

Se podría argumentar que la experiencia en la aplicación de principios generales muestra que se puede lograr, pero en realidad es mejor probar a las personas.

Hay muchas áreas donde las personas enfatizan la experiencia sobre todo lo demás, y es simplemente estúpido e incorrecto. Tienen una actitud como la de que tiene que trabajar tanto tiempo para ganarse el derecho a recibir un pago mayor, y generalmente no tienen buenas métricas de rendimiento. El gobierno es enorme. Cualquier lugar que ha contratado a personas estúpidas que se han atrincherado también lo hacen. La antigüedad es su única habilidad, y quiere hacerla cumplir cuando contrate a otros.

Las minorías también tienden a hacer un gran negocio al respecto. Creo que esto es un 50% debido a la falta de sofisticación mental, y un 50% de celos hacia las personas con dinero que pueden aparecer en la escena e inmediatamente hacer el trabajo mejor sin tener que trabajar en otros trabajos solo para sobrevivir.

En cualquier caso, las minorías parecen abrazar esta falsa ideología de antigüedad.

Estos son los requisitos para un ingeniero de software de tres compañías diferentes bastante jóvenes. Notarás que ninguna de estas compañías tiene años de experiencia en los requisitos, ni mencionan los títulos junior o senior.

Dropbox

Estos son algunos de los desafíos técnicos que hemos abordado:

  • MySQL escalado para manejar metadatos de cientos de miles de millones de archivos.
  • Creamos asignadores de memoria Python personalizados multiplataforma para mantener baja la huella de memoria de nuestro cliente cuando se trata de muchos archivos.
  • Desarrolló un protocolo LAN personalizado que permite a los clientes de Dropbox comunicarse y transferir archivos entre ellos cuando se encuentran en la misma red local.
  • Sistemas operativos de ingeniería inversa para agregar superposiciones de iconos y menús contextuales.
  • Diseñó servidores personalizados que manejan millones de conexiones concurrentes.

Los desafíos de programación de Dropbox de eficiencia y escalabilidad significan que todavía hay una gran variedad de proyectos para elegir, y nuestros ciclos de desarrollo le permitirán ver su idea del lunes en manos de millones de personas el viernes. Mientras tanto, trabajará con compañeros de equipo talentosos y afines para unir las partes complejas de Dropbox en algo que simplifique la vida de las personas.

Quora

Los ingenieros crean Quora desde cero, creando API y abstracciones para resolver problemas técnicos desafiantes.

  • Trabaje con los diseñadores y gerentes de productos para crear excelentes productos, como una experiencia de alimentación atractiva y un potente editor de texto enriquecido
  • Haga que Quora sea rápido con una variedad de iniciativas en código de nivel de aplicación, optimizaciones del lado del cliente y escalado del lado del servidor
  • Amplíe nuestro marco web en tiempo real, con elegantes abstracciones que facilitan a los ingenieros y diseñadores trabajar en el producto.
  • Use técnicas de aprendizaje automático para aumentar la calidad del contenido presentado a los usuarios en el sitio, tanto en el feed como en el contenido sugerido
  • Diseñe nuestro backend de búsqueda en tiempo real para mejorar la velocidad y la relevancia

Facebook

Requisitos

  • BS o MS Computer Science o campo relacionado
  • Experiencia en la creación de aplicaciones de servidor a gran escala y alto rendimiento y software confiable
  • Conocimiento experto en desarrollo y depuración en C ++
  • La experiencia de extremo a extremo en la publicación de anuncios en línea y los antecedentes en publicidad en línea / teoría de subastas son muy preferidos
  • Conocimiento de Perl, PHP o Python a plus
  • Conocimiento de Hadoop / MapReduce a plus

Sé que la mayoría de las empresas todavía se centran en años de experiencia, pero eso está cambiando con las empresas más jóvenes. Además, muchas empresas no están obsesionadas con el número exacto de años de experiencia, pero tienden a ir con roles de nivel “senior” y “junior”, donde senior generalmente significaría 4-6 + años de experiencia y junior sería 0- 2 años de experiencia Esto se aplica básicamente a las empresas en los Estados Unidos. Para las empresas en India, creo que los requisitos son más estrictos y esto probablemente se deba a las solicitudes del lado del cliente en las empresas basadas en servicios.

More Interesting

¿Es la seguridad una amenaza menor en el desarrollo integrado en comparación con el desarrollo web?

¿Cuál podría ser el nombre de una empresa de desarrollo de software que se ocupa de desarrollo web, móvil y de juegos? ¿Solo una palabra?

¿Qué competencias y qué servicios debemos suscribir para construir un mensajero cifrado para un potencial de 50,000 usuarios?

Mientras creamos nuestra primera gran aplicación asp.net MVC 4 para la escuela, ¿qué debemos hacer para mantener el programa mantenible?

¿Cuáles son las 5 principales compañías de outsourcing de software en el norte de India?

¿Cuál es el mejor libro para explicar conceptos de diferentes marcos como Spring, Angular, Ruby on Rails, etc.?

¿Cuál es la diferencia entre eventos, controladores de eventos y oyentes de eventos?

¿Dónde puedo encontrar reseñas sobre empresas de desarrollo de software? ¿Hay algo como Yelp para empresas de desarrollo de software y agencias digitales?

¿Cuáles son las preguntas / conceptos imprescindibles para una entrevista con un ingeniero de software?

¿Qué lenguajes de programación predices que liderarán el Internet de las cosas?

En un intento de eliminar gradualmente una pila MS existente, ¿qué presenta una oportunidad más atractiva para un desarrollador de capas de presentación? ¿Puro jQuery + JSON + REST o adoptando alguna tecnología del lado del servidor que no sea MS específicamente para la capa de presentación?

¿Qué tipo de persona debo contratar para mi sitio web?

¿Cómo cambio mi profesión cuando mi carrera actual como programador ha llegado a un punto muerto y no tengo experiencia / habilidad con nada más?

¿Cómo funciona el sistema FastPass + de Disney desde el punto de vista de la informática y la programación? En otras palabras, ¿cómo sería el esquema de la base de datos y qué tipo de tecnologías se utilizan para que el sistema funcione?

Con el aumento de la automatización, ¿está disminuyendo la necesidad de desarrolladores? ¿Debo elegir mi carrera en desarrollo de software o ciencia de datos?