Diario de RSN Road to desarrollador

Cna

#60 Creo que pecas de lo que se conoce como punto ciego del experto.

1
_NaN_

El problema del abandono viene porque por alguna razón en este mundillo se le resta mucha importancia al tiempo.

Lo cual no entiendo, porque es probablemente una de las variables que más marca la diferencia.

1 respuesta
RSN

#62 ¿Te refieres al tiempo necesario para aprender? La curva de aprendizaje es dura, claro, si es que te refieres a eso.

Por suerte ya he hecho otras cosas en mi vida con una gran curva de aprendizaje. La frustración y el síndrome del impostor ya los pasé hace años. Ahora simplemente soy como un robot que repite acciones una tras otra.

En el campo del entrenamiento yo le cuento a la gente que cada vez que entrenas, lo hagas bien o mal ese día, es una moneda que estás metiendo en una hucha. Es una inversión. Las personas a veces no progresan en un entrenamiento, o no cumplen con los números que tenían marcados y eso en el fondo "da igual", es experiencia acumulada, que al final te hace progresar sí o sí mientras respetes que hay veces que necesitas dar dos pasos atrás para dar uno hacia delante.

Yo me estoy organizando de la siguiente forma con el estudio. De momento le estoy dedicando de 3 a 4 horas diarias. Si en algún momento veo que es demasiado, voy simplemente a bajar a 2, y si en algún momento de alto estrés en mi vida debo bajar a 1, bajaré a 1.

Mientras no baje de 1 hora/diaria, todo está bien, y los días que realmente pueda invertir más tiempo sin sacrificar cosas importantes, simplemente lo haré y ya está.

1 1 respuesta
KooPad

#63 ¿Qué horario tienes pensado seguir?

1 respuesta
RSN

#64 Por comodidad, siempre estudio por las noches de lunes a viernes. Dependiendo del turno en el que esté en el trabajo puedo empezar a las 21:00 o a las 22:00.

Los fines de semana ya es todo más variable, pero por ejemplo hoy he estudiado por la mañana 2h, y me he quedado con ganas de más así que después de cenar voy a dedicar otro rato.

E

Me uno al hilo para rendir cuentas. He empezado a ver cosas de Python recientemente.

kassiusk1

#18 Sí. Hay juniors que no saben lo que es una fk

1 respuesta
RSN

#67 Ya me jodería, creo que fue de las primeras cosas que aprendí.

1
RSN

Hoy ha sido un día de grindeo importante con @Cna .
Me voy bastante contento con mi primera toma de contacto con la programación con Python. Solo hemos hecho cosas muy básicas:

  • Sintaxis básica.
  • Variables y data types (los más básicos).
  • Condicionales.
  • Algún casting simple, alguna función de las más esenciales...

Hemos llegado a hacer un programa muy básico para resolver un problema matemático que si queréis lo comparto pero no creo que sea necesario.

El cabrón de Cna una vez lo tenía resuelto me ha hecho crear una variable más.

spoiler
1
RSN

Llega uno de los momentos importantes...

Elegir un IDE.

Ayer estuve con VSCode y todas las ayudas que ofrece me parecen bastante interesantes pero para datos veo que el más recomendado es Jupyter Notebook.

Alguien me puede explicar qué ventajas ofrece uno vs otro ?

1 respuesta
Sphere

#70 Puedes ejecutar archivos .ipynb en vscode tranquilamente. Al final un cuaderno Jupyter es una forma ordenada de fragmentar el código e ir viendo el output por partes diferenciadas, de manera que sea didáctico y fácil de explicar.

1 respuesta
RSN

#71 Debe tener alguna ventaja más que la didáctica cuando las personas lo usan como herramienta de trabajo tras años de experiencia, no? Muchas gracias!

2 respuestas
richmonde

#72 Al final, es una herramienta de desarrollo como las demás, y cada una tiene sus puntos fuertes, y debilidades.

En mi caso trabajo con Jupyter por varios motivos:

  • Tenemos Jupyter en la nube instanciando diferentes tipos de maquinas en funcion de necesidad.
    • Maquinas para trabajo diario, maquinas para temas de predicción con sets más grandes.
    • Maquinas para machine learning más grande, donde trata con datasets de cientos de millones de filas.

Con un IDE por separado, puedes hacerlo, pero la integración de segun que IDE's es limitada. Jupyter en cambio te permite integrarlo fácilmente con casi cualquier cosa que desarrolles detrás. Por otro lado, existen cientos de plugins que puedes ponerle (OpenSource) para hacerte la vida más fácil, e integrarlo con reporting. Yo por ejemplo, exporto automáticamente mis NoteBooks en formato slides para la Gsuite con google slides, y a su vez publico el report en Markdown a PDF para mandarlo al mail, y a Confluence para tenerlo documentado.

Permite trabajo colaborativo, y con la consola que tiene, cada X tiempo hago el control de versiones, subirlo al repositorio, y en esencia, tengo todo a mano.

También es cierto, todavía no hay una integración como Copilot o ChatGPT "decente", por lo que si quieres eso, Jupyter a día de hoy aun no tiene eso. Mi consejo es que conforme trabajes, consultes a ChatGPT si tienes dudas MUY grandes, pero cualquier asistente como estos que cito, procures evitarlos en medida de lo posible.

Lo que quieres es pensar tu, intentar resolverlo tu, y aprender a buscar las soluciones (tecnicas y logicas). Un IDE simplón te ayuda a sacarte las castañas del fuego, y posteriormente, cuando la semantica y la "programacion" por si sola no sea un problema, te ayudes de los bots.

My 5 cents :)

1
Krules

#72 con los Notebooks puedes ejecutar celda a celda e ir viendo los outputs de forma más cómoda, ya sean gráficos, tablas (dfs), etc

2
juan1994

Hilo directo a favoritos!
En mi caso también me gustaría meter la cabeza en esto de la programación. Vengo de una carrera de letras, pero siempre me ha llamado la atención este mundillo de la informática. Este verano, durante las vacaciones tengo pensado empezar el curso este de Python de Udemy que habéis puesto por aquí. Lo compré en diciembre y no lo he tocado todavía.

Un saludo y ánimo con el aprendizaje!!

RSN

Parece ser que mi cerebro no acepta bien el formato de aprendizaje que ofrece dataquest que es más de lectura + aplicación de conceptos. No sé por qué razón concreta sea pero entiendo mejor las cosas con vídeos. Si tenéis material didáctico sobre Python yo encantado.

Mañana empiezo con este Curso

Saltándome las partes de BBDD y POO que en teoría, a priori para data no me van a hacer ninguna falta.

3 2 respuestas
richmonde

#76 Al final, si el formato de difusion de la información te va bien (escrito, videos, oral+videos, etc...) usa el que mejor se adapte a ti.

Al final, es solo la parte informativa. La parte que te va a destacar y donde realmente vas a aprender, es cuando te das cabezazos solucionando los problemas.

1
desu

#76 Por qué no pruebas https://github.com/gregmalcolm/python_koans ?

1 respuesta
charlesmarri

#78

¿Qué es exactamente?

1 respuesta
desu

#79 Ejecutas los ejercicios, te van petando porque no están resueltos, vas uno a uno resolviéndolos.

4
RSN

¡Hola!

De momento contaros que estoy siguiendo el curso que cité en #76 para aprender las bases de programación en Python.

Cuando veo que mi rendimiento de estudio baja (por ejemplo ayer llegué de Roma en un viaje que mejor no comentar el cansancio que me provocó por el factor retrasos de vuelos) lo que hago en lugar de desconectar totalmente es investigar y ver vídeos.

Trato de buscar vídeos que por norma general NO sean tutoriales. Quiero salir del tutorial hell. Aunque son MUY difíciles de encontrar de forma gratuita estoy buscando personas que hagan live coding en análisis de datos, es decir:

1.- Importación por ejemplo de un archivo CSV.
2.- EDA (Exploring Data Analysis) con la librería PANDAS.
3.- Visualización básica con la librería SEABORN.

Si lo explican sobre la marcha, mejor, pero no es necesario, parando el vídeo y leyendo las funciones que emplean se puede comprender bien si sabes inglés.

Respecto al tema del IDE os cuento:

De momento vscode me gusta bastante así que he hecho algo que NO sabía que se podía hacer (imagino que nadie me lo ha dicho para que resolviera el problema yo mismo, gracias), incluir Jupyter Notebook DENTRO de vscode. De esa forma obtengo lo mejor de ambos lados, la interfaz de vscode que me parece agradable, y la funcionalidad de Jupyter Notebook. En cualquier caso, como siempre, son cosas que descubro por mi cuenta, si pensáis que estoy equivocado, decídmelo.

Tengo dos proyectos en mente para ir practicando. @refresco me pasó un csv con todos mis posts en el foro. Creo que podría hacer un EDA simple del archivo que me pasó y tratar de visualizar mi actividad en el foro (por cantidad de posts) a lo largo de los años. De esa forma ver qué años fui más activo.

El segundo proyecto es más complicado ya que probablemente obtener el origen de datos no será fácil. Me gustaría obtener datos goleadores de la segunda división de fútbol de España y ver qué jugadores han tenido mejor promedio goleador y hacer un top 10. A ver si descubrimos alguna gema.

1 4 respuestas
Dakka

#81 Mirate este canal. Tiene (creo) lo estas pidiendo.

Maaarc

#81 Creo que puedes scraper la web de la federación https://fbref.com/es/comps/17/Estadisticas-de-Segunda-Division (muy pronto, mejor busca datos abiertos).

Te diría que los descargues de Kaggle, además puedes ver notebooks de otra gente y si filtras por los más votados que sean un EDA los tienes de referencia.

Disclaimer: Hay mucha gente usando chatGPT en Kaggle para sacar notebooks y farrear puntos para el CV, pero lo que enseñan es cuestionable.

En cuanto a Python, si te quieres dar un descanso prueba Tableau public cargando datasets y prueba a visualizar datos directamente.

R

#81 si que me suena que alguien te dijo que podias meter jupyter en vs code xD. Yo tambien lo prefiero asi que puedo instalarle plugins. Si quieres ams datos del foro te puedo pasar mas usuarios que tengo bastantes

2 1 respuesta
Sphere

#84 #81 cof cof #71 xD

Sigo atento al hilo, dale caña! De aquí se pueden sacar buenas prácticas para comenzar en este mundillo observando como vas aplicándote, aunque luego difiere mucho de una persona a otra y como aprenda mejor cada uno, pero las bases se mantienen.

1 respuesta
RSN

#85

No te entendí bien. Mala mía.

Referente a los vídeos que me habéis pasado el tema de analizar datasets con Kaggle Notebook y ganarse una reputación real ahí (no una farmeada con chatGPT como decís que en realidad no entiendo por qué lo hacen) vale la pena?

Por cierto muchas gracias por los vídeos. Literalmente es lo que quería ver.

Cómo sigue el proceso desde que carga el origen de datos hasta las visualizaciones.

Literalmente gracias a la gran mayoría que me recomendó Python. Me está resultando divertido y, sobre todo, por lo que veo en LinkedIn. Youtube etc parece precisamente lo que decís.

Todo el mundo está recomendando empezar con el combo SQL + directamente una herramienta de visualización. Imagino que es porque es la entrada más directa al mundo laboral en data. Me recuerda a los bootcamps fullstack / frontend. Creo que tarde o temprano el mercado va a estar saturado porque aprender SQL + Power BI/Tableau no es extremadamente difícil.

Me viene bien diferenciarme un poco desde el inicio.

Cuando te paras a ver perfiles de estas características un gran porcentaje de las veces, son personas que trabajan en consultorías. Cuando encuentras perfiles que saben Python las posibilidades se multiplican bastante, y sobre todo se abre la posibilidad de trabajar fuera de España más.

Tengo una última pregunta, creo que a la hora de hacer informes/dashboards es prácticamente obligatorio usar Tableau/Looker/Power BI o se puede conseguir un resultado similar con Matplotlib/Seaborn?

2 respuestas
R

#86 vas a poder mas cosas con matplotlib/seaborn/plotly que con tableau/power bi porque trabajas a un nivel mas bajo y vas a poder programar mas cosas en los graficos pero es mas trabajoso

Dakka

#86 Tableau, PowerBI, etc. son plataformas que te permiten hacer y distribuir dashboards dentro de entornos de producción. Seaborn y matplot son librerías para hacer visualizaciones y ya, son mucho más comunes para EDA que para apps de BI. Lo más parecido en Python sería streamlit que fue comprado por Snowflake, está ganando adeptos, pero no me rallaria por ahora.

Mi opinión es que SQL sigue siendo el rey. Todas las aplicaciones van sobre BBDD y es la forma más fácil de interrogar datos y de hacer ETL para consumir en la capa de BI. Python empieza a ser interesante cuando trabajas con Big Data, que requiere procesamiento en paralelo a lo bestia o funcionalidades de streaming.

Sigue con Python si te gusta, te ayudará a aprender cómo se trabaja con data en general. Eso sí, dudo que en un trabajo de analista de datos no vayas a tocar SQL.
Y eso de que es fácil... xd

1 respuesta
RSN

#88

Hola! Muchas gracias por tu respuesta. Solo quería decir a que en esencia, diría que SQL es más fácil que Python, no?

Es decir, la barrera de SQL + una herramienta de visualización siempre va a ser más pequeña que si le metes Python por en medio.

Algo que sí he visto es que puedes ejecutar SQL dentro de vscode con SQL Alchemy (o algo así) de forma que puedes cargar el origen de datos, limpiarlo con pandas y luego hacer queries para obtener lo que quieres.

Aunque por tu mensaje entiendo que eres de la parte que opina que quizá debería haber dejado Python para más tarde?

Muchas gracias! Y disculpas por decir que SQL es fácil jajaja. No era mi intención dar un argumento tan plano.

1 respuesta
_NaN_

Yo aprendería los 2 a muerte para que tengas una base para luego aprender cualquier cosa que pueda venir después.

Azure por ejemplo, tienen su propio lenguaje para sacar consultas de métricas o logs (KQL) que aprendes en un par de días si tienes la base y Databricks se usa tanto con pySpark como con Scala.

Además, sabiendo programar te abres puertas a otros roles relacionados con data.

1