Road to Analista de Datos

luisao

Muy buenas a todos!
En primer lugar presentarme, soy miembro del foro desde hace años pero no suelo participar mucho, más que nada me nutro de la sabiduría de otros usuarios. Esto me lleva a que quería comentar que me he inspirado a realizar este post tras ver el éxito que ha tenido el post de RSN.
El objetivo principal del post es en primer lugar, obligarme a publicar periódicamente mis avances para ver la progresión.
Y en segundo lugar interactuar con quien quiera participar, ya sea para recibir consejos o para poder darlos una vez vaya avanzando.

Índice

  1. Introducción
  2. Objetivos
  3. Bibliografía
  4. Progreso

Introducción

Experiencia laboral

Soy ingeniero industrial en mis 30, y tengo 5 años de experiencia laboral como analista en el sector de las energías renovables. Esto suena más de lo que es, ya que la realidad de todo ingeniero cuando comienza su vida laboral es la siguiente:

Como bien indica la imagen mi principal herramienta de trabajo siempre ha sido Excel, la cual considero que domino en un nivel intermedio-avanzado.
Un buen día en mi trabajo anterior le pedí a un amigo que se maneja muy bien en VBA que me ayudara a programar un script para automatizar un proceso, y este me comentó que por qué no lo hacía yo que a él no le gustaba programar. Mi respuesta fue que cómo no le gustaba programar con lo bien que se le daba, y me respondió unas palabras que se me quedaron grabadas a fuego 'No me gusta programar, pero menos me gusta trabajar'. A partir de aquí me entró el gusanillo y comencé hace un par de años a indagar en el mundo de la programación para automatizar pequeñas tareas, no obstante he estado estudiando de manera muy esporádica e inconsistente y mi curva de aprendizaje siento que está más plana que una tabla de planchar.

La motivacíon

Me cambié hace un año de empresa y la apuesta que hice parece que no ha salido del todo como esperaba y me estoy preparando para el futuro. Pese a tener un perfil técnico con algo de experiencia en datos estoy considerando si pivotar por completo al rol de analista de datos puro e ir formándome hasta encontrar el rol en el que me sienta más cómodo. En el caso de no pivotar por completo me gustaría que todo el tiempo invertido me sirviera para generar herramientas de trabajo que como mi amigo hacía le quitaran de trabajar tras programar.

La ausencia del mal

Por último soy aficionado a los videojuegos de siempre y en la última década he jugado principalmente al LOL, tras dejarlo por enésima vez, y espero que definitiva, veo que puedo ser un ciudadano funcional de nuevo y emplear tiempo en seguir formándome para poder alcanzar mis objetivos laborales.

Objetivos

Crear un hábito de estudio organizado

Periodicidad

En los últimos meses estoy viendo que puedo en la medida de lo posible organizarme para estudiar casi a diario un rato. Aunque sea media hora, una hora o hasta la cena estoy viendo que no se me hace bola estudiar tras currar como otras veces, por lo que quiero aprovechar el tirón y avanzar.
Si funciona bien el post o a modo individual me gustaría postear en los primeros días del mes para mostrar mis avances o frustraciones.

Evitar el Tutorial Hell

Hace poco vi un vídeo que mencionaba el Tutorial Hell y me vi super reflejado. Es más sencillo ver un vídeo sobre algo que sentarse frente al ordenador y afrontar el tema. El sentimiento de frustración se disipa viendo videos lo cual lleva a acomodarte.
Mi intención es buscar primero pequeños problemas e ir avanzando con algún proyecto para forzarme a utilizar los conocimientos adquiridos.

Aprendizaje de herramientas

Obsidian


Quiero mencionar Obsidian como herramienta porque me está resultando muy fácil organizarme las notas de estudio con este gestor.
Siempre he sido un desastre para tomar notas, me hice un bullet journal y duré dos semanas. Tras ver un par de videos sobre Obsidian me resultó interesante y útil esta aplicación, la cual recomiendo (imagino que Notion y similares también serán sencillas de usar).
A destacar que aprender a usar Markdown para maquetar las notas también puede ser útil para Jupyter Notebook.

Python

Como casi todos recomiendan me inicié con Python como lenguaje de programación para el tratamiento de datos. Me gustaría manejar con soltura todas las librerías típicas del sector comenzando principalmente con pandas, numpy, matplotlib e ir avanzando hacia los scikit-learn, pytorch...
He realizado un par de cursos en Udemy, los cuales apuntaré en la bibliografía.

  • El primero un curso básico donde se comentan todos las bases para cimentar todos los conceptos del lenguaje de programación.
  • El segundo era sobre Machine Learning. Me resultó fascinante pero tendré que verlo de nuevo porque no tomé notas y había pasado tiempo desde que vi el primer curso y muchos conceptos no me sonaban.

SQL

Estoy ahora mismo cursando un curso básico en Udemy ya que para mí una base de datos era un Excel con muchas filas o cosas que gestionaban los de IT. En principio no me llamaba la atención y desconocía su importancia en el mundo laboral, cosa que aprendí tras ser descartado en un par de ocasiones por recruiters al no tener conocimientos de SQL. Ahora le veo cierto atractivo a la gestión de BBDD y su arquitectura.

Herramienta de visualización

Este sector es en el que estoy más verde y en donde agradecería recomendaciones.
He trabajado con informes de PowerBi pero no los he diseñado yo, realmente lo único que he hecho es aplicar filtros.
Una vez que obtenga confianza y tenga conocimientos suficientes me gustaría realizar algún proyecto que implique el uso de alguna de estas herramientas (indiferentemente si es PowerBi, Tableau, Looker,...).

Diseño

En mi opinión no solo hay que manejar las herramientas de visualización también hay que tener conocimientos de diseño para poder generar informes y gráficas adecuadas a cada requerimiento. Uso de fuentes, paletas de colores, tamaño, formato,... todo cuenta para hacer que el resultado final sea lo más atractivo a los ojos del receptor.

Editores de código

Entiendo que para los programadores será lo de menos al estar acostumbrados pero para los que venimos de otros sectores pueden abrumar herramientas como Visual Studio Code,...
Actualmente trabajo con Jupyter Notebook por que me resulta más sencillo de comprender un código ejecutando las instrucciones paso a paso.
En el día de mañana cuando vaya cogiendo soltura me gustaría ir ganando maestría en el uso de estas herramientas, mediante atajos de teclados y comprensión de todas sus funcionalidades.

Experiencias laborales

Entrevistas

En el caso de que surgieran oportunidades me gustaría comentar para visualizar el mercado laboral a día de hoy.
Ejemplo, recientemente me realizaron una entrevista para una consultora que tenía contratos con una constructora y buscaban un Business Analyst. Me descartaron por no tener conocimientos profundos de SQL, lo cual para RRHH era indispensable según sus criterios de selección. Las condiciones eran en torno a 40K en función de experiencia y con 4 días de teletrabajo a la semana.

Herramientas implementadas

El objetivo es desarrollar herramientas que faciliten el trabajo o que sean el trabajo, por lo que quiero dar seguimiento si surgen ideas prácticas a compartir si se puedan llevar a cabo en otros ámbitos.

Bibliografía

Esto es infinito, hay muchísimo movimiento por lo que también hay mucho ruido y como los Muy buenas a todos!
En primer lugar presentarme, soy miembro del foro desde hace años pero no suelo participar mucho, más que nada me nutro de la sabiduría de otros usuarios. Esto me lleva a que quería comentar que me he inspirado a realizar este post tras ver el éxito que ha tenido el post de RSN.
El objetivo principal del post es en primer lugar, obligarme a publicar periódicamente mis avances para ver la progresión.
Y en segundo lugar interactuar con quien quiera participar, ya sea para recibir consejos o para poder darlos una vez vaya avanzando.

Índice

  1. Introducción
  2. Objetivos
  3. Bibliografía
  4. Progreso

Introducción

Experiencia laboral

Soy ingeniero industrial en mis 30, y tengo 5 años de experiencia laboral como analista en el sector de las energías renovables. Esto suena más de lo que es, ya que la realidad de todo ingeniero cuando comienza su vida laboral es la siguiente:

Como bien indica la imagen mi principal herramienta de trabajo siempre ha sido Excel, la cual considero que domino en un nivel intermedio-avanzado.
Un buen día en mi trabajo anterior le pedí a un amigo que se maneja muy bien en VBA que me ayudara a programar un script para automatizar un proceso, y este me comentó que por qué no lo hacía yo que a él no le gustaba programar. Mi respuesta fue que cómo no le gustaba programar con lo bien que se le daba, y me respondió unas palabras que se me quedaron grabadas a fuego 'No me gusta programar, pero menos me gusta trabajar'. A partir de aquí me entró el gusanillo y comencé hace un par de años a indagar en el mundo de la programación para automatizar pequeñas tareas, no obstante he estado estudiando de manera muy esporádica e inconsistente y mi curva de aprendizaje siento que está más plana que una tabla de planchar.

La motivacíon

Me cambié hace un año de empresa y la apuesta que hice parece que no ha salido del todo como esperaba y me estoy preparando para el futuro. Pese a tener un perfil técnico con algo de experiencia en datos estoy considerando si pivotar por completo al rol de analista de datos puro e ir formándome hasta encontrar el rol en el que me sienta más cómodo. En el caso de no pivotar por completo me gustaría que todo el tiempo invertido me sirviera para generar herramientas de trabajo que como mi amigo hacía le quitaran de trabajar tras programar.

La ausencia del mal

Por último soy aficionado a los videojuegos de siempre y en la última década he jugado principalmente al LOL, tras dejarlo por enésima vez, y espero que definitiva, veo que puedo ser un ciudadano funcional de nuevo y emplear tiempo en seguir formándome para poder alcanzar mis objetivos laborales.

Objetivos

Crear un hábito de estudio organizado

Periodicidad

En los últimos meses estoy viendo que puedo en la medida de lo posible organizarme para estudiar casi a diario un rato. Aunque sea media hora, una hora o hasta la cena estoy viendo que no se me hace bola estudiar tras currar como otras veces, por lo que quiero aprovechar el tirón y avanzar.
Si funciona bien el post o a modo individual me gustaría postear en los primeros días del mes para mostrar mis avances o frustraciones.

Evitar el Tutorial Hell

Hace poco vi un vídeo que mencionaba el Tutorial Hell y me vi super reflejado. Es más sencillo ver un vídeo sobre algo que sentarse frente al ordenador y afrontar el tema. El sentimiento de frustración se disipa viendo videos lo cual lleva a acomodarte.
Mi intención es buscar primero pequeños problemas e ir avanzando con algún proyecto para forzarme a utilizar los conocimientos adquiridos.

Aprendizaje de herramientas

Obsidian


Quiero mencionar Obsidian como herramienta porque me está resultando muy fácil organizarme las notas de estudio con este gestor.
Siempre he sido un desastre para tomar notas, me hice un bullet journal y duré dos semanas. Tras ver un par de videos sobre Obsidian me resultó interesante y útil esta aplicación, la cual recomiendo (imagino que Notion y similares también serán sencillas de usar).
A destacar que aprender a usar Markdown para maquetar las notas también puede ser útil para Jupyter Notebook.

Python

Como casi todos recomiendan me inicié con Python como lenguaje de programación para el tratamiento de datos. Me gustaría manejar con soltura todas las librerías típicas del sector comenzando principalmente con pandas, numpy, matplotlib e ir avanzando hacia los scikit-learn, pytorch...
He realizado un par de cursos en Udemy, los cuales apuntaré en la bibliografía.

  • El primero un curso básico donde se comentan todos las bases para cimentar todos los conceptos del lenguaje de programación.
  • El segundo era sobre Machine Learning. Me resultó fascinante pero tendré que verlo de nuevo porque no tomé notas y había pasado tiempo desde que vi el primer curso y muchos conceptos no me sonaban.

SQL

Estoy ahora mismo cursando un curso básico en Udemy ya que para mí una base de datos era un Excel con muchas filas o cosas que gestionaban los de IT. En principio no me llamaba la atención y desconocía su importancia en el mundo laboral, cosa que aprendí tras ser descartado en un par de ocasiones por recruiters al no tener conocimientos de SQL. Ahora le veo cierto atractivo a la gestión de BBDD y su arquitectura.

Herramienta de visualización

Este sector es en el que estoy más verde y en donde agradecería recomendaciones.
He trabajado con informes de PowerBi pero no los he diseñado yo, realmente lo único que he hecho es aplicar filtros.
Una vez que obtenga confianza y tenga conocimientos suficientes me gustaría realizar algún proyecto que implique el uso de alguna de estas herramientas (indiferentemente si es PowerBi, Tableau, Looker,...).

Diseño

En mi opinión no solo hay que manejar las herramientas de visualización también hay que tener conocimientos de diseño para poder generar informes y gráficas adecuadas a cada requerimiento. Uso de fuentes, paletas de colores, tamaño, formato,... todo cuenta para hacer que el resultado final sea lo más atractivo a los ojos del receptor.

Editores de código

Entiendo que para los programadores será lo de menos al estar acostumbrados pero para los que venimos de otros sectores pueden abrumar herramientas como Visual Studio Code,...
Actualmente trabajo con Jupyter Notebook por que me resulta más sencillo de comprender un código ejecutando las instrucciones paso a paso.
En el día de mañana cuando vaya cogiendo soltura me gustaría ir ganando maestría en el uso de estas herramientas, mediante atajos de teclados y comprensión de todas sus funcionalidades.

Experiencias laborales

Entrevistas

En el caso de que surgieran oportunidades me gustaría comentar para visualizar el mercado laboral a día de hoy.
Ejemplo, recientemente me realizaron una entrevista para una consultora que tenía contratos con una constructora y buscaban un Business Analyst. Me descartaron por no tener conocimientos profundos de SQL, lo cual para RRHH era indispensable según sus criterios de selección. Las condiciones eran en torno a 40K en función de experiencia y con 4 días de teletrabajo a la semana.

Herramientas implementadas

El objetivo es desarrollar herramientas que faciliten el trabajo o que sean el trabajo, por lo que quiero dar seguimiento si surgen ideas prácticas a compartir si se puedan llevar a cabo en otros ámbitos.

Bibliografía

Esto es infinito, hay muchísimo movimiento por lo que también hay mucho ruido y como los datos hay que limpiarlos y seleccionar con que quedarse. Voy a ir recomendando dentro de mi experiencia lo que vaya viendo que es buen contenido según mi criterio. Por favor, cualquier recomendación es bienvenida.

Cursos

Python

Curso Maestro de Python: De Cero a Programador Todoterreno COMPLETADO Muy recomendable
Machine Learning y Data Science con Python PENDIENTE

SQL

Máster en SQL Server: Desde Cero a Nivel Profesional [2024] COMPLETADO

Libros

Wes McKinney - Python for Data Analysis PENDIENTE
Jaime Buelta - Python Automation Cookbook PENDIENTE
Eric A. Eager - Football Analytics with Python & R PENDIENTE Proyecto que quiero realizar ya que me estoy aficionando a la NFL desde hace algunos años y me sirve para aprender de football mientras aprendo de Análisis de Datos.

Youtube

Alex the Analyst - Data Analyst Bootcamp Recomendación de RSN. La verdad que super didáctico, lo que he visto me ha gustado mucho. Esta lista parece óptima para comenzar.
Canal Álvaro Ramos Acaba de empezar pero creo que puede generar contenido apropiado para este tipo de aprendizaje.
Brais Moure - Curso de PYTHON desde CERO para PRINCIPIANTES Al realizar el curso de Udemy no lo he completado pero recomiendan mucho su contenido y es gratis.
CodeAesthetic Tiene un par de vídeos interesantes sobre las estructuras de código.
TheCodingSloth Gracioso y útil. Mi sensación es que rehuye de los tópicos y que es honesto en su contenido.
Formato Vault Obsidian Mi bóveda está basada en este vídeo el cual recomiendo para que sea más visual todo en Obsidian.

Progreso

14/08/2024

Post creado.
Gracias por aguantar la chapa y espero que os guste el contenido :relaxed:.

01/09/2024

Post de actualización #10
Completado el curso de SQL.
Primer proyecto EDA.
Añadido la lista del Bootcamp de Alex The Analyst.

15
hda

Compañero, muchísimo ánimo. Tienes una muy buena base, no me cabe duda de que lo lográs y pronto.

Por aquí me quedo.

3
Dr_Manhattan

Ánimo y adelante, creo que has empezado muy bien, SQL muy importante. De Notebooks de jupyter no creas que es tirar el tiempo, en entornos empresariales se usan mucho los Notebooks de databricks que beben de la misma agua

1 1 respuesta
Cna

Muy importante esa ausencia del mal. Animo.

1 respuesta
luisao

#4 Es la clave 😁😁

CaNaRy_r00lz

#3 SQL es un must en programacion, hagas lo que hagas, es algo que la gente deberia saber, yo lo desconocia la verdad

1
RSN

Que tal tío! La verdad es que tienes una base muy superior a la mía.

Por la tarde desde casa (estoy desde el mvl) te paso un vídeo que vi que me ayudó a diferenciar bien los roles que hay en data. Es más importante de lo que parece tenerlo claro.

Aunque finalmente he pivotado hacia un rol de desarrollo creo que me quedó bastante claro el "roadmap" que se puede seguir para los diferentes roles que hay.

Como en todo, hay una parte más frontend y otra más backend.

Te recomiendo que le des un repaso al hilo de mi diario porque ahí se liberaron bastantes dudas que puedas llegar a tener.

Por la tarde me extiendo más si necesitas algo.

Ánimo!

2 1 respuesta
luisao

#7 Muchas gracias tío!

Estuve buen rato mirando tu post y la verdad que me motivo a darle caña.

En principio, los roles más o menos los conozco tanto en alcance como las herramientas que usan cada uno. Mi idea es crear primero buenos cimientos, por eso creo que empezar para ser analista manejando Python+SQL en profundidad me va a dar la base y confianza para seguir avanzando. Ya en el futuro en función de motivación y capacidad iré analizando si es interesante avanzar a ingeniero de datos.

Si me surge cualquier duda la dejo por aquí.

1 respuesta
RSN

#8 Es buena idea. En roadmap.sh tienes más o menos el path de data analyst bien explicado. El canal de Youtube de Alex The Analyst es muy bueno también si tiras por esa rama concretamente.

Ten en cuenta que en algún momento como bien citas te harán falta herramientas de visualización como Power BI, Tableau, Looker... etc. Ya depende un poco del tipo de empresa pues te pedirán uno u otro.

Si tiras por la rama de Microsoft mírate el tema de los certificados, están muy bien valorados en el mundo laboral por el momento.

1
11 días después
luisao

Continuo con buen ritmo, así que os dejo la actualización de lo realizado en Agosto y los objetivos de Septiembre.

Curso SQL

He completado el curso de SQL. El curso enseña desde mi punto de vista toda la operativa básica de la gestión de bases de datos trabajando en SQL Server Management Studio (SSMS).
En primer lugar se genera una base de datos de un Centro Médico, se practican las gestiones de las tablas y sus relaciones, se van definiendo las propiedades de los campos como podrían ser las Primary y Foreign Keys, las reglas de normalización, o el Identity.
En las primeras secciones se intenta trabajar desde la vista de diseño para visualizar la base de datos desde un punto de vista operativo y poco a poco van introduciendo TRANSAC SQL y a generar todo desde scripts.
Finalmente te enseñan a generar Stored Procedures, Backups y programar la ejecución de scripts a partir del Task Scheduler de Windows.
En conclusión, como primera de contacto me ha gustado el curso, ahora me tengo que buscar algún proyecto interesante para poder generar alguna base de datos por mi cuenta (Proyecto Octubre).

Proyecto EDA

Aprovechando que en el curro estoy un poco más liberado, estoy comenzando a emular el trabajo que realizo en Excel en Python.
A partir de un archivo .csv con datos temporales de 237 características obtengo una serie de KPIs para informar a un cliente sobre el rendimiento de operación. He tomado un mes ya finalizado y limpio en el archivo de Excel y estoy comenzando a realizar las tareas de limpieza de datos y generando las características auxiliares para tratar los datos.
El objetivo es realizarlo de una manera dinámica y que se pueda extrapolar a otros proyectos similares, simplemente actualizando algunos parámetros iniciales. A su vez me va a servir para conocer con más detalle matplotlib ya que hay bastante gráfico. Es la librería de Python que menos he tocado pese a haber visto bastante vídeo y es la que más interés me genera ahora mismo porque considero que el diseño puede marcar la diferencia entre parecer amateur y pro.

*PD: Agradecería que alguien me explicara como generar enlaces dentro del texto para poder indexar en el post principal

1
Krules

Mucho ánimo y dale duro a SQL. Por internet hay varias webs tipo leetcode donde puedes practicar.

Respecto a herramienta de visualización en python para un EDA rápidito te recomiendo Seaborn (corre por encima de matplotlib)

1 1 respuesta
luisao

#11 He estado con unas cuantas katas de Python en Codewars y me tengo que poner con SQL.

Imagino que Codewars será similar a Leetcode de todas formas si recomendáis la que veáis mejor se agradece.

1 respuesta
8 días después
kingquenjack

Muy bueno el post, espero que consigas tu objetivo

¿A día de hoy hay mucha demanda de estos puestos? Yo se de SQL, Excel y un poco de programación, pero me quedo bastante lejos.
¿En españita como está la cosa?

1 respuesta
toddifons

Obsidian si no me equivoco probablemente es similar a Joplin.

me hiciste reír mucho con la imagen de la curvs de aprendizaje que termina en la hoja de cálculo

#12 codewars me pareció mejor, a mi me sirvió para tener más soltura en un lenguaje complicado (Rust), que justamente Python y SQL son sencillos y no sé hasta dónde lo necesites pero si te ayuda, bien...

1 respuesta
luisao

#13 Gracias!

Pues la verdad es que mi sensación es que hay bastante alternativa por lo que he bicheado en LinkedIn, pero no sé la calidad de los puestos. Sinceramente en Españita lo que veo es bastante puesto Full Remote pero que no tiene buena pinta (empresas que desconozco buscando perfiles muy junior). También te digo que si son Full Remote en EU si van con inglés voy a tirar por ahí.

#14 Parece que es similar a Joplin, Notion, Apple Notes,... La escogí porque mirando sobre el tema me empezarón a aparecer un montón de vídeos sobre gente transicionando de Notion a Obsidian.

Sobre las katas, me parecen un buen ejercicio para complementar a algún proyecto porque mejora las bases de cada lenguaje. Pero a la hora de la verdad hay que enfrentarse a proyectos mayores para asentar todo y poder sacar adelante varios problemas encadenados (a mí es lo que más pereza suele darme ahora al principio).

1 respuesta
kingquenjack

#15 A mí me han ofrecido un máster de esto pero no sé si vale la pena, son 4-5k y con unas prácticas de 1-2 meses que me parecen muy poco para meter cabeza. De las condiciones no se, pero parece que es trabajo de oficina del tipico horario de 9-6. Creo que fuera del país con esta tecnología las condiciones son bastantes mejorables como dices, pero mejor seguir investigando.

De momento seguiré trabajando y lo miraré o me tiraré a las oposiciones visto como está el patio XD

Usuarios habituales

  • kingquenjack
  • luisao
  • toddifons
  • RSN
  • CaNaRy_r00lz
  • Cna
  • hda