Aquí hay un resumen rápido de mis criterios. Tiendo a pensar en los requisitos como una combinación de conocimiento conceptual práctico más la experiencia y las habilidades adecuadas.
Conceptos con los que debe sentirse cómodo:
- Una buena comprensión de las solicitudes HTTP. Conozca un poco sobre el ciclo de vida de un ciclo de solicitud / respuesta HTTP. Comprenda que hay varios verbos HTTP, encabezados, tipos de contenido, códigos de respuesta y cómo buscarlos.
- Comunicación del lado del servidor (AJAX).
- Comprenda qué son las pruebas unitarias y cuándo / por qué son importantes.
Conceptos específicos de back-end:
- ¿Cuáles son las cosas que los desarrolladores de back-end deberían aprender en 2017?
- Cómo integrar un clasificador ML en el backend de una aplicación
- ¿Cuál es el mejor camino para convertirse en un desarrollador experto de back-end?
- Si eres un desarrollador web full stack, ¿eso significa que aprendes tanto front-end como back-end (ambas pilas)?
- ¿Vale la pena elegir un entorno .NET en lugar de Python para desarrollar un back-end para un proyecto piloto?
- Manipulación de bases de datos.
- Las diferencias entre las bases de datos relacionales y las bases de datos NoSQL. Debería sentirse cómodo codificando contra uno de ellos.
- Comodidad al trabajar con al menos un marco de back-end. Django, Rails, Laravel, etc.
Conceptos específicos de front-end:
- La anatomía de una página HTML y los diversos recursos que carga.
- Cómo implementar un diseño desde cero en HTML y CSS.
- Conceptos de JavaScript; Es posible que no conozca bien ningún marco, pero comprende cómo funciona JavaScript como lenguaje, así como los conceptos DOM.
- Al menos familiaridad básica con un marco front-end establecido: React.js o AngularJS. Vue.js es un tal vez.
Colaboración en equipo:
Esto va para cualquier tipo de desarrollador. Me sorprende cada vez que me encuentro con alguien que no sabe cómo usar Git, pero sucede. Los conceptos básicos de control de fuente distribuida (commits, push / pull, ramificación) son imprescindibles.
También debe tener una idea de quién hace qué en un equipo. Para qué sirve el control de calidad, qué es un gerente de proyecto y en qué se diferencia un gerente de producto. Ser desarrollador no se trata solo de habilidades técnicas.
Lo que deberías poder hacer:
Debería poder crear un sitio web útil basado en bases de datos usted mismo, de abajo hacia arriba. Esto incluye:
- Crear una especificación para la base de datos y construirla.
- Construyendo el HTML para todas las páginas de la aplicación.
- Creación de interacciones CRUD para las principales entidades de datos en la aplicación.
- Diseñar el sitio usando CSS. No tiene que diseñarlo, pero debe poder construir un diseño que tome de alguna parte: Bootstrap por sí solo no cuenta.
Además, debería poder demostrar lo anterior con proyectos y algún tipo de experiencia. Si vas a llamarte a ti mismo full-stack, prepárate para mostrar lo que has hecho con esas habilidades.
Nota de despedida: si puede afirmar que sabe todo lo anterior, probablemente pasará mi prueba de ser un desarrollador front-end Junior . Necesitaría saber mucho más para que yo lo considere intermedio o superior.