¿Por qué deberías aprender Linux como programador?
De todas los temas que alguna vez decidi estudiar como programador, sin duda el aprender de Linux y su entorno fueron de las mejores que pude haber hecho, y hasta puede que haya sido frustante al inicio quizas, pero a pesar de esto, en este video quisiera darles X razones de porque ustedes deberian aprnder linux y como les puede ser beneficioso.
Empecemos.
1. El 90% de los servidores corren Linux
Casi todos todas las empresas grandes de intern por no decir todas como Google, Netlfix, Spotify, Meta, Amzon ,etc estan solobre servidores que en gran parte son servidor linux en servicos de la nube (AWS, GCP, e incluso el propio Azure) que es la nube de Microsoft y que podrias pensar que son puramente Windows, tambien gran parte de su nube es Linux, de hecho no solo esto sino que herramientas dedicadas a la nube como contenedores (Docker) que permite hacer portatiles codigo, o herramientas de CI/CD que sirven para automatizar subida de aplciaciones ... corren principalmente en Linux.
Si sabes Linux, puedes administrar tus entornos de desarrollo, staging y producción como un profesional. Asi que si quires aprender como usar un servicio de la nube considerar aprender Linux antes.
2. Te permite automatizar tu trabajo
con Linux puedes conocer Bash Script, el cual te permite crear programas de terminal (bash, zsh), que es codigo para automatizar tareas repetitivas: backups, despliegues, convertir datos de un formato a otro, limpieza de datos, creaciones de archivos de todo tipo, bueno, bash script es tu mayor aliado etc.
- Ademas como linux es un sistema abierto hay muchos programas que puedes usar desde terminal para controlar el sistema, y todo esto tambien te puede dar una base luego para crear herramientas DevOps (Docker, Kubernetes, Ansible) que es una profesion que trabaja mucho con la nube.
3. Control total del sistema
- Aprender Linux te hace entender mejor cómo funciona tu código en el sistema operativo.
- la razon es que hay muchos concpetos de linux que sin querer te enseñan cosas del sistema, cómo manejar permisos, procesos, memoria, red, logs... cosas cruciales cuando debuggeas o resuelves bugs en codigos de proeyctos.
Ademas en Linux tienes tambien la posiblidad de instlar un sistema operativo paso a paso, por ejemplo distribuciones como Arch linux que te permite empezar con una pantalla en negro y vas instalando todo, desde drivers, programas, actualizaciones, configuraciones por lo que tu sistema solo tendra lo que necsitas, lo que te ayuda a entener muchos progrmaas y para que sirven
e incluso hay quien usa tambien otro enfoque como otra variacion de Linux llamada NixOS que permite desde un archivo reconfigurar todo el sistema, y al igual que Arch tambien te enseña todo lo que esta en tu sistema sin nada adicional
4. Muchos lenguajes y programas están mejor soportados en Linux
- Si programas en Python, Node.js, Go, Rust, C/C++... te sentirás más cómodo en Linux, claro a menos que desarrolles videojuegos en donde Windows es el Rey
- pero cuando hablamos para el resto de aplciaciones, La comunidad open source desarrolla casi siempre pensando primero en Linux. de hecho si has visto herramientas como Warp la terminal inteligente, Zed ese editor competidor de vscode, tipicamente su mercado de desarrolaldore es Mac, pero como este tambien es un sistema basado en conceptos similares a Linux es decir es un sistema basado en Unix, hacer que un progama de mac funcione en Linux es mas facil, ademas que si se trata de una herramienta de nube, codigo o programacion de proeyctos web, creeme que soporta Linux hasta antes, un ejemplo fue Docker que es puramtne Linux
5. Trabajo en equipo
- Si trabajas en un equipo, muchos de tus compañeros usarán Linux o macOS (Unix-like). Compartirás mejor configuraciones, scripts y entornos de desarrollo. De hecho en Linux hay muchos programas de editores de codigo como neovim o emacs, emuladores de terminal como kitty, o alacritty, o ghost ,y mas herramientas que se configuran con archivos, algo que se llaman dotfiles, porque siempre estos llevan un punto antes del nombre y que peudes subir a tu github o compartirlos lo que permite compartir configuraciones de multiples programas facilemnte
ademas sistmeas unix tiene convenciones o practicas recomendadas que ayudan a que el desarrollo de prograas sea coherente y facil de mantener asi que todo tu equipo puede aprender de estas practicas y utilizarlas tambien en tu proyecto.
6. Te hace un mejor profesional
- No te quedas limitado a Windows o a un IDE específico.
- Puedes moverte entre entornos (Linux, Mac, WSL en Windows) con facilidad.
- Tienes más herramientas para resolver problemas complejos en producción.
7. Tienes muchas variaciones de Linux
Y lo otro es que a gusto personal siempre me gusta probar cosas nuevas y en Linux hay muchas distros como le llaman que son formas distintas de usarlo, algunas con interfaces bonitas, otro con herramientas distintas de linea de comandos, otro con otra filosofia de instalar programas, otros con herramientas ya isntaladas para redes o programacion, otros para iniciantes y asi
y es que como la comundiad puede tomar la base y crear su propia vairacion de linux hay muchas opciones y muchos proeyctos son bastante usados en entornos reales de nube como es: Ubuntu, popos, linux mint, manjaro, kali linux, y un enorme etc de hecho hay distros que hasta estan pensadas para que se parescan a windows como zorin os o tambien Mac como lo es Elementary os, que justamene son para usaurios de esos sitemas.
Es decir no te vas aburrir aqui porque hay mucho que aprender
🚀 Aprender Linux es una de las mejores inversiones que puedes hacer como programador. y claro hay muchas formas de empezar a utilizarlo asi que de eso les voy hablar en el siguente video, de momento si tienes dudas o ustedes conceos otra razon d eporque deberias pener linux djealo en los comentarios, nos vemos en un siguente video