Una cultura de ingeniería “buena” beneficia directamente a una empresa de varias maneras:
- La compañía tiene la capacidad de contratar mejores ingenieros. Muchos de los mejores ingenieros prefieren trabajar con otros grandes ingenieros en una buena cultura de ingeniería, y eso le da a la compañía una ventaja de reclutamiento y retención. Para ver un ejemplo, vea: ¿Cómo encontraron Larry y Sergey a Jeff Dean? “Pensé que Google sería mejor [que AltaVista] porque conocía a más personas allí, y parecía que tenían más conocimientos técnicos”.
- Los ingenieros son más productivos, independientes de su habilidad. Esto es el resultado de una mejor infraestructura que se acumula con el tiempo, una mejor base de código, más reutilización del trabajo de otros, menos tiempo dedicado a lidiar con deudas técnicas, errores y extinción de incendios. Las diferencias aquí pueden ser enormes, como 2-5x sobre una empresa promedio y aún más en comparación con una cultura particularmente mala.
- La organización puede adaptarse al cambio más rápidamente. Este es el resultado de la acumulación de muchos pequeños efectos culturales. Por ejemplo, en una buena cultura, es fácil comenzar un nuevo proyecto y hacer que todos estén inmediatamente en la misma página sobre cómo se escribirá el código, cómo se operarán los servicios y qué se reutilizará de otros proyectos. También es fácil para los ingenieros entrar en un proyecto que ya está terminado y extenderlo para admitir una nueva característica.
En términos de resultados comerciales, la suma de todo esto hace posible que la empresa desarrolle productos y características que otras compañías no pueden, o que hagan las cosas más rápido, mantener los costos de infraestructura más bajos, mantenerse en la cima de su mercado y entrar nuevos mercados. Aquí hay algunos ejemplos en los que puedo pensar:
- La calidad de Gmail en 2004 con respecto a otros productos de correo web fue el resultado directo del fuerte equipo y cultura de ingeniería de Google.
- MySpace simplemente no pudo seguir el ritmo de desarrollo de productos de Facebook, incluso cuando tenía un equipo de ingeniería mucho más grande. Recuerdo haber hablado con un ingeniero que trabajaba en MySpace que me contó cómo tenían esta enorme lista de expresiones regulares para tratar de evitar ataques de secuencias de comandos en sitios cruzados, y cada vez que había una nueva, creaban una nueva expresión regular para intentar solucionarlo. , en lugar de desinfectar html de la manera correcta. Cosas como esas se suman a una gran cantidad de tiempo perdido que de lo contrario podría contribuir a hacer un producto excelente.
Obviamente, hay mucho más que la capacidad de ingeniería que se necesita para que una empresa tenga éxito, y es más importante en algunos mercados que en otros. Si la fuerza de ingeniería de una empresa se dirige a construir cosas que no importan, la empresa será golpeada por un competidor con un equipo de ingeniería peor que es más eficiente para obtener resultados.
- ¿Qué tan bueno es MacBook para software y aplicaciones de ingeniería electrónica?
- Cómo conseguir el trabajo perfecto después de un B.Tech
- ¿Cuál es alguna de las técnicas innovadoras en la red de entrega de contenido (CDN)?
- ¿Quién tiene una gran idea de desarrollo de software que necesita implementación?
- ¿Cuál es el propósito de un analista de software? ¿Y en qué temas debemos concentrarnos para este trabajo?
Para abordar Amazon: Mi impresión es que Amazon tiene procesos realmente buenos y hace muchas otras cosas además de la cultura de ingeniería que compensa su debilidad allí. Además, estoy seguro de que todavía termina mucho mejor en ingeniería que Barnes and Noble y la mayoría de las otras compañías con las que compite.