Su objetivo como nuevo ingeniero de software es simple: aprender.
Como muchas veces cuando somos nuevos en algo: no sabes lo que no sabes.
Los primeros años de su carrera es cuando construye una amplia base de experiencia que le permite convertirse en el gurú del software del mañana. La mayoría de los nuevos ingenieros están realmente entusiasmados de comenzar a trabajar en alguna nueva característica realmente genial o mostrar sus habilidades de “diseño”.
- ¿Cuál puede ser el mejor enfoque de desarrollo de software para una startup, que puede ayudar a cumplir plazos cortos sin agregar presión adicional?
- ¿Qué razones tienen las personas para comprar software comercial de control de versiones en lugar de usar los gratuitos? Los sistemas de control de versiones que mis compañeros y yo más disfrutamos son SVN y Git. A pesar de esto, todavía hay compañías que venden software.
- ¿Podría una startup crear la primera IA básica?
- ¿Por qué las compañías tecnológicas proporcionan MacBooks para el desarrollo de software?
- ¿Qué títulos o calificaciones se requieren para un trabajo relacionado con 'software' en Facebook?
Pero lo que hace que los buenos ingenieros superiores sean tan poderosos no es su capacidad para elaborar un algoritmo pateador sino su capacidad para aprovechar una variedad de habilidades para realizar una tarea de manera robusta. Habilidades que van desde el uso de herramientas de construcción / análisis hasta la organización de códigos, estructuras de datos, métodos de prueba y patrones de diseño.
Aquí hay un ejemplo concreto. Mi primer trabajo como pasante fue reescribir los archivos MAKE de Microsoft C 5 para que fueran compatibles con el “nuevo” sistema de compilación Microsoft C 6 en una pequeña empresa que estaba actualizando su stack de compilación. Hola no sexy Pero me expuso a algunos conceptos que todavía uso regularmente hoy.
En la mayoría de los proyectos, el método de menor riesgo y mayor recompensa es la corrección de errores, como se mencionó anteriormente. Es, con mucho, la mejor manera de aprender una base de código. Elija un conjunto aleatorio de errores de la lista de errores, investíguelos, intente una solución, luego obtenga una revisión de código de alguien que conozca la base de código. Es probable que tengan sugerencias y comentarios, y le dirán cómo lo habrían solucionado, si es diferente a su solución. Ese proceso se refuerza a sí mismo y en poco tiempo estará listo para abordar una característica o un área de propiedad más grande.