La pila completa de DevOps es uno de esos títulos que muchos reclutadores y vacantes tiran a la basura con grandes etiquetas salariales. Luego haces clic en uno y te encuentras en un mar de abreviaturas. No está muy seguro de si esto es realmente una broma de mal gusto o si el reclutador solo está tratando de cubrir todos los lenguajes de programación y proveedores de servicios en la nube disponibles.
Esto hace que te preguntes: ¿qué necesito exactamente para convertirme en un desarrollador de pila completa de DevOps altamente eficiente?
Habilidades clave para los desarrolladores de Full Stack
- Computación en la nube
- HTML5, CSS3 y JavaScript
- programas en la nube
- Aplicaciones en la nube de Node.js y React
- Contenedores, Kubernetes y OpenShift
- Conceptos básicos de Python para la ciencia de datos
- Desarrollo de aplicaciones Django usando SQL y bases de datos
- Microservicios, sin servidor, OpenShift
- Portafolio efectivo con una pila completa
Comencemos con lo básico: computación en la nube
Todo el mundo sabe lo que es la computación en la nube, pero al mismo tiempo no lo saben. La computación en la nube puede ser una de esas características tecnológicas misteriosas y confusas que parecen más complejas de lo que realmente son. En esencia, la computación en la nube significa que sabe cómo trabajar con al menos uno de los principales proveedores de servicios en la nube. AWS es el más grande y popular del mercado, seguido de Microsoft Azure y luego de Google Cloud. También hay otros proveedores, como Digital Ocean e IBM Cloud.
Aunque la forma en que brindan sus servicios puede diferir, los conceptos clave como regiones, áreas de accesibilidad, centros de datos, virtualización, máquinas virtuales y redes son en gran medida los mismos.
Entonces, ¿qué es lo que realmente necesita para los conceptos básicos de la computación en la nube? Aquí hay un programa de entrenamiento para que pueda comenzar:
Material de código: HTML5, CSS3 y JavaScript
Necesitarás un trío básico: HTML, CSS y JavaScript. Si quieres ser full stack, no puedes evitarlo. Si bien no necesita ser un genio de la interfaz para ser un desarrollador de pila completa, aún debe poder usar HTML, CSS y JavaScript juntos para crear interfaces. Aquí hay una descripción general de lo que realmente necesita saber:
aplicaciones en la nube
Instalar un programa simple en AWS es una cosa. Otro es saber cómo usar AWS de adentro hacia afuera.
(Sugerencia: no tiene que ser AWS, puede ser cualquier proveedor de nube como Google Cloud o Microsoft Azure. Solo digo AWS porque es el más grande y probablemente el más fácil de obtener la pila completa si tiene experiencia con AWS ).
Aquí hay una guía de revisión:
Aplicaciones en la nube de Node.js y React
Al igual que HTML, CSS y JavaScript, no puede evitar Node.js y React. Esto está en todas partes y para casi todos los requisitos de trabajo. Pero no se trata solo de crear una aplicación CRUD simple con una combinación de Node.js y React. Aquí hay una guía rápida de lo que necesita saber:
Contenedores, Kubernetes y OpenShift
Los contenedores están involucrados en el proceso de implementación automática. Descargar el programa manualmente a la nube no lo convertirá en un verdadero desarrollador de pila completa. Cuando lo hace, es como decir que sabe codificar después de ver un video de 15 minutos en YouTube.
Las principales cosas que debe saber son básicamente Docker, Kubernetes y OpenShift. ¿Por qué estas tres cosas? Porque son los servicios/técnicas de orquestación más populares utilizados actualmente en toda la industria.
Estos son los contenedores, Kubernetes y OpenShift que necesita para ser un desarrollador completo efectivo.
Conceptos básicos de Python para la ciencia de datos
Python no es una moda. Tarde o temprano, si es un desarrollador de pila completa con habilidades de DevOps, se encontrará con Python de una forma u otra, si no en la programación de IA, entonces para la ciencia de datos o la creación de secuencias de comandos de microservicio.
También necesita algún lenguaje realmente compilado. Python es el más fácil de usar y usar. De hecho, Python es un lenguaje divertido porque se compila e interpreta.
Desarrollo de programas Django usando SQL y bases de datos
En resumen, Django es un Python basado en la web. Aunque Django no es un requisito para la pila completa de DevOps (es posible que esté familiarizado con Java o la familia C), uso Django como ejemplo porque necesita al menos otro lenguaje de programación con una base de datos que no sea Node.js.
Tener solo Node.js no le hará daño, pero JavaScript no es en realidad un lenguaje compilado. Este es un lenguaje interpretado que es algo diferente de cómo funcionan las cosas bajo el capó. Es bueno tener un lenguaje compilado como parte de su currículum completo. Si solo conoce JavaScript y Node.js, conocerá Django.
Microservicios, sin servidor, OpenShift
Es más que palabras de moda. Al crear programas, normalmente aprendemos a construir monolitos. Los microservicios y la estructura sin servidor cambian la estructura del entorno de la nube.
OpenShift es básicamente una orquestación de contenedores que necesita saber si desea automatizar la implementación de todos los microservicios pequeños que usted (o alguien más en su equipo) crea.
Cartera completa efectiva
Si es nuevo en el desarrollo de software, necesitará una parte de la cartera. En lugar de crear varios trabajos separados que probablemente no demuestren tus habilidades, crea un proyecto épico que combine todo lo que sabes.
El objetivo es crear un efecto de halo alrededor de su aplicación cuando se opone a otros desarrolladores después del mismo trabajo. Míralo de esta manera: ¿a quién contratarías? ¿La persona A que tiene 12 proyectos básicos que cualquiera puede hacer, o la persona B que tiene un proyecto que demuestra profundidad y habilidad?
Personalmente, elegiría a la Persona B. ¿Por qué? Porque tengo pruebas de que la persona B puede hacer lo que diga. Por el contrario, la Persona A puede tener un montón de abreviaturas y palabras clave en su currículum, pero en realidad no muestran que pueda manejar proyectos complejos y matizados.
Así que vaya y cree algo épico, o si va a hacer una lista de tareas pendientes, es mejor tenerla adecuada con autenticación, conexiones a la base de datos y una excelente interfaz.
* * *
Esto es solo una guia. Hay 101 formas de afirmarse como desarrollador de pila completa. Sin embargo, estas habilidades le proporcionarán la profundidad y la amplitud necesarias para convertirse en un desarrollador de pila completa altamente eficiente. Ahora cualquiera puede colocar un programa en la nube, por lo que dominar estas habilidades lo ayudará a destacarse entre la multitud.