¿Es más fácil ser un desarrollador web back-end o front-end?

Depende de la forma en que funciona tu cerebro. Sé que suena divertido, pero generalmente un desarrollador front-end es creativo. Casi como un artista. HTML no es difícil, pero CSS puede ser un desafío para alguien que podría ser un desarrollador de back-end talentoso. Program Logic Flow puede ser difícil de entender para un desarrollador front-end y ser fácil para un desarrollador de back-end. Por otra parte, puede ser un desarrollador Full Stack y ser sólido en las partes delantera y trasera del desarrollo web.

Analicemos con qué trabaja un desarrollador front-end:

  • HTML5: no es difícil
  • CSS3: es una gran área de estudio y tiene algún cruce con JavaScript
  • JavaScript: esto ayuda con las características dinámicas de un sitio web. Esto tiende a estar en el medio de los tipos creativos y aquellos que tienen talento en la lógica de programación.

Analicemos en qué se enfoca un desarrollador de back-end:

  • PHP, Python, etc. – lenguaje de programación del lado del servidor
  • MySql, MariaDB, etc. – Base de datos donde normalmente se almacena el contenido dinámico.

El desarrollador de back-end se encarga principalmente de hacer que un sitio web sea funcional y seguro. El diseño no es una preocupación principal. Lo que más importa es el flujo lógico para el sitio web.

Algunos dirán que uno es más difícil que el otro, pero como dije anteriormente, todo depende de su forma de pensar.

¿Puedes ser genial en ambos? Sí, hay muchas pilas completas con talento.

Espero que esto ayude.

He estado desarrollando software como hobby y profesional durante unos veinte años, así que te contaré un pequeño secreto …

Pero primero, tengo que contarte una pequeña historia.

Una vez tuve un amigo que quería ser desarrollador de software, pero cada vez que tomaba una clase en la escuela lo odiaba. Realmente nunca se ocupó de todo el código escrito.

Sin embargo, cada pocos meses o años escuché de él que quería entrar en el negocio o algo así.

No sé qué estaba haciendo con su tiempo aparte de jugar mucho World of Warcraft y tal vez beber. No podría decírtelo.

Lo que sí sé es que nunca escribió mucho código. Creo que muchos años después está trabajando en una mesa de ayuda y tal vez le interese ingresar a la creación de redes y la certificación CISCO.

No importa porque no tenía un impulso real para estar en el software. Simplemente no era lo suyo, sin importar cuánto lo intentara, siempre fallaba en llegar a algún lado con eso.

Compare eso con las personas con las que he trabajado que fueron brillantes. Todas las personas que puedo señalar como brillantes en el desarrollo de software de front-end o back-end están algo obsesionadas con eso.

Por ejemplo, uno de mis amigos es un desarrollador de back-end y juro que ha escrito media docena de sistemas de gestión de contenido, un par de sistemas de procesamiento de pagos, sistemas de gestión de anuncios, cosas arduino, robots, todo tipo de locuras y está escribiendo software y resolviendo problemas casi todo el tiempo.

Y tengo otro amigo que está muy orientado al front end. Siempre está diseñando cosas, aprendiendo y perfeccionando sus habilidades, y manteniéndose al día con el último lado CSS del mundo.

Ambos son de clase mundial en lo que hacen porque tienen un fuerte impulso hacia eso. Es lo que podrías llamar una obsesión por ellos.

Ahora, pones a cualquiera de esos dos fuera de su lugar feliz, y la obsesión desaparece y su habilidad se agota. No tienen afinidad por el tejido de cestas bajo el agua o la contabilidad de doble entrada o incluso la administración del sistema de red.

Son realmente geniales en lo que realmente les importa, pero eso es todo. Fuera de lo que les importa, son algo inútiles.

Lo que me lleva al secreto que mencioné al principio …

El front end o back end no importa en absoluto. Lo que importa es a qué gravita y si está obsesionado con eso. Si estás obsesionado con cualquiera de los dos, puedes usar esa unidad para ser genial.

Sin ese impulso, vas a tener dificultades para disfrutar y alguna vez ser bueno.

Si no disfrutas de la práctica, es difícil practicar lo suficiente como para ser grandioso.

-Brian

PD: ¿Ya has leído Creative Genius?

Es más como diferentes profesiones. ¿Es más difícil ser matemático o artista? Ambos requieren una gran cantidad de horas si quieres ser bueno en eso. Tengo antecedentes de junior-mid en ambos y los encuentro difíciles.

El desarrollo de back-end es como ser un matemático. En su mayoría, debe encontrar funciones lógicas que requieran mucho enfoque y depuración. Realmente no le importa cómo se ve el resultado, pero necesita devolver los valores correctos. Debe estar seguro de que está utilizando los datos, las funciones y los bucles correctos. De lo contrario, su código será lento y es como si estuviera usando integrales para un área de un triángulo rectángulo, incluso cuando puede usar la fórmula simple [math] S = ((a * b) / 2) [/ math].

El desarrollo front-end es más como ser un artista. O al menos un buen constructor de lego. Requiere una cierta habilidad en la imaginación visual. Tienes que ser creativo y pasar por un proceso de enmarcado de alambre y ser capaz de tirar tu trabajo de 5 horas solo porque algo necesita estar en otro lugar. También tiene que probar A / B sus nuevas ideas y esquemas y comprender que sus clientes finales no captan sus ideas y necesita repensar todo el concepto. También requiere algunas habilidades sociales porque a veces tendrás que conocer a tus usuarios y desarrolladores. Finalmente alfa y omega de codificación – diseño receptivo. Tendrá código para tantas resoluciones diferentes y asegúrese de que se vea bien al menos en 4/5 de los navegadores ampliamente utilizados (IE está disminuyendo, ¡sí!).

Pros y contras:

Desarrollo de back-end:

  • + Si eres bueno en matemáticas y lógica, podrías ser un muy buen programador
  • + El resultado es correcto o incorrecto
  • + No tienes que conocer tanta gente
  • + Mayor salario
  • + Todos buscan desarrolladores de back-end
  • + Las empresas se encargarán de ti y podrás despertarte más tarde
  • – Tienes que ser muy bueno
  • – Mayor responsabilidad (imagine escribir un código malo para una aplicación bancaria)
  • – Mucha depuración

Desarrollo front-end:

  • + Puedes ser realmente creativo
  • + HTML, CSS, JS y Ajax no son tan difíciles de aprender
  • + Es más fácil ganar dinero como freelance
  • + Conoces a tus clientes y puedes hablar con ellos
  • – Conoces a tus clientes y hablas con ellos
  • – “Ser codificador no es nada difícil”
  • – A veces es difícil llegar a un consenso con los desarrolladores de back-end.
  • – Diferentes navegadores y resoluciones

Tampoco es más difícil, simplemente son diferentes.

Diré que el back-end es más fácil. Solo para dar un poco de contexto, en mi trabajo diario en una compañía Fortune 100 hago configuración de servidor, instalación y optimización de software de servidor, instalación y mantenimiento de bases de datos (Oracle), diseño y optimización de bases de datos, escribir declaraciones SQL, escribir código del lado del servidor, escriba código de front-end (HTML, JavaScript, CSS, etc.) y, en general, haga todo lo demás que pueda imaginar, entre instalar el sistema operativo del servidor y ajustar un color en un estilo CSS.

Suponiendo que solo está hablando de los aspectos de codificación del desarrollo de back-end, básicamente todo lo que necesita saber es sql y un lenguaje de programación de back-end (python, ruby, node.js, .net, java, etc.).

En la parte frontal, necesita saber HTML, CSS, JavaScript, Gulp / Grunt, uglifyjs, requirejs / webpack / browserify, eslint, scss / stylus / sass / less, modernizr, polyfills, reset / normalize, quizás una biblioteca de plantillas, babel / es6-transpiler, lodash / subrayado, angular / reaccionar / etc.

Además, el back-end realmente no cambia tan rápido. Una vez que conozca el lenguaje de programación sql y back-end, podría ser bueno para una década o más. En el front-end, las cosas cambian literalmente casi a diario. ¿Angular? Eso fue así el año pasado. Este año será mejor que estés al día con React. Será mejor que sea un experto en diseño receptivo, accesibilidad, prototipo de JavaScript y bucle de eventos, etc. Se mantiene actualizado con ES6 y ES7, ¿no es así? Te has mudado de ajax a buscar; desde devoluciones de llamada, hasta promesas, hasta asíncrono, ¿no? Estás incorporando programación funcional en tu JavaScript, ¿verdad? Has adoptado el patrón de módulo JS común, ¿verdad? Estás utilizando un transpilador y un preprocesador, ¿no? ¿Por qué no has cambiado a usar las funciones de flecha? Eres tan diciembre de 2015.

Gracias por la solicitud de respuesta.

Hay una gran brecha entre Front-End y Back-End. Para ser específicos, hay tres trayectorias profesionales diferentes en el desarrollo web:

  • Desarrollador front-end
  • Desarrollador de back-end
  • Desarrollador Full Stack

Para decidir qué es más fácil, debes conocer los conceptos básicos de cada uno de ellos. [1]


Desarrollador front-end

El front-end de un sitio web es la parte con la que los usuarios interactúan . Todo lo que ve cuando navega por Internet, desde fuentes y colores hasta menús desplegables y controles deslizantes, es un trabajo de front-end controlado por el navegador de su computadora.

Si desea trabajar como front-end, debe saber como base:

  • HTML,
  • CSS,
  • Javascript

El siguiente paso es aprender al menos uno de los marcos como:

  • Oreja,
  • AngularJS,
  • Fundación,

y bibliotecas como:

  • jQuery,
  • MENOS.


Desarrollador de back-end

El back-end de un sitio web consta de un servidor, una aplicación y una base de datos. Un desarrollador de back-end construye y mantiene la tecnología que impulsa aquellos componentes que, juntos, permiten que el lado del sitio web orientado al usuario exista incluso en primer lugar.

Un idioma domina el trabajo de back-end de WordPress, pero hay muchos idiomas de back-end, como:

  • PHP (obviamente),
  • Rubí,
  • Pitón,
  • Java,
  • .Red.

Otra parte es el trabajo de base de datos. Puedes aprender uno de estos:

  • MySQL (el más popular para la web)
  • PostgreSQL
  • MS SQL
  • Oráculo

Similar a Front-End, en Back-End también hay algunos marcos populares. Para PHP hay:

  • Symfony
  • CakePHP,
  • Zend

También será útil usar software de control de versiones como:

  • Git o
  • SVN.

Por último, pero no menos importante, los desarrolladores de back-end deberían usar algunas pruebas automatizadas como:

  • Jenkins

y herramienta de mantenimiento como:

  • Tablero perfecto (personalmente recomiendo este)


Desarrollador Full Stack

La idea es que un desarrollador de pila completa pueda trabajar de manera cruzada en la “pila” completa de tecnología, es decir, tanto en el front end como en el back end. Los desarrolladores de pila completa ofrecen el paquete completo.

Como Full Stack, debe conocer todos los idiomas y métodos anteriores. No es la forma más difícil, pero necesita un conocimiento excelente y vasto de usted.


En muchos proyectos, especialmente cuando el equipo no es un grupo grande, será mejor tener un Full Stack. Es más fácil aprender y depurar problemas.

En las casas de software, no hay lugar para Full Stacks. Los roles en la organización son precisos y las competencias están estrictamente separadas.

Entonces, ¿qué es más fácil? Es difícil de decir.
Como front-end , debe cuidar la compatibilidad del navegador, el diseño receptivo, etc. Como back-end : seguridad y tiempo de actividad. Como una pila completa – de todo 🙂


Aquí hay algunas preguntas de entrevista para desarrolladores web. La elección debe ser más fácil cuando responda este cuestionario.

Preguntas frontales: [2]

  • ¿Qué hace un doctype ?
  • Describa la diferencia entre una cookie , sessionStorage y localStorage .
  • ¿Por qué es generalmente una buena idea colocar CSS s entre y JS s justo antes de ? ¿Conoces alguna excepción?
  • ¿Qué significa * { box-sizing: border-box; } * { box-sizing: border-box; } hacer? Cuales son sus ventajas?
  • ¿Cuál es la diferencia entre una variable que es: null , undefined o no declarada?
  • ¿Cuál es la diferencia entre == y === ?
  • ¿Cuál es tu característica favorita de Internet Explorer?

Preguntas de fondo: [3]

  • Dime los 3 peores defectos de tu idioma preferido
  • Si el Cat es un Animal , ¿ TakeCare es TakeCare ?
  • ¿Por qué en SQL SELECT * FROM table WHERE field = null no coincide con los registros con el field nulo?
  • ¿Por qué las cookies de origen y las cookies de terceros se tratan de manera tan diferente?
  • Explique las transacciones Unicode / Database a un niño de 5 años.
  • ¿Por qué abrir un socket TCP tiene una gran sobrecarga?
  • ¿Qué pasaría si pones un espejo en un escáner?

Pero no importa lo que elijas, recuerda ser perfecto en él.

Espero haber ayudado!


EDITAR:

Como beneficio adicional, aquí hay un breve video de Expert Market.com que describe en pocas palabras la diferencia entre los desarrolladores web front-end y back-end.

YT: ¿Cuál es la diferencia entre los desarrolladores front-end y back-end?

Notas al pie

[1] Desarrolladores web front-end vs back-end vs full stack

[2] h5bp / Front-end-Developer-Interview-Questions

[3] arialdomartini / Back-End-Developer-Interview-Questions

Elegir una carrera como desarrollador de back-end o desarrollador de front-end en función del nivel de dificultad es una forma completamente incorrecta de seleccionar una trayectoria profesional. Todo depende de sus intereses y habilidades si es fácil convertirse en un desarrollador Back-End o Front-End. Como, en esta era, no podemos medir el peso de la profesión solo en función de sus dificultades, sino que se deben considerar muchos factores, como el crecimiento, los requisitos en la industria, el salario, etc.

Desarrollador de back-end
Un desarrollador web de back-end, es un ingeniero de software que se ocupa de la programación y escribe todos los códigos necesarios para la lógica central del sitio web. El programador toma datos de la base de datos y los moldea de manera apropiada, que se utilizan y se muestran al usuario a través de la interfaz.

Para convertirse en un desarrollador de back-end, hay que adquirir un conjunto de habilidades necesarias:

  • El individuo debe ser lo suficientemente flexible como para codificar en lenguajes de programación como .Net, PHP, etc.
  • NodeJS y ExpressJS también es un requisito más reciente en la industria.
  • MongoDB y otros programas de bases de datos orientados a documentos.

Salario estimado del desarrollador de back-end según Job Search | En efecto

Desarrollador front-end
Un desarrollador web front-end, es un ingeniero de software que se ocupa de la codificación y el diseño mediante programación en diferentes lenguajes de computadora. El programador asegura la representación de los datos de forma estructurada directamente al usuario.

Para convertirse en un desarrollador front-end , hay que adquirir un conjunto de habilidades:

  • Para codificar, Jquery y AngularJS es una de las principales opciones de la industria.
  • Mientras que para el propósito del diseño, se utilizan HTML (Lenguaje de marcado de hipertexto), CSS (Hoja de estilo en cascada), Script Java y Bootstrap.

Paquete de salario estimado para un desarrollador front-end según payscale.com

Si tiene una buena capacidad para aprender los dos conjuntos de habilidades en un criterio dado, hay otra carrera que puede elegir que es MEAN o desarrollador Full Stack.

Desarrollador MEAN o Full Stack

MEAN Stack Developer es un ingeniero de software que se ocupa del front-end y back-end del sitio web, desapareciendo el requisito de dos personas diferentes que se ocupan por separado en front-end o back-end.

  • El conjunto de habilidades para la posición anterior es bastante amplio, ya que consta de todas las habilidades requeridas por los desarrolladores de back-end y front-end.
  • El crecimiento y los requisitos en la industria aumentan día a día, ya que disminuye dos conflictos de opinión diferentes en dos partes, por ejemplo, back-end y front-end.
  • Tendencia de Salario Nacional como Desarrollador Full o MEAN Stack r:

Yo diría que realmente depende de ti y de tu personalidad.

Primero que nada recapitulemos:

Un desarrollador front-end se encarga del diseño, el diseño y la interactividad utilizando HTML, CSS y JavaScript. Toman una idea del tablero de dibujo y la convierten en realidad. Lo que ves y lo que usas, como el aspecto visual del sitio web, los menús desplegables y el texto, son reunidos por el desarrollador front-end, que escribe una serie de programas para vincular y estructurar los elementos. se ven bien y agregan interactividad. Estos programas se ejecutan a través de un navegador.

El desarrollador de backend diseña lo que está sucediendo detrás de escena. Aquí es donde se almacenan los datos, y sin estos datos, no habría interfaz. El backend de la web consiste en el servidor que aloja el sitio web, una aplicación para ejecutarlo y una base de datos para contener los datos. El desarrollador de back-end utiliza programas de computadora para garantizar que el servidor, la aplicación y la base de datos funcionen juntos sin problemas. Necesitan analizar cuáles son las necesidades de una empresa y proporcionar soluciones de programación eficientes. Para hacer todas estas cosas increíbles, utilizan una variedad de lenguajes del lado del servidor, como PHP, Ruby, Python y Java.

A partir de esta definición, puede concluir una cosa: la personalidad de un desarrollador de back-end (basada en datos) es diferente a la del desarrollador frontend (creativo).

En última instancia, los dos están vinculados, pero uno está más centrado en lo que otras personas ven y el otro en lo que sucede detrás de escena.

Para responder a su pregunta, creo que debe preguntarse qué tipo de personalidad tiene y luego tendrá su respuesta.

He preparado una prueba que te ayuda a descubrir qué tipo de desarrollador web deberías ser: tómalo si quieres. No es 100% preciso, pero puede darte una idea 🙂

¿Qué tipo de desarrollador debe ser? El | Mashallow

Espero que esto ayude 🙂

Creo que a la mayoría de las respuestas les falta el hecho de que la mayoría no se trata solo de backend o frontend.

La mayoría de las respuestas señala todos los nuevos marcos y herramientas que el frontend desarrolla tiene que lidiar. Y eso es de hecho cierto, y “frontend” tiene conceptualmente más cambios, pero la mayor parte del conocimiento de cualquier desarrollador reside en habilidades generales de programación, de las cuales ambos “campos” se benefician más o menos por igual.

Ahora, ambos términos pueden ser subjetivos en términos de responsabilidad y también cambian mucho de una compañía a otra, y seguramente, hay grandes diferencias en herramientas, salida, entorno de trabajo, etc. pero escupiendo código de buena calidad, ya sea del lado del servidor, del cliente o marcado, se reduce a paradigmas generales de programación. Mantener un buen código limpio, aprender a enseñarte a ti mismo cómo depurar, aprender nuevas herramientas, patrones de diseño, comunicación, etc.son esenciales para cualquier tipo de desarrollo. Y ahora, con marcos frontend casi completos, se puede aplicar fácilmente un amplio conocimiento arquitectónico para mantener una base de código saludable.

En frontend, tiene ciclos mucho más rápidos de nueva generación de frameworks y nuevas herramientas, de las cuales necesita realizar un seguimiento. La parte central de los idiomas sigue siendo “solo” javascript (que también se puede usar en el lado del servidor), un lenguaje de marcado y CSS. (Eludí deliberadamente los tipos transpilados y los procesadores pre / post, ya que es más o menos azúcar de sintaxis y sesgo personal)

En el backend, generalmente debe tener más conocimiento de un conjunto de tecnologías.

Un lenguaje del lado del servidor, SQL, NoSQL, tiempo de ejecución del servidor, administración del servidor, administración de copias de seguridad, etc., y tiene un potencial más amplio para una profunda experiencia en, por ejemplo, Diseño impulsado por dominio y / u otros diseños arquitectónicos y eludir el trabajo de DevOps, aparte del lado del servidor web uso. Por supuesto, hay compañías donde hay roles dedicados para delegar algunas de las responsabilidades anteriores de un desarrollador de back-end, pero generalmente no. Y del mismo modo con “frontend”, podría haber solo javascript puro involucrado, pero no es raro que su PSD -> frontend finalice.

Independientemente, javascript es imprescindible para dominar en cualquiera de los roles. Comprender la herencia prototípica y explotarla es complicado, y muchas personas descuidan su aprendizaje y lo encuentran redundante. Sin embargo, incluso en escenarios simples, la herencia de prototipos es extremadamente poderosa (mire el método extendido de jQuery). La gente generalmente lo trata como un lenguaje heredado clásico, incluso ES6 ha agregado algo de azúcar sintáctico para crear “clases”.

La cuestión es que hoy en día, técnicamente, puede implementar un negocio completo en una aplicación del lado del cliente, y simplemente usar un back-end para el almacenamiento. Las cosas se están moviendo de esta manera, pero generalmente no en un gran proyecto empresarial, ya que los desarrolladores de back-end generalmente manejan la lógica comercial central mejor que el desarrollador front end promedio.

Mi punto es que, convirtiéndome en un buen desarrollador, ya sea frontend o backend, el 95% del esfuerzo se destina a comprender los paradigmas generales de programación, comprender y aplicar las mejores prácticas, aprender a trabajar en equipo. Pero lo más importante, poder depurar cualquier problema y la capacidad de enseñarte a ti mismo.

Comer documentación para el desayuno.

Sí, ¡el back-end es mucho más fácil! 🙂

No me considero desarrollador front-end o full-stack, soy desarrollador back-end pero de vez en cuando tengo que escribir un código front-end. Entonces puedo hacer una comparación basada en la experiencia.

En el front-end estás atascado con JavaScript de una forma u otra. Hay lenguajes un poco más agradables que se compilan a JS a partir de ES6, CoffeScript y TypeScript (+ muchos otros), pero al ser “extensiones” de JS heredan la semántica de JS y esa semántica es simplemente mala. Para empezar, tiene dos comparaciones de igualdad: `==` y `===`, y nunca desea usar el anterior. Al menos nunca uso el primero. Entonces debes recordar cuándo `esta` palabra clave se vincula a qué objeto y nunca puedo recordar eso. Y es solo la punta del iceberg.

Hay lenguajes con una semántica mucho mejor que pueden compilarse a JS como ClojureScript y Dart, pero para la depuración al final necesitará profundizar en JavaScript, aunque puede retrasar este momento con mapas de origen y otras herramientas.

Pero lo que no puede evitar de ninguna manera en el front-end son las “API web” y son casi terribles: inconsistentes, incompletas y difíciles de usar. En cualquier idioma. Incluso comenzando con CSS: un diseño un poco avanzado está lleno de hacks y soluciones alternativas. Incluso en los navegadores modernos. Y si necesita soportar navegadores móviles …

¿Qué pasa con la gestión de paquetes y la automatización de compilación para el front-end? NPM + Bower + trago + paquete web + Babel + Uglify.js +… ¡Buena suerte aprendiendo y configurando todo eso!

No sé qué en el lado de back-end podría compararse con eso en complejidad y torpeza … ¿PHP, tal vez? Como he escuchado, tiene incluso más semántica de comparación que JS. Pero nunca lo usé y nunca lo haré. Básicamente, todos los demás lenguajes de fondo (Ruby, Python, Java, C #) tienen una semántica mucho mejor, aunque aún no son ideales.

El mantenimiento y la optimización de la base de datos pueden ser difíciles, pero la mayoría de los proyectos que no requieren tanta carga no lo necesitan realmente. De todos modos, personalmente no tengo casi nada que ver con DB a medida que desarrollo la lógica empresarial en el back-end.

La administración de paquetes y la automatización de compilación es mucho más simple en el back-end. Trabajé con Maven (Java), PIP (Python) y Stack (Haskell). Fue bastante sencillo.

En este momento trabajo como desarrollador de back-end en lenguaje Haskell. Es uno de los mejores idiomas en términos de semántica y sintaxis. Las bibliotecas y herramientas para web-dev son muy buenas y mejoran cada año. En el back-end, básicamente podemos elegir cualquier idioma y hemos elegido el mejor. No tenemos tanto lujo en el front-end …

La pregunta de si el desarrollo de front-end o back-end es más fácil depende principalmente de las habilidades que posee un individuo.

Desarrollo front-end:

El front-end de una aplicación es lo que el usuario ve, toca y experimenta. El front-end de una aplicación tiene menos que ver con el código y más con la forma en que un usuario interpretará la interfaz como una experiencia.

Algunos t general

Las habilidades técnicas requeridas para ser un desarrollador front-end son:

HTML

CSS

Javascript

Desarrollo de back-end:

El back-end de una aplicación es responsable de cosas como cálculos, lógica de negocios, interacciones de bases de datos y rendimiento. La mayor parte del código que se requiere para que una aplicación funcione se realizará en el back-end. Esto significa que los desarrolladores de back-end no solo necesitan comprender lenguajes de programación y bases de datos, sino que también deben comprender la arquitectura del servidor.

Dado que la mayoría del código para una aplicación está escrito en el back-end, debería ser fácil de entender y trabajar con él.

Algunas habilidades técnicas generales requeridas para ser un desarrollador de back-end son:

Rubí

Pitón

SQL

Para obtener detalles sobre el diseño web, visite: Diseño y desarrollo web | Marketing digital | Empresa de desarrollo de aplicaciones y juegos móviles Noida, India-Websquare.co

Hablemos un poco sobre algunos problemas difíciles en cada dominio. Tenga en cuenta que soy un desarrollador web back-end de profesión.

En el front-end, está aplicando un diseño a un sitio o aplicación que se espera que sea consistente en una plataforma muy grande. Existe la expectativa de ser “píxel perfecto” en pantallas que van desde 640 píxeles de ancho hasta más de 3,000. En 6 o 7 motores de navegador y en múltiples versiones de la especificación, sea lo que sea que haya significado en ese momento. También es posible que deba lidiar con idiomas que están en diferentes conjuntos de caracteres, orientación y longitud. Debe hacer todo eso mientras se asegura de que la página se pueda cargar y representar en todo el mundo en, por ejemplo, menos de un segundo.

En el back-end, es posible que deba lidiar con el mantenimiento de la seguridad y la consistencia de los datos en una red mundial de máquinas que manejan terabytes de datos y limitados por, oh, ya sabe, la velocidad de la luz. Necesitará su solución para manejar actualizaciones continuas sin problemas y pruebas y objetivos multivariados. Otros desafíos podrían involucrar el procesamiento de la transmisión de datos desde millones de sensores utilizando técnicas de aprendizaje automático que son esencialmente cajas negras y usted tiene que diagnosticar problemas sin ningún conocimiento a priori de los resultados.

Esos son ejemplos de problemas difíciles que he visto para ambas partes. Sospecho que es probable que más organizaciones experimenten los desafíos en el front-end que en la parte posterior. Una vez que va más allá de los ejemplos triviales, se encuentra con una avalancha de problemas inherentes en el mundo real o en los navegadores y dispositivos. Los problemas realmente difíciles en el back-end suelen ser competencia de organizaciones realmente grandes o especializadas.

Depende de cómo se defina “fácil”. Hay más presión sobre un desarrollador front-end desde un punto de vista humano. Dado que está en el dominio visual, todos tienen una opinión desde el nivel de CEO hasta el barista. Los desarrolladores senior tienden a ensamblarse en el back-end. La excusa es que el back-end es donde se determina principalmente el rendimiento y la estabilidad del sistema, pero el front-end es más indulgente con el código mal optimizado.

Personalmente, creo que el front end es más duro que el backend, de la misma manera que ser una capa de ladrillo es más difícil que ser arquitecto. Es decir, si define cantidades más altas de trabajo duro y retrabajo como “más difícil”.

Los buenos desarrolladores de back-end necesitan habilidades de arquitectura y rendimiento en un nivel diferente. A escala, las cosas se ponen de acuerdo rápidamente y se necesita un desarrollador experimentado para resolver las cosas difíciles.

Una de las razones por las que node.js recibió un golpe en la popularidad es que bastantes seguidores se encontraron en el backend por primera vez. Cada vez que lee un artículo sobre alguien que abandona el Nodo, por ejemplo, Cloud9, las quejas son sobre fallas en los servicios y problemas de rendimiento difíciles de administrar. A la mayoría de los desarrolladores de back-end no les gustará la idea de JS en la parte posterior, pero si se los empuja, podrán realizar pruebas unitarias y los estándares de codificación adecuados podrán estabilizar y optimizar un sistema de nodos. Ejemplo de las muchas historias de éxito de Node.

En el back-end, cosas como la optimización de consultas SQL se vuelven importantes una vez que hay más de unos pocos usuarios interactuando con el sistema. Las habilidades adecuadas en esta área son mucho más raras que los chicos de front-end.

Estoy de acuerdo con la respuesta de Joel.

Me expandiré un poco, ya que este tipo de preguntas suena como una carrera profesional. Cuando comienzas específicamente como desarrollador, eres el tipo práctico. Dependiendo de dónde termines trabajando, puedes terminar con una visión miope de tu sujeto. Esto está bien si te sientes cómodo siendo un especialista, pero eventualmente te lleva a ser obsoleto a menos que sigas adaptándote a la nueva tecnología.

A largo plazo, los desarrolladores terminan siendo personas mayores y se ocupan de una imagen más amplia. Aquí es donde los 2 voltean en dificultad.

A medida que progresas en Front-End, tienes que lidiar con cosas como UX, lo que lleva a la sociología, psicología y marketing + creatividad. Estas son áreas muy volátiles que cambian constantemente, pero también lo hacen emocionante. Mantenerse al día con las tendencias y la tecnología relacionadas con esto es agotador. Por lo tanto = menos fácil.

El back-end es mucho más estable, mientras que también hay cosas nuevas allí, a menos que haya cambios fundamentales en las Bases de datos, Redes, infraestructura de hardware, las cosas generalmente son planes establecidos. Por lo tanto, no tendrá que perseguir un amplio espectro de tecnologías: más fácil.

Al final, diría que vaya con lo que DESEA hacer más de lo que es fácil .

Diría que se encontrará con situaciones problemáticas en ambos reinos y las principales diferencias generalmente están relacionadas con la pregunta “¿qué tan fácil es encontrar la solución al problema relevante?”

Desde mi experiencia, los detalles problemáticos en el ámbito del desarrollo front-end generalmente se dividen en estas categorías:

  • Como JavaScript no es un lenguaje fuertemente tipado y el desarrollo web actual generalmente se basa en una lógica de aplicación de una página bastante compleja o en desencadenadores de eventos basados ​​en ajax, la depuración de un programa JS complejo es bastante más engorrosa y agotadora que, por ejemplo, un programa backend de Java puro, especialmente si tienes que depurar código que no has escrito tú mismo. Puede llevar bastante tiempo hasta que empiece a comprender lo que está sucediendo.
  • Debido a que las diferentes versiones de diferentes navegadores generalmente interpretan varias situaciones de manera un poco diferente, pasará bastante tiempo buscando soluciones a los problemas de CSS y JS que funcionan con el 90% de los navegadores, pero no con el 10% y si ese 10% si caes en la categoría “lo suficientemente importante” para el proyecto / cliente, te divertirás tratando de encontrar “otra forma correcta” de hacer cosas que ya funcionan

Por lo tanto, siempre que pueda elegir, quiero permanecer más en el lado de atrás de las cosas porque la mayoría de la resolución de problemas de la parte delantera se siente como golpearse la cabeza contra la pared, y solo se mejora después de suficientes repeticiones y extrañas ” conocimiento oculto “que en realidad no quiero obtener.

Los problemas relacionados con el back-end suelen ser más fáciles de abordar, especialmente si usa lenguajes fuertemente tipados porque los diversos IDE facilitan el seguimiento de enlaces dentro de la base de código, las herramientas de depuración son realmente buenas y no tiene que perder tanto tiempo adivinando cuáles son las variables Contiene. No tiene que preocuparse por las versiones del navegador, etc. Es un reino más limpio.

Por otra parte, si se encuentra con problemas extraños en el back-end, generalmente debe tener un conocimiento bastante sólido de muchas cosas para encontrar las soluciones. Por lo general, no es suficiente saber simplemente codificar. Puede terminar fácilmente en configuraciones de nivel de sistema, etc., por lo que estar familiarizado con las cosas genéricas relacionadas con la administración del sistema generalmente es más que preferido.

Personalmente disfruto el reino de back-end más que el front-end. Es más definitivo y estable.

Hasta que no haya reunido todos los requisitos de una tarea, entonces está incompleta.

Del mismo modo, si desea ser una carrera en el diseño y desarrollo de cualquier tipo de sitios web como comercio electrónico, sitios web educativos, sitios de redes sociales. etc.

Ambos serán muy importantes.

Simplemente el front-end es cómo te ves y el back-end es tu trabajo de las funciones internas.

1) Diseño web front-end

Si desea hacer su carrera en el diseño y desarrollo de sitios web con una GUI excelente, vaya a este archivo.

El diseño front-end es lo más fácil que puedes aprender en pocos meses.

Los siguientes temas que mencioné son temas muy importantes para demostrar que usted es un desarrollador front-end.

1) HMTL5 / CSS3

2) Bootstrap

3) Jquery

4) Javascript

5) Ajax

6) AngualrJS

2) Desarrollo de back-end

Hasta que no toques este sabor, no puedes ser un desarrollador web completo.

El front end anterior es solo el diseño de sus sitios web. Para el funcionamiento interno, debe requerir soporte de back-end.

Es muy importante elegir la plataforma de back-end

Son muchas las plataformas de desarrollo de back-end, hay que elegir las mejores y seguir adelante.

Algunos de los scripts de desarrollo de backend que mencioné a continuación tienen un vistazo.

1) Java (JSP, Springs, etc.)

2) PHP

3) Django

4) Nodejs

5) Ruby on Rails

Si eres nuevo en esto, ten cuidado de elegir.

Gracias. 🙂

He hecho ambas durante muchos, muchos años. Las respuestas hasta ahora que dicen que el desarrollo de back-end es más fácil se limitan a conjuntos de problemas que se centran en soluciones de front-end. Si, hoy en día, está tratando con SQL y una API REST escrita en un lenguaje de script (como PHP, Python, Ruby, etc.) y eso es lo suficientemente bueno para su aplicación comercialmente exitosa, entonces diría que tiene razón ; El back-end es más fácil. Hay muchas aplicaciones exitosas como esta.

Dicho esto, muchas aplicaciones (¿la mayoría de las más exitosas?) Tienen muchos problemas y tecnologías difíciles que enfrentan en el back-end para manejar millones de conexiones concurrentes, procesar terabytes de datos, procesamiento distribuido de múltiples nodos, aprendizaje automático , etc. Piense en Facebook y en la red de anuncios que deben administrar y dirigirse a cientos de millones de usuarios, o Walmart, que tiene que proporcionar diariamente servicios de compra de inventario receptivos a millones de usuarios. Estos no son “solo un poco de SQL, ¡algo de Ruby y tada!” tipos de aplicaciones y le prometo que más de su I + D va al back-end que al front-end, porque los problemas allí son mucho, mucho más difíciles de resolver.

Lo interesante a considerar es esto:

El desarrollo front-end tiene muchos desafíos técnicos difíciles, pero en general * siempre son los mismos problemas para todas las aplicaciones *. En esencia, tiene millones de desarrolladores inteligentes que trabajan para resolver los mismos problemas que resuelve todos los días. Es por eso que la plataforma innova tan rápidamente. Considerando que, los desafíos que enfrentan los desarrolladores de back-end tienden a ser únicos para la aplicación y requieren mucha más ciencia, desarrollo de algoritmos, arquitecturas y soluciones, porque, a escala, cada aplicación tiene requisitos muy diferentes para el éxito. En nuestra empresa, tenemos una capa intermedia escrita en Nodejs, que aloja páginas escritas en Angular, D3 y React. La interfaz de usuario es limpia y receptiva y no recuerdo el último problema de navegador cruzado que tuvimos. Nuestro back-end está escrito en Scala sobre Akka. Usamos Storm para procesar los terabytes de datos que recibimos de cientos de fuentes, Redis para almacenarlos en caché para su procesamiento, Kafka para ponerlos en cola para el almacenamiento, Cassandra para el análisis de datos y Zookeeper para administrar los casi 100 nodos de servicio que están cooperando y escalado automático para servir la carga máxima. Nuestra interfaz de usuario es increíble, pero la IP de la empresa está en el back-end, es especial y es nuestra (y sí, confieso que estoy orgullosa de ello). Hemos resuelto y seguimos resolviendo problemas de procesamiento de datos tremendamente difíciles a escala y eso, mis amigos, es mucho más difícil que cualquier desarrollo de front-end que pueda hacer. Y, creo que cada aplicación que opera en un gran volumen de datos para un gran número de usuarios tiene que resolver problemas que son similares, pero distintos de los que hemos resuelto.

En resumen, creo que el front-end es un excelente lugar para trabajar, es muy difícil hacerlo bien y es muy gratificante, pero los requisitos más exigentes y los desafíos que separan a los hombres y las mujeres de los niños en el software están en back-end Esa es mi opinión, de todos modos.

¿Quieres ser un desarrollador front-end o back-end? Es más fácil reducir antes de comprender sus objetivos profesionales al final de un campamento de codificación. No hay necesidad de soportar el estrés. Comprendamos la diferencia entre el desarrollo front-end y el desarrollo back-end.

Lenguajes de programación de backend

Los desarrolladores de back-end conocen lenguajes como HTML y CSS que son lenguajes de front-end. Pero necesitan usar lenguajes como PHP, Java, Python y Ruby on Rails para realizar el trabajo final. Aquí, los desarrolladores están más enfocados en la capacidad de respuesta y la velocidad de un sitio. Estos lenguajes se utilizan para desarrollar algunos de los sitios dinámicos. El contenido de estos sitios cambia y se actualiza constantemente. Dichos sitios incluyen Facebook, Twitter y Google Maps.

Lenguajes de programación front-end

Estos lenguajes incluyen JavaScript, CSS y HTML. El uso de JQuery también será una ocurrencia común con el trabajo de desarrollo front-end. Aprenderá toneladas sobre diseño receptivo junto con diseños, tipografía, sistema de cuadrícula y teoría del color. Al trabajar como desarrollador front-end y anticiparse en varios tipos de proyectos, debe pensar en rediseñar y crear sitios web. Por lo tanto, para ser un desarrollador front-end, no necesita tener habilidades de desarrollo de back-end. El contenido será “fijo” ya que los sitios creados por desarrolladores frontend no interactuarán con la información almacenada en una base de datos con respecto a ser funcional. Los propietarios de restaurantes y pequeñas empresas son excelentes ejemplos de sitios estáticos.

Todo depende de la forma en que piensan los desarrolladores. Hay muchos desarrolladores hábiles de Full Stack que dominaron tanto la plataforma. Esperamos que esta publicación te ayude.

Desarrollo de back-end Desarrollo web front-end JavaScript (lenguaje de programación) Frameworks CSS HTML Ruby (lenguaje de programación) Servicios de desarrollo de aplicaciones web Java en Nueva York

Todo depende de tus preferencias.

Para mí, pude retomar fácilmente el desarrollo frontend. HTML / CSS fue fácil, ¡lo mismo ocurre con JavaScript! Pasé tal vez menos de 1-4 meses en general. Sin embargo, cuando intenté abordar cosas como PHP, me costó mucho recordarlo todo.

Sorprendentemente, fue al revés para mi amigo. Fue capaz de aprender PHP fácilmente, pero tuvo un momento extremadamente difícil con HTML / CSS / JavaScript.

En resumen, para mí fue más fácil y mucho más divertido aprender frontend ya que puedo crear todas estas animaciones geniales y crear contenido visualmente atractivo. Si bien fue lo contrario para mi amigo, tuvo dificultades para comprender todas estas animaciones, propiedades y ubicaciones, y prefirió más contenido relacionado con la base de datos del servidor.

Imparto cursos sobre desarrollo web y, a lo largo de los años, he impartido cursos web tanto front-end como back-end. Algunos estudiantes han encontrado el Front-End más fácil y otros Back-End. Siempre es una división bastante pareja. Creo que esto tiene mucho que ver con el que un estudiante disfruta más. Parece haber una correlación directa entre su interés y entusiasmo por aprender una tecnología que es proporcional a la velocidad que aprenden y tienen éxito. No es que tampoco sean fáciles, sino que estamos dispuestos a luchar más cuando vemos la recompensa y sentimos alegría por el desafío del aprendizaje. Mi mejor consejo sería eventualmente aprender ambos, ya que esto da la mejor perspectiva de cómo funciona la pila completa al unísono de cada una de sus partes. Es una sinfonía de causa y efecto. Amar el proceso y el dolor y la lucha lo ayudarán a superarlo. Cuando superas cada obstáculo en tu camino, hay una gran sensación de logro y, cuanto más sucede, ¡un desarrollador dirá que es fácil! Claro que es fácil ahora que lo has aprendido.

Fácil y difícil quizás sea relativo a nuestra comprensión de un tema. Hay una ciencia en la programación, un conjunto de reglas, y una vez que podamos ser practicantes de este oficio; habiendo entendido completamente sus reglas. Se vuelve tan fácil.

Si ambos son fáciles y ambos difíciles, ¿por dónde empiezo? Sugeriría comenzar en el Front-End y trabajar de regreso.

En una nota al margen, podría sugerir que cuanto más fácil se vuelve algo, menos divertido es. Cuando subo una montaña, siempre estoy más satisfecho que cuando subo una colina.

TL; DR

Ambos son fáciles y ambos difíciles. En mi opinión, es en relación con su comprensión de ellos y su pasión por comprenderlos lo que dicta lo fácil o difícil que se siente.

PROMOCIÓN -> Mi curso más reciente sobre creación de sitios web receptivos con código de cupón HTML5 y CSS3 QUORA15 obtiene un 20% de la versión en línea del curso.

Lo contrario es más cierto hoy en día …

En los viejos tiempos (estoy hablando hace tres años o más), la programación de back-end era definitivamente más difícil que la programación de front-end. En las aplicaciones web, toda la lógica de la aplicación se escribió en un lenguaje de fondo como PHP, ASP o Java. El back ender creó una salida que luego el programador front-end convirtió en una página html. Aquí, el programador de back-end no solo era responsable de la parte de almacenamiento de datos, sino también de la lógica de aplicación completa, mientras que el programador de front-end ‘solo’ tenía que asegurarse de que la salida estuviera formateada en el diseño correcto usando html; a menudo usa un lenguaje de plantillas como Smarty o Twig.

En el desarrollo moderno de aplicaciones web, sin embargo, las cosas son muy diferentes. Gracias a los marcos de JavaScript modernos como AngularJS o React, gran parte de la lógica de la aplicación ahora reside en el front-end. Lo que deja a los que se quedan atrás con estructuras de bases de datos giratorias en api comprensibles y eficientes.

En mi experiencia, el campo de la programación front-end está evolucionando mucho más rápidamente que el desarrollo back-end. El auge de los dispositivos móviles y con eso: diseño receptivo, hace que el arte de la programación front-end sea solo un desafío.