¿Es una pérdida de tiempo aprender el desarrollo frontend porque casi todos los mejores graduados de CS están trabajando en backend?

No estoy seguro de dónde sacó la idea de que “casi todos los mejores graduados de CS” están trabajando solo en el back-end.

El backend y el front end se centran en dos cosas diferentes. El backend se trata principalmente de una interfaz bien diseñada (API) y de poder escalar con muchos mecanismos de contingencia. Entonces, sí, implica mucha programación, pero el enfoque es diferente del front-end. No hace que el backend sea más crucial que el front end.

Front end, por otro lado, no se trata solo de CSS (lenguajes de programación Less o Sass) o HTML o incluso JavaScript. Con un back-end bien diseñado, su front-end no se limita a ser solo un sitio web. Puede ser un cliente de aplicación iOS o Android (por lo que ahora incluye Obj-C / Swift para iOS y Java / Kotlin para Android).

Si volvemos a ser solo un sitio web, también implicará mucha programación y “más” (¡lo explicaré en el próximo párrafo)! Sí, aparte de JavaScript, también tiene administración de sesión junto con la función de alojamiento geográfico, que se entrelaza con el back-end. Su código de interfaz debe ser lo suficientemente inteligente como para saber “¡Hola! Estoy demasiado ocupado, pero déjame redirigirte a otro servidor web, para que en el futuro tu navegador vaya automáticamente a ese servidor, no a mí “o” ¡oye! su dirección IP indica que está en Asia, permítame redirigirlo a nuestra granja de servidores en Asia en su lugar ”(el alojamiento geográfico generalmente se logra con una combinación de su dirección IP y datos de cookies).

Gran parte del front-end también se mezcla con otros códigos de programación del lado del servicio, como Ruby / Python / JavaScript / PHP / ASP.Net … La lista no es inclusiva. El front-end también sirve una cosa muy importante de la que el backend nunca tuvo que preocuparse. El front end debe verse bien, intuitivo y fácil de usar. Esta no es una tarea fácil de lograr. Y aquí está el pateador. Una buena mayoría de graduados de CS no pueden diseñar un front end atractivo, sin recurrir a las ayudas de Bootstrap. Si todos diseñan el sitio en Bootstrap, no hará que su sitio se destaque de sus competidores. Entonces, si cree que la mayoría de los graduados de CS solo se enfocan en el back-end, es muy probable que su señal también se centre en el front-end, para que se vuelva más valioso y comercializable.

Con toda honestidad y en mi humilde opinión; Sin embargo, debe cubrir los extremos delantero y trasero.

Lo que la mayoría de la gente extraña en este debate es que el desarrollo front-end y back-end son disciplinas separadas. A medida que el desarrollo front-end se vuelve más maduro, se está convirtiendo cada vez más en su propio modelo de programación único. Con marcos más antiguos, intentaron replicar el patrón MVC en el navegador y usaron hacks como enrutamiento hash para que pareciera que te enviaban a nuevas páginas. Este nunca fue un buen caso de uso para una biblioteca front-end (IMO).

Pero eche un vistazo a este ejemplo que usa VueJS:

CSS3 Perspective Playground ✨

Eso no es algo posible con un lenguaje de fondo. Aquí está lo CLAVE para entender: React y Vue son marcos para ” construir interfaces de usuario “. Para hacer una comparación con el desarrollo de juegos, ¿pensarías que sería una pérdida de tiempo aprender a diseñar modelos 3D, a pesar de que un graduado de CS podría estar pasando mucho tiempo trabajando en un motor de juego como Unity o Unreal? Y por otro lado, ¿crees que el desarrollador del motor de juego tendría un trabajo si no fuera por los artistas 3D que sabían mostrar lo que es posible con las nuevas funciones que implementaron?

Lo importante aquí es concentrarse en algo que le guste y ser realmente bueno en esa disciplina. Si está más interesado en UI / UX, hay muchos trabajos bien remunerados que usan cosas como Vue y React. Si está más interesado en construir los sistemas que sirven a la interfaz de usuario, también hay muchos trabajos bien remunerados allí.

Hace unos 10 años, solía escuchar de los desarrolladores de back-end que el front-end era:

  • No programacion
  • Cualquiera podría hacerlo
  • Eventualmente moriría ya que sería automatizado por BE frameworks

Hace unos años, cambió a:

  • Realmente difícil
  • El back-end es mucho más fácil
  • No me atrevo a probarlo

Además, contratar desarrolladores front-end se volvió realmente muy difícil.

Al final, es posible que todo se automatice (como muchos servicios están tratando de hacer ahora con el back-end), pero desde mi punto de vista todavía estamos bastante lejos de que eso suceda en el front-end, hay muchas tecnologías que cambian y se quedará así por algún tiempo. Los valientes son aquellos que intentan mantenerse al día y hacer una carrera profesional.

No.

Totalmente aparte de la idea de que muchos servicios web se están convirtiendo en aplicaciones, que técnicamente podría, si lo desea, clasificar como “desarrollo front-end”, en lugar de “desarrollo de aplicaciones”, porque las aplicaciones no están separadas de un back-end.

La idea de que conoces todas las partes es más importante que tratar de mantener una separación “front-end” / “back-end” para los roles de trabajo.

En el pasado antiguo, cuando los dinosaurios recorrían centros de datos de 65 grados con pisos elevados, también había una separación entre “programador” y “analista”.

Al “analista” se le ocurrió el diseño y la solución del problema, y ​​luego el “programador”, que no podía resolver el problema en una apuesta de barra, convertiría esa solución en código para que la máquina pudiera ejecutarla.


Nadie escribe un kit de herramientas que tiene una API, una biblioteca que vive en el front-end, y otra que vive en el back-end, que se comunican entre sí para implementar la conexión entre los dos.

Probablemente sea lo más difícil de hacer: diseño de protocolo seguro y decente.

Es por eso que hay tan pocos kits de herramientas para hacer este tipo de cosas, en comparación con la cantidad de bibliotecas front-end que puede usar para construir interfaces, o piezas de back-end que puede usar para implementar las bases de datos reales donde se almacenan los datos.

Se necesita un desarrollador real de “pila completa”, no los pretendientes que todos anuncian, los que solo saben cómo usar uno o dos juegos de herramientas escritos por otra persona, para hacer ese tipo de trabajo.

Incluso entonces: solo hay tantos trabajos haciendo eso, casi tantos como hay kits de herramientas, a veces sin embargo, muchos desarrolladores por kit de herramientas.


Personalmente, creo que los mejores graduados de CS no tienden a trabajar en los servicios web (front-end o back-end) en absoluto. Todos golpean la puerta tratando de entrar en lugares como Google Brain o IBM Watson.

Me gustaría saber de dónde obtuviste esa información. Un número significativo de mis amigos trabajan en Android, iOS o tienen / están trabajando en React / Angular. Y esos trabajos también tienen una gran demanda ahora.

Dicho esto, depende de cómo lo aprendas. La ingeniería de software es muy similar sin importar en qué parte de la pila se encuentre: el desarrollo de interfaz y backend es del 10% conociendo los estándares y del 90% aprendiendo buenos principios de ingeniería de software (suponiendo que sea un estudiante o un graduado reciente).

Eso significa que, como recién graduado, si pasara años en el desarrollo de la interfaz, la mayor parte de lo que aprendió en ese período debería ser fácilmente transferible si cambiara repentinamente al backend, tanto que solo le tomaría unos pocos De semanas a unos pocos meses, podrá desarrollarse como sus compañeros que han estado haciendo desarrollo de backend durante años. Si te das cuenta de que la mayoría de lo que sabes no se puede transferir, entonces has aprendido mal.

Para mí, una educación en CS no es solo para que usted aprenda las diferentes habilidades necesarias para diferentes tipos de desarrollo de software, sino también para aprender cómo aprender bien.

Para responder a su pregunta, no, no es una pérdida de tiempo, solo lo es si no aprende las cosas transferibles importantes .

Algunas personas podrían haber pensado que esto era cierto hasta hace unos años.

Por alguna razón, la gente pensaba que el desarrollo del backend era más complejo que el desarrollo frontend. Esto era falso entonces y lo es aún más ahora.

Es posible que haya oído hablar de algunas tecnologías como Angular, React o Vue. Bueno, estas tecnologías trajeron algo de aire fresco real al mundo frontend, junto con una complejidad mucho mayor.

Siempre he sido un desarrollador full stack. Solía ​​trabajar con Rails (y todavía lo hago) + JQuery. Para mantenerme actualizado, tuve que aprender un marco frontend moderno. Oh hombre, eso fue complejo.

Podría escribir el código de Rails sin siquiera mirar mi teclado. Sin embargo, ni siquiera podía comenzar a escribir un componente React con la documentación justo en frente de mis ojos.

Me tomó bastante esfuerzo realmente sentirme cómodo con uno de estos nuevos marcos frontend (spoiler, no es React). Eventualmente lo logré y fue la mejor decisión de mi vida, ya que ahora definitivamente siento que valgo más como desarrollador y también me di cuenta de cuánto más rápido puedo desarrollar nuevas aplicaciones web (y mucho menos el rendimiento).

Dicho esto, olvida lo que están haciendo los demás . Incluso podrías intentar ser bueno en el backend. Sin embargo, si no te gusta trabajar en la lógica de las cosas, no podrás quedarte con él y, finalmente, convertirte en un gran desarrollador.

Si, por otro lado, realmente disfrutas de la retroalimentación visual y, en general, trabajas con el lado del diseño de las cosas, entonces serás un excelente desarrollador frontend.

Quédate con lo que te gusta y siempre tendrás razón.


Escribí un pequeño libro electrónico que ayuda a personas como usted a aprender desarrollo web. Le proporcionaré un proceso paso a paso junto con todos los mejores recursos de los que necesita aprender para cada una de las tecnologías. Echa un vistazo, estoy seguro de que te ayudará mucho.

Estoy un poco confundido por lo que quieres decir. Si los mejores graduados de CS están trabajando en el back-end, ¿eso no significaría que hay más vacantes en el front-end? ¿O quiere decir que quiere mantener el mismo estándar que los “mejores graduados de CS”?

De cualquier manera, aprender el desarrollo front-end no es una pérdida de tiempo, ni es un trabajo trivial. Convertir las especificaciones de un diseñador de UX en un problema bien formulado puede ser uno de los trabajos más difíciles que encontrará. Ejecutar esas maquetas con precisión es extremadamente valioso para una empresa moderna.

Lo que diré es que los errores en su código de front-end generalmente son menos graves que los errores en su código de back-end. Un diseño torcido o un botón descolorido es perdonable y generalmente se puede remediar fácilmente. Sin embargo, la pérdida o corrupción de datos puede tener repercusiones más serias.

Nada es desperdicio. Y no es del todo cierto que los mejores graduados de CS estén trabajando en banckend. Porque la interfaz está más allá de HTML y CSS.

¿Qué más entonces?
Esto es javascript. Javascript es un lenguaje de programación. Por lo tanto, debe conocer siempre una forma más inteligente y eficiente de programación.

Además, cuando necesita trabajar como visualizador de datos, en una interfaz web, siempre necesita saber acerca de la programación básica a veces avanzada.

El backend está bien, pero el frontend tiene un alcance limitado con la forma en que lo vemos.

Si trabaja como desarrollador fullstack, ¿cuál es la forma de ignorar el front-end?

El desarrollo front-end se refiere a la parte de la interacción de los usuarios web. En el pasado, el desarrollo web consistía en personas que trabajaban con Photoshop y aquellas que podían codificar HTML y CSS. Ahora, los desarrolladores necesitan un controlador de programas como Photoshop y poder codificar no solo en HTML y CSS, sino también JavaScript o jQuery, que es una biblioteca compilada de JavaScript.

Muchas de estas tecnologías están relacionadas. Todos trabajan juntos para hacer que algo funcione. Algunos desarrolladores pueden programar para front-end y back-end, aunque lleva mucho más tiempo diseñar mientras se programa el back-end. Todo depende del proyecto y de qué tecnologías y habilidades se necesitan dónde.

¿Cual prefieres? ¿Estás más interesado en el desarrollo front-end con HTML, CSS y JavaScript, o eres un campeón back-end que aborda tecnologías como PHP, Python y Ruby? Cualquiera que sea su elección, puede aprender a usar estos lenguajes de programación en Codeup. Nuestras clases primera y segunda se centrarán en PHP y JavaScript del lado del cliente, por lo que una vez que nuestros estudiantes se gradúen del programa, podrán mostrar a los empleadores que tienen las habilidades para desarrollar el front-end y el back-end.

Dudo que su afirmación de que “casi todos los mejores graduados de CS están trabajando en el back-end” es muy precisa, pero si es así, no solo no es una pérdida de tiempo, sino probablemente una muy buena inversión de tiempo para aprender el desarrollo front-end.

Si su afirmación es verdadera o no, la demanda de buenos desarrolladores front-end está creciendo y no veo ningún argumento razonable para que eso cambie en el corto plazo. ¿A quién le importa en qué están trabajando otros graduados? Si te gusta el desarrollo front-end o sientes que es algo que disfrutarías, entonces hazlo.

Los front-end solían ser el dominio de los diseñadores gráficos que sabían poco sobre el desarrollo y en su mayoría se preocupaban por el aspecto de un sitio. Sin embargo, eso fue hace mucho tiempo, los front-end se están volviendo muy sofisticados y complejos con mucho código. A medida que la sofisticación y la complejidad crecen, la necesidad de desarrolladores solo aumentará.

La habilidad más práctica para aprender es probablemente el desarrollo frontend que ahora incluye el desarrollo de aplicaciones móviles porque iOS y Android son frontends.

No soy un graduado de CS en absoluto. Trabajo como desarrollador de backend. En Australia, no importa. A todos nos pagan las mismas tarifas, ya sea frontend o backend. Lo que es importante: te importa la experiencia general del usuario.

La carrera profesional más codiciada y empleable para los desarrolladores de software es “full-stack”. Eso significa ser capaz de hacer HTML, javascript y CSS para un sitio moderno, utilizando la gran cantidad de frameworks modernos en constante cambio, y Java, Python, C # o código de JavaScript para el modelado de datos, la lógica empresarial y la parte de back-end de la capa de presentación, y comprender la base de datos a un nivel lo suficientemente serio como para iniciar sesión en la base de datos y escribir consultas para ver qué está sucediendo o modificar el DDL para aceptar Con nuevas características.

La mayoría de las personas que trabajan en la industria también obtienen al menos un poco de conocimiento “devops”, trabajando en la administración del servidor para asegurarse de que ellos mismos puedan hacer el trabajo para implementar las aplicaciones que escriben.

Es difícil para una persona mantenerse al día con todos los cambios continuos en las tecnologías disponibles en cada parte de la pila, por lo que muchos de nosotros gravitaremos naturalmente a un lugar u otro. Soy un ingeniero de “pila completa”, pero prefiero vivir en el código de Python que maneja nuestra lógica de negocios … pero cuando llega el momento de implementar una nueva característica, también soy responsable del JavaScript y HTML en la interfaz para hacer eso pasa.

Recomiendo comenzar con una disciplina y usarla como punto de contacto para diversificarse y aprender las otras. No recomiendo evitar las otras disciplinas, especialmente no por la razón que has mencionado.

Nunca entenderé dónde la gente parece tener la idea de que el desarrollo está compuesto por silos donde la experiencia no se transfiere en absoluto. Conviértete en un buen programador. Aprenda y emplee patrones de diseño y principios arquitectónicos. A medida que avanza, debe descubrir que la plataforma no es el factor determinante de su competencia. Y no aprender es una “pérdida de tiempo”. No práctico o inaplicable quizás, pero ¿desperdicio? Apenas.

Desde mi punto de vista, trabajé en ambos, para diferentes clientes, son bastante diferentes y requieren diferentes enfoques y habilidades. El desarrollo del backend se trata más de estructuras, reglas y restricciones, y sí, el buen diseño hace una gran diferencia, por lo que debe saber lo que está haciendo.

Por otro lado, el desarrollo front-end trata más sobre procesos y flujos de trabajo. Debe comprender qué quiere hacer el usuario y cómo quiere hacerlo. Las aplicaciones modernas son bastante complejas y no puede esperar que el usuario conozca todos los detalles: debe cumplir con sus expectativas.

El backend puede ser más “técnico” mientras que el diseño front-end es más “psicológico”, pero esto, en mi humilde opinión, puede cambiar. Con el front-end que incorpora partes de sistemas expertos (y, en un futuro no muy lejano, AI), esto puede cambiar muy pronto. Incluso si no, el desarrollo front-end puede ser tan complejo, interesante y gratificante como el desarrollo backend.

Parece que hoy en día hay un error grave en la interfaz.

Frontend con excelente UI / UX proporciona una gran experiencia para que los usuarios interactúen con los servicios proporcionados por el backend.

Sin frontend para proporcionar una vista para sus usuarios. ¿Cómo espera que sus usuarios utilicen su producto?

Además, si todos trabajan en el backend, ¿por qué deberías ser una oveja y seguirlos? Sé único y bueno en lo que haces en su lugar.

Curiosamente, de acuerdo con la revelación de desarrolladores de 2017 de stack overflow, los desarrolladores front-end son los menos desarrolladores web con un 11.9%.

Esto puede sonar mal, pero desde la perspectiva de la experiencia del usuario, no es tan bueno que un pequeño porcentaje de desarrolladores web entienda los comportamientos y las tendencias de los usuarios.

Puede pensar que está de moda dominar Node o Python, pero su éxito como programador se relaciona con lo bien que sabe una cosa.

Ninguna compañía de buena reputación te empleará para escribir código de interfaz y backend. Serás empleado para realizar una tarea específica.

Elige tu nicho, conviértete en un maestro en él y no dejes que las decisiones de las personas te influyan.

espero que esto ayude

Hola,

Definitivamente no. No diría que aprender cualquier habilidad de desarrollo es una pérdida de tiempo, y el desarrollo front-end ha visto muchos cambios recientes y emocionantes que lo hacen cada vez más complejo. El conocimiento de los marcos de JavaScript front-end como ReactJS no solo se valora en la industria, sino que es necesario para las personas que buscan seguir carreras de desarrollo completas. En BrainStation, nuestro programa de desarrollo web a tiempo completo se enfoca en enseñar a los estudiantes las habilidades más relevantes de la industria para prepararlos para un rol como desarrollador junior de pila completa, y esto incluye marcos front-end como React.

En pocas palabras, tendrá el mayor éxito si está interesado en el tipo de desarrollo (front-end, back-end) que está aprendiendo. No tome una decisión debido a lo que persiguen otros graduados de CS, sino en función de lo que lo entusiasma a ir a trabajar. Si tiene alguna pregunta sobre nuestros cursos de Desarrollo Web, no dude en comunicarse con [correo electrónico protegido] .

He estado escuchando (y en algunos casos afirmando) que mi trabajo está por terminar. En los años 90 me pareció que la sobrina y el sobrino de todos sabían cómo hacer un sitio web. Microsoft Front Page debía automatizar todo, luego vino WordPress: la supuesta muerte para nosotros los desarrolladores de Font-end. Entonces WIX, este seguramente fue el final para nosotros. Luego Plaza-Espacio. Adiós trabajo. ¿Pero sabes qué? Ahora estoy más ocupado diseñando y codificando sitios web para empresas que nunca. Como dijo otro cartel, esta puede ser una carrera de corta duración, pero lo hemos estado diciendo durante 2 décadas. Mi presentimiento es que los conductores de camiones perderán sus trabajos antes que los desarrolladores web. Pero mi consejo para ti es que aprendas tanto el front-end como el back-end. Conviértete en una pila completa. Y también tome algunas clases de diseño. Serás muy buscado.

El desarrollo frontend no es una pérdida de tiempo per se, sino más bien una falta de coincidencia en lo que se entrenó para hacer en la universidad cs (lo que también explica por qué tantos programadores frontend no tienen capacitación cs). La mayoría de los cursos de CS enfatizan / califican sobre cómo escribir programas correctos por encima de todo. Si trataste de escribir una interfaz de usuario correcta , es probable que nunca se haga en un tiempo razonable. La realidad es que siempre tiene que cortar esquinas en la ingeniería de frontend para enviar un producto. Todos los productos como Facebook y Twitter comenzaron como trucos feos, y probablemente nunca se habrían enviado si Zuckerberg o quien malgastara su tiempo tratando de corregir su código frontend como se les dijo en la universidad. Y muchos graduados de CS simplemente no saben cómo cortar las esquinas adecuadamente para hacer que el código de la interfaz sea lo suficientemente simple como para ser manejable (pero no demasiado simple)

Si las universidades desean producir graduados en cs que estén más alineados con lo que necesita la industria de TI, deben exigir a los seniors que completen un proyecto de fin de año que es imposible escribir correctamente en un período de tiempo razonable (que es muy parecido a desarrollo frontend del mundo real), y califíquelo según lo bien que lograron cortar las esquinas y aún así enviar un producto que cumpla con la mayoría de los criterios del usuario final.

No, no es.

Soy CS y matemático, trabajé con big data durante algunos años, luego como desarrollador de back-end, full stack y hoy he sido un Frontend dedicado durante 3 años. (Todavía puedo hacer BE trabajo pero ese no es el tema)

Muchos desarrolladores de backend solo tienen complejos y constantemente critican el desarrollo de la interfaz simplemente por ignorancia, en realidad no saben lo que hacen los chicos de FE y piensan que simplemente hacemos photoshop de todo.

Aprenda con lo que se sienta cómodo, cualquier aplicación vivirá con Backend y Frontend siempre ignorando todos esos comentarios.