Según un reporte publicado por HackerRank, una plataforma de contratación en el sector tecnológico, la gran mayoría de los desarrolladores que están estudiando lo hacen de forma autodidacta. El estudio analizó las respuestas de 10.351 programadores en todo el mundo y encontraron que aunque la mayoría de los estudiantes de ciencias en computación están aprendiendo desarrollo de software en las universidades, más de la mitad de ellos dicen que aprenden por su cuenta a tiempo parcial.
Comentarios
Otro estudio dice que a veces en el curro te meten en ebolaos sin ofrecerte ninguna preparacion y te toca descargarte un manual en pdf de "Aprenda sanscrito de neutrinos ionizantes en do mayor como si estuviese en primero" y te tienes que joder.
#1 Así han sido mis dos últimos cambios de tecnología. Y entre algún compañero y stackoverflow, a tirar p'alante.
#3 Huy stackoverflow, ya me gustaria a mi tener stackoverflow y no la puta mierda del sap.scn de los cojones y su miserable comunidad...
#6 Rewards points if helpfull. Rajesh Lakshmipathi
#20 "Que pollas dice el puto indio" es quizá la frase más repetida de todo profesional del SAP en habla hispana.
"Fucking Apu" lo es en inglés
#21 trabajo mucho sincronizando ecommerce con SAP y su webservice es de lo peor, dan ganas de llorar.
#48 yo tenía que ponerle timeouts para no petarlo, y cuidarme de no tener más de una conexión recurrente. Puta pena.
#48 #63 Pa la próxima: los webserevices de SAP son una tecnología de hace más de 10 años pensada para comunicaciones asíncronas o síncronas pero muy de andar por casa (tipo preguntar el estatus de algo que solo tendría q buscar el valor en una tabla)
No son un protocolo de comunicaciones medio serio para volúmenes masivos ni para levantar cargas de trabajo sincronas, y si, se que mucha gente los monta así y es una cafrada
Pa la próxima decís "eso se hace con abaproxies por PI/PO (que es un módulo de comunicaciones aparte) o mediante idocs (una especie de frontal de admisión de ficheros)".
SAP tiene su mierda pero es un sistema estable y claro que tiene cacharros pensados para comunicaciones que van razonablemente bien, pero se suele montar cosas que me provocan embolias por total desconocimiento... (Culpa de q no hay nada q se parezca a stackoverflow y vamos como pollos sin cabeza)
#75 no era de mi parte, yo me límite lo que me suministraba el cliente, ya hice demasiados "milagros" para que eso andará.
#21
#21 vivo cerca de la central de SAP. Si queréis uqe les deje un mensajito, avisad
P.S. NPI qué cojones es SAP ni para qué sirve, pero cuando voy al ikea, aquel agujero infernal es básicamente una aldea pegada a SAP.
#79 Defeca en su puerta y si puedes pintar con tus heces "Code-Kommentare müssen in Englisch sein" bien grandote te lo agradeceré.
Es lo que yo haría
(PD: Es una empresa gorda que hace software de gestion empresarial)
#79 somos vecinos!
#21 Los indios siempre dicen lo mismo:
"Yes, sure."
#6 No hay stackoverflow para sap?
#43 4 mierdas, no hay comunidad
#6 malditos gurus indios!
Pasate a Fiori y podras ver algunas cositas en stack. Pero como sabrás back y front preparate para ser mancillado por todos los orificios
#6 eso es lo que te mereces por meterte en ese mundo mierdoso,aunque hay cosas peores,siempre las hay peores....
#c-6" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3054746/order/6">#6 1 año de SAP me basto para decidir que eso era el 9 infierno. Ahora trabajo alegremente con microservicios de python y c#. Mis pobre compañeros qye se quedaron ahora se ven atados a una tecnologia arcaica. La conclusion es que se puede cambiar a mejor
#91 Pobres, les va a pasar como a los de Cobol, anclados en una tecnología arcaica, abocados al paro y la miseria... Oh wait! Que en cobol hay paro cero y están todos forrados!
#98 Qué coño, con una década de experiencia cobran menos que un frontender angular ¿7? con un par de añitos de experiencia en entornos angular.
#98 y en otras muchas tecnologias ke no dan ascopena.
#98 Hombre....no conozco programador de cobol en paro, pero también te digo que podrían salir en algún programa de los peores trabajos del mundo, creo que por convenio deben hasta cobrar plus por penosidad.
#91 Recuerdo que estando yo en el paro, me apunté por curiosidad a un cursillo de SAP, y en la presentación, lo vendieron como que aquello era el futuro, cuando es una puta mierda.
Total, duré una semana. ES INFUMABLE. Es una mierda creada por cabronazos que querían hacerse ricos con un modelo de mierda, un lenguaje de mierda y un ecosistema de mierda. Y por eso cobran tanto. Porque es tan mierdoso todo, que tienes que tener unos cojonazos inmensos para hacer algo.
PD: Siempre he programado en C++ y desde hace años ya, lo combino con Angular y Node
#6 Se cargaron la comunidad con la actualización que hicieron para ponerlo todo más "bonito"... antes tenía bastante movimiento y solían contestar rápido, ahora aquello es un desierto...
#6 Nadie te obliga. Déjalo!
#1 Como dejae pasar esa gran development opportunity.
#24 "Tienes que ser más curioso, seguro que te pones a ello y lo sacas en un par de jornadas" es la frase que hace detonar mi más insana furia asesina
#25 Con el tiempo he desarrollado un gesto de psicópata a punto de hacer "click" que si bien no me evita todos los marrones me ahorra ese tipo de frases.
#25 ¡Para nada!
Con eso tienes carta blanca para prenderle fuego a todo.
'Ups! Es que aun hay cosas que no sé exactamente como van'
Aprovéchala y que no quede piedra sobre piedra!
#25 Y luego es cuando el proyecto lo recoge un verdadero desarrollador senior y te lo saca
PD: Que además aprovecha para dar un taller a los compañeros y elevarlos, eso ya es de team lead
#1 Pero eso estaba bien en 1998, te pagaban un montón de pasta por hacer tu afición. Hoy en día ser informático es una mierda, sin convenio o con convenios estatales y poco más de 1.000 €.
#42 Si no te mueves y dejas que te exploten si. A poco que tengas 2-3 años de experiencia y te muevas un poco te es fácil ponerte en 1700, 1800 o más incluso si tu tecnologia está de moda y hay demanda.
#99 1700 ó 1800 se supone que es algo "bien pagado" en España por ser programador?
Jojojojoj
#42 el convenio es una mierda y hay que luchar para mejorarlo pero a poco que te muevas es facil ponerse en 30-40k, aunque depende mucho de la ciudad donde vivas. En las grandes ciudades puedes ganar incluso más, y en las periféricas tambien, pero como estén alejadas te puedes comer los mocos pero bien (igual que el resto de trabajos, vamos, en Madrid y Barcelona se paga mucho más por el trabajo cualificado que Cádiz o Badajoz, y llega a ser más del doble en algunos casos)
#42 Si cobras poco más de 1.000 y no es porque acabas de empezar, algo estás haciendo mal. Si no detectas lo que estás haciendo mal, cambia de profesión.
#1 ¡No me llegan los positivos! Te mereces más ¿Donde se compran?
#1 Formación a base de Google de toda la vida, parece que han descubierto la rueda los del estudio
#96 Técnico en Google Research Analytics
#1 Tu es que eres "consultant" a que si?
#1 pero la noticia creo que no habla de eso. Esa circunstancia que comentas la tienes tanto si has aprendido a programar en la universidad como si no.
Lo que viene a decir la noticia es que el 65% de los que se ponen a trabajar en programación no tenían ni puta idea del tema y se lo curraron solitos con pdf de internet.
Yo tengo la carrera y los embolaos esos que comentas me los he tenido que comer como todo hijo de vecino. Pero eso es por el funcionamiento de la empresa en nuestro país, nada más.,
#1 Programming XXXXX for dummies, si te llevas bien con el ingles
#1 Y luego te encuentras que la documentación esta mal. O que ni el codigo de ejemplo funciona.
Y el otro 35% de los desarrolladores programa sin haber aprendido a hacerlo, ni por su cuenta ni de otra manera.
#2 Y lo hacen en java.
#4 Y usando eclipse.
#10 Con eclipse no te metas que es software libre, "ke yamo a mi primo el Richar y us bais a kagar" .
#10 Eclipse me está tocando volver a manejar ahora después de 9 años sin tocarlo, y es un puto horror
#78 ¿Por qué?
Yo lo uso con java y me ofrece todo lo que necesito. Prefiero intellij pero eclipse es versátil y fiable.
Supongo que para desarrollo web hay cosas mejores, pero en general eclipse va bien.
#97 vim
Sois unos flojos.
#10 #4 Java en buenas manos es un cohete. En malas manos un arma de destrucción masiva.
#94 es un lenguaje interpretado, jamás será un cohete.
#4 Yo lo hago en Java (o hacia) y cuando quieras te doy un buen repaso, campeon
#2 Pero manejan el copy/paste en/desde stackoverflow que alucinas.
#5 Como todo el mundo.
#5 Que mala es la envidia de los que por un motivo u otro no encuentran soluciones para su lenguaje en stack overflow
#144 Tú eres claramente uno de esos desarrolladores que mencionaba #2
#2 Toda la razon!
Respecto a la noticia: Joder, pues claro que todos aprendemos por nuestra cuenta! La universidad no esta para salir con un lenguaje aprendido, si no con la mente lo suficientemente preparada para aprender y para adaptarte a un mundo que cambia a la velocidad de la luz. Por lo menos es lo que yo aprendi.
Cuando me ha llegado algun chaval diciendo "joder, quieren que aprenda a programar con un papel y un boli" ya se a que parte de los desarrolladores pertenece.
Se supone que para eso sirve la carrera, para prepararte y entender lo que estas haciendo y luego poder saltar de un punto a otro de forma mas fail. Otra cosa es que en tu empresa no te den el tiempo ni las herramientas para hacer ese salto y te tengas que sacar tu mismos las castañas del fuego.
Cualquier tiempo que dediques a aprender algo que es para el proyecto en el que estas trabajando debería salir de tus horas de trabajo. Pero sere yo que llevo demasiado fuera de España y estoy estropeado.
#7 Yo he "aprendido" en mis horas de trabajo, pero no es igual que te den un cursillo con lo nuevo que aporta esa tecnología para que le saques el máximo rendimiento, donde consultar tus dudas, etc., que darte una espadita y un escudo y lanzarte al circo con los leones. De hecho suele pasar que tengas que aprender a la vez que sacas adelante el desarrollo. Dos años después ves lo que hiciste al principio y te preguntas cómo aquello llegó a funcionar.
#9 Buenos libros, preguntar en foros y nodejarse llevar por la desesperación inicial. En un curso siempre vas a ir al ritmo que marquen los otros.
#9 Si lanzándote al circo con una espadita y un escudo, lograste sacar la faena. ¿Por qué debería, además, invertir en formación específica para tí?
Uno mismo es responsable de desarrollarse profesionalmente. Pedirle a la empresa que te forme es lo mismo que pedirle a papá estado que te dé un trabajo o una paguita. Muy diferente es que haya un conocimiento que la empresa quiere que tengas de antemano, entonces ella tendrá un incentivo a formarte, y, si lo hace o no, será cosa suya.
http://97cosas.com/programador/el-programador-profesional.html
https://www.oreilly.com/ideas/7-ways-to-be-a-better-programmer-in-2014#four
#47 Pues ya puedes temblar. Médicos, abogados, arquitectos; todos se siguen formando por su cuenta después de la carrera si quieren ser buenos profesionales, y no van llorando porque "su empresa no les forma".
Pero bueno, esto es como las quejas de bar. Si quieres que la empresa te forme, pídelo y justifícalo; dale un plan. Si, en cambio, tú quieres aprender algo, o crees que estudiando X serás mejor en tu trabajo, pues hazlo en tu tiempo libre, como hacemos todos.
#9 Acabas de definir mi trabajo. Pero lo mejor es dos años después decirle a mi jefe que estaría bien durante una semana corregir todo eso antes de continuar aceptando nuevas peticiones del cliente y que te suelte un "¿Pero que no lo programaste para que estuviera bien desde el principio?" y tu
#7 Ninguna empresa va a preocuparse de tu futuro laboral. Tu carrera profesional es cosa tuya, especialmente, porque tu serás el primero en beneficiarte de tus progresos.
Te recomiendo este libro, si no lo has leído:
https://www.amazon.com/Software-Craftsman-Professionalism-Pragmatism-Robert/dp/0134052501
#7 En la carrera se aprenden muchísimas cosas más aparte de programar. Lo que pasa es que en España el mercado lo dominan cárnicas que solo buscan gente para programar y no haya muchaa oportunidades de aplicar otros conocimientos.
#88 En realidad en la carrera se enseñan los fundamentos, para que cuando te pongas a programar lo hagas mínimamente bien.
#88 Joder que sí, pero se olvida enseguida.
Yo era un crack al Mús.
#7 Bueno, a mi en la carrera tampoco me enseñaron. Las clases de programación no te enseñaban a programar como tal, te enseñaban la teoría de los conceptos básicos variables, objetos, etc. pero luego te ponían un ejercicio programar en C tal cosa y el profe te decía búscate la vida que es lo que tendrás que hacer cuando salgas de la carrera
#7 "de otra forma más fail"
Me ha encantado el fail
Buenó, amigos de youtube, en este video le vamos a explicar como programar para que les quede relindo.
#18 cómo programar pitón
#18
#18
Es que una cosa es aprender "a programar " y otra cosa es aprender un lenguaje concreto... aprender a programar son ideas, conceptos y tecnicas que luego te las encuentras en 1000 lenguajes...los bucles, condiciones y recursividad te da lo mismo java que C que fortran... luego te vuelves loco con los detalles, pero la teoria y las ideas no cambian, con la sintaxis te vuelves loco
#8 Eso de que los conceptos no cambian... ¿Sabrías explicarme lo que es una "promesa" de Redux (javascript), sin mirarlo? Porque yo no lo había visto en ninguno de los otros lenguajes que he usado en mi vida, y tengo el culo pelado de programar.
#12 .... con excepciones?
que bien hice dejando el desarrollo y buscándome otras tareas.... me acabas de alegrar la tarde!
#16 te entiendo perfectamente.
#12 Meu, intenta escapar del desarrollo web, la vida es demasiado bella para desperdiciarla clavandote agujas debajo de las uñas para sentirte humano.
#22 Yo trabajo de desarrollador web (React y Ruby on Rails) y no tengo de que quejarme.
#72 Me explico:
Al menos visto desde fuera, Web es un constante bullir de tecnologías, lo que ayer era PHP hoy es Node.js y mañana Phyton, pero tu haces Ruby, que no esta mal, podria ser peor, podrias estar en Go o cerrar tu desarrollo a Objective-C viendo como se deprecia poco a poco mientras se impone Swift, eso si, librenos dios de Java.
Y eso multiplicado por las dieciocho millones de librerias, entornos virtualizados bla bla bla hace que sea un mundillo que al menos pa mi creo que se dirige muchisimo por modas y hypes con lo que en vez de centrarte en desarrollar tus cacharros tienes que andar pendiente constantemente de que es la ultima chorrada que ha dicho Google que lo peta y ahora quiere todo el mundo meter con calzador, miles de reinvenciones de la rueda.
Amos yo soy un muy feliz desarrollador de aplicaciones de backend chungo feo e inamobible que funcionan como un tiro basadas en mierda ultraprobada, es un mundo horrible pero al menos puedes tener la seguridad de que no aparecerá un flipado mañana diciendote que "no si es que eso esta mejor montado en chupiflaningan reversivo" y puedes centrarte en utilizar las herramientas que hay de la forma mas eficiente.
#12 Las promesas son una forma de lidiar con la programación asíncrona.
Pasa del .then y mirate await y async, serás más féliz
#12 #23
Vais un poco jodidos eh....jjj
Para empezar...await y async fueron superadas por las promesas y estas por los Observables...
Y del mundo asincrono, lo que mas se les parece a las Promises, son los CompletableFutures que son implementaciones de la interfaz CompletionStage que creo que se metieron allá por Java 8. Pero seguro que ya otros lenguajes están implementando clases similares.
Java 8 se nota que ha intentado copiar en lo posible el formato de las Promises de Javascript (CompletableFuture.allof() vs Promises.all(), etc...)
Bienvenidos al mundo del asincronismo, de los "undefined" y de los "then" anidados...
Eso sí...son una puta gozada una vez los dominas....
#23 #12 Y ya si utilizas las corutinas de kotlin 1.3 alcanzarás la felicidad suprema.
"suspend" y se acabaron tus problemas.
#30 Las promesas son un paso inferior al wait/async. Thenear usando promesas es bastante más guarro que tenerlo todo en líneas consecutivas con wait/async.
#39 Thenear? Mereces ir al averno.
#23 #12 #30 Me autocito para recomendar esta charla sobre asíncronos en kotlin. Se convierte un poco en un resumen de cómo han evolucionado desde los callback hasta las corutinas de kotlin.
Son muy parecidas al menos wait-async, con la diferencia de que se pueden encolar, paralelizar e incluso puedes realizar callback para cuándo terminan unas y no otras.
#41 #12 #30 Por lo que entiendo en los comentarios las "promesas" serían los "futures" en Python, que son una forma de implementar los hilos más avanzada y simple, y los async son las subrutinas que es más moderno, y que ahora todos los lenguajes lo van implementado.
#46 No tengo ni idea de Phyton. Mirándolo por encima, sí se parecen, pero también hay un Promise que parece un poco más exacto.
#46 Promesas y futuros se usan indistintamente, diferente nombre para la misma cosa. Async/await es una API que suele implementarse con corutinas (excepto JS que usan promesas por debajo). Las corutinas usan los llamados lightweight threads, que son hilos gestionados a nivel de aplicación y no de sistema operativo -- por lo que puedes levantar 10000 sin que suponga un problema de rendimiento para tu máquina. Se llevan usando mucho tiempo en otros lenguajes pero es verdad que ha habido un boom recientemente con su implementación en Kotlin.
#30 Async/await ha llegado a Javascript después de que lo hicieran las promesas. Y ahora lo que está de moda es el Rx, con Observables a los que te suscribes
#73 la programación reactiva es la polla: donde alteras el dato no te importa lo que suceda con ellos, y donde utilizas los datos no te importa de donde han salido o por qué han cambiado.
Pero no lo resuelve todo, cada capa de abstracción se construye sobre la anterior, y al final puedes construir una fuente reactiva, que usa await async sobre una promesa que has hecho a partir de una api que usa callback o eventos.
O también puedes hacer tu fuente reactiva a partir de la api que usa el callback, hay que conocer todas los paradigmas y decidir cual es más conveniente para cada caso.
#30 yo diria que el jodido eres tú si prefieres trabajar con promesas antes que con await y async.
Si alguien sube 2 then anidados a mi trunk suena una sirena y se le monta una intervención sumarísima.
#30 y yo que pensaba que los último de las webs era el html5...
#23 La programación asíncrona no es precisamente un invento moderno, viene de los años 60 o así y en su momento perdió la batalla de popularidad con los paradigmas que usamos actualmente.
Y aunque se pueden hacer cosas muy chulas, los propios implementadores del tema en Python no tienen claro que el tinglado de await/async sea una mejor solución que usar threads o alguna otra mandanga. Para casos concretos mola mucho, pero pienso en depurar un programa lleno de await/async por todas partes, y me entran unos sudores fríos que pa qué
Como con todo, el tiempo dirá qué es lo que mola más.
#12 Eso lo hacía yo en C con punteros a función, había librerías a las que les pasabas un puntero a función, ejecutaban algo y al acabar invocaban a la función que hubieras pasado. “Promesa de rellamada” lo llamaba gyermo1 en sus apuntes, cuando lo de callback sonaba a chino.
1 ¡Saludos a los de la USAL!
#31 TODO se puede hacer con punteros y funciones. Lo demás son pajas mentales. O en plan: "esto es un lio. Vamos a hacer una función especifica para estos casos!" y se volvió todavía más confuso.
#35 Todo se puede hacer con una cinta y un cabezal que lee y escribe números.
#38 También se puede hacer todo con una sola instrucción: https://en.wikipedia.org/wiki/One_instruction_set_computer#Subtract_and_branch_if_less_than_or_equal_to_zero
#35 Claro, y todo se puede implementar con una máquina de Turing universal. Que sea posible no quiere decir que sea ni eficiente ni sencillo.
#81 Se llama “broma”.
#35 Todo se hace, en el fondo, con punteros y funciones. Los compiladores e intérpretes traducen todas esas construcciones sintácticas tan cool a lo que entienden los procesadores, que son eso: punteros y saltos a bloques de código.
#31 Qué grande gyermo, disfruté como un enano con las prácticas de Sistemas Operativos
#31 Hombre, el efecto es el mismo, pero las promesas, los await/async y compañía son formas mucho más robustas, seguras y fiables de hacer eso mismo. Vale que al final la salida del programa es la misma, pero es como que te enseñen una TV 4K y digas que eso de mostrar imágenes en un cristal ya lo hacía tu TV en blanco y negro Radiola del año 1976.
#31 Talaban! Ese profesor de sistemas operativos q te decía "Linux es gratis si tu tiempo no vale dinero"
Sigue dando clase?
#12 Una promesa es eso mismo, te prometo que hasta que resuelva o rechace la función que tengo dentro no voy a pasar al siguiente (then) paso del hilo. Siempre que puedas utiliza async/await, es más limpio, pero al menos las promesas son mucho más limpias que las pirámides laterales de callbacks.
#12 Pfff... es lo mismo que un "feiflows inverso de nivel 2" en CapaLanguage.
Mucho postureo con los nombrecitos. Recuerdo como me acojonaba lo que era eso de
"inyectar clases"...
buahhh eso tenía que ser superdifícil y la hostia.
Tengo un colega que cuando aprende algo nuevo le encanta hincharlo...
Y no son más que putos punteros. Aprendí spring, unos principios básicos, en un cursillo acelerado de 4 dias, y conseguí hackearlo porque adiviné como se hacían ciertas cosas.
Postureo con los nombres.... vale que el entorno aporta muchas herramienta, pero si aprendes un framework, el resto suelen aportar y necesitar conceptos muy parecidos.
Django, Symfony y Spring tienen muchísimas cosas en común.
La cuestión no es ser adivino y "saber" lo que coño es un nombrecito sin haberlo escuchado antes en toda tu vida. La cuestión es que una ingeniería te prepara para darte cuenta del postureo, y comprender más rápido todas las cosas nuevas ( o recicladas con marketing).
El concepto de caché no paro de verlo una y otra vez con diversos nombres. Y hay un par de conceptos más.. que se repiten una y otra vez... y mira que yo no acabé la carrera, ni estuve siquiera cerca de acabarla. Tuve la suerte de aprender a programar en C, con punteros pelados, y en su día leerme un libro del creador de C++ que explicaba como el lenguaje creaba las clases y demás...
Mano de santo oyes...
#53 Por fin alguien sincero.
Qué libro era? Que me lo quiero apuntar.
#12 pero señor squanchioso,eso también existe en JS,no hace falta usar Redux.
#12 Las promesas son nativas de Javascript, no es cosa de redux.
#12 Hoy en dia tienes promises y futures hasta en C++ standard.
#12 Hombre, pues una promesa es un concepto de programación concurrente y sistemas distribuidos. No se tu, pero en mi universidad tenias ambas asignaturas (optativas eso si).
Tienes el concepto de promesas no solo en Javascript, si no en Scala o Perl.
Ah, y redux no es mas que una libreria de javascript (nada que ver con el lenguaje en si mismo).
#12 Un patrón?
Implementado como le salió de los huevos a los desarrolladores de redux?
#8 Yo siempre digo que saber un lenguaje de programación no le convierte a uno en programador, del mismo modo que saber un idioma no le convierte a uno en escritor.
#19 Hombre, si sabes un lenguaje y haces programas, entonces es como saber un idioma y escribir libros.
Que luego el libro puede ser mejor o peor, pero escritor eres.
#36 no, un escritor es un profesional que domina el arte de la escritura. Ponte a escribir un libro así, a las bravas, verás que puta mierda haces. Pues con la programación igual. Ahora venid autodidactas de tres al cuarto a negativizarme...
#19 Una analogía maravillosa y acertada. La cual nos lleva a que la programación es un arte. Y como cualquier arte su estudio no garantiza que lo domines.
#8 Recientemente descubrí las Promesas con Typescript y aunque solamente he arañado su superficie me parece una solución muy elegante para desarrollos asíncronos. Aunque lo más complicado para mí no era entenderlos, sino hacerme a la idea de cómo darle la vuelta a las soluciones síncronas de siempre para adaptarse a esta nueva estructura de desarrollo.
#8 Si te refieres a los lenguajes imperativos sí, son todos muy similares. Cuando cambias de paradigma y te metes en programación funcional, lógica, de flujo de datos, o simplemente SQL o MATLAB, el planteamiento cambia bastante.
#8 Aprender a programar es como andar. Se aprende andando.
Aprender a programar se aprende programando.
#11 Estudié ingeniería informática en la Politécnica de Catalunya, y aunque me atrevería a decir que a nivel de contenidos el 90% de lo que aprendí me sirvió de poco, aprendí la que es quizás la lección más importante: a espabilarme, a tener espíritu crítico, a aprender rápidamente por mi cuenta, a no dejarme guiar por el hype y buenos conceptos de arquitectura de software y una base sólida para adaptarme a cualquier tecnología y a que cuando hable de alguna solución, la mencione en función de requerimientos y dominio en lugar de bases de datos y tecnologías.
Y eso prácticamente no envejece nunca.
#11 Aprender a programar se hace en una semana, lo complicado es aprender a crear algoritmos fiables y eficientes, y yo despues de 14 años programando sigo depurando cada dia mas esta habilidad y esto no se aprende en ninguna universidad si no con la experiencia de picar codigo 8 horas al dia todas las semanas de tu vida.
#32 Los fundamentos sobre algoritmos, estructuras de datos, complejidad, etc. seguirán vigentes dentro de 10 y de 100 años, mientras que el 90% de esos frameworks habrán muerto a los 5 años de salir.
Que sí, que hay mucho profesor nefasto que enseña las cuatro tonterías que a él le gustan, pero estudiar una ingeniería no es aprender lo que se lleva ahora, es tener unas bases sólidas para poder adaptarte a lo que venga, y para poder crearlo tú mismo si fuera necesario.
#32 "Lo que no me queda claro es si realmente hace falta dedicarle 4 años para aprender esa teoría".
Eso se puede decir de cualquier carrera. Cualquiera, sin saber de medicina, puede aprender a practicar laparoscopias de vesícula que son operaciones de 10 min y todas son iguales.
Hasta que surja una complicación que obligue a salirse de la mecánica que te sabes de memoria. Ahí es donde necesitas una buena base.
Yo no estoy de acuerdo, pienso que el 100% aprendemos por nuestra cuenta puesto que la carrera de ingeniería informática es una mierda. Es totalmente teórica y el 90% de la materia no tiene ninguna utilidad en el mundo laboral.
#28 Estoy de acuerdo en que la carrera es teórica, pero esa teoría es útil. Desde luego, no te enseña a programar, eso lo tienes que hacer tú. Es como ser escritor, aprender teoría es útil pero no te hace un buen escritor.
#29 #28
Lo que no me queda claro es si realmente hace falta dedicarle 4 años para aprender esa teoría.
Básicamente porque básicamente en esos 4 años...han salido 4 frameworks de desarrollo multiplataforma nuevos, 3 versiones de Angular, 2 de React, otros tantos frameworks JS, saltamos a paradigmas Reactivos, Restful y Asíncronos. Dentro de otros 5 ni idea por dónde andaremos.
Si una persona le dedica 5 años de manera autodidacta para aprender a programar, vs a una persona que le dedica 5 años en una Universidad....ya te digo yo quien está mas preparado, más cercano al mundo real, y con mayor capacidad de adaptación.
La Universidad, en la programación, siempre van 5 años tarde...y me quedo corto..
#32 No, hay que ser sinceros , en una universidad se pierde el tiempo.
La razón es que hay mucho mamoneo, los profesores se colocan unos a otros, y si alguien lleva 20 años enseñando física a ver quién es el guapo que le quita de ahí para actualizar temario.
Tampoco es cierto que enseñen a programar bien... Vamos. No sé cuántos profesores de la UPV de Valencia saben programar más allá de un ejemplo de colas y pilas, como para dar clases reales de patrones de diseños. Se leen un libro como mucho y te tienen semanas entretenido.
#32 en mi experiencia, es combinación de ambos, así que sí puede hacer falta esa teoría. Por ejemplo, desarrollando plataformas en entornos Cloud, he tenido que echar mano de conocimientos de programación, patrones de diseño, redes, sistemas operativos, algoritmos, componentes, etc. Y te alegras de tener esa base para saber un poco de todo, que te permita entender nuevos conceptos o especializarte en una materia rápidamente.
#29 #32 #34 Es cierto que lo que se programa en la universidad se parece poco, por lo general, a lo que puedes hacer en el mundo laboral. Sin embargo, cierta base teórica que se da en la universidad no aparece en los recursos específicos para utilizar tal o cual lenguaje o framework. Hablo del orden de los algoritmos o la base matemática que puede que no sean útiles nunca para hacer un portal web pero son necesarias en otros entornos.
Por otro lado, precisamente por lo que dice #32, no le veo sentido a estudiar en la universidad la última tecnología de moda. Ahí lo que hay que aprender son técnicas y prácticas que luego te permitan, con el necesario aprendizaje, aprovechar cierta tecnología en determinado proyecto.
De todas formas, como en cualquier campo creo, al final el mayor valor te lo da la experiencia, y eso no lo se consigue en un par de años ni por uno mismo ni en la universidad.
#32 no sé cómo será hoy en día la universidad, pero yo me he adaptado a todo sin problemas y estoy haciendo incluso videojuegos en realidad virtual. Creo que lo que aprendí en la universidad me ha preparado para todo. Y los autodidactas me lamen los huevos, normalmente
#32 La mayoría de trabajos que hacen los ingenieros informáticos en España se podrían hacer con un ciclo formativo superior, el problema es que hay tanto ingeniero que probablemente te dejen fuera de cualquier proceso de selección si no lo eres
#32 Es que la universidad no está para que aprendas el último framework, que total durará 6 meses hasta que salga el próximo. Está para que, cuando programes, tengas en cuenta si lo que estás escribiendo es cuadrático o exponencial. O pienses en estructurar el código para que el siguiente (o tú en 3 meses) lo pueda entender. O que cuando tu programa se conecte a una base de datos, o a un servicio web, o a alguna red externa, sepas qué narices estás haciendo.
Aprender un lenguaje/framework de forma autodidacta es relativamente sencillo. Aprender todas las tecnologías y materias necesarias para programar bien, en el orden adecuado y sin volverse loco, ya no lo es tanto. Por eso hay unos señores llamados pedagogos que diseñan un plan de estudios para aprender cada materia en el orden que toca, dejándote preparado para luego hacer programas decentes y adaptarte a lo nuevo que salga. Por supuesto que en la vida hay de todo, y hay autodidactas excelentes y gente con carrera totalmente inútil, pero generalmente el típico "menudo máquina, en 15 días se ha aprendido el último framework y no tiene ni la ESO" programará muy rápido, pero te va a hacer un código espagueti que el siguiente que lo tenga que tocar va a flipar colorines.
#29 No es especialmente útil porque no está bien programada badumtss
Miras cómo enseñan informática en españa y lo comparas con los programas de las universidades top y es que se parecen como un huevo y un perro.
Informática tiene demasiadas sub-ramas como para que todo lo que das en la carrera te sirva. Especializándote por tu cuenta con programas de educación abiertos de edx, coursera, libros y academias online tu preparación le da 200 vueltas al universitario de turno.
#34 El problema es que los tutoriales, el getting started del último framework y los vídeos en Youtube son súper amenos. Pero los libros de Knuth sobre complejidad algorítmica, los papers de Codd sobre el modelo relacional en que se basan las bases de datos o los textos de Dijstra sobre recorrido eficiente en grafos, pues son más espesos, y dudo que nadie se los haya leído de forma autodidacta. Por eso hace falta que te los expliquen razonablemente en una universidad, porque si no acabas con algo en plan "mira qué eficiente, he hecho un programa que crea un thread para cada elemento de mi array de un millón de valores, así irá más rápido", y no sabes ni por qué la estás cagando.
Y luego, cuando tienes los fundamentos claros, Courseras, vídeos y todo lo que quieras.
#28 tienes razón, pero lo que es a programar, ahí te enseñan muy bien. Otra cosa es que no lo hagan en el lenguaje con el que luego vas a currar. Pero a mi modo de ver eso no es tan importante.
Tampoco a un piloto le enseñan con un f14 ni a un médico le ponen gente de verdad en la carrera para operar a corazón abierto.
#28 será donde estudiaste tú.
#28 Sí, eso está muy bien hasta que intentas traerte a un autodidacta o alguien que ha estudiado un ciclo y trabajado ya años a debates o conceptos como:
- ¿Seguimos la moda no-SQL o en nuestro caso es mejor seguir con modelo relacional que ha funcionado tantos años? ¿Ese índice ayuda o fastidia más? ¿Por qué? ¿Puedes desactivar el journaling en el sistema de ficheros para que la base de datos gane ese 20% de rendimiento como leí en la documentación?
- Cualquier cosa de lenguajes no imperativos o directamente lenguajes distintos a los practicados. ¿Tipado débil o fuerte, explícito o no? (Normalmente cada programador tiene predilección por el modelo con el que trabaja ahora).
- Hipersegmentación, pipelining en CPU. Cómo funciona un multiprocesador, cómo un multihilo, cómo afecta al rendimiento todo esto en tu algoritmo con memoria compartida. ¿Va a escalar esta solución? ¿Va a servir meterla en una instancia con el doble de núcleos?
- Ya temas más de empresa, como gestionar el proyecto y al equipo, argumentar que el deadline no se va a mover aunque te metan al doble de plantilla porque vais apretados, prevenir los problemas de planificación que va a haber...
- Y podría seguir con cosas que hay que entender bien para que no te resulten contraintuitivas.
Todo eso se estudia en la carrera y te hace mejor programador además de abrirte puertas a otros puestos en los que no tienes que programar principalmente.
Y algunos dirán, "eso son chorradas, es el 1% del conocimiento..." ¿Sí? Arriba tú mismo hablabas de Promises y creo que sin entenderlas muy bien, otros se ponen a hablar de cómo son en Python y de threading (osea, delatando que sí son conceptos que existen en abstracto, no algo nuevo).
Las promesas de JS solo son formas de encapsular de forma estándar y poder encadenar callbacks. Y tiene su aquel precisamente JS porque es un lenguaje monohilo en esencia, entonces:
- ¿Qué librería es mejor, esta que expone métodos asíncronos o esta otra que son todos síncronos? Aaamigo ¿Entiendes como va a hacer node por debajo cuando uses la asíncrona? Porque igual resulta que para tu caso es peor.
- ¿Es seguro leer esta variable que está fuera del cuerpo del manejador de la promesa? ¿Qué valor va a tener? Cuando tienes claro el concepto de qué es una promesa, un callback, y cómo lleva JavaScript un entorno asíncrono eso te sale natural.
Y de otra forma, ¿por qué en mi programa Java este Thread falla por todos lados, si en JavaScript lo he hecho mil veces...?
Para mí, 6 años bien gastados. ¿Fue mejorable? Pues como todo, pero ya solo con ver el nivel después de "las mejoras" y lo que dice la gente sobre los grados... igual era mejor que se quedara como estaba... es decir, justo más como se dice que no es necesario o que está obsoleto.
Además, ahora me es fácil acudir a una reunión y saber si el que tengo delante me está vendiendo una moto con o sin motor. Y eso también cuenta.
(Y me ha quedado muy largo, pero también estaba pensando en el nulo entendimiento que se tiene por aquí de la tecnología IA a pesar de que supuestamente esto está lleno de "informáticos").
#28 Otro... Depende de que hagas no? Eres de los que dicen que algebra o calculo no sirven a un ingeniero?
Si trabajas haciendo webs para tiendas de zapatos, esta claro que no, pero preguntale a alguien que trabaje programando motores de 3D o criptografia, es que... Hay que ser corto de miras para decir esas sandeces.
#28 deberías haberte dedicado a otra cosa
Si la noticia fuera "Un estudio apunta a que más del 65% de los médicos en la actualidad aprenden a operar por su cuenta"....
Estaríamos temblando.
#47 Porque necesitas material especial, no se puede aprender lo básico en dos semanas y el aprendizaje práctico no puedes realizarlo en tu casa.
#47 Estás comparando 2 extremos muy diferentes, además de estar aburrido de esa comparación que muchos repiten como un mantra.
#47 Es una comparación absurda:
1. Nadie (o casi nadie) tiene un cadáver ahí tirado por casa para practicar operaciones. Pero todos (o casi todos) tienen un PC con el que aprender a programar.
2. Hasta los niños aprender a programar en el colegio. ¿Por qué? Porque sólo necesitas tener unos conceptos muy básicos de lógica para empezar a rodar. Sin embargo para diagnosticar eficazmente una fibromialgia necesitas haber estudiado años enteros de teoría.
3. La informática no está oficialmente regida por normas éticas ni legales. No hay código deontológico, no hay competencias oficiales, no hay colegiaturas, etc.
4. Y por último, el 99.9% de las veces un programador no va a matar a nadie como consecuencia de ser malo en su trabajo, o estar poco formado.
Lo cual explicaría muchas cosas.
La programación, qué bonito arte de tener que saber de todo y tener esa sensación de "soy un engaño"
En la carrera no se enseña ingeniería del software, salvo honrosas excepciones; se enseña ciencias de la computación. Cuando la mayoría del profesorado es investigador y no es profesional, no se puede enseñar ingeniería.
#86 Que diferencia hay entre ambas?
Lo que no puede ser que algunos aprender a usar un framework es como si estuviera aprendiendo un lenguaje nuevo, os querria ver en los tiempos en que una librería aka framework era una puta DLL sin documentacion que solo tenías las entradas y las salidas de las funciones que tenía y sin por supuesto stackoverflow.
¿Consideran autodidacta a coursera?
¿Y a Stackoverflow?
#17 Supongo, si. Se refieren a que no aprenden en una institución física hiendo a clase con un profe que les enseñe.
#37 *yendo
#17 Stackoverflow sí ,coursera no
Claro ese 65% pone las manos sobre el teclado y empieza a pulsar teclas como la mejor sinfonía...porque han aprendido solos.
¿Y los libros, webs, vídeos, manuales de donde los han hecho, nadie los ha escrito?
#59 A eso se refieren con aprender solo. A buscarte tu mismo la documentación y leerla sin necesidad de ir a un curso y que alguien te enseñe.
En general la tecnología avanza más rápido que la enseñanza reglada.
Ah, pero, ¿hay otra manera?
Yo diría que esto se debe a que no se puede enseñar a alguien a programar. Puedes enseñarle cómo funciona un lenguaje de protección y si con eso le empiezan a surgir las ideas de todo lo que se puede hacer, se convierte en programador.
Hay gente que por más que le enseñes solo llega a comprender los ejemplos pero nunca desarrolla ideas propias. Simplemente a esa gente no se le da bien programar.
Por eso es que si se te da bien, es probable que apenas solo y si no, es probable que no apenas aunque estudies.
Me parece genial. El único problema es que luego se mezclan los que saben de verdad con los improvisados y nadie sabe distinguir la diferencia. Hoy en españa cualquiera que toca un ratón es informático. No hay perfiles casi ni gente preparada para evaluar.
Normal, en España además no se dan cursos de formación. Y cuando se dan, son para chupar alguna subvención, y suelen ser cursos que no suelen tener nada que ver con tu trabajo.
#100 En mi empresa se jactan de tener "una plataforma de enseñanza a disposicion de todos los empleados" y es un puto moodle con pdfs de ofimatica que abren dos veces al año
Es razonable. La programación es una disciplina muy variable. Lo raro sería no formarte por tu cuenta.
Hay que ver como son estos comerciales
Eso de que aprenden a programar ... Dejémoslo en que aprenden a hacer funcionar las cosas. Menudos galimatías .
Normal, un programa personalizado de
htdp -> sicp -> ctm -> concrete abstractions, code complete, pragmatic programmer, introduction to algorithms y spivak de cálculo te pone en 1.5 años a un nivel inmensamente superior a cualquier graduado universitario con programas de estudio obsoletos tanto en tecnologías como en formas de enseñanza.
Es más, te es mucho más útil hasta para ser informático hacerte la carrera de matemáticas. Los mejores y más pagados siempre tienen el mismo fondo, carrera de física o matemáticas + doctorado y trabajando en banca o saltando de empresa cada 18 meses en la costa oeste americana.
#33 Qué coño. Solo conozco un programador que hubiera estudiado matemáticas y tenía un nivel bajísimo.
Precisamente porque lo de programar no era su tarea principal. No se preocupaba de la reusabilidad ni limpieza del código.
#54 En el mundo que yo me muevo, ya te digo que el 70% de los que están en los salarios de rangos más altos, son todos físicos y matemáticos. Juegan en una categoría distinta a coder típico de computer science. Aunque si es cierto que no son picacódigos tampoco en sí de los que les dan un diseño y a perder el tiempo ahí, sino arquitectos de algoritmias complejas que a un informático le quedan tan lejos como a un parvularios conducir.
Supongo que dependerá dónde te muevas, pero si es en entornos de salarios altos y gente preparada (gente que está cobrando +100.000 libras) que no picacódigos java que ganan 30K, te los encuentras a punta pala.
#90 Estás hablando, entonces, de programadores que realizan tareas específicas. En este caso, matemáticos.
Puedes decir lo mismo de los programadores que trabajan en la industria biotecnológica, porque además de programar deben tener amplios conocimientos de otra materia.
La programación , en este caso, es parte de su conocimiento requerido. No un total de la misma. Están en un entorno en el que se mueve mucho dinero y la falta de gente especializada aumenta los salarios
Para aplicaciones genéricas, el 99% de los puestos de trabajo de programadores, no tienen por qué ser mejores o peores
#93 Sí, has explicado bastante mejor que yo a lo que me refería.
#90 Te esta quedando muy buen, qué pena que lo estés inventando.
"Arquitecto de algoritmias" [Sic] no existe como profesión, o eres arquitecto de software o haces algoritmos...
#90 Coño entonces no son desarrolladores
Dice que el 65% tiene estudios reglados y que estudian programación en centros de estudios pero que aprenden también cosas por su cuenta.
Entonces, 65% me parecen pocos. Diría que 101%.