#5#6#10 Las tiendas físicas tienen prohibido por la PCI DSS almacenar datos como el nombre o la dirección del titular*. Pero, si pagas con tarjeta, sí almacenan los cuatro últimos dígitos. Ese dato, unido al código postal, es muy eficiente a la hora desanonimizar una compra si los cruzas con, por ejemplo, una base de datos de compras online.
Una práctica más que recomendable para mantener a salvo (en la medida de lo posible) nuestra privacidad no es preguntarnos todas y cada una de las veces si ese dato puede comprometerla, sino simplemente no dar nunca un dato personal a no ser que sea estrictamente necesario. Las grandes compañías gastan ingentes de dinero en intentar obtener lo máximo posible de todos los cidudanos, es imposible estar al tanto en todo momento de sus estrategias y mucho menos pensar que podemos pillarlas al vuelo. Como puedes comprobar, a veces el dato más aparentemente irrelevante es clave para una desanonimización.
* Salvo que sea necesario para la transacción, p.ej. un envío a domicilio.
Vale, no es obligatorio. Pero ¿por qué no debería darlo? Las tiendas te piden el codigo postal para saber desde donde viaja la gente para comprar, es decir, para saber donde podrían abrir más tiendas o hasta donde tiene sentido hacer publicidad. Los museos y otras instituciones lo hacen por motivos parecidos solo que ahí ni siquiera hay ánimo de lucro. No me parece una finalidad terrible e incluso me puede parecer bien que abran una tienda que me gusta más cerca de mi casa.
Me parece bien que la gente no de sus datos personales pero no han explicado por qué no debería darlo. Vaya por delante que yo no suelo darlo en sitios privados y no tengo ni tarjetas de fidelización ni nada parecido porque me parece que es darles el trabajo hecho a los de márketing pero no creo que este mal o sea peligroso hacerlo. Y menos aún este dato en concreto que dentro de los que piden es de los menos personales.
#129 no es un mal libro.
Lo malo es el integrismo.
Es muy importante en una empresa establecer unas convenciones de código, pq nadie puede ser imprescindible.
El código mantenible e independiente de librerías externas es vital en un producto a largo plazo. Y ha de estar abstraído totalmente del entorno en el que se ejecuta.
De lo contrario tus costes de mantenimiento irán creciendo más que tus mejoras en producto.
Y el uso de ddd es vital para trabajo en equipos desde mi punto de vista.
#60 Uf, precisamente ese libro, de "Uncle Bob", está muy denostado en el mundo profesional internacional, aunque sea el texto sobre el que juran en la Universidad.
Es precisamente una de las cosas que uno tiene que aprender por sí mismo con experiencia y opiniones de técnicos experimentados en el campo, como el saber qué es útil y qué son pajas mentales.
Animo a toda la gente que le han dicho que sigan los principios de Clean Code que busque por internet opiniones de gente con experiencia en el mundo real (no académicos) sobre lo ilegible e improductivo que hace el código por tomarse ese texto demasiado en serio.
Nota: No es que programar siguiendo una disciplina de tener código claro y limpio sea malo, sino seguir los ejemplos y consejos de ese libro concreto.
#37 Totalmente de acuerdo con lo que dices, es tal cual.
Lo que me refería, es que si alguien estudia informática, yo esperaría que si quiere aprender a programar decentemente, tiene que poner algo de su parte, en sus ratos libres durante/tras esos años de universidad, no esperando que con ir a clase y hacer los trabajos ya vaya a saber programar bien.
De la misma manera que me esperaría que un estudiante de periodismo siga por su cuenta la actualidad por distintas fuentes en distintos idiomas, leyendo de vez en cuando algo sobre el funcionamiento interno del mundillo del periodismo, su historia... O que un profesor ed educación practique deporte regularmente y siga eventos deportivos proesionales o amateur.
Ojo, no estoy diciendo ni mucho menos vivir para trabajar. Simplemente tener un poco de iniciativa en proesiones que suelen (o deberían) ser muy vocacionales, y donde hace falta de verdad tener iniciativa para currar bien.
#1 No conozco ninguna carrera en la que se haga tal cantidad de prácticas como en esta. Yo tuve prácticas hasta en las asignaturas de matemáticas, y en todas había que programar.
Durante la carrera programé en varios lenguajes, desde lisp hasta python pasando por c/c++/java. Implementé una aplicación de escritorio completa (en equipo), implementé un compilador de un lenguaje tipo C (con punteros, estructuras de datos, funciones, recursividad, bucles...), e hice multitud de prácticas donde las cosas tenían que funcionar, desde un servidor http hasta un módulo de aterrizaje para una sonda espacial basado en reglas. ¿Bases de datos? Tuve una hora de prácticas a la semana durante un curso, escribí todo tipo de consultas, procedimientos almacenados, ¿redes? sockets y stacks de comunicaciones en C, por no hablar de tener bases sólidas en IA, ¿sistemas operativos? pues tuvimos que programas un kernel (sí muy básico, en C), pero hasta tenía planificación de hilos, y suma y sigue...
¿Qué cojones se estudia hoy en la carrera? Yo tenía una base muy completa cuando terminé (empecé en el 98) y esa base después te permite elegir profesión de entre las muchísimas que hay.
Y los que hablan de que es cómo decir que un arquitecto tiene que aprender a poner ladrillos...pues no saben de qué están hablando, así de simple.
#12 todos esos que nombras, que la excepción hecha de los matemáticos (y ni de coña todos) saben modificar un programa rompiendolo poco (con suerte) y hacer scripts. Se ve cuando un tipo sabe programar porque es capaz de producir un programa complejo de cero, y es diestro en el lenguaje utilizado.
La mayoría de gente que está programando, desde devops a ingenieros de software, programan que da pena (y porque hablamos de programar, que si empezamos con conocimiento de infrastructura o de arquitectura de computadores ya se te caen los huevos al suelo). Porque cualquier tipo que vaya a un bootcamp de 4 meses puede ponerse a su nivel (y lo veo cada puto dia de mi vida).
Todos estos que nombras se salvan de la quema por una razón muy simple: los ingeniero electronicos que estan desarrollando los procesadores y sistemas integrados consiguen/conseguían mejoras importantes de rendimiento cada año/año y poco. Entonces, no salia a cuenta invertir en programar bien... Al cabo de un par de años todo irá el doble de rapido despues del cambio de hardware en la empresa. Por esta razón se incentiva el uso de frameworks que te permiten programar mierda muy rapido, sin tener ni idea de que estas haciendo, y que ocupan lo que no esta escrito tanto en disco como en memoria.
Igual programar no es la función del ingeniero informático. Es diseñar, modelar, definir los algoritmos y las estructuras de datos y que programen otros. Yo no terminé la carrera y la enpecé tres veces porque cambié de la ingeniería técnica en informática de sistemas a la de gestión y luego a la superior, pero trabaja a jornada completa. No me considero buena programadora, pero tampoco ha sido nunca el foco de mi trabajo. Tengo un nivel decente para hacer más cosas que necesito hacer. Aprendí las bases para mejorar por mi cuenta.
A programar aprendes más en un mes con las practicas de las asignaturas que en el resto del curso con la teoría. Si te hace otro las prácticas vas a suspender porque no vas a aprender nada y en el examen no te va a dar tiempo en aprobar. No conozco nadie que no haya terminado en las dos universidades en las que he estado que no tenga un nivel decente de programación, independientemente de la carrera, ya fuera teleco, telemática, industriales o físicas.
Quién quería preparación para el mundo laboral que haga una FP.
Pues no sé, a mi me parece normal. Habla de "ciencias de la computación" es decir, conocimientos profundos y teóricos sobre un campo. Es, como ha mencionado #7, como esperar que en ingeniería te enseñen a soldar. O que en lingüística te enseñen los verbos en ingles. O que en biología te enseñen donde están los nidos de buitre negro de tu pueblo porque lo que quieres es ser guia ornitologico
La universidad normalmente no te enseña "lo que la industria necesita" sino, por lo menos en teoría, un campo del conocimiento con cierta profundidad. Después tienes que especializarte y buscarte una carrera profesional.
Para aprender a programar entiendo que están las FPs y la propia iniciativa de cada alumno.
#22 He votado bulo por que es directamente lo que és y hablo como profesional que trabajó de profesor asociado durante 6 años en la universidad impartiendo, fundamentalmente, programación y desarrollo de software. Pero es que incluso en asignaturas como Matemáticas o Estadística, también realizan prácticas de programación. Voy más allá. Por mi conocimiento de planes de otras carreras, diría que en la gran mayoría de ingenierías se imparten al menos unos conocimientos básicos de programación, que yo conozca, industriales, química, biotecnología... y agarrensé incluso ADE como optativa. Ese es el nivel del periodista que ha escrito semejante absurdez.
Sólo echando un vistazo a los títulos de los TFG, que en un alto porcentaje de los casos es desarollo de X (web, aplicación móvil) para Y (dominio que le guste al alumno / o dónde hizo sus prácticas), descartaría semejante titular. Es criticable que no se incida en los que sería el proceso de desarrollo de software profesional y que, esto si es posible, los alumnos no sepan ni lo que es un sistema de versionado de código, patrones o buenas prácticas de codificación (cuanto daño hacen las variables i, j,k,l,m,n) y no hablemos, de definir una arquitectura software utilizando servicios cloud (esto ya se lo cobran bien en los másters). ¿Pero programación?, ya directamente lo que faltaba por leer.
En la universidad te enseñaban a pensar con cierta "lógica" y a estructurar el pensamiento de forma que después puedas aplicarlo a la hora de diseñar un sistema.
Nadie confía en lo que va a aprender en la universidad, donde la cantidad de horas que programas por día -o semana- no son las necesarias para aprender. A la universidad no vas a aprender a programar, eso está claro.
Si recuerdo, que más de una vez el profesor te hacia leer código que los mismos alumnos llevaban de sus trabajos buscando un error (antes no era tan fácil como ahora encontrarlos) y podías estar una o 2 clases hasta que lo encontrábamos, decían que leyendo y buscando era cómo se aprendía.
La universidad siempre estuvo más orientada a la parte matemática de la carrera, la parte de programación la aprendías en casa principalmente, y en trabajo después.
#22 en mis tiempos había en 1º una asignatura de 12 créditos que era fundamentos de programación.
En donde enseñaban algoritmia.
Se programaba en papel en pseudocódigo en castellano.
Me pareció realmente útil ya que te enseñaban a pensar.
Y sinceramente si un informático no domina la algoritmia, mejor dedícate a otra cosa.
Luego el framework de moda o el lenguaje x se aprende fuera, pero la base es importante.
1) Es de Reddit, donde a veces puedes encontrarte bromas absurdas e igual esta a sido una que "ha colado".
2) No me creo que haya terminado PRIMERO de informática sin haber programado nada, de hecho, en primero a parte de Cálculo, Física y Álgebra solo programabas, no te enseñaban nada más. Puede que haya cambiado desde mis tiempos, pero ¿tanto?
3) En la empresa en la que trabajo suelen venir recien licenciados a trabajar de becarios, y siempre (menos una vez) se les ha contratado al finalizar las prácticas. Todos ellos saben programar, les tienes que enseñar otras cosas, sobretodo orientadas al cliente, pero saben programar.
4) brecha universidad / industria: Ah! No, la universidad no está para dar carne de cañon con la tecnología de moda, la universidad está para enseñar como funcionan las cosas, aprender un lenguaje o un sistema no te va a costar mucho y estos varian mucho con los años.
Si aprendes un sistema (Java, Python, Rust, C++, VisualBasic, TurboPascal... da igual) puedes encontrarte que en unos pocos años lo que era el top del top ya no se usa para nada.
En mi época hubo empresas que se quejaron de que saliesemos de la facultad sin saber programar en Cobol, que era lo que usaban todas las empresas... imaginate! (Tardé como dos días en aprender Cobol y no era el lápiz más afilado del estuche).
Eso por estudiar en la universidad cara pero muy bonita que te paga tu papá.
A mi en la pública tampoco me enseñaron a programar. Pero en las prácticas tenías que saber. Que no sabes? Pues tu puto problema, te las apañas. Y vaya que si aprendes.
Hay una cosa que me parece más grave aún que no se enseña entre los universitarios y que en FP sí y me parece vital, la asignatura de 'Formación y orientación laboral' donde te enseñan como entender una nómina, que es un convenio y algunas nociones de derecho laboral.
Una práctica más que recomendable para mantener a salvo (en la medida de lo posible) nuestra privacidad no es preguntarnos todas y cada una de las veces si ese dato puede comprometerla, sino simplemente no dar nunca un dato personal a no ser que sea estrictamente necesario. Las grandes compañías gastan ingentes de dinero en intentar obtener lo máximo posible de todos los cidudanos, es imposible estar al tanto en todo momento de sus estrategias y mucho menos pensar que podemos pillarlas al vuelo. Como puedes comprobar, a veces el dato más aparentemente irrelevante es clave para una desanonimización.
* Salvo que sea necesario para la transacción, p.ej. un envío a domicilio.
Vale, no es obligatorio. Pero ¿por qué no debería darlo? Las tiendas te piden el codigo postal para saber desde donde viaja la gente para comprar, es decir, para saber donde podrían abrir más tiendas o hasta donde tiene sentido hacer publicidad. Los museos y otras instituciones lo hacen por motivos parecidos solo que ahí ni siquiera hay ánimo de lucro. No me parece una finalidad terrible e incluso me puede parecer bien que abran una tienda que me gusta más cerca de mi casa.
Me parece bien que la gente no de sus datos personales pero no han explicado por qué no debería darlo. Vaya por delante que yo no suelo darlo en sitios privados y no tengo ni tarjetas de fidelización ni nada parecido porque me parece que es darles el trabajo hecho a los de márketing pero no creo que este mal o sea peligroso hacerlo. Y menos aún este dato en concreto que dentro de los que piden es de los menos personales.
Lo malo es el integrismo.
Es muy importante en una empresa establecer unas convenciones de código, pq nadie puede ser imprescindible.
El código mantenible e independiente de librerías externas es vital en un producto a largo plazo. Y ha de estar abstraído totalmente del entorno en el que se ejecuta.
De lo contrario tus costes de mantenimiento irán creciendo más que tus mejoras en producto.
Y el uso de ddd es vital para trabajo en equipos desde mi punto de vista.
Es precisamente una de las cosas que uno tiene que aprender por sí mismo con experiencia y opiniones de técnicos experimentados en el campo, como el saber qué es útil y qué son pajas mentales.
Animo a toda la gente que le han dicho que sigan los principios de Clean Code que busque por internet opiniones de gente con experiencia en el mundo real (no académicos) sobre lo ilegible e improductivo que hace el código por tomarse ese texto demasiado en serio.
Nota: No es que programar siguiendo una disciplina de tener código claro y limpio sea malo, sino seguir los ejemplos y consejos de ese libro concreto.
Lo que me refería, es que si alguien estudia informática, yo esperaría que si quiere aprender a programar decentemente, tiene que poner algo de su parte, en sus ratos libres durante/tras esos años de universidad, no esperando que con ir a clase y hacer los trabajos ya vaya a saber programar bien.
De la misma manera que me esperaría que un estudiante de periodismo siga por su cuenta la actualidad por distintas fuentes en distintos idiomas, leyendo de vez en cuando algo sobre el funcionamiento interno del mundillo del periodismo, su historia... O que un profesor ed educación practique deporte regularmente y siga eventos deportivos proesionales o amateur.
Ojo, no estoy diciendo ni mucho menos vivir para trabajar. Simplemente tener un poco de iniciativa en proesiones que suelen (o deberían) ser muy vocacionales, y donde hace falta de verdad tener iniciativa para currar bien.
Durante la carrera programé en varios lenguajes, desde lisp hasta python pasando por c/c++/java. Implementé una aplicación de escritorio completa (en equipo), implementé un compilador de un lenguaje tipo C (con punteros, estructuras de datos, funciones, recursividad, bucles...), e hice multitud de prácticas donde las cosas tenían que funcionar, desde un servidor http hasta un módulo de aterrizaje para una sonda espacial basado en reglas. ¿Bases de datos? Tuve una hora de prácticas a la semana durante un curso, escribí todo tipo de consultas, procedimientos almacenados, ¿redes? sockets y stacks de comunicaciones en C, por no hablar de tener bases sólidas en IA, ¿sistemas operativos? pues tuvimos que programas un kernel (sí muy básico, en C), pero hasta tenía planificación de hilos, y suma y sigue...
¿Qué cojones se estudia hoy en la carrera? Yo tenía una base muy completa cuando terminé (empecé en el 98) y esa base después te permite elegir profesión de entre las muchísimas que hay.
Y los que hablan de que es cómo decir que un arquitecto tiene que aprender a poner ladrillos...pues no saben de qué están hablando, así de simple.
La mayoría de gente que está programando, desde devops a ingenieros de software, programan que da pena (y porque hablamos de programar, que si empezamos con conocimiento de infrastructura o de arquitectura de computadores ya se te caen los huevos al suelo). Porque cualquier tipo que vaya a un bootcamp de 4 meses puede ponerse a su nivel (y lo veo cada puto dia de mi vida).
Todos estos que nombras se salvan de la quema por una razón muy simple: los ingeniero electronicos que estan desarrollando los procesadores y sistemas integrados consiguen/conseguían mejoras importantes de rendimiento cada año/año y poco. Entonces, no salia a cuenta invertir en programar bien... Al cabo de un par de años todo irá el doble de rapido despues del cambio de hardware en la empresa. Por esta razón se incentiva el uso de frameworks que te permiten programar mierda muy rapido, sin tener ni idea de que estas haciendo, y que ocupan lo que no esta escrito tanto en disco como en memoria.
A programar aprendes más en un mes con las practicas de las asignaturas que en el resto del curso con la teoría. Si te hace otro las prácticas vas a suspender porque no vas a aprender nada y en el examen no te va a dar tiempo en aprobar. No conozco nadie que no haya terminado en las dos universidades en las que he estado que no tenga un nivel decente de programación, independientemente de la carrera, ya fuera teleco, telemática, industriales o físicas.
Quién quería preparación para el mundo laboral que haga una FP.
La universidad normalmente no te enseña "lo que la industria necesita" sino, por lo menos en teoría, un campo del conocimiento con cierta profundidad. Después tienes que especializarte y buscarte una carrera profesional.
Para aprender a programar entiendo que están las FPs y la propia iniciativa de cada alumno.
Sólo echando un vistazo a los títulos de los TFG, que en un alto porcentaje de los casos es desarollo de X (web, aplicación móvil) para Y (dominio que le guste al alumno / o dónde hizo sus prácticas), descartaría semejante titular. Es criticable que no se incida en los que sería el proceso de desarrollo de software profesional y que, esto si es posible, los alumnos no sepan ni lo que es un sistema de versionado de código, patrones o buenas prácticas de codificación (cuanto daño hacen las variables i, j,k,l,m,n) y no hablemos, de definir una arquitectura software utilizando servicios cloud (esto ya se lo cobran bien en los másters). ¿Pero programación?, ya directamente lo que faltaba por leer.
En la universidad te enseñaban a pensar con cierta "lógica" y a estructurar el pensamiento de forma que después puedas aplicarlo a la hora de diseñar un sistema.
Nadie confía en lo que va a aprender en la universidad, donde la cantidad de horas que programas por día -o semana- no son las necesarias para aprender. A la universidad no vas a aprender a programar, eso está claro.
Si recuerdo, que más de una vez el profesor te hacia leer código que los mismos alumnos llevaban de sus trabajos buscando un error (antes no era tan fácil como ahora encontrarlos) y podías estar una o 2 clases hasta que lo encontrábamos, decían que leyendo y buscando era cómo se aprendía.
La universidad siempre estuvo más orientada a la parte matemática de la carrera, la parte de programación la aprendías en casa principalmente, y en trabajo después.
En donde enseñaban algoritmia.
Se programaba en papel en pseudocódigo en castellano.
Me pareció realmente útil ya que te enseñaban a pensar.
Y sinceramente si un informático no domina la algoritmia, mejor dedícate a otra cosa.
Luego el framework de moda o el lenguaje x se aprende fuera, pero la base es importante.
1) Es de Reddit, donde a veces puedes encontrarte bromas absurdas e igual esta a sido una que "ha colado".
2) No me creo que haya terminado PRIMERO de informática sin haber programado nada, de hecho, en primero a parte de Cálculo, Física y Álgebra solo programabas, no te enseñaban nada más. Puede que haya cambiado desde mis tiempos, pero ¿tanto?
3) En la empresa en la que trabajo suelen venir recien licenciados a trabajar de becarios, y siempre (menos una vez) se les ha contratado al finalizar las prácticas. Todos ellos saben programar, les tienes que enseñar otras cosas, sobretodo orientadas al cliente, pero saben programar.
4) brecha universidad / industria: Ah! No, la universidad no está para dar carne de cañon con la tecnología de moda, la universidad está para enseñar como funcionan las cosas, aprender un lenguaje o un sistema no te va a costar mucho y estos varian mucho con los años.
Si aprendes un sistema (Java, Python, Rust, C++, VisualBasic, TurboPascal... da igual) puedes encontrarte que en unos pocos años lo que era el top del top ya no se usa para nada.
En mi época hubo empresas que se quejaron de que saliesemos de la facultad sin saber programar en Cobol, que era lo que usaban todas las empresas... imaginate! (Tardé como dos días en aprender Cobol y no era el lápiz más afilado del estuche).
A mi en la pública tampoco me enseñaron a programar. Pero en las prácticas tenías que saber. Que no sabes? Pues tu puto problema, te las apañas. Y vaya que si aprendes.