Frontend vs Backend vs DeOps ¿Cual Escoger?
Si te ha llamado la atencion aprender programacion por que has escuchado que es una area muy bien pagado actualmente, que puedes trabajar desde casa, y que puedes aprender de forma autodidacta, En este video vamos a hablar de 3 areas que peudes estudiar para poder obtener un trabajo con un buen salario.
Aunque si estas empezando, tambien debes saber que ser programador no es tan simple como tomar un curso de programacion y empezar a trabajar, sino que hay distinto tipos de programadores o profesionales y que dependiendo de su especializacion, y su experiencia sus tareas van a variar
ademas como no es posible aprenderlo todo, es muy recomendado que escogas un area del desarrollo y te especialices en esta.
Y se que el escoger al inicio puede ser dificil, es por eso que en este video te voy a mencionar 3 areas muy demandadas al dia de hoy como pueden ser Frontend, Backend, y DevOps.
Por supeusto hay muchas areas mas, pero muchas estan relacionadas a estas o son subareas de estas 3.
¿Cuales son las tareas de cada uno?
Antes de que empecemos a hablar de cuanto gana cada uno, primero debemos tener muy en claro cuales son sus labores principales de cada profesional en estas areas.
De forma resumida estas tres areas tratan de lo siguiente:
Un desarrollador Frontend tipicamente crea o hace funcionar interfaces de usuario, es decir, si has visto botones, tablas, navegaciones, chats, o cualquier elemento visual en aplicaciones. todo esto lo ha creado un Desarrollador Frotnend, por lo que es un trabajo en donde es muy visual, lo que aprendes a programar lo ves en estas interfaz. un Frontend tiene que saber tipicamnete Javascript, tiene que uar mucho herramientas de navegador y pasa mucho tiempo probando interfaces de usuario.
En cambio un desarrollador Backend no tiene estos elementos visual, porque si bien un Backend tambien programa, pero lo que programa no lo ve tipicamente, o al menos no de la forma en la que un frontend trabaja, sino que el Backend solo ve datos por lo general, y crea programas que interactuan y sirven solamente datos, por lo que un desarrollador backen le cuesta un poco mas al inicio entender ciertos temas al ser todo simplemente logica de lenguajes de programacion y bases de datos. tipicamente tiene que saber un lenguaje de programacion de servidor, saber de protocoles de red, conocer una base de datos y crar logica de servidor.
Y finalmente en cuanto a los DevOps, el trabajo principal de estos es automatizar el despleigue de aplicaciones en entornos reales, es decir si alguna vez te has preguntando quien hace que aplicacioens netflix puede servir a tantos usuarios, o como aplicaciones como whastapp, facebook, twitter, instan implementa nuevas caracteristicas continuamente, y puedne funcioanr tan fluidamente, el trabajo recae ademas del desarrollador tambien en el devops, que se encarga de configurar todos los servicios necesarios para que estas aplicacioens sean usadas por miles o hasta millones de usuarios, ademas de ocuparse de que estas aplicaciones seguras, y que los desarolladores pueden continuar haciendo mejoras. por lo que es un rol critico para un entorno real donde hay personas usando aplicaciones.
Aunque esto es un super resumen, asi que en unos minutos entro en mas detalle con cada uno de estos.
¿Cual es mas facil de aprender?
Cuando hablamos de que area es mas facil, deben tener en cuenta que esto tambien esta relacionado con que tantos profesionales ofertan sus servicios en estas areas, es decir a mas facil sea aprender algo, mas simple es que este saturado de desarrolladores que sepan esta area.
Ahora en mi opinion la mas facil de aprender al inicio es Frntend, Luego seguiria Backend y finalmente DevOps.
el frontend es una area muy visual, lo que hace que personas que no hayan estudiado desarrollo de software o areas similares, puedan ingresar facilmente a esta area. por lo que tambien al ser mas facil explica porque esta area esta muy saturada de Juniors, a diferencia del backend que siempre es mucho mas rebuscando encontrar desarrolladores en comparacion, ya que aqui debes concoer algun lenguaje de lado del servidor, sistemas de bases de datos, herramientas de monitorizacion y escribir codigo que sea escalable, por lo que muchos no entran en estas areas al inicio o no empiezan por estas por lo general, asi que hay menos oferta de desarolladores aqui, por lo que menos competencia para ti si inicias por aqui.
Y finalmente estaria el mas dificl que seria el DevOps, porque este combina temas de desarrollo con temas de operaciones, en donde su trabajo no solo es escribir codigo que automatice el despliegue de proyectos, sino tambien el de crear configuraciones de herramientas de despliegue continuo o integracio continua, despliegue continuo, monitorizacion de aplicaciones, y a conocer servicios de la nube, conceptos de redes y seguridad. asi que un profesioanl de esta area requiere cierto grado de experiencia, y esto es porque este entorno es una parte critica para el funcionamiento real a gran escala de una aplicacion, y tambien hay mucha demanda de estos profesioanles proque muy pocas personas en compracion escogen este campo al ser mas dificil dominarlo, asi que si quieres un salario alto este seria un area que te enfocarias de momento al haber mucha demanda y poca oferta de profesionales. Aunque de nuevo esto es mas dificil emepzar a aprender, y tambien en un trabajo requieren que hayas tenido un trabajo previamente como desarrollador backend o frontend antes.
Ahora no es un especie de regla, de hecho esto es solo cuando lo aprendes al inicio, Ademas un desarrollador backen puede especializar en un solo lenguaje de programación y ganar mucha experiencia en este, haciendose un profesioanl muy demanado, a diferencia del frontend donde practiacmente es un requerido dominar Javascript
pero dependiendo del nivel de experiencia del desarrollador su trabajo puede ser mas complejo, por lo que un desarrollador Frontend puede tener tareas mas dificiles que hacer que un Backend Junior asi que solo toma muy en cuenta que es solo al inicio
Los tres necesitan trabajar con lenguajes de programacion y muchas de estos profesionales interactuan entre si cuando se esta llevando un proyecto real.
Salarios
Ahora en cuanto a los salarios, en realidad esto varia en grado de experiencia de cada profesional en estas areas, y no te aconsejaria aprenderlas solo por el tema dle salario, por que a la hora de hacer el trabajo puede ser que se te haga mas complicado entender todo esto, si desde el inicio realmente no fue de tu ineres.
asi que en mi opinion si vas probando el desarrollo de sotware, y a medida que lo vas apendiendo hay cosas que entiendes rapdo y te gutan, este seria una buena idea e ir mas a fondo y especializarte, porque no hay necisdad de que sepas todas estas aeas a la par, con una basta.
todas estas tienen un salario muy bueno, pero este varia mucho dependiendo de para quien trabajes o el pais que te encuentre, entonces tomando de referencia Estados unidos, y que muchos pueden trabajar remotamente para una empresa de alla, esta los desarrolladores Frontend teniendo como referencia el salario en promedio en estados unidos de 108,000$ anuales. EL backend rondando los 125,000, y el devops ronda los 141,000$, por supuesto esto va a ser distinto en otro pais, sin embargo con esto te das una idea de que este tipo de profesioanl tiene el mejor salario de estos 3 en general, aunque nuevo esto es solo en promedio asi que no es que esten solo desarolladores Junior, sino tambien profesionales que ya estan consilidados en estas areas.
Pero no decidas aprender algo solo porque pagan mucho, sino porque te gusta lo que haces, de esa frma podrias volver muy bueno y obtener un salario alto en consecuecia, en lugar de solo aprender decentemente DevOps o Backend y lo que no te hara ganar mucho dinero, al no causarte mucho interesa.
Asi que el salario no sea un factor determinante.
¿Que Hace y que necesita aprender un Frontend?
- Desarrolla interface de usuario
- Optimiza la experiencia de usuario
- Asegura el rendimiento de aplicaciones Frontend
Esto es por fuera de sus tareas ya incluidas como pueden Testear, Debuggear, documentar, este tipo de profesioanl pasa mucho tiempo usando el navegador que es el entorno principal donde se ejecutan este tipo de aplicaciones
look and feel - accesiblidad
lo que necesitas aprender es al inicio HTML, CSS y Javascript, pero estos son solo las bases, luego tienes que dominar algun framework de Frotnend como podria ser React, Angular, Vue o Svelte. Solo escoge uno de estos ultimos, por al igual que como pasa con los lenguajes del backend, especializarte en uno te va a llevar a tener mas posiblidades de obtenr un trabajo en alguna empresa que usa continuame un solo framework. De todos estos te aconsejaria aprender React principalmente, pero siempre es buan idea busca en Linkedin por ofertas laborales primeros y ver cual es lo que mas piden en tu pais.
¿Que necesita aprender un Desarrollador Backend?
- Desarrollo de APIs
- Crear Scripts de Backend
- Admistrar sistemas de bases de datos
- Seguridad
- Testing y rendimiento de aplicaciones de Red
- Servicios de la nube
ademas de tus tareas tipicas de testear, Despliega y documentar.
lenguaje de servidor framework del backend sistema de abes de datos: SQL y NoSQL
postgresql mysql microsoft sql server oracle mongodb redis
desarrolaldores enfocados en un solo stack
tambien otras herrmaientas que peudes enocntrarte son:
nginx apache IIS
desarrollaras REST APIs, GraphQL y APis de WebSockets inicialmente
En servicios web, conoceras servicio como:
aws google cloud azure continerizacion y virtualizancion
y aunque estos ultimo son temas tambien de un devops, al menos un backend los usa enfocados al desarrollo de aplicaciones.
¿Que hace un Devops?
- CI
- CD
- IAC
- monitraiac
- permorfamce tuning
- seguridad y complimienot
- cloud server management
Por lo general un Devops conoce algun lenguaje de programacion
como bash, Python. Roby, go, o lenguajes de backend
asi como base de datos, quizas porque ha pasado por esas areas, pero en adicion a esto tambien conocer herramientas que estan mas relacinadas a automatizar el despligue de una aplicacion en todas sus areas, frontend, backend, base de datos, y como estas funcionan juntas, usando herramientas como:
Jenins travis CI Githu actions
teraform cloud formation
docker kubernetes
Repositorios gitlab
y al igual que un backend tambien usa servicios de la nube, solo que este conoce mucho mas de todas las configuraciones, servicios y opciones que se peuden usar para un desarrollo que pueda escalar a miles o millones de usuarios.
Frontend
- El trabajo principal de un Frontend es construir Interfaces de Usuario
- Trabaja mano a mano con diseños o diseñadores alguans veces
- Traen una experiencia de usuario a la vida
en la practica esto significa que
- crean logica interactiva
- o crean componentes desde cero que llevan estilos.
Frontend no se trata de crear diseños bonitos, de hecho muchas veces las interfaces ya estan hechas, y el trabajo del frotnend es simplemente hacerlas funcionar, de hecho muchas veces veras que tu trabajo sera añadir botones, crear nuevos formularios, añadir reglas para que las interfaces se comporen distinots y asi, asi que es mas programas interfaces si lo piensas
Aunque en un trabajo principal el frontend se encarga de hacer funcionar las interfaces mas que hacer solo CSS, asi que si le estas dedicando mas trabajo al diseño que a la programacion, debes considerar que puede serte mas dificil hacer el trabajo
El desarrollo frontend es un area muy demandada por muchas empresas, sin embargo tambien es una rea bastante saturada de desarrolladores junior, asi que si recien estas empezando vas a tener que competir con muchos otros desarrolladores que tambien han iniciado en esta area gracias a que hay muchos bootcamps, cursos y plataformas online que enseñan esta area.
Y esto es
Desarrollo Movil Hibrido
desarrollar aplicaciones moviles no es lo mismo que web, pero si hay frameeworks
el mas popular aqui es React Native unido a herramientas o servicios como Expo, asi que tambien es posible crear aplicaciones moviles con tus conocimientos de desarrollo web
Backend
- El trabajo principal del backend es proveer datos de forma rapida y segura
- Es responsable de escribir logica que interactua por lo general con una base de datos y que toda esto esta oculata a un usuario normal
En la practica un desarrollador backend trabaja a menudo con Bases de datos, sistemas de autenticacion, se encarga del rendimiento de como los datos son servidors, y diseña e implementa tambien la logica de un negocio, y como un sistema puede escalar
DevOps
- es unificar el desarrollo con las operaciones
- Devops trata de todo lo que hace facil llevar un ciclo de desarorllo, creando sistemas de automatizacion que permitan hacer testing, o que una aplicacion pueda enviar cambios de forma continua, ademas de monitorizar e ir procesando los registros que una aplicacion tiene a lo largo del tiempo
por loque un devops tiene la tarea de hacer todas las operaciones para que una aplicacion pueda llegar a ser usada por un usuario final
Conslusión
Por supuesto estas no sn las unicas areas, otras tambien pueden ser,desarrollo de aplicaciones moviles, desarrollo de videojuegos, robotica o electronica que tambien llegan a tocar codigo, pero el encontrar un trabajo en estas areas es algo mas dificil en comapracion a estas 3.
aunque si ya vienes de esas areas, te sera mas facil encontrar trabajo en estas que te he mencionado.
En fin como puedes ver cada area tiene sus caracteristicas, peor es una buena idea tener una nocion de lo que trata cada area si te gusta
te sera facil moverte d eun area a otro, como de web a desarollador movil o de frontend a backend, o de backend a devops, o devops a ingeniero en segurida dy asi, esto es asi porque muchas de estas areas pueden llegar a ser tocadas muentras trabajas, por ejemplo varias veces he tratado con ingenieros electronicos o de telecomunicaciones que tambien saben programar, y algunos les gusta tanto esta area que se quieren enfocar en solo desarrollar software, y como tienen un rol que esta relacionado tambien pueden transicionar de una profesion a otra.
Asi que de nuevo no te enfoques tanto en solo los salario, escoge un area que te guste y a partir de alli, estudia todos los dias, pratica, esto no te sera una molestia, y a mas años pases trabajando y mejorando, ese salario alto lo puedes obtener simplemente escalando con mejores emprseas conforme aprendas.