¿Debo ser desarrollador de software o ingeniero de software?

No estoy seguro de lo que ve como la diferencia entre un desarrollador y un ingeniero, pero, a partir de su respuesta, veo dos caminos posibles:

  1. Sistemas integrados: estos están en un nivel muy alto, el tipo de sistemas que usted describió: drones, automóviles, televisores, etc., son todos sistemas integrados porque requieren programación de hardware y software para algo que no está destinado a ejecutarse en una computadora / servidor, sino en un dispositivo que usa y depende de hardware y software para funcionar. Puede que le gusten los sistemas integrados. No verá ningún Java o Python aquí, excepto tal vez si comienza a jugar con cosas como un RaspberryPi que creo que usa Python.
  2. Juegos, bueno, esto es obvio. Dices que quieres programar juegos, por lo tanto, desarrollo de juegos … Sé que los motores de juegos y C ++ se usan ampliamente aquí.

Al final, no se aferre demasiado a los títulos de trabajo, un desarrollador web es un ingeniero de software para todos los efectos y propósitos, un desarrollador de juegos es un desarrollador de juegos, etc., etc. Simplemente estudie Informática y siga el camino que te lleva a donde quieres estar.

¿Debo ser desarrollador de software o ingeniero de software?

Buenas noticias; no tienes que elegir porque son lo mismo. Diferentes compañías e individuos a veces usan los términos de manera diferente, pero no hay una distinción dura y rápida entre ambos. En uso general, significan lo mismo.

Editar: quiero poder codificar cosas como software para empresas como Microsoft, Google, etc.

Ha editado esto desde referirse a hardware (televisores, drones, etc.) hasta referirse a compañías de software. Tenga en cuenta que son dos áreas bastante distintas: las cosas relacionadas con el hardware se denominan desarrollo integrado (porque está trabajando en un software que está integrado en algún dispositivo específico, a diferencia del software de uso general que se ejecuta en hardware genérico). El código del código de cualquier manera, pero el desarrollo integrado es un poco un nicho especializado, por lo que si está interesado en él, es posible que desee centrarse en esa área específicamente en algún momento. Trabajar para Google / MS, etc. consiste en un trabajo regular de software de propósito general, y es poco probable que implique algún desarrollo integrado.

¿Qué lenguaje de programación sería el mejor? Python o Java.

No hay diferencia, solo elija el que más le atraiga. La elección del idioma no es tan importante: de todos modos podrá (y se espera) cambiar de idioma con bastante frecuencia en el transcurso de una carrera.

La misma cosa. Tampoco elijas un lenguaje de programación. Claro, elija uno para comenzar a usar, pero elija qué áreas de ingeniería SW y / o CS le interesan más. Front-end, Back-end, visualización de datos, aprendizaje automático, bases de datos, gráficos, procesamiento de lenguaje natural, etc. Luego aprenda las herramientas / idiomas que sean más útiles en esos dominios.

Diferentes compañías y universidades usan terminología ligeramente diferente para la disciplina. Sin embargo, en la práctica, “desarrollador de software” e “ingeniero de software” son dos términos que realmente significan exactamente lo mismo. A menos que haya una empresa a la que se postule que le pida que elija entre los dos (en cuyo caso, debe buscar una aclaración sobre cómo esa empresa específica utiliza esos términos), no hay realmente una elección que deba hacerse aquí .

Si está buscando una carrera, considere la ingeniería eléctrica. Lo digo porque programar televisores y dispositivos es lo que se conoce como programación integrada. La programación integrada requiere la capacidad de interactuar con el hardware a un nivel muy bajo. Aprenderá mucho más de eso como EE que en una ruta pura de software.

No hay diferencia entre ingeniero de software y desarrollador de software. Ambas posiciones realizan las mismas tareas y terminan pasando la mayor parte de su tiempo escribiendo código que hace algo (con suerte increíble).

En cuanto al idioma, no creo que importe cuál uses primero. A mí mismo me gusta Java, pero también sé y usé Python. Ambos son muy buenos y lenguajes comunes. Creo que Ruby también es genial y eficiente. En cualquier caso, predigo que, como la mayoría de los desarrolladores, se le pedirá que aprenda más de un idioma en horas extras, por lo que no importa con cuál comience.

Un hilo que podría interesarle: ¿Qué idioma tiene las mejores perspectivas de futuro: Python, Java o JavaScript?

Si realmente quieres hacer una gran diferencia en el mundo, iría por el ingeniero de saneamiento.

En serio, parece que quieres hacer un software de metal desnudo, es decir, sistemas integrados. Creo que puede considerar convertirse en un EE, un ingeniero eléctrico. Cuanto más comprenda cómo funciona el hardware, mejor podrá escribir software para él.

Yo hablo por experiencia. Al principio de mi carrera comencé a desarrollar en tiempo real, software de comunicaciones, controladores de dispositivos, diagnósticos de hardware, etc. Fui muy bueno en eso porque siempre podía averiguar si el problema era software o hardware.

Los chicos del hardware me amaban pero yo no era un EE. ¡Y no hay nada más peligroso que un chico de software con un destornillador! Finalmente, por frustración con el gerente del grupo de diseño de hardware, me asignó un técnico y se lo dijo al pobre hombre; “No dejes que Bob toque el hardware. ¡No podemos permitirnos! ”Historia verdadera …

Los candidatos que he entrevistado que prefieren Python a menudo tienen problemas para usar el diseño orientado a objetos. Parecen estar acostumbrados a pasar números sin tener que pensar cómo están representados. Eso es genial si está escribiendo un algoritmo numérico o haciendo ciencia de datos, pero tal vez no sea una buena manera de aprender a construir sistemas más grandes. Microsoft no usa Java, pero es una transición fácil usar C # o C ++ en lugar de Java más adelante.

More Interesting

¿Cuáles son las características de un buen desarrollador / ingeniero de software?

¿Es cierto que los codificadores de más de 40 años se retiran para pastar involuntariamente en Silicon Valley, ya que se consideran demasiado viejos, a pesar de tener las 10.000 horas de experiencia de Malcolm Gladwell para perfeccionar una habilidad?

¿Debo obtener un doctorado en economía o convertirme en ingeniero de software si quiero tener el máximo impacto y cambiar el mundo?

¿Cuáles son las tareas diarias de un ingeniero de automatización de pruebas de software?

¿Por qué exactamente Google contrató a un sorprendente 8% de los graduados de MS en ingeniería mecánica como ingenieros de software de Carnegie Mellon en 2016?

¿Qué flujo es mejor para convertirse en ingeniero de software?

¿Debo jugar para los Golden State Warriors o trabajar para Microsoft como ingeniero de software?

¿Vale la pena asistir a un programa de doctorado para ser cuantitativo en los fondos de cobertura y los bancos de inversión?

¿Qué habilidades hacen que algunos ingenieros de software sean más atractivos para los empleadores?

¿Cómo debería un ingeniero de software, con más de 10 años de experiencia, ver el futuro en los próximos 10-15 o 20 años?

¿Cómo es posible que los bootcamps de codificación conviertan a sus estudiantes en ingenieros de software al final de las 12 semanas?

¿Cómo pueden llevarse bien los gerentes de producto e ingeniería?

¿Qué tipo de habilidades tengo que desarrollar como programador de iOS para ganar dinero como freelance?

Como ingeniero de software, ¿cómo lidias con un gerente egoísta, corrupto, astuto y barato que promueve a su miembro favorito del equipo a pesar de su falta de habilidades, en lugar de personas trabajadoras en su equipo?

¿Cuántos años llevará ser un ingeniero de software senior?