Creo que el criterio para ser un buen desarrollador de software se ha mantenido igual desde hace décadas.
Aquí están las pocas veces probadas que trato de seguir
- Habilidades para resolver problemas. Ser capaz de resolver un problema mayor y romperlo en pedazos pequeños, luego resolverlos y juntarlos. Ser capaz de diseñar una solución antes de implementarla realmente.
- Buena comunicación.
- Listo para aprender cosas nuevas. Aprende nuevos paradigmas como la programación funcional. Lea sobre patrones de diseño y diseño de software a gran escala. Aprende al menos algunos idiomas. Mi selección sería C (para saber cómo funcionan las cosas), Java (para trabajo), Scala (para programación funcional), JavaScript (para asíncrono y funcional)
- Adaptarse a lo que sea que trabaje. Es posible que deba hacer la interfaz de usuario y el back-end y la base de datos todos juntos.
- Un poco de algoritmos y estructuras de datos, solo lo básico, los implementados en JDK son suficientes para la mayoría de los casos.
Algunas otras cosas que hago. Mis selecciones personales
- ¿Debería estudiar ingeniería de software si realmente me gustan las matemáticas?
- ¿Cuál es la diferencia entre desarrollador de software e ingeniero de software?
- ¿Hay alguien que renunció a un trabajo de software sin ninguna razón válida y consiguió un trabajo nuevamente después de un año de diferencia?
- ¿Debo aceptar esta oferta de pasantía de RBS? Soy un estudiante de ingeniería indio de tercer año. He sido preseleccionado para un pasante en Royal Bank of Scotland por un perfil de desarrollo de software.
- Me estoy mudando al área metropolitana de Toronto para oportunidades de desarrollo de software, ¿qué debo tener en cuenta?
- Aprende de los demás. Lee blogs de programación, mira proyectos de github.
- Responda y ayude a sus compañeros en la oficina y en quora o stackoverflow.
- Dedica tiempo conscientemente al aprendizaje. Establezca un tiempo fuera de su horario para esto.
- Amas lo que haces. Si no te gusta, no irás lejos.
Y finalmente para las futuras pruebas.
- Habilidades matemáticas
- Aprendizaje automático e IA.