¿Qué tan difícil es convertirse en ingeniero de software?

No es físicamente difícil, como ser un leñador o un bombero.

No es emocionalmente difícil, como ser un soldado u oncólogo.

Como ingeniero de software, te sientas en la comodidad de tu oficina y escribes programas de computadora. Incluso si te equivocas totalmente, solo hará un daño financiero menor a tu empleador y potencialmente a ti mismo. Nadie va a morir (excepto en el raro caso de que esté escribiendo el sistema de control de un cohete o algo así).

Sin embargo, lo que es la ingeniería de software es intelectualmente difícil.

Diariamente, enfrenta problemas que requieren pensamiento lateral y lo obligan a mantener muchas variables en su cabeza a la vez. Para muchos de nosotros, superar estos desafíos intelectuales es uno de los mejores sentimientos del mundo. Es difícil, pero de una manera divertida. Se siente como resolver acertijos o jugar juegos.

Si no disfruta de este tipo de desafíos, y odia fallar en ellos, la ingeniería de software puede ser no solo muy difícil, sino también terrible. Debes aceptar los fracasos y aprender de ellos. Sin este proceso de aprendizaje constante, no durará mucho como ingeniero de software.

Creo que mi opinión no va a ser muy popular, pero tengan paciencia conmigo, ahora después de varios años de ser un desarrollador / ingeniero de software e interactuar con personas que aspiran a ser desarrolladores / ingenieros de software, personalmente creo que la aptitud juega un papel bastante importante en qué tan exitoso es alguien como ingeniero de software.

Incluso cuando recién comenzaba (tenía 11 o 12 años en ese momento; el lenguaje de programación que estaba usando en ese momento era GW-BASIC, aunque eso no es del todo relevante) Casi nunca tuve problemas para encontrar una solución para resolver cualquier problema que intentara resolver (tenga en cuenta que no estamos hablando de leer la solución en un libro y escribirla aquí). La creación de algoritmos para la clasificación, los factores o la determinación de si un número era primo o no, simplemente se me ocurrió, los algoritmos que se me ocurrieron no siempre fueron óptimos (por ejemplo, para el ejemplo de los números primos, se me ocurrió algo todo el camino hasta el número en sí para ver si podría dividirse por algo en lugar de simplemente ir al número dividido por 2, en caso de números muy grandes, mi solución podría afectar gravemente el rendimiento) pero fueron soluciones que resolvieron correctamente los problemas sin embargo. Cuando tenía 15 años, tuve un maestro que se molestó con mi arrogancia y me dio la tarea de crear tres en raya (ceros y cruces), estaba seguro de que no podría hacerlo, pero 3 días después cuando Le di mi solución, su primera reacción fue que la había copiado de un libro (esto era pre-ubicuo en Internet). Ejecutó el programa (escrito en QBASIC) y era obvio que ese no era el caso porque en mi pereza suprema, en lugar de cruces que había hecho con un ‘|’ y todavía no estoy seguro de qué lo molestó más; la sonrisa presumida se plasmó en mi rostro o mi pereza, pero definitivamente estaba molesto (años más tarde me topé con él en una tienda y no solo me reconoció, sino que me ofreció un trabajo en su inicio, pero me estaba desviando 🙂).

A lo largo de los años, me he encontrado con varios ingenieros recién graduados que, a pesar de pasar mucho tiempo tratando de “aprender” el desarrollo de algoritmos, parece que no pueden entender ni siquiera lo básico. La mayoría de estas personas no son tontas por ningún tramo de la imaginación (estudiantes rectos A con matemáticas y física avanzadas, niños que pueden hacer integraciones y transformaciones mientras duermen), pero cuando se trata de crear un algoritmo, todo lo que pueden hacer es memorizar lo que encuentran en un libro o en Internet y lo reproducen en lugar de crear algo ellos mismos (esto puede llevarlos a través de la mayoría de los cursos universales, pero luego sucede el mundo real y luchan, lo que generalmente hace que cambien a un campo diferente)

Entonces, en conclusión, la ingeniería de software no es difícil siempre que tenga la aptitud. Si tiene la aptitud, es un campo extremadamente gratificante y su trabajo es extremadamente fácil y divertido (salvo que las decisiones tontas de la administración establezcan plazos poco realistas) porque es uno de sus pasatiempos. Puedes aprender algo nuevo casi a diario, crear algo nuevo casi a diario y, tal vez, puedes hacer una contribución positiva a la sociedad a través de tu trabajo, pero todo se reduce a si tienes el derecho aptitud o no.

Depende de tus antecedentes y habilidades. Se trata de un tipo de habilidad que algunas personas tienen naturalmente, y otras tienen muchos problemas. Si lo tiene, lo encontrará realmente fácil, casi independientemente de lo que haga. Puedes ir a aprender en algún tipo de campamento de entrenamiento, o obtener un título universitario en Ciencias de la Computación, o simplemente aprender por tu cuenta.

Si no lo tiene y es lo suficientemente joven, probablemente lo más fácil sea ir a la universidad y tomar algunos cursos de programación. Si puede manejarlos, genial, si no, podría hacer otra cosa en su lugar. Si te gradúas con un título en CS, es probable que puedas obtener un trabajo de ingeniería de software de nivel básico. Este es el camino más común, pero también hay otros.

Escriba su primer código simple que haga algo útil para usted, como un script de despertador . – Entonces encontrarás tu respuesta tú mismo.

Hay muchos tutoriales de código en línea, no se necesita software.

aprender código en línea – Búsqueda de Google

Para ser ingeniero de software necesitas mucha paciencia. Necesitas un enfoque intenso. Ayuda a tener una buena memoria. Debes saber mucho.

Necesitas poder practicar una y otra y otra vez. Efectivamente, todo el software está hecho a medida, nunca es perfecto y nunca compite por completo hasta que ya no se usa.

Hay fundamentos para conocer sólidamente y estos fundamentos no cambian mucho, aunque a veces surgen otros nuevos. La sintaxis y los detalles cambian constantemente. Conocer la mayoría de los fundamentos es fundamental. Conocer una selección de los detalles du jure es importante.

Repase los ejercicios en el libro de The Little Schemer . Si llegas hasta el final, tienes lo que se necesita. Esto ni siquiera requiere una computadora, requiere lápiz y papel.

Las otras respuestas hablaron sobre cómo te calificas, además:

para cada nivel se vuelve más difícil, es decir, requiere un conocimiento más profundo.

si quieres ser un pasante desarrollador de iOS pasante móvil, lleva 6 meses de trabajo

si quieres ser un desarrollador móvil junior de iOS, lleva otros 2 años de trabajo

si quieres ser un senior de iOS desarrollador móvil lleva otros 5 años de trabajo

Dicho esto, debido a que hay un cambio constante en el idioma, o en nuevos idiomas, un nuevo desarrollador puede recoger las cosas como algo nuevo mientras que el desarrollador de la experiencia necesitaría volver a aprender algo. Esto le da una ligera ventaja a los desarrolladores novatos ya que su tiempo o conocimiento no se desperdicia. Aunque volver a aprender algo siempre es una buena actualización (para desarrolladores experimentados).
O que, por lo general, si un desarrollador de experiencia conoce 10 idiomas, solo está usando 1–3 de ellos al mismo tiempo. De nuevo, el conocimiento experimentado del desarrollador para ese proyecto específico se desperdicia debido a los años adicionales que ha pasado aprendiendo los otros 7 idiomas. Aunque obviamente tiene un conocimiento más fundamental sobre programación.

Es muy fácil si te encanta porque todas las horas necesarias para aprender se sentirán divertidas 🙂

Si no le gusta y quiere probarlo debido a todo el entusiasmo que reciben los ingenieros de software en estos días, será una pesadilla. Todos pueden convertirse en ingenieros de software, pero la ingeniería de software no es para todos.

More Interesting

Soy ingeniero de software, quiero comprender la plataforma en la nube y seguir mi carrera en ella, ¿por dónde puedo comenzar?

No tengo un título de CS pero planeo enseñarme lo suficiente como para conseguir un trabajo como ingeniero de software. ¿Qué tipos de trabajos debo considerar primero?

¿Me ayudará un menor de matemáticas y finanzas como desarrollador de software sin un título en Informática? Me especialicé en derecho penal.

¿Puedes convertirte en ingeniero de software sin ir a la universidad? ¿Cómo?

Soy BE CS estudiante de último año, quiero seguir mi carrera en pruebas de software. ¿Es esta una buena opción profesional en términos de ganar una cantidad decente de dinero?

¿Qué es lo que realmente necesito aprender y hacer para convertirme en un ingeniero de software exitoso?

Soy ingeniero de software, trabajo de 10 am a 10 pm en una startup, me siento estresado y desmotivado todos los días. ¿Qué tengo que hacer?

Actualmente trabajo como ingeniero de soporte de servidor. Han pasado 2 años y quiero cambiar al desarrollo web. ¿Cómo debo prepararme para conseguir un buen trabajo?

¿Es cierto que los ingenieros de software indios se consideran contrataciones muy malas en los Estados Unidos? Planeo ir a los Estados Unidos el próximo año para una maestría en informática; ¿Ser de India afectará mis perspectivas laborales allí?

Actualmente tengo 25 años y trabajo como ingeniero de software. ¿Debo aceptar una oferta de $ 400,000 de Boston Consulting para el rol de ingeniero de software principal? Estoy en el área de la Bahía y no deseo mudarme a Boston.

Para un joven ingeniero de software, ¿cuáles son las ventajas y / o desventajas de elegir trabajar en San Francisco, Los Ángeles o Nueva York? ¿Por qué elegirías uno sobre el otro?

Cómo ser muy bueno con las computadoras y el software

¿Puedo ser ingeniero de software y cantante? Como tengo mucha pasión en ambos?

¿Es Microsoft Dynamics Axe una buena posición?

Acepté una oferta de Facebook para trabajar a tiempo completo después de una pasantía de ingeniería de software. ¿Cómo puedo aumentar rápidamente mi compensación total a $ 350ka año?