¿Qué se necesita para que una persona se convierta en ingeniero de software?

Aquí hay algunos puntos que creo que son útiles:

  • Persistencia. El desarrollo de software a menudo puede ser como golpearse la cabeza con sangre contra una pared hasta que finalmente se abre paso hacia el otro lado. Sin embargo, una vez que lo logras, a menudo se siente genial. Olvidar rápidamente toda la frustración que algo te causó es probablemente vital para tu salud mental a largo plazo 😉
  • Pensamiento abstracto. La mayoría de las cosas en ingeniería de software son muy abstractas. Pero es de gran ayuda si eres capaz de imaginar cómo se “ven” y entender cómo “interactúan” entre sí. Los diferentes programadores manejan esto de manera diferente, pero poder visualizar cosas / interacciones abstractas dibujando y haciendo diagramas simples es probablemente la forma más común.
  • Sencillez. El software es intrínsecamente complejo, por lo que es importante mantener las cosas lo más simples posible. Si no tiene cuidado, la complejidad comenzará a arrastrarse por todas partes en su sistema, haciendo que el sistema sea difícil de entender y mantener. También aumenta el riesgo de mal funcionamiento.
  • Fundamentos Comprenda los componentes básicos de una computadora, como la memoria, el almacenamiento (discos duros), las redes, etc. Todo el software está construido sobre estos, por lo que es importante comprender las propiedades básicas y el comportamiento de ellos.
  • Algoritmos Como mencionaste algoritmos, tengo que comentar sobre eso. Esas preguntas a menudo aparecen aquí en Quora y creo que la gente piensa en algoritmos de bajo nivel como los algoritmos de clasificación, etc. En mi experiencia, esto no es muy importante. Estos son “problemas resueltos” que son compatibles con la mayoría de los lenguajes / entornos de programación, por lo que, a menos que sea muy especializado, rara vez necesitará implementarlos usted mismo.

Necesitas amor para resolver problemas y construir cosas. Comencé mis estudios de ingeniería esperando trabajar en ingeniería química, pero la satisfacción de construir y ejecutar software en vivo era demasiado irresistible. Los sistemas de ingeniería química también son interesantes, pero los estudios fueron muy teóricos. ¿Qué podría ser más satisfactorio que ver que su solución se ejecuta en producción? Romper problemas grandes en subproblemas más pequeños también es parte del papel. El amor por el aprendizaje y una mentalidad de crecimiento es importante para mantenerse relevante en el mercado a largo plazo. Las tendencias tecnológicas y las plataformas cambian rápidamente.

Aparte de esas cosas, tener un buen mentor es muy útil.

Trabaja con personas de las que puedas aprender. Estar rodeado de personas a su propio nivel (o tomar a Reddit como su referencia) es solo una cacofonía de ideas a medio formar.

Creo que la pasión por la codificación, la resolución de problemas y el aprendizaje son esenciales para convertirse en un ingeniero de software exitoso. Algunos pueden argumentar que para entrar en el trabajo de prueba, es posible que no necesite tener una pasión por la codificación. Bueno, en una tecnología que cambia rápidamente con un mayor enfoque en la automatización, siento que es necesaria para su supervivencia a largo plazo en la industria.

More Interesting

Han pasado 7 años siendo un ingeniero de software, pero realmente no puedo considerarme un ingeniero. Me siento como un falso? ¿Qué significa ser ingeniero? ¡Ayuda!

¿Qué debe hacer un SDE (interno) cuando se le da una tarea relacionada con la prueba (SDET / QA), que no le gusta?

¿Merecen la pena las certificaciones para ingenieros de software?

¿Cuáles son las ventajas de ser un oficial de IAS que un ingeniero de software en Google o Facebook?

¿Quién ganará más dinero a largo plazo, un cirujano ortopédico, un neurocirujano, un ingeniero de software o un quant?

¿Necesito aprender Oracle DB para convertirme en ingeniero de software Java?

Soy un programador junior y quiero aprender Python. ¿Debo usar el libro 'Learn Python The Hard Way' o seguir los cursos introductorios de Udacity?

¿Es cierto que la mayoría de los ingenieros de software generalmente dejan de codificar después de 15-20 años?

¿Cómo sentir personalmente sobre el mantenimiento del software? Lo disfrutarias

¿Cuáles son los pasos para convertirse en ingeniero de software en India?

Quiero ganar la mayor cantidad de dinero posible como ingeniero de software sin seguir un camino que no disfrutaría (por ejemplo, el arquitecto empresarial de Java). ¿Debería duplicar mis habilidades de programación o utilizar mi mente matemática para alcanzar un alto nivel de competencia en inversiones, comercio, bienes raíces, etc.?

¿Cuáles son los cursos esenciales que debe tomar un ingeniero de software?

¿Cómo puede un ingeniero de software priorizar mejor el bajo estrés y el equilibrio trabajo / familia al seleccionar trabajos?

¿Cómo convertirse en ingeniero de software? ¿Alguien puede guiarme por los pasos de cómo ser uno?

¿Hay algún rol de arquitecto de software en Google / Facebook / Microsoft / Apple?