Creo que la mayor diferencia entre programar en la escuela y programar en una empresa es cómo trabajas con otras personas.
En el mundo real, es extremadamente raro que seas el único ingeniero en un proyecto / producto. Incluso si lo es, y el proyecto no depende o está estrechamente relacionado con el trabajo de otra persona, deberá tener en cuenta el hecho de que, en el futuro, otra persona mantendrá su código. Esto significa dos cosas:
1. Su código debe ser de alta calidad:
- ¿Puedo convertirme en analista cuantitativo yendo a un programa de ingeniería financiera?
- Debo ir a BMM, me gusta escribir y anclar, pero soy de una familia de clase media (categoría general), por lo que el trabajo es muy importante. ¿Ofrece buenos trabajos?
- ¿Qué hace realmente un astrofísico?
- Cómo seguir una carrera que es muy diferente del trabajo que tienes ahora
- ¿Cuáles son las consecuencias de proporcionar una carta de experiencia falsa a una gran organización y luego quedar atrapado durante la verificación?
- Debe ser legible (por otras personas, su propio código siempre parece legible para usted)
- Los métodos deben estar lo más desacoplados posible y seguir la Ley de Demeter, es decir, los métodos deben depender de su entorno lo menos posible. Esto aumenta la capacidad de reutilización y significa que un método roto no romperá otros 4 métodos que dependen de él.
- Estoy seguro de que hay otras buenas prácticas de codificación que estoy olvidando, pero entiendes el punto.
2. Debes practicar trabajar con otros. No estoy hablando de sentarme en una habitación con otra persona y compartir archivos en Dropbox. Me refiero a usar herramientas profesionales como Github y herramientas de gestión de proyectos como Asana. En el mundo real, los equipos podrían distribuirse para que no puedas tocar a alguien en el hombro cuando quieras chatear.
- Tendrá que codificar de una manera que reduzca el conflicto: confirmaciones pequeñas y frecuentes, trabajando solo en un problema a la vez y realizando pruebas para asegurarse de que todo funcione antes de presionar.
- Debe practicar hacer revisiones de código y esperar que su código sea revisado antes de fusionarse con master.
El proceso de programación es diferente cuando trabajas en el mundo real, pero creo que si practicas esas dos cosas estarás muy por delante de tus otros colegas de nivel de entrada.
Descargo de responsabilidad: todo lo que escribí aquí lo aprendí en Dev Bootcamp. Es un programa de capacitación de 9 semanas para ingenieros. Se centran intensamente en la máxima empleabilidad, lo que significa enseñar buenas prácticas de programación para trabajar en empresas. En este momento estoy en mis últimas 3 semanas, y el foco está en simular condiciones del mundo real; es decir, trabajamos en proyectos grupales de varios días y tenemos que usar Github para colaborar.