¿Qué debo hacer para llamarme desarrollador back-end?

El fondo es grande

Si quieres ser realmente bueno en eso, es útil entender qué es y qué no es:

  • Back-end es un jugador de equipo, en lugar de ser una primadonna.
  • El back-end se encuentra en el medio de una relación de muchos a muchos, (generalmente) no es la pieza solitaria al final de una relación de muchos a uno.
  • El back-end tiene mucho que ver con la negociación, en lugar de establecer la ley.

Ser un jugador de equipo:

Cuando desarrolla una aplicación independiente, tiene acceso a todos los componentes en el momento de la compilación. Esto ayuda mucho con las pruebas y la corrección de errores, pero también tiende a ocultar errores exóticos ya que algunos estados en su aplicación nunca (o extremadamente rara vez) surgen. Por desgracia, esto no es cierto para el back-end.

Cuando desarrolle el back-end, ningún usuario final verá sus cosas. En cambio, ven el front-end sexy, y estás de acuerdo con eso. De hecho, es su trabajo hacer que el front-end funcione aún mejor. Cuanto más competente sea como desarrollador de back-end, mejor se reflejará en cada parte del producto.

Sentado en el medio:

Hay muchos paradigmas para el back-end. Pueden ser uno a uno (lo que significa que hay exactamente un proceso de servidor para cada cliente), pero eso no escala bien. Todavía tiene sentido para alguien que necesita controlar de forma remota un proceso computacionalmente costoso, pero es muy inusual.

También pueden ser muchos a uno (lo que significa que hay exactamente un proceso de servidor para todos los clientes), y eso es lo que hace Node.js. Tiene algunas ventajas (por ejemplo, probablemente nunca matará la memoria caché para el servidor de bases de datos en un sistema de múltiples núcleos) y algunas desventajas (es posible que no esté utilizando toda su potencia de cálculo y puede experimentar problemas de bloqueo).

Y, por último, pueden ser muchos a muchos (lo que significa que tiene un grupo de subprocesos de procesos de fondo en el servidor que responde a solicitudes en paralelo), y hay muchos (¿la mayoría?) Lenguajes de fondo que funcionan de acuerdo con Este modelo por defecto.

La cuestión es que casi siempre hay algo detrás del back-end, y que generalmente es una base de datos. El modelo que funcione mejor para su back-end puede depender de lo que tenga detrás. Si se trata de una base de datos empresarial completa que viene con un bloqueo incorporado, está bien que la atienda con 10 solicitudes simultáneas. Por otro lado, si se trata de un pequeño dispositivo IOT, es posible que no pueda procesar muchas solicitudes a la vez. De hecho, puede necesitar una capa de arbitraje adicional.

Cualquiera sea el caso, me resulta difícil encontrar un ejemplo de un back-end que en realidad no tenga un recurso detrás, así como delante de él. (Incluso si es solo un disco, también debe administrar ese recurso).

Negociación:

Cuando haces tu primer paquete de back-end / front-end, la negatividad no es algo en lo que pienses mucho. Si actualiza la API de back-end, solo arregla el front-end en el mismo commit. Por lo general, viven en el mismo repositorio en este momento. Sin embargo, desarrollar de esta manera no te brinda la experiencia completa del desarrollo de back-end.

Después de un tiempo, te das cuenta de que también quieres una aplicación nativa para iPhone, y dado que haces llamadas entre back-end y front-end a través de REST, se resuelve fácilmente. Entonces, construyes tu aplicación y la subes a la tienda de aplicaciones.

Sin embargo, la próxima vez que arregles algo en tu back-end, no puedes simplemente empujar la solución. Debe corregir tanto el front-end como la aplicación, y debe enviar la aplicación. Sabe que tomará aproximadamente 1 semana antes de que su aplicación se active, pero no sabe exactamente cuándo sucederá . Aquí es cuando las API versionadas lo salvarán, y esa es una parte de lo que quiero decir con negociación.

Otra parte de la negociación es que los desarrolladores de front-end te pedirán muchas cosas. Cualquier cosa que le pidan es menos trabajo para ellos y más trabajo para usted. Algunas de las cosas que solicitan pertenecen inherentemente a su dominio (asegurarse de que la entrada sea válida, asegurarse de que no se viole la lógica de negocios, verificar los permisos), algunas cosas son buenas (agregar almacenamiento en caché en el back-end para cálculos que también pueden se haga en el front-end, enviando datos preventivos que sabe que el front-end probablemente solicitará pronto, estos son a veces aspectos del jugador de equipo), y algunas cosas están mal (ya sea por razones arquitectónicas, porque es un alcance lento, extremadamente poco práctico o por otros motivos).

Resumen

Cuando eres un desarrollador de back-end competente, tu experiencia te ayudará a tomar buenas decisiones arquitectónicas. No importa si conoce 10 idiomas o solo uno, y no importa si es el rey de las bases de datos o no (en las grandes empresas, probablemente tendrá acceso a DBA de todos modos, y son mucho mejores que sería una tontería no pedirles ayuda). Pero hacer que su back-end funcione dependerá mucho del contexto, y lo tendrá en cuenta.

Por lo tanto, para volverse competente, debe obtener la experiencia.

Un desarrollador de back-end es un tipo de programador que crea el back-end lógico y la lógica computacional central de un sitio web, software o sistema de información. El desarrollador crea componentes y características a las que un usuario accede indirectamente a través de una aplicación o sistema front-end.

Los desarrolladores de back-end desarrollan y mantienen principalmente la lógica funcional central y las operaciones de una aplicación de software o sistema de información. Por lo general, un desarrollador de back-end tiene habilidades de programación expertas en C ++, C #, Java y otros lenguajes de programación de alto nivel.

La función de trabajo clave de un desarrollador de back-end es garantizar que los datos o servicios solicitados por el sistema o software de front-end se entreguen a través de medios programáticos. Los desarrolladores de back-end también crean y mantienen todo el back-end de un sistema, que consiste en la lógica central de la aplicación, bases de datos, integración de datos y aplicaciones, API y otros procesos de back-end. Además, un desarrollador de back-end realiza las pruebas y la depuración de cualquier aplicación o sistema de back-end.

Para convertirse en un desarrollador de backend competente, debe comenzar a desarrollar el conocimiento, la comprensión y las habilidades funcionales necesarias. La programación es un ejemplo principal de una habilidad que se aprende mejor haciendo. Cuanto más programes y practiques, mejor serás. Si bien esto puede parecer simple, es una habilidad difícil que requiere mucha dedicación y puede ser un desafío mejorar sus habilidades si no está seguro de por dónde comenzar.

De hecho, soy el fundador de BrainStation, una escuela de tecnología que ofrece programas de desarrollo web a tiempo completo para personas como usted, que están interesadas en desarrollar sus habilidades y seguir una carrera en el desarrollo. Si desea aprender las destrezas de desarrollo más relevantes de la industria en el desarrollo de educadores expertos en el campo del desarrollo, consulte nuestro curso de Desarrollo Web inmersivo.

Los Devlopers respaldados procesan principalmente en el lado del servidor.

Si quieres convertirte en un desarrollador de backend, debes tener habilidades en los siguientes idiomas:

  • HTML
  • CSS3
  • Javascript
  • PHP
  • MySQLi

Puede comenzar todo esto desde básico desde w3school o tutorialspoint.
Enlaces:

¡Todo lo mejor!

Gracias por A2A.

Simple, escribe mejor código.

¿Cómo se escribe mejor código?

Al esforzarse continuamente por ser mejor, por comprender más, por pensar siempre “¿hay una mejor manera de hacer esto?”

Solicite la opinión de programadores más experimentados, obtenga revisiones de códigos enseñando a otros.

Si usa el paradigma de programación orientado a objetos, juegue con otros, pruebe nuevos lenguajes, todo lo que haga que lo desafíe como programador, lo hará mejor, es tan simple como eso.

Práctica.

Los grandes músicos lo hacen, los grandes atletas lo hacen, y los grandes académicos también lo hacen.

Si quieres ser bueno en algo, incluso en el desarrollo del backend, la única forma de hacerlo es aprender y practicar. Aprende C #, crea una aplicación o dos. Aprende Swift, crea algunas aplicaciones más. Aprenda PHP, ASP, JavaScript o cualquier lenguaje web, y cree algunas malditas aplicaciones.

En resumen, si quieres llamarte un desarrollador de back-end, ve y aprende algunos idiomas de back-end y practica tus habilidades (en un trabajo o por el simple hecho de aprender). Simple como eso.

Antes de decir algo, me gustaría notar que no hay mucha diferencia entre la ruta para convertirse en un desarrollador back-end competente y la ruta para convertirse en un desarrollador cualquiera .

Ahora respondamos la pregunta real. Diría que hay dos cosas que esperaría de un desarrollador de back-end (o lo que sea):

  • Ser capaz de construir cosas: eso significa que, dado un conjunto de requisitos, será capaz de producir algo funcional. Y ser funcional me refiero a algo que se puede monetizar. Por cierto, ser capaz de escribir algo que técnicamente pasa los requisitos pero que no se puede usar (porque es demasiado lento, o porque la API es demasiado complicada, o porque tiene fallas de seguridad importantes, o …) no cuenta. Tiene que ser funcional.
  • Poder escalar lo que construyen. Si mañana se duplica el flujo de usuarios, ¿qué pasará con la aplicación? Está bien si se rompe, pero espero que el desarrollador pueda ver dónde están los problemas y tener algunas ideas sobre cómo resolverlos.
  • Poder trabajar con personas. Esto tiene dos lados: en la mano significa no ser un gilipollas. Por otro lado, significa poder escribir un producto en el que otros puedan contribuir.

No hay una bala de plata para lograr eso, realmente. Aprendes a construir cosas construyendo cosas. Aprendes a escalar cosas escalando cosas. Y aprendes a colaborar colaborando y no siendo un imbécil.

Si no quiere preocuparse por el desarrollo de la interfaz pero conoce a alguien que lo hace y se encuentra en una situación similar a la suya, hay algo que puede hacer: acercarse a una organización sin fines de lucro con un sitio web de mala calidad en su área. y ofrecerles para construir un buen sitio web entre ustedes dos. Colabora con tu universidad para construir algo que sea útil, funcional y mejor de lo que tienen actualmente. Esto le dará la oportunidad de aprender todas las habilidades que mencioné anteriormente y le dará un buen proyecto para mostrar en su plan de estudios.

Bueno, de la misma manera que puede ser desarrollador front-end o desarrollador de aplicaciones móviles.

Incluyó en las palabras clave “Desarrollo web”, así que supondré que desea hacer páginas web.

  1. Para ser un buen desarrollador de backend, al menos deberías poder leer JS / HTML / CSS.
  2. Debe tener una comprensión básica de los DB porque lo consultará muchas veces.
  3. El patrón MVC es imprescindible. Model / View / Controller es utilizado por casi todas las aplicaciones web que existen.
  4. Elija un idioma de fondo y comience con él. Python (Django, Flask) Java (Spring) o C # son buenas opciones (o lenguajes como NodeJS).

Hice una publicación en el blog que es bueno saber antes de solicitar el primer trabajo de desarrollo y puede encontrarlo aquí:

Escriba integraciones y servicios, muchos de ellos.

Escribe probadores para esos servicios.

Piense en la persistencia, en caso de falla del servidor.

Examine los marcos y metodologías de flujo de trabajo. Luego, solo se voluntario para este tipo de proyectos.

Práctica práctica práctica.

Un desarrollador web de back-end es responsable de la lógica de la aplicación web del lado del servidor y la integración del trabajo que realizan los desarrolladores web front-end. Estamos buscando un desarrollador web de back-end responsable de gestionar el intercambio de datos entre el servidor y los usuarios . Su enfoque principal será el desarrollo de toda la lógica del lado del servidor, la definición y el mantenimiento de la base de datos central, y garantizar un alto rendimiento y capacidad de respuesta a las solicitudes del front-end. También será responsable de integrar los elementos front-end creados por sus compañeros de trabajo en la aplicación. Entonces, desarrollador de back-end muy competente.

Bueno, una respuesta muy fácil a esto es la siguiente imagen:

Si eres principiante, te sugiero que comiences con PHP y MySql, ya que es la pila más fácil para comenzar y hay toneladas de tutoriales disponibles para lo mismo.

Puede comenzar con la implementación de operaciones CRUD básicas y luego combinarla para crear un script de inicio de sesión y registro que lo ayudará a comprender cómo disparar consultas y manejar sesiones y cookies.

Esto es solo una cosa básica para comenzar, como puede ver en la imagen de arriba cuán vasto es el campo del que estamos hablando.

¡¡Espero eso ayude!!

Práctica. Sigue programando. Aprende de tus errores. Examine el código de otros programadores y vea qué puede aprender de él. Lea libros de programación y resuelva desafíos de programación y preguntas de entrevistas, como estas preguntas de entrevistas PHP y SQL, por ejemplo. Únase a un foro de programación y participe en debates, pida consejos, etc.

De la misma forma que te conviertes en un mejor desarrollador de . Leer mucho. Escribe mucho código. Estudie el código que otros escribieron. No hay un solo libro de “leer este” para back-end o front-end o sistemas o cualquier tipo de programación, se mejora en la programación.

En este momento, el conocimiento adecuado en el desarrollo de API de descanso ofrece una ventaja

More Interesting

¿Hay alguna diferencia entre un desarrollador front-end y un desarrollador de JavaScript? ¿Cuál sería más valioso para los empleadores?

¿Cuál es el mejor backend para mi sitio web para almacenar nombres de usuario, contraseñas y envíos de formularios?

¿Qué oferta de trabajo es mejor? ¿Desarrollador de fondo o DevOps?

¿Tengo que ser un desarrollador web de pila completa para ser un probador de aplicaciones web, y debo aprender PHP como desarrollador de back-end?

¿Es necesario aprender a codificar backend (MBaaS) si quiero ser desarrollador de iOS?

¿Cuáles son los pros y los contras de usar RoR vs Go en el back-end, cuáles son las situaciones en las que usar uno de ellos es imprescindible en lugar del otro?

¿Por qué hay una necesidad de un lenguaje front-end y back-end?

¿Qué debo hacer para un back-end de aplicaciones móviles ya que el análisis está cerrando?

Estoy pensando en mudarme a otro país, soy un desarrollador con experiencia en backend y frontend. Me encantan las startups. ¿Cuál es el mejor lugar para ir?

¿Por qué no hay muchas estructuras / bibliotecas de back-end modernas en C ++ para el desarrollo web?

¿Cuál es el mejor marco web para trabajar con bases de datos y desarrollo web de fondo? ¿Es Django el mejor, y si es así, qué lo hace más escalable?

¿Cuál es la mejor solución de fondo para una aplicación basada en chat como WhatsApp?

Si ya tiene algo de experiencia en programación en desarrollo web y móvil frontend, ¿cómo se convierte en un desarrollador de back-end en 6 meses?

¿Qué tecnologías se utilizan para crear una página web para crear páginas web?

¿Es el desarrollo web y móvil frontend solo un pedazo de pastel para que aprendan los desarrolladores de backend?