Participar en proyectos de software libre

Hijitusolvidosupass

I WANT CHAFLA BACK
Ya que estamos en esta movida, sueles usar rotación de proxys? Lo hacéis en local o lo contratáis a algún servicio? Yo he probado algunos (como shader.io) pero son bastante careiros. Mi objetivo es ahorrar xD, si fallan de vez en cuando no pasa na, que hago la petición de nuevo.

Hasta ahora he venido usando P2P Proxies, que cobran a 3 pavos el GB. Me arruino, pero menos que pagando 1 pavo por cada proxy xD
Depende. Si es un proyecto para mi empresa, normalmente evitamos tener que usar un proxy (por lo general si tienes que esconder tu ip, es que los dueños de la web no quieren que los scrapees y como empresa les puede traer problemas). Cuando necesitamos usarlos por motivos legítimos (por lo general para hacer tests basados en geolocalización), tienen contratado un servicio que hace rotaciones automáticas y demás. No recuerdo el nombre pero lo puedo mirar hoy te digo.

Si es para proyectos personales, sí, hago rotaciones. Y normalmente lo hago desde mis propios proxys. Es decir, tengo un par de servidores en amazon en las localizaciones que me interesan y un par de python script que periódicamente quitan la ip pública del servidor y asignan una nueva. Pero eso es porque a mí me gustan estas movidas y disfruto configurando esas cosas. En cualquier otro caso simplemente usaría el mismo servicio que la empresa donde trabajo.
 

Vaina Loca

New member
Depende. Si es un proyecto para mi empresa, normalmente evitamos tener que usar un proxy (por lo general si tienes que esconder tu ip, es que los dueños de la web no quieren que los scrapees y como empresa les puede traer problemas). Cuando necesitamos usarlos por motivos legítimos (por lo general para hacer tests basados en geolocalización), tienen contratado un servicio que hace rotaciones automáticas y demás. No recuerdo el nombre pero lo puedo mirar hoy te digo.

Si es para proyectos personales, sí, hago rotaciones. Y normalmente lo hago desde mis propios proxys. Es decir, tengo un par de servidores en amazon en las localizaciones que me interesan y un par de python script que periódicamente quitan la ip pública del servidor y asignan una nueva. Pero eso es porque a mí me gustan estas movidas y disfruto configurando esas cosas. En cualquier otro caso simplemente usaría el mismo servicio que la empresa donde trabajo.


Me harías un favor mirando lo del curro, aunque intuyo que será alguno de los servicios que ya he descartado. Yo estoy usando esto: http://proxies.online/

Levantar varios VPS a parte de ser un coñazo (yo no disfruto configurando xD) intuyo que será más caro.
 

Hijitusolvidosupass

I WANT CHAFLA BACK
Me harías un favor mirando lo del curro, aunque intuyo que será alguno de los servicios que ya he descartado. Yo estoy usando esto: http://proxies.online/

Levantar varios VPS a parte de ser un coñazo (yo no disfruto configurando xD) intuyo que será más caro.
Me equivocaba, no usamos proxies, usamos VPNs: https://www.privateinternetaccess.com/. Y son un poco más caras...

No es más caro si usas servicios como AWS lambda. Creo que entre pitos y flautas me sale ligeramente más barato que lo que estás gastando ahora (o sobre el mismo precio). Pero claro, eso sin considerar las horas perdidas creando docker images y probando todo para que funcione bien. Que es un curro importante. Y tiene el límite de que estoy usando solo dos servidores, si quiero escalar horizontalmente el precio se dispara.
 

Vaina Loca

New member
Me equivocaba, no usamos proxies, usamos VPNs: https://www.privateinternetaccess.com/. Y son un poco más caras...

No es más caro si usas servicios como AWS lambda. Creo que entre pitos y flautas me sale ligeramente más barato que lo que estás gastando ahora (o sobre el mismo precio). Pero claro, eso sin considerar las horas perdidas creando docker images y probando todo para que funcione bien. Que es un curro importante. Y tiene el límite de que estoy usando solo dos servidores, si quiero escalar horizontalmente el precio se dispara.
Me temo entonces que más barato sólo quedaría comprar una botnet, y como que paso.

El problema de la solución que uso ahora es que para bombardear APIs no tengo problemas, pero sobre html ya el consumo me sube una barbaridad.

Además de la latencia, que en el pool worldwide a veces llega a los 500ms (por ejemplo saliendo con ips asiaticas).

Bueno, pues nada, a gastar pues.
 

........

Moderator
Hola,

He estado unos días buscando algo del estilo de Free Code Camp para Python. Alguien en Reddit ya preguntó acerca del tema y se ve que ahora mismo están desarrollando el módulo para Python.

He encontrado una plataforma similar llamada Odin's Project, pero está enfocado especialmente a Ruby, xd. Dejo la web por aquí por si es de utilidad: https://www.theodinproject.com/.

De momento, creo que os haré caso y me centraré en algún proyecto que tengo en mente, xd. Hacía tiempo que pensaba en algo similar a una web, pero en lugar de recetas, de componentes E-XXX veganos y no veganos. Hay una app de móvil que hace eso pero no hay ninguna base de datos fiable en página web en español. Le echaré un ojo al manual de estilo de Python también, :)

Ya de paso quería aprovechar el hilo para preguntaros un par de cosillas, xd. Me gustaría tirar hacia el ámbito de la bioinformática, pero estando en 1º de carrera no puedo hacer prácticas. Además, no tengo asignaturas relacionadas en el grado. Hasta que no haga el master no podré especializarme realmente. ¿Cómo puedo ir adetrándome en ese ámbito desde ya?

Vi un par de cursos en Coursera como introducción a la bioinformática que pintaban bien. ¿Después esos cursos cómo los introducís en el CV? ¿O es muy pasado de rosca poner que hiciste un curso gratuito online?

Muchas gracias! :) :) :)
 

Vaina Loca

New member
Creo que quieres demasiadas cosas a la vez. Yo tengo un nivel bajo en python y me llevo un año y pico tener suficiente soltura para poder hacer los pequeños programas que uso. Eso para que te hagas una idea

Da la casualidad de que trabajo también con datos, asi que entraría también en el perfil de bioinformática.

Eso es mucha estadística y mucho tratamiento de datos. Otro año minimo.

Programar es muy frustrante hasta que no coges cierta soltura porque te bloqueas con todo. Si no te centras en un tema y le das duro es difícil que pases esa fase.
 

........

Moderator
Mi pregunta iba más enfocada a futuro. Soy totalmente consciente de que mi nivel es principiante y a dónde puedo aspirar. Mi duda principal es como suplir la carencia de conocimientos biológicos cómo podría orientarme hacia ello más adelante teniendo en cuenta que no tengo optativas relacionadas con lo que me interesa. Todo, como digo, de cara al futuro.

Gracias!
 
Última edición:

Hijitusolvidosupass

I WANT CHAFLA BACK
Hola,

He estado unos días buscando algo del estilo de Free Code Camp para Python. Alguien en Reddit ya preguntó acerca del tema y se ve que ahora mismo están desarrollando el módulo para Python.

He encontrado una plataforma similar llamada Odin's Project, pero está enfocado especialmente a Ruby, xd. Dejo la web por aquí por si es de utilidad: https://www.theodinproject.com/.

De momento, creo que os haré caso y me centraré en algún proyecto que tengo en mente, xd. Hacía tiempo que pensaba en algo similar a una web, pero en lugar de recetas, de componentes E-XXX veganos y no veganos. Hay una app de móvil que hace eso pero no hay ninguna base de datos fiable en página web en español. Le echaré un ojo al manual de estilo de Python también, :)

Ya de paso quería aprovechar el hilo para preguntaros un par de cosillas, xd. Me gustaría tirar hacia el ámbito de la bioinformática, pero estando en 1º de carrera no puedo hacer prácticas. Además, no tengo asignaturas relacionadas en el grado. Hasta que no haga el master no podré especializarme realmente. ¿Cómo puedo ir adetrándome en ese ámbito desde ya?

Vi un par de cursos en Coursera como introducción a la bioinformática que pintaban bien. ¿Después esos cursos cómo los introducís en el CV? ¿O es muy pasado de rosca poner que hiciste un curso gratuito online?

Muchas gracias! :) :) :)
No te preocupes tanto por los cursos online del palo de Free Code Camp. Si hay alguno disponible guay, si no sigue tu proyecto. Yo lo intentaría enfocar en esto:

- Lee acerca de Flask. Ni te metas con Django, porque es un mundo aparte. Es casi como aprender un lenguaje de programación de cero. Y si no quieres hacer programación web, ni merece la pena. Lee sobre Flask, sobre HTML y sobre SQL. Haz una página simple como la que quieres con Python.
- Empieza a usar git en tu proyecto. Ponlo en github, acostúmbrate a la (rara) interfaz de git y a sus comandos y a cómo administrar sistemas de versiones.
- Añade control de permisos en tu página web. Básicamente, una especie de parte escondida, donde te logueas y puedes escribir contenido ahí. Lee sobre los estándares de autenticación y aplícalos.
- Añade tests unitarios a tu página web. Asegura de que pruebas automáticamente cada una de las funciones de tu aplicación.
- Vete a Google Cloud Compute, usa el free tier y contrata un servidor pequeñito gratis. Aprende cómo hacer deploys usando fabric y cómo mover tu código a producción.
- Conecta tu github con TravisCI y haz que cada push a master corra tus tests unitarios y si pasan, use tus scripts en fabric para publicar tus cambios en producción automáticamente. Felicidades, ahora sabes web programming, testing, infrastructure in code y continuous integration. Tienes una página más moderna y estable que el 90% de las startups españolas.

Todo eso te debería llevar al menos seis meses. Al final, tendrás un par de cosas interesantes: Estarás cómoda con Python, sabrás los conceptos básicos de cloud, sabrás como probar tu código y sabrás cómo usar tus herramientas de programación (editor, control de versiones, sistemas de integración continua).

Solo entonces estarás lista para empezar a especializarte. Comentas que te gusta bioinformática. Tiene sentido, es un sector genial :). Si me ofreciesen hoy otro trabajo de nuevo en bioinformática, pagando la mitad de lo que gano ahora, me costaría resistirme. Es sin duda uno de los sectores que más disfruté. Pero es MUY complejo. Bioinformática, profesionalmente requiere que sepas muy bien:

- Estadística.
- Minería de datos.
- Programación paralela y asíncrona.
- Sistemas distribuidos.

De todos esos temas, el más "fácil" es estadística y no es fácil para nada. La mayoría de la gente, incluyendo gente en STEM, no tiene ni puta idea de estadística. Y Si no me equivoco no es una materia obligatoria en muchos currículums de informática (debería ser obligatoria en todas las carreras...). Mira tu currículum. SI no lo es, mentalízate que o bien la tomas como optativa o bien vas como oyente.

Minería de datos es muy compleja y no tiene sentido estudiarla sin saber estadística bien (por qué hay carreras que dan minería de datos sin poner estadística como obligatoria es un misterio incomprensible). Pero si haz prestado atención en tu clase de estadística, se saca con un poco de esfuerzo. Es básicamente una versión aplicada a grandes bases de datos.

Programación paralela y asíncrona es uno de los temas que más dolor de cabeza da a los ingenieros de software. De hecho, es quizá la parte más complicada de entender. Yo aún he tenido que leer MUCHO material fuera de mi carrera para poder aplicarlo bien. Programación asíncrona ni siquiera la cubren en muchos currículums, solo paralela. Te recomiendo que prestes atención en tus materias sobre sistemas operativos y threads. Te recomiendo que leas sobre inmutabilidad, rutinas, hilos y semáforos e interiorices cada concepto.

Sistemas distribuidos, si entiendes programación paralela y sabes de redes, no es tan complicado. Es básicamente reemplazar hilos y rutinas por servidores y mover los semáforos a protocolos de red.

Cuando tengas todo esto, lee sobre Spark y disfruta de cómo esa framework se ocupa de toda esa complejidad por ti :).

Hacer un MOOC te servirá, pero solo a nivel general y no profesional. Asegúrate de tener todo lo demás, eso marca muchas diferencias. Lo que sí sirve, es cuando aún no tienes experiencia profesional, para tener algo e ntu CV que muestre donde te especializas. Y en general es algo positivo cuando empresas contratan recién graduados.

Pero todo esto es alto nivel y, de nuevo, requiere mucho tiempo. No intentes hacer todo a la vez. Concéntrate en tu web y en los pasos que puse al principio. Luego toma tu curso de estadística. Luego minería de datos. Luego aprende sobre programación en paralelo. Luego vete a sistemas distribuidos. Luego lee cómo aplicar todo eso para hacer bioinformática.

Y más que un MOOC, te recomiendo lo siguiente: Busca un paper facilito e intenta replicar sus métodos. Hay montones por ahí (yo siempre recurro a "Papers we love": https://github.com/papers-we-love/papers-we-love). Pero haz esto luego de haber pasado por todo lo demás. Y si a una empresa les muestras que eres capaz de leer un paper e implementar y replicar sus resultados, vences cualquier MOOC.
 

Vaina Loca

New member
por qué hay carreras que dan minería de datos sin poner estadística como obligatoria es un misterio incomprensible).
???

Pero entonces, qué hacen exáctamente? aprender a usar hadoop y demás?

No sé, yo creo que para empezar lo primero sería python + sql. Pueden empezar instalando SQLite por ejemplo, aunque sea una aberración le enseñará SQL, y eso luego le da acceso a muchas BD's.

Por cierto, qué opinas de este curso? https://learnpythonthehardway.org/book/ mucha gente lo recomienda, pero echándole un vistazo parece que usa python 2.7 aún, no sé, además el tío recomienda NO usar python 3. No entiendo muy bien por qué lo recomienda tanta gente.
 

Hijitusolvidosupass

I WANT CHAFLA BACK
???

Pero entonces, qué hacen exáctamente? aprender a usar hadoop y demás?

No sé, yo creo que para empezar lo primero sería python + sql. Pueden empezar instalando SQLite por ejemplo, aunque sea una aberración le enseñará SQL, y eso luego le da acceso a muchas BD's.

Por cierto, qué opinas de este curso? https://learnpythonthehardway.org/book/ mucha gente lo recomienda, pero echándole un vistazo parece que usa python 2.7 aún, no sé, además el tío recomienda NO usar python 3. No entiendo muy bien por qué lo recomienda tanta gente.
Pues sí, básicamente. No sé si ya lo habrán cambiado, pero en la UB minería de datos es optativa y no requiere haber tomado estadística. La gente sale de ahí sin haber aprendido nada más que instalar Hadoop y usar un poco de MapReduce. Es ridículo.

Sí, por eso decía lo de enfocarse en el proyecto web. Con eso saca algo de soltar en SQL y python y le debería tomar al menos medio año completarlo.

Ése curso se escribió hace como... Siete años más o menos xD. Cuando yo estaba en segundo de carrera. En ese entonces Python 3.0 no era usado por nadie y no tenía sentido aprenderlo si querías trabajar como profesional. Al margen de eso, es un buen curso, pero si no me falla la memoria no cubre SQL. Yo hoy en día lo que haría es seguirlo usando Python 3.6. Y le añadiría SQL. Hoy en día, no hay campo de la informática que no requiera soltura escribiendo en esa familia de lenguajes. Incluyendo bioinformática.

EDITO: Je, estadística es obligatoria ahora: http://www.ub.edu/web/ub/es/estudis/oferta_formativa/graus/fitxa/I/G1077/. Menos mal. Yo no llegué a darla, pero mis viejos compañeros de carrera me comentaron salir de la clase de minerías de datos sin tener ni puta idea de cómo usar nada de eso. Más o menos lo entiendo porque es un área relativamente nueva, pero aún así... :(.
 
Última edición:

Vaina Loca

New member
Pues sí, básicamente. No sé si ya lo habrán cambiado, pero en la UB minería de datos es optativa y no requiere haber tomado estadística. La gente sale de ahí sin haber aprendido nada más que instalar Hadoop y usar un poco de MapReduce. Es ridículo.

Sí, por eso decía lo de enfocarse en el proyecto web. Con eso saca algo de soltar en SQL y python y le debería tomar al menos medio año completarlo.

Ése curso se escribió hace como... Siete años más o menos xD. Cuando yo estaba en segundo de carrera. En ese entonces Python 3.0 no era usado por nadie y no tenía sentido aprenderlo si querías trabajar como profesional. Al margen de eso, es un buen curso, pero si no me falla la memoria no cubre SQL. Yo hoy en día lo que haría es seguirlo usando Python 3.6. Y le añadiría SQL. Hoy en día, no hay campo de la informática que no requiera soltura escribiendo en esa familia de lenguajes. Incluyendo bioinformática.


Ya entiendo. Pues no sé, estadística, desde un punto de vista teórico es complicada, a partir de métodos de análisis multivariante la cosa empieza a ponerse cuesta arriba, me acuerdo la primera vez que abrí un libro y leía frases como "calculado a través el cuadrado de las distancias del espacio euclídeo" y era como whaaaat? pero cómo calculo yo eso pisha? pèro bueno, todo se supera. Luego en la práctica, si te soy sincero, además de estadística descriptiva, clústering, regresiones y poco más se usa. Nunca en mi vida he visto un caso de uso realmente complicado, que fuese un reto real. También es cierto que nunca me he visto en un caso donde no pudiese resolver algo con una DB relacional al uso, asi que no sé. Me parece que hay mucho hype con el big data y la gente le quiere endosar spark hasta a un CRM.

Todo el dolor que he sufrido siempre ha sido curando datos. Es la cosa más horrorosa y tediosa que hay, y es tranquilamente donde gastas más tiempo, y lo peor es que la mayoría de las veces es un trabajo de chinos que te tiene pegado a la pantalla escudriñando como un pringao horas y horas.

Anyway, yo creo que lo mejor sería buscar algo estructurado (un curso vamos) con python + sql. A mí este me gusta mucho https://automatetheboringstuff.com/ pero que yo recuerde no tiene nada de SQL. A ver si encuentro algo con SQL y lo meto aquí.

Si quieres buscar por tu cuenta, python 3, que incluya SQL (supongo que enseñarán con MySQL o SQLite), y preferiblemente que sea muy práctico, como el que puse anteriormente.
 

Hijitusolvidosupass

I WANT CHAFLA BACK
Ya entiendo. Pues no sé, estadística, desde un punto de vista teórico es complicada, a partir de métodos de análisis multivariante la cosa empieza a ponerse cuesta arriba, me acuerdo la primera vez que abrí un libro y leía frases como "calculado a través el cuadrado de las distancias del espacio euclídeo" y era como whaaaat? pero cómo calculo yo eso pisha? pèro bueno, todo se supera. Luego en la práctica, si te soy sincero, además de estadística descriptiva, clústering, regresiones y poco más se usa. Nunca en mi vida he visto un caso de uso realmente complicado, que fuese un reto real. También es cierto que nunca me he visto en un caso donde no pudiese resolver algo con una DB relacional al uso, asi que no sé. Me parece que hay mucho hype con el big data y la gente le quiere endosar spark hasta a un CRM.
Sí, pero por lo general la estadística que necesitas en tu día a día en ingeniería de datos no llega tanto. Lo cual justifica aún menos que haya habido tan poco formación al respecto. Quiero decir, mi jefe de equipo, un ingeniero de software GENIAL, no sabía cómo calcular un percentile hace un par de semanas. Eso debería ser obligatorio...

Y lo big data es cierto y da para un libro entero. he visto casos de gente decir que mongodb es más rápido que postgresql en blogs. Si en un blog tienes diferencia de rendimiento entre mongodb y postgresql es que estás hciendo algo MUY mal. De nuevo, nosotros tenemos una base de datos con 1GB de información nueva al día y podemos hacer queries de meses en menos de un segundo simplemente usando la herramienta bien. Te entiendo tan bien eso... El 90% de los proyectos no necesitan ninguna técnica de big data.

Lo cual no quita que en el caso de bioinformática sí necesites otras medidas. El ADN es muy grande y por lo general lo haces sobre montones de personas. El último proyecto en el que trabajé con eso incluía bases de datos con 10TB de información. Ahí usar Spark, Hadoop y toda la peña tiene mucho sentido.

Todo el dolor que he sufrido siempre ha sido curando datos. Es la cosa más horrorosa y tediosa que hay, y es tranquilamente donde gastas más tiempo, y lo peor es que la mayoría de las veces es un trabajo de chinos que te tiene pegado a la pantalla escudriñando como un pringao horas y horas.
Ya xD. Es la peor parte de minería de datos. Y la menos elegante.

Anyway, yo creo que lo mejor sería buscar algo estructurado (un curso vamos) con python + sql. A mí este me gusta mucho https://automatetheboringstuff.com/ pero que yo recuerde no tiene nada de SQL. A ver si encuentro algo con SQL y lo meto aquí.

Si quieres buscar por tu cuenta, python 3, que incluya SQL (supongo que enseñarán con MySQL o SQLite), y preferiblemente que sea muy práctico, como el que puse anteriormente.
Arf... El problema es que ella ya está haciendo un curso. Quiero decir, lo único que no verá en primero de carrera del curso "Python the hard way" será test automáticos y flask. Todo lo demás, lo dará en la uni. Del libro "Automate the boring stuff", necesitará los últimos ocho capítulos. Todo lo demás, lo ves en la carrera. Normalmente lo que la carrera falla es en hacer proyectos que no sean pruebas de concepto. Es decir, aparte de lo que dará en primer año, necesitará: SQL, alguna framework web (Flask, Django, la que sea), tests automáticos, git e integración continua. Y todo eso lo puede aprender simplemente leyendo material relacionado con el tema. Es decir, si sabes programar, te basta con leer los ejemplos de Flask para saber como hacer un servicio web. O un poco sobre docstring para saber cómo hacer tests automáticos. No necesitas necesariamente un curso.

Si lo encuentras, mejor! Free Code Camp es un ejemplo de un excelente curso que cubre todo eso. Pero la mayoría no lo hace, la mayoría simplemente te enseña lo básico de programación y una, a lo sumo dos, de las otras cinco cosas. Pa eso es lo mismo simplemente meterte con un proyecto que te interese y aprender las tecnologías tangensiales mientras lo creas.

En resumen: Para mí, si estudias informática, lo importante es cubrir lo que no dan en la carrera. Es decir, proyectos que no sean pruebas de concepto y que sirvan un propósito "real." Si lo haces con un curso mejor, tienes información guiada. Pero en mi experiencia la mayoría de los cursos no siguen esos métodos. Si no encuentras uno, entonces casi mejor hacer el proyecto por tu cuenta que estar siempre dando vueltas en los mismos conceptos. Todo esto, desde mi experiencia luego de hacer 30 cursos que básicamente enseñaban lo mismo más dos o tres cosas aisladas.
 

Vaina Loca

New member
Sí, pero por lo general la estadística que necesitas en tu día a día en ingeniería de datos no llega tanto. Lo cual justifica aún menos que haya habido tan poco formación al respecto. Quiero decir, mi jefe de equipo, un ingeniero de software GENIAL, no sabía cómo calcular un percentile hace un par de semanas. Eso debería ser obligatorio...
Bueno, pero siempre hay alguna librería para hacer eso no? De todas formas XD http://www.vitutor.com/estadistica/descriptiva/a_13.html no tiene más misterio.

Yo hay muchísimas cosas que he olvidado cómo se hacen. Si entiendes del tema de forma conceptual, es mirarlo y ya está. Estadística descriptiva no es ningún problema, quizá para alguien que no trabaje con estas movidas estadística inferencial, rollo pruebas de hipótesis y tal se le haga raro, pero vamos.

Y lo big data es cierto y da para un libro entero. he visto casos de gente decir que mongodb es más rápido que postgresql en blogs. Si en un blog tienes diferencia de rendimiento entre mongodb y postgresql es que estás hciendo algo MUY mal. De nuevo, nosotros tenemos una base de datos con 1GB de información nueva al día y podemos hacer queries de meses en menos de un segundo simplemente usando la herramienta bien. Te entiendo tan bien eso... El 90% de los proyectos no necesitan ninguna técnica de big data.

Lo cual no quita que en el caso de bioinformática sí necesites otras medidas. El ADN es muy grande y por lo general lo haces sobre montones de personas. El último proyecto en el que trabajé con eso incluía bases de datos con 10TB de información. Ahí usar Spark, Hadoop y toda la peña tiene mucho sentido.
Supongo que para eso molará, yo es que realmente además de movidas CRUD y análisis realmente nunca he visto nada raro. De hecho si una empresa tiene data wharehouse normalmente ya es indicativo de que tienen o han tenido alguien con dos dedos de frente. Normalmente las empreas guardan los datos en Excels, y da putas gracias porque los he visto en PPTs y doc también (en serio, archivos de word con miles de tablas dentro, xD, nos estuvimos riendo una semana, hasta que tratamos de extraerlos xd).

Siempre que alguien me menciona algo relacionado con big data me sonrío, porque te lo suelta un tipo que tiene 10000 clientes. Pero bueno, nosotros siempre vendemos lo que hacemos como la repolla en vinagre, y la gente queda más contenta que dios. Básicamente el 99,9% de las veces es rediseñar los procesos, ver cómo se va a organizar el CRUD de turno, hacer algo tipo de dashboard/reporting y ya está. Es un trabajo tedioso a veces, pero de verdad tiene cero ciencia. Bueno, y cuando les enseñas cómo sacar datos de una DB a Excel ya la gente se mea directamente. Les parece puta magia.

Si es que en realidad la gente no necesita tanto. Para ser productivos necesitan que la peña se saque los datos y haga sus informes sin dolor, y con eso ya está prácticamente todo. A veces hasta tienen las herramientas ya, pero no saben usarlas.

Arf... El problema es que ella ya está haciendo un curso. Quiero decir, lo único que no verá en primero de carrera del curso "Python the hard way" será test automáticos y flask. Todo lo demás, lo dará en la uni. Del libro "Automate the boring stuff", necesitará los últimos ocho capítulos. Todo lo demás, lo ves en la carrera. Normalmente lo que la carrera falla es en hacer proyectos que no sean pruebas de concepto. Es decir, aparte de lo que dará en primer año, necesitará: SQL, alguna framework web (Flask, Django, la que sea), tests automáticos, git e integración continua. Y todo eso lo puede aprender simplemente leyendo material relacionado con el tema. Es decir, si sabes programar, te basta con leer los ejemplos de Flask para saber como hacer un servicio web. O un poco sobre docstring para saber cómo hacer tests automáticos. No necesitas necesariamente un curso.

Si lo encuentras, mejor! Free Code Camp es un ejemplo de un excelente curso que cubre todo eso. Pero la mayoría no lo hace, la mayoría simplemente te enseña lo básico de programación y una, a lo sumo dos, de las otras cinco cosas. Pa eso es lo mismo simplemente meterte con un proyecto que te interese y aprender las tecnologías tangensiales mientras lo creas.

En resumen: Para mí, si estudias informática, lo importante es cubrir lo que no dan en la carrera. Es decir, proyectos que no sean pruebas de concepto y que sirvan un propósito "real." Si lo haces con un curso mejor, tienes información guiada. Pero en mi experiencia la mayoría de los cursos no siguen esos métodos. Si no encuentras uno, entonces casi mejor hacer el proyecto por tu cuenta que estar siempre dando vueltas en los mismos conceptos. Todo esto, desde mi experiencia luego de hacer 30 cursos que básicamente enseñaban lo mismo más dos o tres cosas aisladas.
Ayer estuve buscando un ratillo, pero la verdad no he encontrado nada, qué raro la verdad.
 
Arriba