¿Debería enfocarse en un área de experiencia en ingeniería de software?

Ser un especialista, particularmente en áreas de gran demanda como aprendizaje automático, búsqueda / IR o sistemas distribuidos abre puertas. Sin embargo, la especialización no debería tener el costo de la excelencia general en ingeniería de software. Lo que he encontrado es que la combinación de profundidad en una o más áreas, combinada con la amplitud general parece ser una gran combinación: este tipo de ingenieros han sido los más difíciles de encontrar; cuando son contratados, tienden a tener el mayor impacto en una organización.

En particular, he visto que la combinación de especialización algorítmica (búsqueda o análisis de datos), programación de sistemas (computación distribuida, programación de red, concurrencia / multihilo, componentes internos de bases de datos) y experiencia con programación en grande (diseño orientado a objetos limpios , colaborar en grandes bases de código y gestionar la complejidad en general) es particularmente valioso.

Para los ingenieros de sistemas distribuidos (que generalmente escriben servidores en Java o C ++), la comprensión de la administración de sistemas UNIX y las secuencias de comandos Python / Ruby / Perl también es invaluable: la parte más difícil en la construcción de este tipo de sistemas es la depuración, y estas herramientas ayudan a hacer la depuración / solución de problemas menos propenso a errores y tedioso.

Poder moverse de un área de especialización a otra, mientras aprende en el trabajo, también parece ser una habilidad valiosa. Por ejemplo, muchos ingenieros de alto nivel en Google (Jeff Dean, Urs Holze) tenían experiencia en compiladores / lenguajes de programación, pero cambiaron a dominios completamente diferentes. El profesor Ousterhout (un informático y un emprendedor) es conocido por su trabajo en lenguajes de script (Tcl), herramientas de software (Electric Fence), sistemas operativos (Log Structured Filesystems con Mendel Rosenblum) y sistemas distribuidos más recientemente (RAMCloud).

En empresas como Facebook, donde entrevisté a unos cientos de candidatos (y de lo que escuché sobre Google), al generalista generalmente le va mejor en el proceso de la entrevista porque Facebook y Google no suelen contratar equipos o habilidades específicas. Por lo tanto, generalmente no sabe qué tipo de preguntas le hará un entrevistador. Ninguna de las compañías incluye experiencia / conocimiento de dominio demasiado profundo en su proceso de entrevista y generalmente requiere que resuelva problemas que se beneficiarían de una gama más amplia de experiencia. Trabajé en Yahoo antes y contratan más para equipos / puestos, por lo que nuestras preguntas fueron más específicas. Aunque la calidad del pensamiento del candidato todavía suele ser más importante que la profundidad de su conocimiento.

Dado que muchas de las empresas en crecimiento son más pequeñas y ágiles, no creo que por lo general consideren que valoran tanto la profundidad como la amplitud y la capacidad de asumir nuevas tareas. Además, parece que las compañías en el valle actualmente valoran la amplitud, también parece una mejor estrategia a largo plazo porque su área de enfoque podría ser menos importante dentro de cinco años.

Aunque muchas de las áreas que usted describe consideraría categorías enteras de experiencia, ya que consideraría un especialista que se especializa en algo más limitado que solo “back end” o “web”.

More Interesting

¿Cuáles son las mejores delicias motivacionales para los empleados (potenciales) en una startup?

¿Cuáles son algunos mecanismos sociales para descubrir personas con talento?

¿Alguien ha escrito sobre la necesidad de tener oficinas en San Francisco en lugar de Silicon Valley para atraer a los mejores talentos para las nuevas empresas?

¿Existe algún portal en línea que contrate a personas que se esfuercen por trabajar en startups o que brinde información sobre las últimas startups que buscan reclutamiento?

¿Cuál es la mejor manera para un profesional que no es de ingeniería entrar en una startup?

Cómo reclutar al mejor talento

¿Alguna empresa ha tenido éxito en el reclutamiento de Hired?

¿Qué es un buen proceso de entrevista para una startup?

¿Quién suele estar a cargo de la contratación en una startup pequeña (10 - 12 personas)?

¿Qué piensan los reclutadores de tecnología sobre la programación de bootcamps como Hack Reactor, DigitalCrafts, MakerSquare y Dev Bootcamp?

¿Quiénes son los empleados que hicieron Facebook Facebook?

¿Cómo debe compensar la primera financiación técnica posterior a la contratación?

¿Cómo es que incluso hoy en día muchas compañías ofrecen solo Rs? ¿Salario de 10 a 15 mil para trabajos de nivel ejecutivo en Ahmadabad?

¿Qué piensa sobre ser contratado para una startup con posibles problemas de flujo de efectivo / mercado?

Reclutamiento de inicio: ¿Las entrevistas de estilo Google / MSFT ayudan a identificar a los mejores ingenieros de inicio?