¿Qué es mejor, ser desarrollador web o ingeniero de software? Soy un estudiante de CS apasionado por el desarrollo web. ¿Debo continuar con el desarrollo web (front end + back end + cloud)? ¿Hay buenos trabajos para los desarrolladores web?

Um, la verdadera respuesta es cualquiera que piense que “ingeniero de software” y “desarrollador web” son cosas discretas y / o mutuamente excluyentes que probablemente no deberían estar impartiendo clases de informática.

Sí, hay algunos monos HTML que no pueden escribir código para salvar sus vidas, pero esas personas no obtienen trabajo en la nueva economía. El desarrollo web moderno es ingeniería de software. Los días en que los “desarrolladores web” eran tipos que acababan de escribir algunas plantillas para WordPress han pasado mucho tiempo.

Digo esto como un tipo que comenzó en C / C ++, se mudó a Ruby y ahora hace jQuery. En mi empresa, las preguntas de la entrevista que hacemos a los desarrolladores web son las mismas que les hacemos a los desarrolladores de backend de Java.

Es posible que esté escribiendo JS, pero aún necesita saber cosas como herencia, polimorfismo (y por qué los dos no son lo mismo), complejidad del algoritmo, cierres, recolección de basura, etc., etc.

Cualquiera que piense que el desarrollo web solo está haciendo bonitas maquetas HTML está fuera del circuito.

Tus profesores son unos imbéciles que te desaniman por lo que quieres hacer. Salario sabio, hay cubos de dinero para hacer en la web. Solo mira esto.


Puedes hacer una gran cantidad en la web. Si te gusta el desarrollo web, no lo tires, sigue aprendiéndolo. No dejes que un par de profesionales que probablemente estén sesgados por sus propios antecedentes te detengan.

Ahora que ya lo tengo claro, ¿quién dice que debes elegir? ¿Por qué no hacerlo todo? Tal vez te especialices en la web, pero hay un montón de cosas geniales en dispositivos móviles y de escritorio y en la línea de comandos. Es divertido porque puedes hacer cosas en casi cualquier lugar. Solo este año he trabajado en una aplicación de escritorio, una aplicación móvil y una aplicación web. Todas las cosas buenas

Así que, básicamente, continúe con la web, haga todo lo que quiera hacer con ella, pero tenga en cuenta que no está cerca de una u otra situación, y en realidad muchas de sus habilidades de programación web se transferirán, y las habilidades de programación de escritorio lo ayudarán con el web.

“Mejor” hace que este tipo de preguntas no tengan sentido, y cualquiera que haga generalizaciones sobre esto, en el mejor de los casos, está mal informado y, en el peor de los casos, es un menor. Las líneas se vuelven cada vez más borrosas cada día. Y sus perspectivas de carrera son fantásticas en cualquiera de los dos.

***

El desarrollo web front-end moderno se ha vuelto realmente sofisticado y mucho más desafiante y complejo que hace más de 15 años. Creo que la CS de la vieja escuela todavía lo considera como un poco de marcado en una página y algunos estilos bonitos que cualquiera puede elegir en una tarde. Todavía puede hacer eso, pero también hay aplicaciones web gigantescas (por ejemplo, Google Maps o Facebook o Spotify) que requieren una gran cantidad de organización, conocimiento, habilidad, previsión y trabajo en equipo para organizarse.

Históricamente, el desarrollo web de back-end ha exigido más respeto y continúa dominando mucho, y no veo ninguna razón por la que deba compararse desfavorablemente con el desarrollo de software. Hay arquitecturas de servidor web que son obras de ingeniería tan hermosas y sofisticadas como un puente de suspensión física. Crear un sistema que pueda manejar millones de solicitudes cada segundo es una tarea tan valiosa como cualquier otra en informática.

En el otro extremo del espectro, solo para proporcionar un contraejemplo, hay desarrolladores de software que hacen un trabajo gruñón en alguna herramienta corporativa de gestión de incentivos-compensación. El punto es: no puedes generalizar mucho solo desde la disciplina.

Eche un vistazo a este artículo para obtener una perspectiva sobre el desarrollo web moderno: el desarrollo de aplicaciones web es diferente (y mejor)

***

Si te importa el título de “ingeniero”, no lo hagas. Algunas personas se vuelven pedantes con las connotaciones de desarrollador vs. ingeniero (vs. programador, arquitecto… la lista continúa) pero es una especie de lavado. El ingeniero implica un enfoque más técnico y un título relacionado con CS. Tendrás eso. Donde trabajo ahora realmente no tenemos títulos, pero podemos inventarlos cuando sea necesario. Voy con “Front-End Engineer” o “Full-Stack of Pancakes” – Principalmente hago tareas de frontend en mi trabajo diario, pero también hago mucho trabajo de stack completo y hago software en mi tiempo libre, así que … lo que sea hombre No puedo hablar de cómo están las cosas en las grandes compañías tecnológicas (la tierra del Desarrollador de aplicaciones I, el Desarrollador de aplicaciones II, el Desarrollador de aplicaciones III, el Desarrollador de aplicaciones sénior …), pero idealmente cuando solicitas un trabajo, lo que importa son tus habilidades , no tus títulos de trabajo anteriores.

***

Ahora, la gratificación diaria que obtienes de los resultados de lo que trabajas varía según las disciplinas de CS. Si le gusta escribir algo de código y ver que la página web se actualiza y que la nueva característica que acaba de incorporar en su aplicación web funciona de maravilla, entonces el desarrollo web front-end es una buena opción. Si le encanta abrir su panel de monitoreo y ver una caída masiva en la carga de la CPU y las facturas de AWS después de su última implementación, entonces el desarrollo web de fondo o tal vez devops o sysops es genial. Si desea ver que su código alcanza el 99% de precisión en su última ronda de validación cruzada en muestras de audio de voz y datos de entrenamiento de texto transcrito, trabaje en algoritmos de procesamiento de lenguaje natural (en la industria o la academia). Estos son ejemplos artificiales, pero se entiende la idea.

Pero lo que realmente importa más es el equipo y la organización con la que está trabajando, y a qué industria o materia (digamos, periodismo o interacción humano-computadora, o deportes, medicina, ingeniería aeroespacial, lo que sea) que elija para aplicar sus habilidades . Lea mucho y hable con tantas personas como sea posible que trabajen en disciplinas y entornos en los que pueda estar interesado, y obtenga una idea de su trabajo diario, qué herramientas usan, sus carreras profesionales, etc.

Las diferencias entre el desarrollo web y de software palidecen ante todas estas otras consideraciones.

Estoy de acuerdo con el usuario de Quora y he votado su respuesta. Solo quiero agregar dos cosas:

1. Cuando la gente comienza a menospreciar cualquier tipo de trabajo, solo muestra sus propias inseguridades.
2. Si te encanta el desarrollo web y lo persigues como tu sueño, y quieres hacerlo bien, aprenderás ingeniería de software. Hoy en día, el desarrollo web es ingeniería de software, ya sea back-end, front-end, middleware, DevOps, usted estará trabajando en un equipo con suerte utilizando las mejores prácticas LEAN / Agile, y por suerte aprenderá ingeniería de software. No el polvoriento tipo de ingeniería de software de BS académica, sino el tipo de colaboración cruzada orientada a las mejores prácticas reales, adaptada a su proyecto y equipo.

Entonces, cualquier profesor o “amigo” que valga la pena te diría: ¿Quieres hacer desarrollo web? ¡Ve a por ello! ¡Y le enseñaré la mayor cantidad de ingeniería de software posible para que pueda hacer el mejor trabajo posible!

¡Cuidado con las falsas opciones creadas por los perdedores!

Me acabo de graduar y estaba en una situación muy similar. Me encanta el desarrollo web y todo lo relacionado con JavaScript y no siento lo mismo por las estructuras de datos y la ingeniería de software típica. Estaba muy decepcionado cuando comencé a entrevistar para puestos de ingeniero de software y todo se basó en estructuras de datos / algoritmos. Tengo toneladas de rechazos.

Sin embargo, una vez que comencé a buscar puestos donde el trabajo incluía aplicaciones web, comencé a hacerlo mucho mejor en las entrevistas. Sabía más sobre el tema y es algo que amo y sobre lo que quiero aprender más, así que me pareció más natural. También me sentí más cómodo hablando con estos entrevistadores en comparación con las compañías más grandes que querían “ingenieros de software”

Tenía miedo de no conseguir un trabajo tan bueno, no me pagarían tanto o no tendría tantas oportunidades de crecimiento. Sin embargo, me pareció lo que realmente quería, y encontré el mejor trabajo para mí. Me pagan más que a mis compañeros de clase que entran en puestos típicos de SE, y mi título es en realidad Ingeniero de software. Me alegra haberme quedado con lo que amaba y no ceder a mis miedos.

Haz lo que te haga feliz, no sientas que tienes que vivir tu vida por nadie más. Serás mucho más feliz y productivo en un papel que disfrutes.

Puedo sentir tu dolor. Me gradué en agosto pasado y soy la única persona del departamento de informática de mi escuela (que sé) que ahora trabaja como desarrollador web. A menudo me sentía excluido de las conversaciones ya que no quería ser un ingeniero de software tradicional y muchas veces me hacía sentir menos inteligente por amar JavaScript. Sin embargo, me quedé con eso y ahora gano más dinero recién salido de la universidad que cualquier otro recién graduado que conozco.

Pero eso no es realmente importante. El dinero es excelente, pero la razón por la que amo mi trabajo es porque puedo hacer lo que disfruto todos los días. Podría haber sido un ingeniero de software tradicional y tengo las habilidades para ello, pero no me gustó tanto como el desarrollo web. Los problemas que resuelvo a diario y la cultura del desarrollo web son muy diferentes de la ingeniería de software tradicional, y me encanta.

Creo que ese es el verdadero atractivo del desarrollo web; La gran cantidad de fondos de los que proviene la gente para entrar en el desarrollo web es una locura. Como no contamos con programas de grado tradicionales para nuestras habilidades, la mayoría de las personas que conoces lo hacen porque lo disfrutaron lo suficiente como para aprender por sí mismos.

Entonces, en general, si te gusta, quédate con él. Realmente es un campo en el que si lo amas, puedes encontrar formas de ganar dinero fácilmente.

Además, si te diste cuenta, digo “ingeniería de software tradicional” en toda mi publicación, ya que los desarrolladores web son ingenieros de software, simplemente creamos software que se ejecuta principalmente dentro del navegador.

Creo que lo que encontrará en las respuestas que dicen que hay una diferencia es con los términos “desarrollador web” e “ingeniero de software”. Quiero decir, ¿qué es exactamente un ingeniero de software? Alguien que escribe compiladores? ¿Alguien que diseña una estrategia de fragmentación de datos para una gran aplicación web? Si.

La ingeniería de software es un campo ENORME que incluye el desarrollo web. Usted dice que quiere ser un “desarrollador web” pero lo define como “front + backend + cloud”. Técnicamente, este no es un desarrollador web tradicional. Un desarrollador web tradicional son personas que solo saben cómo hacer algunas plantillas HTML con CSS y JavaScript.

Lo que está describiendo ahora se denomina normalmente desarrollador de “pila completa”; esto * es * un tipo de ingeniero de software. Las empresas siempre buscan este tipo de persona. La mayoría de las empresas quieren personas con un amplio conjunto de habilidades. Obviamente, todavía hay trabajos para personas que se enfocan todo el tiempo en una o dos habilidades específicas, pero hay muchos más trabajos para personas con un amplio conjunto de habilidades.

He estado en el juego durante 20 años y he conocido a personas con títulos de CS, personas sin diplomas de secundaria, personas con títulos de negocios, etc. Muchos de ellos realmente buenos en el desarrollo de tecnologías web. Dios mío, ¿cómo podría ser esto? Porque les apasionaba hacerlo. Todos los grados en el mundo no importarán si tienes poca o ninguna pasión por lo que haces.

A juzgar por su introducción, su definición de desarrollo web es un poco incorrecta. Un desarrollador web es la persona que desarrolla para la web. La web NO es internet. La web consta de páginas web y los lenguajes típicos para construirlas son HTML, CSS, Javascript y PHP. Por supuesto, hay más, pero sigamos con estos realmente populares por ahora. De ellos, HTML y CSS no son lenguajes de programación. Son lenguajes de marcado. Por lo tanto, una persona que escribe tampoco se considera un desarrollador “verdadero”. Javascript y PHP son dos lenguajes que generalmente son mal vistos por ser un desastre no estructurado. Sin embargo, su facilidad de uso llevó a una adopción rápida y amplia. Javascript específicamente ha crecido significativamente y ahora se usa en el backend de muchas plataformas web.

Un desarrollador de software es una persona que generalmente aplica la teoría de algoritmos y estructuras de datos, conoce la máquina hasta cierto punto y no depende de un lenguaje específico. Un desarrollador de software podría escribir en cualquiera y todos: Python, Java, C, C ++, Javascript e incluso PHP, entre muchos otros. Un desarrollador de software también puede escribir HTML, pero tiene la capacidad de escribir un programa que genere el HTML dinámicamente.

De ahí la paradoja de tu descripción. El desarrollador de software de títulos es bastante genérico e incluye el backend y la interfaz de servicios en red. Implica un cierto pedigrí teórico y experiencia técnica. Sin embargo, el término desarrollador web se refiere a un subconjunto muy limitado de ellos. Un profesional que es estrictamente desarrollador web no puede desarrollar el backend de una aplicación distribuida.

Si lo que desea trabajar es la nube, debe centrarse en lo que se llama sistemas distribuidos . Aprenda tanto sobre tecnologías de red como sobre ingeniería de software distribuido. Si te vuelves bueno en eso, entonces el desarrollo web será una habilidad para aprender en un fin de semana gratis.

Finalmente, recuerde siempre que solo porque un código funciona y da el resultado correcto, no lo hace correcto o eficiente.

A medida que navega por su carrera profesional, encontrará que hay muchas personas que tienen opiniones realmente fuertes e injustificadas sobre cosas tontas como qué lenguaje de programación es “mejor” o en su caso qué movimiento profesional es “mejor”. Tampoco es mejor. Debes perseguir lo que quieres sin importar lo que la gente te esté diciendo. No hay escasez de trabajos en ninguno de los campos y un programador talentoso siempre podrá encontrar un trabajo independientemente.

Otro punto señalado por algunas otras respuestas es que incluso podrías hacer ambas cosas si quisieras. Si bien muchos programadores pueden querer elevarse al hablar sobre el desarrollo web, el hecho es que la mayoría de las empresas realizan negocios y utilizan un sitio web. Será necesario un buen desarrollador en cualquier entorno como ese. El lado del desarrollo móvil de las cosas también es una gran necesidad. Entre tener una aplicación móvil y un sitio web móvil, hay muchas necesidades de desarrollo cuando se trata de administrar un negocio.

Desde una perspectiva salarial, la ingeniería de software generalmente tiende un poco más, pero eso no lo mejora y ciertamente no garantiza nada.

Salarios de ingeniería de software en San Francisco, CA – $ 158k / año

Salarios de desarrollo web en San Francisco, CA – $ 136k / año

La universidad es difícil y sé que quieres escuchar a tus instructores y colegas, pero realmente necesitas hacer lo que sea mejor para ti. A veces es difícil pasar por todas las tonterías para darse cuenta de eso, pero en 10 años serás más feliz si sigues un camino que has hecho en lugar de otra persona.

Ninguno de los dos es mejor, pero tampoco lo descartaría. Supongo que usted define un “desarrollador web” como alguien que trabaja en el front-end (JavaScript, algunos Java, HTML, AJAX) y un “ingeniero de software” como alguien que trabaja en el back-end (C, C ++, Java). En ese sentido, un “desarrollador web” utiliza marcos como Node.js y un “ingeniero de software” crea servicios como Hadoop, Apache y otros demonios.

He trabajado tanto en el back-end (motor DB, servicios HTTP, etc.) como en el front-end (interfaz de usuario monolítica, marcos web (como Struts), HTML, etc.). Debido a mi experiencia, tengo un profundo respeto por ambos.

Para el trabajo de back-end, parece que muchas cosas que desarrollas pasan desapercibidas, excepto por unas pocas personas en la empresa. No está incluido en las discusiones sobre lo que un cliente necesita o quién puede trabajar con ese nuevo software doohickey. A pesar de la falta de atención que recibe, hay muchos proyectos paralelos diferentes que puede hacer que son interesantes mientras los servicios están funcionando.

Para el trabajo frontal, tengo que admitir que es sexy. Es muy gratificante encontrar una nueva forma de mostrar algo y mostrarlo. Esto lo hace notar de inmediato por muchas personas en la empresa. La atención que recibe, sin embargo, tiene inconvenientes. Debido a que los clientes verán directamente su trabajo, su trabajo será constantemente criticado. Se espera su presencia en innumerables reuniones para integrar nuevas funciones para TODO. Todos los errores reportados son suyos, hasta que pueda probar que el back-end es la causa. Una vez que encontraste la fuente del error, tus dos semanas de investigación se convierten en una solución de un día para los chicos de back-end (“Hey, gracias chicos de back-end por corregir el error en tan poco tiempo. Por cierto, lo que los llevó a los chicos de front-end así que largo para encontrar el problema? “)

Debido a mi experiencia, encontré un lugar feliz en cuanto a mi carrera al montar a horcajadas los límites frontales / finales. Desde mi observación, trabajar exclusivamente de un lado “encasillará” su carrera. Una vez que dices que eres un desarrollador web, estás atrapado trabajando en PHP u otro lenguaje de interfaz de usuario del día. ¿Puedes hacer eso durante toda tu carrera? En el otro lado de la moneda, si solo eres un experto en C / C ++, ¿estás satisfecho con estar en el proyecto anodino del que nadie habla?

Si se dio cuenta, no mencioné nada sobre el dinero porque todos ganamos aproximadamente la misma cantidad en salario (front-end y back-end). Solo debe preocuparse por los objetivos profesionales y la satisfacción a largo plazo. ¿Quieres impresionar a tus profesores y compañeros de clase? Vaya a la escuela de posgrado y resuelva el problema del “vendedor ambulante”. El resto de nosotros estamos haciendo cosas que son necesarias.

Al final, lo que sugeriría es ser un “ingeniero de software que trabaja en aplicaciones web”. Las pasiones (y la tecnología) cambian con el tiempo. No limites tus habilidades con un título. Tu carrera te lo agradecerá más tarde.

+1 sigue tu pasión (cada vez).

Incluso si considera que el “desarrollo web” es solo del lado del cliente (que realmente no lo es), considere esto: la potencia de la CPU de las computadoras portátiles de hoy supera los mainframes de las décadas de 1960 y 1970. Para decirlo de otra manera, muchas aplicaciones basadas en navegador actualmente ejecutan cargas a escala de mainframe de la vieja escuela. El software en esos mainframes necesitaba una ingeniería de software cuidadosa para ser eficiente y mantenible. El código actual del lado del cliente necesita el mismo nivel de ingeniería.

Considere la historia:

  1. En los días de mainframe, el cliente era una terminal tonta (años 70).
  2. Luego se creó el cliente-servidor (1980).
  3. Luego fuimos clientes gordos con escritorios de Windows (1980-1990).
  4. Luego volvimos a la terminal tonta con HTML (1990s-2000s)
  5. Ahora volvemos al cliente-servidor con Javascript y AJAX (2000-2010s).

Pregúnteles a sus maestros si descartan la arquitectura cliente-servidor (probablemente es en lo que crecieron) por no ser ingeniería de software.

Primero debes saber que es tu elección, no la de tus maestros o las personas que te rodean, es tu vida.
En segundo lugar, puede ser un ingeniero de software y un desarrollador web al mismo tiempo, si tiene pasión.
En tercer lugar, debes saber que todos aman algo y verlo como si fuera el mejor, por ejemplo, no puedes preguntarle a un amante de PHP si Python es mejor, su respuesta siempre será PHP (el amor es ciego).
Ahora pasemos a los números de acuerdo con Stack Overflow (ya que los números siempre hablan):
Aquí están los lenguajes de programación más buscados:
Y aquí están los lenguajes de programación más populares de los últimos tres años:

Y la mejor parte de los salarios:
Por supuesto, las empresas están dispuestas a pagar más.

Como puede ver, un desarrollador web puede vivir feliz y tener una gran vida.

Depende de a quien le preguntes. Hay una gran cantidad de esnobismo y elitismo en la codificación. Algunos programadores menosprecian a otros programadores por temor al rechazo en el mundo de la tecnología, la necesidad de demostrar que son el mejor copo de nieve súper especial que el mundo tiene para ofrecer, o simplemente como un medio para promocionarse en un esfuerzo por conseguir un mejor trabajo. Ningún tipo de codificación (ingeniería, programación, diseño) puede crear todo lo que el mundo necesita en términos de tecnología.

Piénsalo de esta manera:
¿Qué es más importante para la supervivencia de un árbol? ¿Hojas, ramas o el tronco? En realidad, el árbol necesita todas sus partes para sobrevivir, al igual que todo lo relacionado con la tecnología necesita diseños, programadores e ingenieros para que todo funcione.

En cuanto al salario, más dinero no hace una mejor persona. En mi opinión, basar tu autoestima en cuánto dinero ganas es realmente la peor forma de narcisismo.

OMI
A lo que probablemente se referían los profesionales y a esto era a la separación implícita de que Web Developer estaba muy centrado y era casi exclusivamente un desarrollador de sitios web bastante estático front-end HTML / Javascript / CSS frente a un ingeniero de software que se concentraba en el desarrollo dinámico de aplicaciones / servidores / backend.

Esta dicotomía se está desmoronando un poco con aplicaciones mucho más pesadas que se realizan en el navegador o que usan técnicas de navegador para producir aplicaciones. Diría que en los próximos 5 años más o menos, los idiomas se irán moviendo hacia la pila de desarrolladores web, pero las habilidades de diseño / desarrollo de algoritmos se basarán más en la ingeniería, ya que harás un trabajo más estructurado en el navegador. Esto significará la necesidad de tener una comprensión más profunda del funcionamiento del navegador y las computadoras en general (Ingeniería) para poder obtener el rendimiento necesario a medida que el front-end se vuelve más y más pesado.

Al final, son solo nombres, no conjuntos de habilidades. Tengo la sensación de que lo que quieres hacer en realidad sería titulado Ingeniería de software en una aplicación web por aquellos profesores que están tratando de definir una diferencia. Así que aprenda las cosas de Ingeniería de Software y aprenda a aplicar los principios a los idiomas web y estará listo para cualquier cosa en el futuro, sin importar lo que alguien decida etiquetarlo.

Tenga en cuenta también que los títulos son extremadamente no estandarizados. Cada empresa usa su propia definición y, por lo general, no coinciden, así que preocúpese más por las habilidades que desea obtener y menos por lo que las personas les llaman.

Soy ingeniero de software y entiendo esta situación. Tenía pasión por el desarrollo web incluso antes de comenzar la ingeniería de software y comencé una empresa de desarrollo web, pero cada vez que le contaba a alguien sobre esto, mis maestros siempre me hacen sentir que no es nada, es inútil.

Por qué ? Porque se graduaron en los viejos tiempos cuando Internet no estaba en su auge como lo está hoy en día.

Hoy en día, todo el escenario ha cambiado, las aplicaciones web basadas en el navegador son más comunes en comparación con los softwares / aplicaciones de escritorio. ¿Por que es esto entonces? Debido a que las aplicaciones web se actualizan con mayor frecuencia, no se necesita instalación, no se pierden datos cuando el disco duro de su computadora falla, puede acceder a ellas desde cualquier lugar.

Hoy en día, la gente prefiere el almacenamiento en la nube, las bases de datos en línea sobre las antiguas hojas de Excel, el acceso a MS (software de escritorio para bases de datos / registros).

Pero sí, si está haciendo desarrollo web utilizando WordPress u otro CMS de arrastrar y soltar, entonces no está haciendo nada especial. En ese caso, un ingeniero de software que tenga habilidades de desarrollo de software complejo es mejor que usted.

Pero si eres bueno creando bases de datos complejas, CMS personalizados para grandes empresas, el desarrollo web es mejor que el desarrollo de software.

En realidad, todo tiene dos caras, si está comparando el mejor caso de un dominio con el peor caso de otro dominio, esa no es una buena comparación.

Dime, un juego de ajedrez en tu Windows 8 es mejor donde puedes jugar con la computadora y obtener tus mejores puntajes y nada más.

O el de Facebook o chess.com donde puedes invitar a tus amigos a jugar contigo, tener un récord de puntajes altos en línea, dejar que otros superen ese récord, una comunidad más fuerte.

Dime cuál es mejor (más rentable)? Por supuesto, la última porque, hay una buena interacción, más personas jugarán eso y tú ganarás más.

Entonces, lo que te sugiero es que escuches e ignores lo que otros dicen, solo sigue moviéndote en este campo. Hice lo mismo y hoy estoy administrando Chakor (Servicios profesionales de diseño y desarrollo de sitios web): una de las principales empresas de desarrollo web y mis compañeros de clase todavía trabajan en casas de software, trabajan para otros y obtienen ingresos regulares. Puedes juzgar mejor.

Atentamente
Hamza

Estoy de acuerdo con muchas de las respuestas aquí; especialmente de Carlos, tus profesores son …
El desarrollo web, especialmente el diseño web y la experiencia del usuario, creo que requiere mucha habilidad para dominarlo tanto desde el punto de vista técnico como artístico. Su trabajo en el desarrollo web también valdrá la pena con el desarrollo móvil y específicamente los sitios optimizados para móviles. Estoy seguro de que no tengo que decirte que el crecimiento en dispositivos móviles es una locura en este momento.
Así que mantén tu pasión y después de la escuela, continúa aprendiendo. Lo que aprende en la escuela, aunque es una buena base, será una simple caída en su conjunto de habilidades en unos pocos años.
La gente queda demasiado atrapada en títulos y etiquetas. Si amas el desarrollo web y no te importa el firmware integrado o el desarrollo del próximo sistema operativo, entonces quédate con él. Como gerente de contratación, estoy viendo tu conjunto de habilidades y experiencia; No es tu título. Por cierto, el desarrollo web es el desarrollo de software. Cuestionaría el conocimiento de cualquiera que te diga lo contrario.

En primer lugar, la pregunta es si debe ser una cosa u otra que tenga definiciones superpuestas. Es como preguntar si es mejor ser piloto de carreras o piloto de autos. Dado que un auto de stock se usa generalmente para competir, esto suele ser lo mismo que un piloto de autos de carrera, y sin embargo no especifica si eres el tipo que conduce el auto de stock al depósito de chatarra cuando ya no funciona .

He estado trabajando como desarrollador de software desde finales de los 90 y gran parte de ese desarrollo ha sido el desarrollo de aplicaciones basadas en la web, por lo que puedo proporcionar un poco de historia sobre el crecimiento del desarrollo web que podría ayudar a poner los términos en un poco de perspectiva. eso podría ayudarlo a comprender por qué hay tanta confusión y ayudarlo a decidir qué “camino” es para usted.

A finales de los 90, Internet finalmente despegaba. La gente lo usaba como una especie de páginas amarillas súper potentes para anunciar su empresa y sus productos, y algunas personas emprendedoras lo usaban para ayudar a educar a las personas, a menudo a un alto costo personal. La mayoría de los sitios eran “estáticos”, lo que significa que todas las páginas se veían iguales y además de parpadear el texto, no había mucho que pudiera cambiar en la pantalla. En este punto, ya había algunos sitios “dinámicos” en los que realmente podía publicar datos y obtener algunos comentarios. La mayoría de estos se realizaron con una tecnología llamada cgi que utilizaba algún tipo de script perl en el backend. Digo algún tipo porque esto es un poco anterior a mi propio desarrollo de software y no sé mucho al respecto. El punto es que, para la mayoría de las personas, un sitio web era solo eso, un sitio lleno de páginas web que generalmente se creaban en algún tipo de diseñador como Front Page o algo así, y generalmente por un vendedor creativo y no por un desarrollador.

Una de las primeras aplicaciones basadas en web en las que trabajé fue usar una tecnología llamada Active Server Pages, e incluía el desafío de explicar constantemente a los equipos de administración y seguridad que una aplicación basada en web era diferente a un sitio web. Las reglas eran tales que teníamos que obtener la aprobación cada vez que cambiaba una página web, y dado que nuestra página web cambiaba cada vez que un usuario enviaba información, esta discusión comenzó a ser tediosa de explicar.

Otro tema difícil fue la contratación. La mayoría de las personas que afirmaban ser desarrolladores web expertos eran realmente solo diseñadores. Aprendimos, rápidamente, a preguntar qué tecnologías habían usado para el desarrollo web y si lo único en la lista era la primera página, sabíamos que no sabían que no eran “desarrolladores web”, solo “diseñadores web”.

Entonces, como puede ver, un poco de confusión ha envuelto el papel del desarrollo web desde hace algún tiempo.

La realidad es que el verdadero desarrollo web es realmente otra palabra para el desarrollo de software cliente / servidor.

Ahora permítanme señalar otra distinción que ha aparecido a lo largo de los años y que probablemente continuará cambiando mientras las personas todavía están confundidas por el nombre. Desarrollo de software VS ingeniería de software.

He trabajado con muchos desarrolladores y, a medida que lo hace, descubrirá que muchos de ellos caen de manera bastante clara en uno de dos tipos diferentes, ninguno de los cuales es necesariamente mejor o peor que el otro, pero uno de los cuales es típicamente necesario para un desarrollo más complejo.

Un tipo, a veces denominado código mono, pero por lo general se les llama desarrollador, es el tipo de desarrollador que sabe cómo escribir código. Este tipo de desarrollador suele ser muy rápido en la codificación y conoce muy bien el lenguaje de software que utilizan. Sin embargo, estos desarrolladores a menudo carecen de las habilidades necesarias para resolver problemas difíciles. Si no les dices explícitamente lo que quieres hacer, te preguntarán constantemente cómo o te darán algo que no funciona.

El segundo tipo de desarrollador a menudo se paga más y en la situación correcta vale más, y esto se conoce comúnmente como ingeniero de software. Este es el tipo de desarrollador que puede ver las piezas de código existentes para descubrir qué está sucediendo y encontrar una manera de hacerlo funcionar mejor. Los ingenieros de software generalmente son más conscientes de lo que realmente sucede debajo de las cubiertas en el desarrollo. Por ejemplo, son más conscientes de si un proceso está buscando datos utilizando un índice o un escaneo, y cuál es más rápido y por qué. Estos son los tipos de desarrolladores que con frecuencia se preocupan menos por el lenguaje utilizado y están más interesados ​​en cómo resolver un problema. Harán nuevas fórmulas si aún no existe una para obtener lo que quieren o necesitan. Estos son los desarrolladores que suelen diseñar las mejores prácticas, como la codificación SOLID. Tenga en cuenta que estos desarrolladores no siempre son los más rápidos. A menudo se quedan atrapados en la parálisis del análisis, donde conocen tantas formas de resolver un problema y no siempre pueden decidir cuál usar. Con frecuencia también se desvían de ciertos problemas difíciles. Los buenos entornos de desarrollo de software contratarán a ambos tipos de desarrolladores.

Sin embargo, ser este tipo de “ingeniero de software” tiende a ser más sobre la personalidad. Si no es quien es usted, no seguiría este camino, a pesar de la posible diferencia salarial. No será feliz tratando de cumplir con las expectativas si no es de este tipo y puede ser difícil cumplirlo incluso si lo es. Por otro lado, si este es el tipo de persona que eres, te resultará difícil ser otra cosa.

Un último consejo. Una vez que su título tenga 3 años o más, solo importa que tenga uno, no en qué se encuentre, ya que es probable que esté obsoleto para entonces. En ese punto, lo único que hace el título es pasar al secretario que está ordenando los currículums. Su experiencia contará para más en la entrevista.

Por cierto, Internet no es una moda que va a desaparecer. En todo caso, está reemplazando el viejo paradigma del desarrollo cliente / servidor.

Mi publicación original fue enterrada en un comentario, así que me estoy retirando aquí en el hilo principal.

La función actual de desarrollador web no es la misma que la función tradicional de desarrollador web del pasado. La etiqueta emergente para el rol de desarrollador web de hoy es un desarrollador front-end que combina diseño y arte con conceptos pesados ​​de informática para ofrecer experiencias altamente interactivas al usuario final que escala.

El desarrollador front-end tiene una gran demanda en la industria y exige una compensación extremadamente alta debido a la combinación única de habilidades necesarias para hacer el trabajo.

El desarrollador front-end típico no solo necesita ser competente en HTML, CSS y Javascript (que no es el Javascript de su madre; el Javascript orientado a objetos de hoy se aborda con tanta disciplina de ingeniería de software como Java o cualquier otro lenguaje OOP), sino que también también aprovecha los marcos estructurales como AngularJS, Backbone o Ember que emplean patrones de diseño de mejores prácticas para proporcionar la separación adecuada de las preocupaciones en la tendencia emergente de las aplicaciones de una sola página.

Aquí hay un gran conjunto de definiciones modernas de los roles de desarrollo Front-end, Back-end y Full Stack: Front-End vs Back-End vs Full Stack Web Developers.

Tengo una organización de más de 150 ingenieros de software que desarrollan aplicaciones y servicios web y el talento más difícil para mí en este momento son los Desarrolladores front-end competentes. Por favor, ayuda a aumentar el grupo de talentos. ¡Este papel llegó para quedarse!

Ante todo. No escuches a tu maestro sobre consejos financieros. Si hubieran tenido éxito en los negocios, nunca habrían sido maestros. Si desea tomar una decisión sobre la ocupación de su software de computadora, debe estudiar lo que hace la gente exitosa. Investigue qué producto fabrican y cuál es la mayor demanda.

Estoy de acuerdo con Jani en que hoy en día el desarrollo web es un entorno extremadamente complicado y dinámico. En realidad, puede desarrollar un sistema extremadamente complicado que prácticamente puede hacer cualquier cosa en el sitio del cliente.

En mi humilde opinión elegiré estudiar más desarrollo web e integración con el back-end. Esta es solo la tendencia moderna de cualquier empresa inteligente. Por ejemplo, Microsoft mueve todo a negocios de suscripción basados ​​en Azure. Regalan más herramientas solo para alentarlo a comenzar a usar su servicio como oficina de suscripción.
Adobe hace lo mismo. Trasladan todo el producto a la aplicación base web y en la nube.

Si odias el desarrollo web, elige lo que te apasiona y también lograrás un éxito decente.

Sigue tu pasión.

Simplemente me entristece cuán estrechas son las personas acerca del desarrollo web. Piensan que es el antiguo HTML, CSS y JavaScript sin darse cuenta de que todo ha cambiado.

Como puedes ver aquí: Demo Studio | MDN

Tenemos componentes web, viene HTTP 2, zócalos web, trabajadores web, aplicaciones híbridas, programación reactiva, SignalR, Node.js, servicios web … Ni siquiera puedo comenzar a describir la gran cantidad de cosas que tenemos hoy en día. Se necesita toda una carrera para estudiar lo que hay ahí fuera y tratar de predecir cuál sería el futuro.

Le dirá qué. Deja que te llamen como quieran. Luego concéntrate en lo que te impulsa.

Cualquiera que sea el caso, su salario será directamente proporcional a la cantidad de pasión que siente por lo que hace.

¡Buena suerte!

More Interesting

¿Cuáles son las posibles opciones con buenas perspectivas de trabajo para alguien que ha realizado B. Sc en Zoología?

¿Puedo mantener cambios de trabajo continuamente?

¿Es una buena idea trabajar como oficial de grado B de RBI después de completar un MBA en finanzas?

Si amo las estadísticas. ¿Es más adecuado un científico de datos o un rol de analista cuantitativo?

¿Qué tan interesante es tener un puesto de gestión de productos en una organización mundial?

¿Cómo puede un estudiante de ingeniería obtener una pasantía en la London Business School?

¿Cómo puedo prepararme para las entrevistas de casos para un puesto de Business Analytics en ZS Associates? Me entrevisté para una pasantía y me pidieron que elaborara un algoritmo para analizar los datos de ventas dados. ¿Cómo practicaría para algo así?

Cómo trabajar para las Naciones Unidas con pocos antecedentes de desarrollo económico

¿Qué es una revisión de la pantalla de portátil HD TN GL?

¿Es posible que un graduado de diseño digital / VLSI trabaje como freelance?

¿Puedo convertirme en programador con un título en TI?

¿Cómo varía el procedimiento de selección en SSB para aquellos que desean ingresar al Juez Abogado General y otros?

Cómo convertirse en un actor importante en Los Ángeles

MBA en EE. UU .: ¿Cuáles son algunas buenas escuelas de negocios para MBA a tiempo completo que definitivamente darían un salario de $ 100k al comienzo en trabajos de consultoría?

Cómo prepararse para una entrevista en inglés para una empresa multinacional