Así que te has decidido por una carrera en desarrollo. Ya se imaginó su tarjeta de presentación impecablemente diseñada en una fuente suave y en negrita, "Soft_ware Developer Extraordinaire, Your Name"_, hábilmente sacada del bolsillo de su chaqueta y entregada al director ejecutivo de Google/Activision/una de las 50 empresas tecnológicas de Australia. Todo el mundo quiere trabajar para ahora mismo ...
Pero espera. ¿Qué tipo de desarrollador de software vas a ser? ¿Un desarrollador front-end? ¿Un desarrollador back-end? ¿O quieres ser el híbrido: el desarrollador full-stack? ¡Es probable que ese CEO de renombre al otro lado de su tarjeta de presentación quiera saber dónde se encuentran sus habilidades!
Hoy echamos un vistazo de cerca a cada uno de estos 3 tipos de áreas de desarrollo: front-end, back-end y full-stack. Al final de esta lectura, debería tener una mejor idea de dónde se encuentran sus habilidades e intereses, de modo que la carrera de desarrollador podría inclinarse naturalmente. Aquí para ayudarlo, tenemos algunas palabras sabias de Rale Chung , director de desarrollo web de Winning Group , y Ray Dai , desarrollador de AgriDitial .
Explica Chung, “Las preocupaciones principales (de un desarrollador front-end) se relacionan con la capa de presentación, necesitan tener una visión artística para presentar los datos; esto generalmente implica dominar HTML, CSS, algunos preprocesadores de CSS como SAS y algunos marcos de JavaScript (convencionales) como Angular, React o Vue”.
Dai agrega otro aspecto importante del desarrollo front-end: "Un buen desarrollador front-end también comprenderá la interacción, la seguridad y el rendimiento basados en eventos".
¿Te consideras bastante creativo? El desarrollo front-end podría ser tu vocación.
Como descripción general, Chung destaca que “los desarrolladores de back-end trabajan implementando la lógica comercial. Deben tener conocimientos de marcos, arquitectura de software, patrones de diseño, bases de datos, API, interconectividad, DevOps, etc. Deben poder manejar conceptos abstractos y lógica compleja”.
En cuanto a las tecnologías involucradas, dice Dai, “un desarrollador experto tendrá un conocimiento profundo de los servidores y las bases de datos (SQL o sin SQL), la capa API y los lenguajes de programación como Java, python, PHP, C#, go y scala. Con una mayor demanda de microservicios y sin servidor, los desarrolladores de back-end también deberían incluirlos”.
¿Prefieres el lado lógico de la programación o te encanta trabajar con datos? El desarrollo de back-end podría ser más su velocidad.
Un desarrollador full-stack tendrá una combinación de habilidades de desarrollo front-end y back-end. Dice Dai: "Ser un desarrollador de pila completa significa tener una visión holística: comparar los pros y los contras tanto del back-end como del front-end antes de determinar dónde debe ubicarse la lógica".
Para un verdadero desarrollador full-stack, esto significa no solo poder conocer las tecnologías front-end y back-end y cómo aplicarlas correctamente. También significa poder diseñar una solución completa y ver dónde debe estar la separación de la lógica.
¿Es realmente tan simple como front-end = look & feel y back-end = lógica? Bueno, no del todo, hay un poco más que eso.
Como explica Ray, "el desarrollador front-end requiere interacción con los usuarios y la lógica, trabajar con diferentes navegadores y capacidades y comprender la forma en que se presenta el contenido en los dispositivos y escritorios de la plataforma". Esencialmente, el desarrollo front-end tiene que ver con el diseño y desarrollo de la interfaz de usuario (UI) y la experiencia del usuario (UX), al garantizar una interfaz intuitiva y receptiva que funciona en todos los navegadores/dispositivos.
“El desarrollo de back-end, por otro lado, implica la interacción con los clientes y la comprensión de cómo modelar dominios y relaciones comerciales. También hay un fuerte enfoque en los datos, con desarrolladores de back-end que trabajan en numerosas bases de datos e integraciones de diferentes proveedores de servicios”. En el desarrollo de back-end, nunca tiene que preocuparse por cómo se ve algo, solo por cómo funciona y asegurarse de que la funcionalidad y el diseño subyacente se ajusten a las instrucciones.
También vale la pena tener en cuenta esto: según la última encuesta de Stack Overflow, la habilidad en tecnologías de desarrollo de back-end generalmente exige un salario más alto que los técnicos de front-end. Los roles de desarrollador de pila completa a menudo van más allá. Pero bueno, el dinero no lo es todo.
Si aún no ha comenzado sus estudios, entonces el mundo es su ostra. “Piense en lo que le interesa y le emociona, y manténgase al día con las tendencias actuales en los requisitos de los roles. Juega tanto en el front-end como en el back-end para tener una idea de lo que te gusta”, dice Dai.
Antes de decidirse por un nicho en desarrollo front-end o back-end, pruebe ambos. Busca algunos cursos cortos. Cree su propio proyecto donde necesite hacerlo todo. Prueba un bootcamp completo como este en Udemy. Si vas a hacer un curso de grado, presta atención a qué unidades te interesan más.
Muchos desarrolladores recién egresados de la universidad simplemente caen en cualquier área en la que se encuentren en su primer puesto después de los estudios. Si consiguió un trabajo en una gran empresa o en un programa de posgrado rotativo, entonces probablemente funcionará bien: puede encontrar su nicho después de comenzar en el puesto que se le asignó.
Pero si eres táctico en las solicitudes de empleo, puedes comenzar en el nicho/enfoque que más te atraiga.
Para la trayectoria profesional más viable, alinéese primero con el front-end o el back-end, luego, una vez que adquiera un conocimiento más profundo en la práctica, puede pensar en probar la pila completa. Si pasa a full-stack demasiado pronto, puede perder su conocimiento de todas las tecnologías relevantes.
Consulte nuestra página de búsqueda de empleo para puestos de desarrollador junior y graduado, y prepárese para poner en práctica esas nuevas habilidades tecnológicas.