¿Cuál es mi próximo paso como ingeniero de software?

¡Construye cosas!

Ensuciarse las manos es la mejor manera de tomar el conocimiento que ha aprendido y aplicarlo. Terminará con una pequeña cartera de códigos que puede mostrar a futuros empleadores, así como posiblemente automatizar cosas en su propia vida.

Por ejemplo, en 2005 tenía más de 60,000 MP3 en una carpeta en mi HD y quería poder buscarlo rápidamente. Escribí programas para extraer los datos de la etiqueta, los puse en una base de datos, construí una interfaz web para buscar / descargar, resolvió un problema práctico que tenía y me dio la oportunidad de ejercitar mis habilidades de programación.

Estoy seguro de que tiene algo similar en su propia vida; tal vez alguien ya haya resuelto el problema y cree que puede resolverlo mejor / más rápido / etc.

Otras sugerencias para aprender las cosas prácticas van de la mano con esto. Esas lecciones prácticas son mucho más fáciles cuando practicas el concepto al que se aplican.

Centrarse en estructuras de datos y algoritmos. Desarrolle un conocimiento profundo en cualquier lenguaje de programación moderno como Java, Python, etc. Aprenda a codificar almas para problemas en sitios como HackerEarth. Comprender los fundamentos de los sistemas operativos, redes informáticas, análisis y diseño orientado a objetos y DBMS. Puede construir sobre estos conceptos fundamentales y especializarse. Felicidades por tu graduación. Todo lo mejor.

Sugiero familiarizarse con Agile / Scrum. Muchas compañías están utilizando un enfoque Agile / Scrum para el desarrollo de software y es importante que un desarrollador comprenda su papel en un entorno Agile / Scrum. El papel de un desarrollador en un entorno Agile / Scrum es mucho más que escribir código. Consulte este artículo para obtener más detalles al respecto:

¿Qué es un desarrollador ágil?

Chuck Cobb
Autor de “La guía del administrador de proyectos para dominar Agile”
Echa un vistazo: Capacitación ágil de gestión de proyectos en línea para gerentes de proyectos

Cosas prácticas: cómo sacar a la luz un producto que se puede mantener: pruebas, depuración, gestión de versiones. Si el código falla, ¿qué información necesita en el registro para depurarlo? ¿Cómo puede evitar que los registros se inunden cuando no se depura? ¿Cómo mantiene múltiples versiones del mismo código de producto?

¿Cómo se depuran los problemas? Identifique familias de posibles fuentes de problemas, elabore experimentos para reducir el campo y realice un seguimiento de los resultados para que no se pierda.

¿Cómo gestionas los cambios en varias versiones del mismo producto? Aprenda un sistema de control de versiones o dos – git en particular.

Aprende a escribir buenas pruebas unitarias. Aprende a burlarte y aprende a escribir código que sea comprobable.

Sobre todo, cuando tenga tareas que hacer, considere el aprendizaje como un producto importante de la tarea cuando decida un enfoque.

¡Ve a ensuciarte y diviértete!

PD: aproveche cualquier oportunidad para conocer qué les importa a los clientes y grupos fuera del desarrollo.

Necesita comprender algunas habilidades lo más rápido posible. Al entenderlo me refiero a profundizar en ello. Puede lograr esto simplemente poniendo esfuerzo en ello y no dejando pasar ninguna oportunidad en forma de pasantía. Visite sitios web independientes para ver si las tareas asignadas están a su alcance. Tampoco olvide visitar sitios web de tecnología como Stackoverflow para resolver problemas informáticos y de programación. Me he encontrado con muchos graduados que actualmente trabajan desde casa en sitios web independientes como Fiverr y UpWork. No sabían absolutamente nada sobre el mercado al momento de la graduación.

Trabajo

More Interesting

¿Andrew McGregor menciona que un título en ingeniería de software es más adecuado para ciertos trabajos de codificación? ¿Qué roles y roles principales serían estos típicamente y cuáles son sus perspectivas futuras?

¿Debo continuar mi trabajo como ingeniero de software o dejarlo, tomar un descanso, perseguir mis sueños?

¿Cuál es el número promedio de líneas de código (incluyendo cortar y pegar bloques de código) que escribe un ingeniero de software de Google en un día de 8 horas?

¿Debo mudarme de Singapur a Alemania como ingeniero de software?

¿Cuáles son las ventajas y desventajas de las pruebas de regresión?

Actualmente soy ingeniero de software trabajando en Shenzhen en China. Tengo 4 años de experiencia programando en Java. Con mi experiencia, ¿cuáles son las posibilidades de ser admitido en una escuela como Carnegie Mellon o Stanford?

¿Cuántos detalles sobre los proyectos de mi empresa actual puedo incluir en mi currículum?

¿Cuál es el salario promedio de un ingeniero de software de Google?

¿Cuáles son las habilidades más importantes necesarias para ser un ingeniero de software exitoso?

¿Cómo es ser ingeniero de software de Google en prueba (SET)?

¿Es una práctica común que los programadores / ingenieros de software usen punteros para controlar cualquier parte de sus computadoras, por ejemplo, RAM, GPU, sensores, etc.? ¿O hay funciones / métodos en ciertas bibliotecas, por ejemplo, OpenCL para GPU, que ya lo hacen?

¿Cuáles son los casos en que los ingenieros de software no son respetados por sus gerentes continuamente para lograr sus ganancias políticas dentro de una organización?

¿El puesto de ingeniero de software de robótica de automóviles autónomos de Google requiere el mismo nivel de experiencia en codificación que un puesto de ingeniero de SW normal?

¿será útil que un estudiante internacional desempleado con maestría en ciencias de la computación se mude al área de la bahía para encontrar un próximo trabajo en los próximos dos meses?

¿Siento que otros ingenieros de software están ocultando cómo obtuvieron tanta información de mí?