|
| 1 | +# Onboarding Técnico |
| 2 | + |
| 3 | +> **🎯 Objetivo General**: Guiar a nuevos integrantes en la configuración inicial de su entorno técnico y en la integración con las herramientas y flujos de trabajo del equipo, asegurando una incorporación fluida y productiva. |
| 4 | +
|
| 5 | + |
| 6 | +## 1. Introducción |
| 7 | + |
| 8 | +<img src="https://cdn-icons-png.flaticon.com/512/4862/4862651.png" width = "200" align="center"/> |
| 9 | + |
| 10 | +| Tema | Descripción | |
| 11 | +| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| 12 | +| **Importancia de un onboarding** | - Garantizar entornos consistentes y configuraciones compatibles<br>- Permite que los nuevos integrantes sean más productivos<br>- Transmite buenas prácticas y estándares del equipo<br>- Facilita el soporte y resolución de problemas | |
| 13 | +| **Qué suele fallar cuando no se hace** | - Instalaciones incompletas o dependencias rotas.<br>- Falta de permisos en repositorios o plataformas.<br>- Desorden en el uso de Git y estructuras de proyecto.<br>- Desconocimiento de herramientas clave o flujos de trabajo | |
| 14 | +| **Qué aprenderás hoy** | - Configurar herramientas locales (Git, Python, VS Code, ...)<br>- Comprender el flujo de trabajo con Git y Azure DevOps.<br>- Conocer herramientas de apoyo como Copilot, ChatGPT, ...<br>- Buenas prácticas para mantener un entorno limpio | |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | +## 2. Instalación y Configuración de Herramientas |
| 21 | + |
| 22 | +### 2.1 Terminales y gestores de paquetes |
| 23 | + |
| 24 | +<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/GNOME_Terminal_icon_2019.svg/1024px-GNOME_Terminal_icon_2019.svg.png" width = "200" align="center"/> |
| 25 | + |
| 26 | +Configurar una terminal adecuada es el primer paso para poder instalar y ejecutar herramientas de desarrollo. |
| 27 | + |
| 28 | +- **Windows:** |
| 29 | + - Instalar **Git Bash** para tener una terminal compatible con comandos Unix. |
| 30 | + - Usar **PowerShell** para comandos del sistema y scripts. |
| 31 | + - Activar **WSL2 (Windows Subsystem for Linux)** para trabajar con entornos Linux reales. |
| 32 | + - Opcional: instalar **Windows Terminal** para gestionar varias sesiones en un mismo entorno. |
| 33 | + |
| 34 | +- **macOS:** |
| 35 | + - Instalar **Homebrew** (`brew`), el gestor de paquetes estándar de macOS. |
| 36 | + ```bash |
| 37 | + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/ install/HEAD/install.sh)" |
| 38 | + ``` |
| 39 | + - Permite instalar fácilmente herramientas como Python, Git, Node, y más. |
| 40 | + |
| 41 | +- **Linux (Ubuntu/Debian/RHEL):** |
| 42 | + - Usar el gestor de paquetes del sistema (`apt` o `yum`) para instalar software. |
| 43 | + ```bash |
| 44 | + sudo apt update && sudo apt install git python3-pip |
| 45 | + ``` |
| 46 | + |
| 47 | + |
| 48 | +### 2.2 Git y control de versiones |
| 49 | + |
| 50 | +<img src="https://upload.wikimedia.org/wikipedia/commons/6/62/Git-logo-orange.svg" width = "250" align="center"/> |
| 51 | + |
| 52 | +<br> |
| 53 | + |
| 54 | +Controlar versiones del código y colaborar en proyectos compartidos es esencial. |
| 55 | + |
| 56 | +- Instalar Git desde [git-scm.com](https://git-scm.com/). |
| 57 | +- Configurar credenciales: |
| 58 | + ```bash |
| 59 | + git config --global user.name "Tu Nombre" |
| 60 | + git config --global user.email "tu.email@empresa.cl" |
| 61 | + ``` |
| 62 | + |
| 63 | +* Generar y registrar una **SSH key**: |
| 64 | + |
| 65 | + ```bash |
| 66 | + ssh-keygen -t ed25519 -C "tu.email@empresa.cl" |
| 67 | + ``` |
| 68 | + |
| 69 | + Luego agregar la clave pública en **GitHub**, **GitLab** o **Azure DevOps**. |
| 70 | +* Comandos básicos de uso: |
| 71 | + |
| 72 | + ```bash |
| 73 | + git clone <url> |
| 74 | + git checkout -b feature/nueva-funcionalidad |
| 75 | + git add . |
| 76 | + git commit -m "Agrega nueva funcionalidad" |
| 77 | + git push origin feature/nueva-funcionalidad |
| 78 | + ``` |
| 79 | +* Mantener la sincronización entre ramas (`git pull origin develop`). |
| 80 | + |
| 81 | + |
| 82 | + |
| 83 | +### 2.3 Python y entornos virtuales |
| 84 | + |
| 85 | +<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Python_logo_and_wordmark.svg/2560px-Python_logo_and_wordmark.svg.png" width = "400" align="center"/> |
| 86 | + |
| 87 | + |
| 88 | +Python es la base para la mayoría de los proyectos de análisis, automatización y machine learning. |
| 89 | + |
| 90 | +* Descargar desde [python.org](https://www.python.org/downloads/) o instalar con `brew install python` o `apt install python3`. |
| 91 | +* Verificar versión: |
| 92 | + |
| 93 | + ```bash |
| 94 | + python --version |
| 95 | + ``` |
| 96 | +* Instalar herramientas de gestión de entornos y dependencias: |
| 97 | + |
| 98 | + ```bash |
| 99 | + pip install poetry |
| 100 | + ``` |
| 101 | +* Crear y activar un entorno: |
| 102 | + |
| 103 | + ```bash |
| 104 | + poetry init |
| 105 | + poetry add pandas numpy |
| 106 | + poetry shell |
| 107 | + ``` |
| 108 | +* Exportar dependencias: |
| 109 | + |
| 110 | + ```bash |
| 111 | + poetry export -f requirements.txt --output requirements.txt |
| 112 | + ``` |
| 113 | + |
| 114 | + |
| 115 | + |
| 116 | +### 2.4 Entorno de Desarrollo Integrado (IDE) |
| 117 | + |
| 118 | + |
| 119 | +<img src="https://miro.medium.com/v2/1*c0qfWs8sKeyNY5naAl0X0w.png" width = "500" align="center"/> |
| 120 | + |
| 121 | +<br> |
| 122 | + |
| 123 | +Un **IDE** (*Integrated Development Environment*) es un programa que reúne en un solo lugar todas las herramientas que un desarrollador necesita para **crear, probar y depurar software**. |
| 124 | + |
| 125 | +#### Visual Studio Code |
| 126 | + |
| 127 | +<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Visual_Studio_Code_1.35_icon.svg/2048px-Visual_Studio_Code_1.35_icon.svg.png" width = "100" align="center"/> |
| 128 | + |
| 129 | +<br> |
| 130 | + |
| 131 | +Editor versátil y extensible, ideal para Python, SQL y Markdown. |
| 132 | + |
| 133 | +* Descargar desde [code.visualstudio.com](https://code.visualstudio.com/). |
| 134 | +* Instalar extensiones esenciales: |
| 135 | + |
| 136 | + * Python |
| 137 | + * Jupyter |
| 138 | + * GitLens |
| 139 | + * Markdown Preview Enhanced |
| 140 | + * YAML |
| 141 | + * GitHub Copilot (requiere licencia o cuenta habilitada) |
| 142 | +* Configurar intérprete Python: |
| 143 | + `Ctrl + Shift + P → Python: Select Interpreter` |
| 144 | +* Activar Copilot y probar sugerencias automáticas en código. |
| 145 | + |
| 146 | +#### Cursor IDE |
| 147 | + |
| 148 | +<img src="https://img.icons8.com/color/512/cursor-ai.png" width = "150" align="center"/> |
| 149 | + |
| 150 | + |
| 151 | +Alternativa moderna a VS Code con IA integrada. |
| 152 | + |
| 153 | +* Basado en VS Code, pero optimizado para asistencia de código, refactorización y documentación. |
| 154 | +* Permite generar funciones, escribir tests, y depurar código con ayuda de modelos de lenguaje. |
| 155 | +* Integración directa con Git y GitHub Copilot. |
| 156 | +* Disponible en [cursor.com](https://www.cursor.com/). |
| 157 | + |
| 158 | + |
| 159 | + |
| 160 | +#### Jupyter Notebooks |
| 161 | + |
| 162 | +<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Jupyter_logo.svg/883px-Jupyter_logo.svg.png" width = "150" align="center"/> |
| 163 | + |
| 164 | + |
| 165 | +* Usado para análisis exploratorio y desarrollo incremental. |
| 166 | +* Ejecutar localmente con: |
| 167 | + |
| 168 | + ```bash |
| 169 | + pip install notebook |
| 170 | + jupyter notebook |
| 171 | + ``` |
| 172 | + |
| 173 | + |
| 174 | + |
| 175 | +### 2.5 Herramientas de bases de datos |
| 176 | + |
| 177 | + |
| 178 | +<img src="https://www.svgrepo.com/show/419127/big-data-data-database.svg" width = "150" align="center"/> |
| 179 | +<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/DBeaver_logo.svg/1200px-DBeaver_logo.svg.png" width = "150" align="center"/> |
| 180 | + |
| 181 | + |
| 182 | +Los proyectos de análisis y desarrollo suelen requerir conexión a distintas bases de datos. |
| 183 | + |
| 184 | +#### DBeaver |
| 185 | + |
| 186 | +* Cliente universal para conectar a múltiples motores (SQL Server, PostgreSQL, MySQL, Oracle, etc.). |
| 187 | +* Permite explorar esquemas, ejecutar consultas, importar/exportar datos y generar diagramas ER. |
| 188 | +* Soporta conexiones seguras mediante credenciales o autenticación Azure AD. |
| 189 | +* Recomendado para entornos corporativos o trabajo con bases en Azure o AWS. |
| 190 | +* Instalación rápida: |
| 191 | + |
| 192 | + ```bash |
| 193 | + brew install --cask dbeaver-community |
| 194 | + ``` |
| 195 | + |
| 196 | +### 3. Servicios, permisos y cuentas en la nube |
| 197 | + |
| 198 | +<img src="https://upload.wikimedia.org/wikipedia/commons/f/f0/Permission_logo_2021.svg" width = "300" align="center"/> |
| 199 | + |
| 200 | + |
| 201 | + |
| 202 | +Tener los accesos y permisos correctos es clave para trabajar sin interrupciones. Antes de iniciar, se debe verificar que todo el entorno esté autorizado y funcional. |
| 203 | + |
| 204 | +#### Accesos y permisos |
| 205 | +- Utiliza siempre tu cuenta institucional o corporativa para garantizar trazabilidad y seguridad en los proyectos. |
| 206 | +- Solicita acceso a los repositorios de código (GitHub, GitLab u otras plataformas) según las necesidades del equipo. |
| 207 | +- Verifica que tus credenciales permitan conectarte a las bases de datos, servicios compartidos y entornos en la nube utilizados por el proyecto. |
| 208 | +- Asegúrate de tener acceso a las herramientas y espacios de trabajo requeridos (como Power BI, Tableau, Google Colab, o plataformas de almacenamiento). |
| 209 | +- Mantén un registro actualizado de los accesos y revisa periódicamente los permisos otorgados. |
| 210 | + |
| 211 | + |
| 212 | +#### Solicitudes de instalación o requerimientos |
| 213 | +- En entornos donde no se puede instalar software directamente, solicitarlo al área de TI. |
| 214 | +- Especificar en la solicitud: |
| 215 | + - Nombre y versión del programa (ej. Python, Git, VS Code, DBeaver, DB Browser). |
| 216 | + - Justificación del uso. |
| 217 | + - Usuario y equipo solicitante. |
| 218 | +- Esperar confirmación o instalación asistida por un administrador. |
| 219 | + |
| 220 | +#### Buenas prácticas |
| 221 | +- No compartir contraseñas ni claves fuera de los canales oficiales. |
| 222 | +- Documentar los accesos y procedimientos de solicitud para nuevos integrantes. |
| 223 | +- Revisar periódicamente los permisos activos y eliminar los que ya no se utilizan. |
0 commit comments