¿Cuál cree Ud. que es el riesgo que más frecuentemente pasamos por alto en ingeniería software? Los programadores incompetentes. Hay estimaciones de que el número de programadores necesarios en los EEUU supera los 200.000. Esto es totalmente engañoso. No es un problema la cantidad; tenemos un problema de calidad. Un mal programador puede crear fácilmente dos nuevos puestos de trabajo al año. La contratación de más malos programadores sólo aumentará nuestra percepción de la necesidad de ellos. Si hubiéramos tenido más buenos programadores...
Comentarios
Si pagas con cacahuetes, tendrás monos.
#1 O padefos. En España de hecho es el caso normal.
#4 Los padefos no son directamente relacionados con pagar poco. Hay padefos y no-padefos a todos los niveles, es más cuestión de actitud o de necesidad según el caso.
#9 Lo primero que hace un padefo principiante: Aceptar el sueldo que le ofrecen aunque sea una puta mierda, sin tan siquiera hacer una contraoferta en el momento. "Mira, por 300 € no me interesa firmar por Zulosa SL, pero por 350 € lo dejo todo". Muchas veces funciona, ¿sabes?
#10 Lo que hace un padefo experto: "que el gerente me ha comentado de hacer un esfuerzo de hacer 2 horas más al día pero que me lo tendrá en cuenta algún día en un futuro muy lejano en una galaxia muy lejana, y me lo ha comunicado de palabra, que hay mucha confianza entre nosotros".
El padefo experto hace: "que me han despedido sin pagarme lo que me corresponde, pero mejor no hacer nada por si me meten en la lista negra y no trabajo en ningún sitio más en mi vida"
Padefo = PAso DE FOllones. Por eso digo, que es un poco a todos los niveles.
#1 es lo que todo empresario desea: monos, o mejor, si pueden, máquinas. es superelemental, las máquinas dan menos problemas, son previsibles. está en el adn de los empresarios. sólo contratan personal humano como última opción. así que, está del lado del empleado hacerse valer. esa es la realidad de la existencia del empleado, le guste o no (que va a ser que no). tal y como funciona la cosa ahora, lo que vale es el "yo por menos". lo cual resalta la dependencia que tiene el empleado del empleador hoy. y, sin embargo, el empleado es condición indispensable del negocio ... o no? cuándo si y cuándo no?
Programadores baratos son los buenos programadoes. Cobran mucho más, pero hacen cosas mil veces mejores.
#7 Gran verdad. Pilla uno BUENO, págale bien, y te ahorras cinco.
Lo jodido es que encontrar uno bueno es más que difícil. El mercado está saturado de pipiolos que creen que por haber estudiado una carrera ya son automáticamente unos "cracks" y merecen un sueldazo, pero luego resulta que no saben salirse de su especialidad, a veces ni saben lo elemental, adquirir experiencia les resbala y a menudo por pura vagancia no les sale de las pelotas aprender. Y eso en cuanto a habilidades técnicas, no te digo nada si nos ponemos a evaluar si son multidisciplinares, proactivos o autónomos en su tarea. Alucinantemente, la mayoría dan más trabajo del que quitan.
Por eso, cuando encuentras uno bueno de verdad, lo entierras en oro. Porque lo vale.
#12 "Por eso, cuando encuentras uno bueno de verdad, lo entierras en oro. Porque lo vale."
Vas y encima lo matas. Como al del Taj Mahal.
#12 ¿Y por qué no buscar a uno que aspire a ser bueno? Estoy en la Universidad y se enseña poco y mal, si una empresa quiere desarrolladores de verdad lo mejor que puede hacer es pasarse, coger a gente ofreciendo poco más que aprender y quedarse con los que apunten maneras. Si te esperas a que la gente acabe la carrera probablemente encontrarás gente a la que le han comido la cabeza un puñado de profesores funcionarios que no han desarrollado software en su vida.
A mí se me está haciendo cada vez más cuesta arriba sacar tiempo para aprender entre tanta mariconada de práctica del tipo "rellena lo que falta en este código de mierda y observa cómo sucede lo que dice la teoría que tiene que suceder". Prácticas que luego ni se corrigen en muchos casos (pero más te vale entregarlas porque como les dé por corregir justo la que no has entregado date por jodido).
#51 Mi experiencia en empresas españolas es que la formación no es algo que vaya con ellas. Cuando contratan a alguien quieren que saque un trabajo y que lo saque, sea como sea, lo antes posible. Un título les garantiza unos conocimientos mínimos, por eso lo prefieren a una actitud. Si luego resulta que el tipo es bueno pues eso que se encuentran pero, vamos, tampoco le van a pagar más por ello. Aprovecha la universidad para sacarte un título mientras aprendes por tu cuenta lo más que puedas porque cuando empieces a trabajar lo más probable es que acabes enterrado en trabajo sin tiempo para casi nada más.
#51 No existe nadie "que aspire a ser bueno" que sea bueno. Eso de "aspirar a ser bueno" a mí me suena a cantamañanas que cree que trabajar bien es una habilidad potencial.
Cuando es bueno, es bueno desde que empieza, y te aseguro que se nota. La única diferencia puede ser la experiencia o la especialidad en la que es más productivo de entrada, pero cuando un tío vale te aseguro que se ve hablando con él, casi no te hace falta ni mirar su currículum.
Vamos, que "ser bueno" no es una mera acumulación de experiencia técnica. Eso con el tiempo lo tenemos todos, pero no implica gran cosa sobre la pericia personal, la habilidad de aprender rápida y consistentemente, la capacidad de reacción ante problemas inesperados, la comprensión de que los requerimientos de empresa pesan tanto como los técnicos... y un montón de cosas que te dicen mucho más que el currículum.
P.D.: No jodas que ahora os hacen prácticas tipo "rellena el código que falta", como si fuese un crucigrama. Eso no sólo no es creativo, ni siquiera es útil para nada. Es como memorizar, lo contrario de la capacidad inductiva y deductiva que necesita un ingeniero.
Un análisis muy lógico de la situación, además me ha recordado mi épocas de estudiante cuando el autor me daba clase snif
Además de los programadores incompetentes que los hay y dan mucho miedo están (estamos) los programadores sobresaturados que tienen que programar código para 4 aplicaciones, analizar, diseñar, probar, coordinar a un grupo de programadores en otra aplicación, escribir informes, atender a los usuarios y hacer de helpdesk
Con este ritmo de trabajo hay errores lógicamente y de las perdidas que causa esto las empresas no se quieren dar por enteradas...
#8 y quién te ha dicho a ti que no eres un paquete programando?
es mejor contratar perfiles que no han estudiado informática, porque exigen menos salario, aunque pudieran desarrollar peor
Yo entiendo que el autor del artículo quiera hacer una defensa de la carrera que ha estudiado, pero he comprobado en mis años de experiencia que este tópico de que los que han estudiado informática son mejores programadores no tiene ninguna conexión con la realidad.
#15
Es posible, teniendo en cuenta que en una ingeniería informática no se aprende nada relacionado con la programación. Un par de asignaturas de picateclas y ya está.
#17 Espero que estés siendo irónico.
#17 Todo depende de dónde separes programación de diseño. Efectivamente lenguajes de programación se dan pocos, pero no diría yo que estructuras de datos o tecnología de computadores no tenga que ver con programación. Vamos, a menos que te de igual la eficicia, entonces vale
#17 #40 Ni una cosa ni la otra. Está claro que haber pasado por la universidad ayuda (da herramientas de trabajo y de razonamiento, y tocas un poco de todos los palos), pero es la persona la que marca la diferencia.
Quien quiere aprender y estar al día lo hace.
El problema es que a la larga todo cansa y todo quema y lo que antes era divertido acaba siendo una putada que impide hacer vida propia. Sí, incluso a ti que crees que eso no te pasará.
#15 Pues mi experiencia es justo la opuesta.
Supongo que depende de la universidad y los profesores en cuestión.
A mi en ingeniería informática siempre me insistieron machaconamente en la necesidad de probar todas las posibilidades (incluso las que no se van a dar), controlar las excepciones...
No conozco a nadie no informático que trabaje así. Nunca se lo dijo nadie.
#40 La verdad es que me cuesta creer que no conozcas a un programador que no haya estudiado informática que sea exhaustivo con los casos de uso y el control de excepciones. Es algo sencillo de aprender. Quizá si es su primer día...
Lo que yo he encontrado a menudo son informáticos de profesión (lo han estudiado) pero sin vocación. Gente que tras terminar la carrera no tiene la motivación suficiente para seguir una indispensable formación autodidacta y desconocen incluso los patrones de diseño más básicos. En cambio, sí que he encontrado esa motivación en gente que ha dejado de lado sus estudios originales porque la programación les apasiona y valen para ello (porque hay que valer). Y se nota la diferencia.
#40 Si pruebas cosas que no se van a dar porque en la Universidad te han dicho que lo hagas eres el vivo ejemplo de para qué sirve la Universidad: para enseñar un puñado de dogmas que los más inútiles repiten cual loros. Break es malo, las búsquedas se hacen con while, y goto... goto hell Las cosas hay que probarlas precisamente porque se van a dar.
Mucho se habla de los programadores y poco de los administradores y gestores. Muchas son las veces que me he tenido que enfrentar en el trabajo a proyectos sin análisis previo y en los que se pide que esté listo en dos meses. Sin saber qué es lo que tiene que estar listo. Yo opino que programadores malos los hay, por supuesto, pero muchas de las veces lo son porque existe una mala gestión, o simplemente las empresas se comprometen a hacer milagros sin consultar a los que saben primero.
#26 Exacto. La mayoría, por no decir todos, de los motivos por los que un proyecto puede acabar mal o tarde es debida a la mala planificación. Y que yo sepa, los programadores no son los encargados de la planificación. (No soy programador)
Hamijos, después de más de 20 años en el mundillo informático, voy a explicar algunos descubrimientos que he hecho. Los informáticos tenemos una ingenuidad en temas sociales y una falta de picardía que son la causa de los salarios decrecientes y la precariedad laboral.
1. Hemos cavado nuestra propia tumba con la explosión del open source. Como filosofía es muy loable (y yo la comparto) pero lo que ve el resto de la gente no es la filosofía, sinó "eh, esto es gratis, por lo tanto debe ser muy fácil de hacer". En el capitalismo las cosas se valoran por oferta y demanda. Que soluciones como Wordpress o Drupal, por ejemplo, sean gratuitas, lo único que le dice a la gente de fuera del mundillo es que eso no tiene valor y, consiguientemente, que lo que hacen los informáticos tiene que ser muy fácil si es gratis (por la misma razón, se contamina el aire, porque resulta gratuito hacerlo. Tener un comportamiento ecológico es una cuestión de principios, pero al capitalismo no le aporta nada).
2. Comunicamos fatal. Estoy harto de ver como los programadores son incapaces de explicar con amabilidad a jefes o clientes la dificultad de desarrollar los requerimientos que te piden. En su defecto, normalmente hay dos posturas: a) ponerse borde b) callar y tragar. Ninguna de las dos es una buena estrategia para conseguir aumentos de sueldo.
3. Tenemos poco espíritu corporativo. Jamás he oido a un dentista decir que otro dentista es un mal profesional porque cobra muy caro, o a un abogado criticar a otro por alargar un caso. En cambio, he oído a muchos informáticos decir que tal tipo no se entera porque es muy lento programando o cobra tarifas muy caras.
4. Los tipos listos inventan soluciones de pago, como SAP, Windows, Sencha o ExtJS. Cobran mucho dinero y viven tranquilos. Como SAP es muy caro, a los directivos que no tienen ni puta idea (y se guían mucho por las apariencias: por eso llevan corbata, relojes caros y coches de lujo) les parece que es mejor que una solución open source o algo hecho a medida que parece más "artesanal" (cosas de hippies).
5. Creemos que somos "especiales". Y los que no son informáticos simplemente nos ven como una pieza más del engranaje, como los de marketing, finanzas, la señora de la limpieza, el segurata de la puerta o los operarios de la fábrica.
6. Seamos sinceros, para la mayoría de aplicaciones no hace falta estudiar la carrera de informática.
7. Esto pasa en todas las profesiones. Hablad con un técnico de laboratorio, con un médico, con un maestro de escuela o con un conductor de camiones y que os explique la diferencia entre como se deben hacer las cosas profesionalmente y como trabajan de verdad.
#48 Estoy de acuerdo contigo pero creo que casi todo ello es debido a que todavía somos una "profesión nueva" que aún no se ha desarrollado ni definido por completo (y que en España nunca lo hará porque no tiene suficiente entidad para los políticos que la consideran un mero "conocimiento transversal"). Tan sólo discrepo en el primer punto porque yo creo que si bien es cierto que el OpenSource no da beneficio directo como el software propietario sí ayuda a desarrollar el mercado que, a la postre, supone más beneficio. Microsoft cobrará lo que quiera pero si no nos hubiera dejado piratear sus Windows desde su primera versión hoy en día a lo mejor no usaría ordenadores nadie. Sin herramientas como Wordpress, ¿cuánta gente tendría blogs? Tal vez puedan pensar lo que dices pero, al final, a más blogs, más uso de la informática y de internet y más trabajo y beneficios para todos. Y también para Wordpress. Aparte de que no sólo del capitalismo vive el hombre y, en mi opinión, la informática, entendida como Tecnología de la Información satisface una profunda necesidad humana de comunicación aunque, irónicamente, como bien dices, los informáticos, en general, comuniquemos fatal.
#48
1 El open source no es gratis. ¿Crees que te sale gratis el tercer producto de la oferta del 3 x 2?
2 Hay de todo. Tal vez tenga que ver con el hecho de los conocimientos de quién toma las decisiones. Es difícil "comunicar bien" algo que no tiene ni pies ni cabeza. Para otros es mucho más fácil explicar algo que, dicho sutilmente, no se ajusta a la realidad. El trabajo del programador se constata al milímetro.
3 Es posible, suponiendo que a cualquier chapucero se le pueda considerar programador.
4 Eso es más bien su problema, no de los programadores.
5 Creo que para segurata o señora de la limpieza vale cualquiera (en cuanto a formación), para marketing o finanzas puedes enchufar al cuñado y más mal que bien puede durar en el cargo. Pon a un tío que no sepa programar delante del ordenador y al primer día ya estará fuera.
6 ¿A que aplicaciones te refieres?
7 Cierto, por éso este país es tan poco competitivo.
Me gusta hacer de abogado del diablo, así que dicho lo anterior, te doy la razón.
#48 "Hemos cavado nuestra propia tumba con la explosión del open source."
No. En eso es justo lo contrario. Encontrarás la mayor mierda allí donde escasee el open source. Acuerdos, sistemas operativos inadecuados, incompatibilidades, comisiones, intereses, incompetentes a saco, huye de donde no haya open source, si te pagan dinero no será por un buen trabajo, sino porque te ha caído algo para tu lado.
"Comunicamos fatal". Si. Ese es el principal problema: comunicación. Tenemos el poder, en realidad, mandamos nosotros y no nos enteramos. El usuario, cliente, el intermediario, el comercial y el jefe, son todos controlables si se les dice las cosas a tiempo y de manera que lo entiendan. Suelen tener visión a corto plazo (son miopes), así que se necesita dar argumentos con velocidad y precisión sobre lo que ocurre y se avanza cada día/semana. Para eso es imperativo trabajar con un esquema adecuado y no hacer lo que te digan, sino lo correcto. Queremos programar y no se puede "sólo" programar, hay que "gestionar" con metodologías de trabajo. SCRUM es imposible para la mayoría de los clientes, pero partiendo de SCRUM y adaptándolo a tu situación se puede controlar casi cualquier proyecto.
Nota para programadores: aunque sea, empieza con un SCRUMBAM para ti solo, vete a un curso. Con el tiempo, y si lo haces bien, lo contagiarás.
Programador, probador, arquitecto, requisitos, gestores .... que no solo de pegar líneas se vive y la están cagando en todos los niveles.
Que bien, según los comentarios, aquí no hay malos programadores.
Y no hablemos de la frustración que provoca querer hacer las cosas bien y que no te dejen
Ahora resulta que sois todos programadores cojonudos
Yo como tester os puedo decir que muchas veces se dan fechas cerradas "porque el cliente lo pide así", si encuentras un fallo gordo que obliga a retrasar la entrega o un problema de rendimiento o estabilidad la respuesta estándar suele ser ("si falla lo arreglamos sobre la marcha") vamos que no se aprecia la "calidad del software", asi se te encuentras con que en el equipo hay un desconocimiento total de de cosas básicas de performance, diferencias entre top y sar, free, y el comportamiento general del software que pruebas
¿con nuevos lenguajes de programación (o nuevas formas de utilizarlos) y frameworks, no se pueden abstraer miles de complejidades de la programación, para hacer que programar sea mucho mas facil?
¿en esa dirección va todo, no?
Los ide y frameworks cada vez te ahorran mas tareas, cada vez simplifican mas tareas, cada vez hay clases, funciones o librerias, que hacen mas cosas por ti y abstraen cada vez mas asuntos que antes eran mucho mas complejos.
Esto ocurre en algunos ambitos, en otros en los que se requiera eficiencia de memoria o velocidad de procesamiento y lenguajes mas de bajo nivel se seguiran requiriendo tecnicas mas especificas.
#13 Eso si tienes suerte. También te puedes encontrar el caso de código mal hecho, creado para un FW de cuando inauguraron las pirámides y que encima el cliente te diga que no le sale de los huevos actualizar nada porque es para uso interno.
Por el otro lado, siempre te puedes encontrar con el caso contrario: un jefe que quiere que se use siempre lo más nuevo porque es mejor y más chulo y tengas que reinventar la rueda cada 6 meses.
#13 La verdad es que mierdas como Struts y compañia se inventaron para que hasta los monos fueran capaces de hacer algo medianamente decente...
Ejemplo claro: hibernate a.k.a. voy a hacer una mierda que a la minima se va a arrastrar pero no va a dejar conexiones abiertas.
Hasta que no triunfe python la vida de los programadores sera un infierno...
Y el mundo de python esta lleno de pajilleros....
#22 qué tienen de malo los pajilleros, estoo, python?
#13 Hay una ley inexorable de la naturaleza que dice que es inútil hacer las cosas a prueba de tontos, porque los tontos son muy ingeniosos y siempre encuentran la manera de joder la marrana.
Hasta que no se invente un compilador de powerpoints (que genere la aplicación automáticamente a partir del powerpoint de algún comercial), los malos programadores seguirán sembrando el caos y la destrucción. Yo he conocido a varios, y te aseguro que da igual el IDE, el framework, o el lenguaje. Algunos parece que tengan el cerebro cableado al revés. He visto cosas que no creerías, cosas que no querrías creer, y cosas que te harían arrancarte los ojos entre gritos de dolor mientras suplicas eutanasia.
Pero no todo va a ser malo. Por lo menos generan puestos de trabajo, que en el contexto de crisis actual se agradece.
#57 Cuenta cuenta!!!
Por otro lado la pregunta es necesaria... qué es un buen programador?
#62 ATENCIÓN: este comentario puede herir la sensibilidad de cualquier programador con dos dedos de frente:
He visto gotos en un catch de una excepción que volvían al principio del try correspondiente para emular un bucle de reintentos.
He visto funciones que devolvían un valor booleano para indicar si habían ido bien que, en caso de error, no devolvían false sino una excepción.
He visto un código que, no me preguntes cómo, cuando se invocaba hacía que se reiniciara el sistema operativo entero (Linux, para más señas). Aún sigo sin entender cómo y, sinceramente, no estoy seguro de querer averiguarlo.
He visto funciones con 20 líneas de código, de las cuales sólo 2 eran código real y el resto eran trazas.
He visto programadores que añadían trazas temporales para localizar un error y que después no las quitaban, sino que las encerraban dentro de un if "Por si las vuelvo a necesitar". He visto funciones con hasta 7 variables booleanas diferentes controlando lo que se trazaba y lo que no. Algunas de ellas hasta recibían por parámetro el booleano que les indicaba si debían trazar o no.
He visto funciones de cientos de líneas de código, y ficheros con decenas de miles. Sin comentarios. No, no es una forma de hablar, me refiero a que no había comentarios.
He visto variables miembro de una clase ser usadas como contador de bucle... ¡en dos hilos de ejecución diferentes! Sin usar ningún tipo de mutex, por supuesto.
He visto clases encapsulando eventos que se representaban con un simple número. Sin ponerle nombre al evento usando un enum o un static const, simplemente el número. Una docena de eventos diferentes en una misma clase.
He visto código usando un buffer temporal de 300 KB que sólo se utilizaba para generar, con un sprintf, un mensaje de error del orden de 100 caracteres. Dicho buffer estaba declarado como variable miembro de una clase. Dicha clase y sus derivadas se instanciaban varias veces al llegar ciertos eventos, de tal forma que en cuestión de segundos se reservaban y liberaban del orden de 40 MB de datos por culpa del puto buffer. Para rematar la faena, dicho buffer ni siquiera era necesario, pues el código usaba las librerías Qt, cuya clase QString tiene una función sprintf que permite olvidarse de todas estas cosas.
He visto programadores intentando compartir punteros entre diferentes procesos.
En definitiva: he conocido el horror, el caos, y las ganas de matar. Todos estos momentos NO se perderán en el tiempo como lágrimas en la lluvia, seguirán grabados a fuego en mi memoria. Por desgracia.
#73 Bueno, voy a apedrearme a mí mismo...
He visto funciones con 20 líneas de código, de las cuales sólo 2 eran código real y el resto eran trazas.
He hecho cosas parecidas...
He visto programadores que añadían trazas temporales para localizar un error y que después no las quitaban, sino que las encerraban dentro de un if "Por si las vuelvo a necesitar". He visto funciones con hasta 7 variables booleanas diferentes controlando lo que se trazaba y lo que no. Algunas de ellas hasta recibían por parámetro el booleano que les indicaba si debían trazar o no.
He dejado trazas sí... booleanos para trazar sí... hasta 7 no, hasta 2 tampoco, con uno basta... pero lo he hecho...
He visto clases encapsulando eventos que se representaban con un simple número. Sin ponerle nombre al evento usando un enum o un static const, simplemente el número. Una docena de eventos diferentes en una misma clase.
No entiendo bien, ponían los eventos como constantes o enum? Esto no lo he hecho pero no sé por qué te parece tan negativo... por memoria? Si mejora la legibilidad, y creo que puede mejorarla, no lo veo tan mal...
He visto gotos en un catch de una excepción que volvían al principio del try correspondiente para emular un bucle de reintentos.
Eso es creatividad!
#78 Te explico lo de los eventos con un ejemplo. Imagina el siguiente código:
switch (evento)
Y así hasta 12 eventos diferentes. Toda la clase estaba llena de cosas así. Un buen programador bautizaría esos eventos con nombres descriptivos, para poder escribir cosas legibles como "case BORRAR:". Pero un mal programador es demasiado vago para eso, y cuando él mismo mire ese código al cabo de una semana ya no sabrá qué cojones es cada cosa.
En cuanto a los de no quitar las trazas temporales, puedo entender que se deje alguna traza en alguna función, pero es que en el código que yo digo TODAS las funciones tenían trazas de esas. Y apuesto a que tú no pasabas por parámetro si deben trazar o no.
#79 Lo entendí justo al revés. Así escrito claro que no se entera a los 10 minútos de a qué corresponde cada evento :).
El problema es que de boquilla somos todos buenísimos.
Solemos echar la culpa a las cárnicas-tecnológicas, pero buena parte de culpa la tienen también los clientes que pagan poco y exigen un alcance enorme en plazos irrazonables. Al final, el comercial/gerente de la cárnica se ve obligado a aceptar esas condiciones porque si no lo hace, otra empresa se lleva el proyecto.
#28 Dicho de otra forma: la culpa es de las cárnicas por aceptar estos proyectos.
#70 Si fuera tan sencillo, la culpa sería del programador por aceptar esos contratos.
La realidad es que la chapuza, el mamoneo y la improvisación está instaurada a todos los niveles: clientes, comerciales, gerentes... y sí también en los programadores. Todos sabemos que no se están haciendo las cosas bien, pero "es lo que hay". Y así nos va, como trabajadores y como profesión, que no se nos respeta y tenemos fama de chapuceros.
Programadores baratos generan el #Error0404 http://adetik.wordpress.com/2014/04/04/error0404-sin-derechos-que-trabajen-ellos/
#3 Cada vez es MÁS frecuente el #Error0404 porque lo único que quieren las cárnicas es carne barata y el beneficio rápido (capitalismo neoliberal), si queda luego la "tierra quemada" ya no estoy...
Dejo esto por acá "Matriz de competencias de un programador"
http://sijinjoseph.com/programmer-competency-matrix/
#21 Ostras, muy interesante! Muchas gracias
los programadores son asquerosos, siempre pretenden cobrar, todos los meses con la misma cantinela
Bueno, bueno, ¿que hay de malo? Los mediocres tambien tenemos que comer
Todos los que han hablado se consideran buenos programadores y se supone que la mayoria no lo son.
#52 Si quieres saber si un programador NO es bueno pregúntale si se considera un buen programador
#52 De cualquier cosa que preguntes, si es buena, la mayoría de la gente dirá que está por encima de la media. Lo cual es estadísticamente imposible, si no me equivoco.
La humanidad aprende es con dolor, muchísimo dolor, traumático dolor. ¿Quieren buenos programadores que generen productos de altísima calidad? Primero que la humanidad aprenda como los hackers/crackers/etc.. convierten la vida del empresaurio en una constante agonía y sufrimiento, el infierno sobre la tierra, estrés estratosférico, gastritis crónica y con buena probabilidad en convertirse en úlcera... cuando el empresaurio haya derramado una muy buena cantidad de lágrimas y esté pensando seriamente en huir a una cueva a pasar el resto de sus días como un ermitaño, quizás allí, haya una muy leve posibilidad que en verdad piense en: pagar muy bien a excelentes desarrolladores de software.
#35 Hahahahahahaha. Y luego serás de esos que piratea software o pasa de pagar Whatsapp. Sigue soñando . Si tu (o la gente en general) no paga el desarrollo, las empresas que fabrican software dejarán de tener tanto margen y pagarán menos. El articulo lo pone bien claro, las empresas cliente no miran la calidad, miran el precio (y en este caso, tu actúas como cliente del software X que no pagas), eso provoca una escalada de caída de precios y toda la cadena productiva se resiente. Si la calidad no se paga, la calidad no se valora, así que obviamente, mientras el trabajo salga, se mirará el más barato. Es obvio.
Si quieres cambiar el mundo empieza por pagar el software que usas.
Yo estudio programación, y la incompetencia a nivel universitario es increíble.
Luego quieren que hagamos maravillas con una miseria.
Los buenos programadores hacen campañas en kickstart y webs con un diseño maravilloso para vender humo, forrarse y desparecer.
#38 De todas maneras se lo intentarán joder por la vía jurídica, para que molestarse en completarlo?
#38 Por alguna razón me vino a la cabeza el nombre de Peter Molyneux .
#59 Si un mecánico te arregla mal el coche puede matarte. Lo mismo con otras muchas cosas que no por cotidianas son menos peligrosas.
#66 Y si un programador introduce un bug en el sistema ABS puede matar a mucha más gente. O en el software de un marcapasos, o de un avión, o en el software que se usa para construir edificios (ya se cayó el techo de un estadio por un error en el programa usado para calcular las estructuras).
Pero la diferencia del desarrollo de sofware con otros ámbitos no es tanto la gravedad de los errores como su propagación y la dificultad que tiene encontrarlos, sumado a la cantidad de personas que pueden cometer errores graves (todos, quitando a los de la limpieza :P).
No hay programadores buenos, correcto. Pero acaso no ocurre lo mismo con todas las demás profesiones? ¿No es difícil encontrar un buen mecánico o un buen dentista o un buen profesor? ¿Acaso el desarrollo de software se diferencia en algo de las demás profesiones?
Cierto que no se valora la calidad del software, pero.. ¿Realmente se valora la calidad del algún producto? Yo diría que no... Victimas del marketing aparte, pocas personas he visto que realmente quieran pagar ese poco mas por tener un producto o un servicio de calidad, normalmente se tira "a lo barato" y los programadores no íbamos a ser la diferencia.. Hay que dejar de mirarse el ombligo, señores.
#58 "¿Acaso el desarrollo de software se diferencia en algo de las demás profesiones?"
Sí. En el desarrollo de software un error de el programador de menor rango puede tener consecuencias desastrosas a una escala que se alcanza en pocos ámbitos. Si un albañil te hace una pared torcida se tira la pared, se rehace y no se cae el edificio. Si un mecánico arregla mal un coche te lo traerán de vuelta y poco más, si un desarrollador es un chapuzas la consecuencia la puedes ver años después afectando a los sistemas de medio mundo. Errores muy tontos han mandado satélites a tomar por culo, han provocado sustituciones masivas de vehículos, etc.
Yo diría que no hay tantos programadores malos (que también) sino jefes estúpidos y plazos imposibles.
Es curioso que en esta profesión todos son malos excepto uno mismo...
#64 Añado, la diferencia entre tener un jefe que antes haya sido empleado y sepa toda la mierda que tenemos que tragar por culpa de los que no saben, y uno que sea simplemente un tío con pasta o un economista/MBA al que han contratado directamente para hacer de jefe, es ENORME. Desde que tengo a uno de los primeros vivo más feliz.
El problema tiene que ver con el modelo de desarrollo de software como servicio y la forma de cobrar este servicio, normalmente por horas (o proyectos cerrados que como luego salen siempre mal se amplían mediante bolsas de horas para "mantenimientos evolutivos" ad infinitum). Estas empresas de servicios, aka carnicas, no viven del software, son empresas que venden horas/hombre, están en el negocio de los recursos humanos (odioso termino) no en el tecnologico, para maximizar su beneficio no tienen que hacer mejor software, lo que tienen que hacer es el peor software posible pero no tan malo como para que les echen a patadas de los proyectos (a veces les echan claro, es difícil estar en el alambre), y hacerlo mal es facil, con contratar a gente con algún conocimiento pero sin mucha experiencia o talento sale solo, hacer software es una tarea extremadamente compleja.
Luego están los clientes, entre ellos ocupando un puesto de honor nuestra querida administración pública, que por una mezcla de ineptitud e intereses creados siguen una y otra vez contratando a los mismos proveedores que entregan basura y sólo en determinadas circunstancias y cuando se ven con el agua al cuello acuden a algunas (pocas pero alguna hay) empresas que saben hacer las cosas algo mejor y les sacan del atolladero. Me se algún proyecto gordo de la admon pública que después de sonoros fracasos y echar a un proveedor contratan a un nuevo proveedor que a su vez subcontrata al anterior... ver para creer.
Decían, en project phoenix, un libro genial por cierto, que el software es el sistema nervioso de las empresas, que a día de hoy cualquier decisión de negocio que tome una empresa es viable o no en función de la flexibilidad del software que esa empresa tenga, las empresas que empiecen a tomar conciencia de esto empezarán a crear equipos internos donde de verdad se valoren a los profesionales o establecer acuerdos con partners tecnologicos (no contratar por proyecto) que les ofrezcan calidad, estas empresas conseguirán una ventaja estratégica sobre el resto, pero claro esto va a tardar muchos años y algunos sectores donde no hay competencia de ningún tipo (la admon publica, oligopolios y monopolios varios etc,etc) pues se seguiran haciendo las cosas fatal.
¿Hay ejemplos de empresas que valoran la calidad?, claro que si, a montones, cualquier empresa en la que hayan entendido que su negocio depende de la calidad de su software, por poner un ejemplo que conoce todo el mundo: google mismo, si comparas la calidad del desarrollador medio de google con la de, por decir una carnica cualquiera, everis, pues se hace evidente la diferencia, claro, es que se dedican a negocios diferentes!, no esperéis que everis se fije en como hace soft google para imitarlo y lograr una calidad similar porque no es ni su negocio ni su objetivo.
Los que quieran como programadores trabajar en buenas condiciones que busquen empresas de producto o que ofrezcan sus servicios como freelance vendiendo calidad en lugar de tirando los precios, pero no busquéis calidad en una carnica que nunca jamas la encontrareis,no es su negocio!.
#63 Cierto, el problema es el modelo de negocio consultora-carnica que se basa en en desconocimiento absoluto de lo que es un servicio/producto de calidad en el mundo del software por parte del cliente y en breve de la propia consultora.
La consultora sabe que no ofrece un buen servicio, se limita a hacer algo mas o menos que se ajuste a lo que pide en el numero de horas. Y como el numero de horas es bajo, y el numero de mamones (lease jefecillos )y programadores junior (que una gran parte no les gusta programar, por eso todavía quizás no lo saben, por eso son juniors) es alto pues sale lo que sale...
Por supuesto también esta el hecho de que la mayoría de gente con puestos de responsabilidad (desde el jefecillo escurrebultos hasta jefes de verdad) vienen del mundo cobol donde surgió el término peyorativo picateclas, pero no saben que la programación web de hoy en día no tiene mucho que ver con esos tiempos en que te pasaban el documento y tu lo traducías a cobol. Hoy en día los programadores tienden a ir hacia arriba y los analistas hacia abajo, el código es el diseño, y ser un programador web competente lleva años.
Lo veo cada día en mi trabajo, tal cual.
Las cárnicas y el desarrollo software basura no es una exclusiva española.
Por cierto, el autor del blog tiene un MOOC gratuito a través de MiriadaX sobre metodologías ágiles más que interesante; yo lo he terminado hace unos días y para quién quiera aprender sobre el tema es recomendadísimo: https://www.miriadax.net/web/agilidad-lean-2edicion
El blog también merece mucho la pena.
La calidad "no se quiere pagar", no es lo mismo que "no se paga". Yo soy programador y lo veo muchas veces en entrevistas que incluso me ofrecen de junior teniendo mas de seis años de experiencia. Te quedas con las ganas de cagarte encima de la mesa e irte sin decir nada pero no lo haces.
Yo siempre contesto lo mismo. "No gracias, cuando necesite un perfil como el mio no dude en llamarme, si estoy libre le atenderé." y me voy.
se ve que los programadores incompetentes van a sustituir a los administrativos ya que los primeros "tienen nociones de informática"
Ahora que ya sabemos cual es el riesgo mas frecuente, ¿alguien quiere comentar cual es el riesgo más dañino?.
He votado errónea creyendo que lo hacía en otra noticia... mea culpa, me azotaré la espalda como penitencia
Los buenos programadores están en menéame.
Ya ves, han programado ya un Fibonacci y cuando ven el Matemática por primera vez se atreven a decir que es cutre...
Lo que necesitamos los informáticos es un buen Delorean para que cuando viene el jefe de turno, encarga la tarea para ayer y mientras te va comiendo la oreja con los yakeyepones y los requisitos cambiantes, tener el proyecto hecho.
Probablemente los mejores programadores estén por llegar. Imaginar un chaval aprendiendo programación desde los 8 años.. En UK ya se esta introduciendo.
No lloreis por la mala situación empresarial y tratemos todos de dignificar el oficio. Probablemente tengamos como colectivo mucho poder pero no nos organizamos como dios manda
Pocos programadores buenos quedan en España. Las 6 cifras estadounidenses son difíciles de batir. Vamos, lo que decíamos de monos y cacahuetes.
No se paga la calidad.
Pues no se, pero fuera de nuestras fronteras a los programadores se les paga muy bien. Yo llevo tiempo fuera de España y la diferencia es abrumadora. Conozco a bastantes recruiters y me han llegado ofertas de toda europa con unos salarios de puta madre. Irlanda, Reino Unido, Holanda, Rep. Checa, Alemania, Suiza, Francia, etc...
En España es otro tema, ya que es un mercado dominado por las carnicas y lo unico que les importa es pagar lo menos posible, porque la calidad les da igual. Incluso prefieren vender software de poca calidad, porque eso implica cobrarle soporte al cliente. Si vendes un software de muy alta calidad, con pocos fallos, no ganan dinero, porque las carnicas ganan dinero porque tu estes ahi en el cliente, cobrandole por horas y pagandole al programador un pequeño porcentaje. Lo mejor es encontrar una empresa que venda software, no carne, lo malo es que hay muy pocas asi que por mi parte decidi emigrar.
Si alguno se anima, tenemos un grupo para ayudar a ello: http://groups.google.com/group/expatriadosit
Ahora mismo hay un sitio que estan como locos buscando informaticos, en Belfast. Pagan bien y la ciudad es de las mas baratas de UK. A mi me ofrecieron una vez 50.000 libras de programador Java, que son mas de 3K libras netas al mes en una ciudad donde puedes alquilar facilmente por 400 libras al mes. Yo tengo ya mi vida hecha en Dublin sino me habria ido. Esto es solo un ejemplo de los muchos que podria aportar.
Los buenos programadores acaban iniciando sus propios proyectos y empresas, los inútiles se pasan el día quejándose y repitiendo las memeces de laboro del tipo "padefo" y "empresauiros".