Hace 16 años | Por DZPM a mnm.uib.es
Publicado hace 16 años por DZPM a mnm.uib.es

Lista de diez indicios de que tal vez no seas un buen programador.

Comentarios

D

#1 Eso quizás no, pero mejorar nuestra reputación como Ingenieros de verdad seguro. ¡Maldito lobby de los telecos! jeje

gallir

#3, además es éste vaya historial: @dubliner

Lee las normas de comentarios y una tila.

D

La número 10 es cierta, pero de una manera diferente a la que creo que se da a entender: no es que el mileurismo, la precariedad, etc sea un "castigo" a los "malos" programadores. Es que si caes en las redes de las cárnicas, la explotación, las horas extras sin pagar, las metodologías inexistentes, en definitiva la cutrez... olvídate de ser un buen programador en la vida. Nunca aprenderás nada y acabarás odiando la profesión.

Si de verdad piensas que algún día puedes llegar a ser un buen programador, vete fuera de España. Y si alguien piensa que por cobrar 2000€ al mes es un genio, que sepa que los verdaderos genios están en Silicon Valley o sitios parecidos, no en la empresa española...

De todas maneras, justificar de la manera que sea la explotación, el maltrato profesional y personal, el prestamismo laboral, etc, que es la desgracia de la profesión, es algo bastante ruin, por no decir algo más fuerte...

gallir

#16, desde mi punto de vista no está nada mal comenzar la vida laboral a 1000 euros el mes (hay muy pocos afortunados que comienzan con cantidades mejores, la media informática está en 21000 brutos anuales). El problema es si dos años después sigues cobrando lo mismo.

D

#8 Estoy completamente de acuerdo contigo. Ademas, Pascal te será útil luego como pseudocódigo. C en 1º sería para suicidarse directamente, salir de una clase de Física y meterte en una de C... uuuf!

visualito

Voy a contar una experiencia personal.

Soy Ingeniero de sistemas y me encanta la programación. Dicté la materia introducción a la programación para ingenierías (diferentes a ingeniería de sistemas) por espacio de 5 años en la Universidad de loa Andes en Colombia y C nunca supuso un inconveniente grave para ninguno de los alumnos. Las bases de programación las explicaba con ejemplos representativos escritos en un pseudocódigo el cual era una mezcla de C con palabras que representaran sentencias sobre las que quería recalcar algo. Los mejores alumnos, aquellos que entendían rápidamente los principios básicos, nunca tenían problemas con C, entendían con la misma facilidad las características del lenguaje lo mismo que las bases de la programación estructurada. Los alumnos más lentos, aquellos a los que le costaba bastante trabajo entender inclusive la forma en que funcionan los condicionales, tenían problemas en entender C derivados principalmente de sus deficiencias en algoritmia general. La conclusión que saqué es que no importa que lenguaje utilices para enseñar programación, las personas que manejen un pensamiento matemático/lógico muy bueno entenderán algoritmia y programación de forma sencilla, independientemente del lenguaje que utilices para enseñarle. Lo mismo aplica para aquellas que tengan problemas es decir, si tienen problemas con la algoritmia tendrán problemas con el lenguaje.
Cabe añadir que para enseñar programación estructurada es mejor no utilizar lenguajes orientados a objetos.

gallir

#12 No hace falta irse fuera de España para trabajar bien siendo un buen programador, seguro que no es SV, pero tampoco es la miseria que dicen muchos.

> De todas maneras, justificar de la manera que sea la explotación, el maltrato profesional y personal, el prestamismo laboral, etc, que es la desgracia de la profesión, es algo bastante ruin, por no decir algo más fuerte...

¿Eins? Si hay alguien que critica con números los malos salarios, entre ellos estoy yo, incluso cuando eso me generó agrios problemas con algunos empresarios informáticos de Mallorca. Por ejemplo: http://mnm.uib.es/gallir/posts/2005/08/22/397/ (sin contar que también hice de perito de la acusación para reclamar salarios acordes al convenio en empresas "importantes" –del Govern–, dicho sea de paso, hemos ganado).

Pero en ningún caso se podría justificar la "explotación", porque por suerte no tenemos esclavitud y hay leyes y sindicatos que protegen a los trabajadores. Si ves alguna "explotación", es tu deber ciudadano denunciarlo, con nombres y apellidos.

Lo que me tiene absolutamente cansado es el discurso quejica y falaz de los presuntos programadores mileuristas (que además suelen estar acompañados de los reclaman "colegios informáticos oficiales", otra gran estupidez). Si son mileuristas es porque han aceptado ese salario, porque no son tan buenos como dicen –show me the code–, porque no se quieren mover de su barrio, o simplemente porque creen que es salir de la universidad y contratar un hipotecón a los dos meses, o por simple estupidez (o todas juntas).

En cualquier caso, nadie está obligado. Hay empresas que pagan muy bien a los [buenos] programadores y cualquiera tiene la libertad de cambiar de trabajo, ciudad y país. No hay excusas.

D

#22 Los DAIs que conozco empiezan cobrando lo mismo que cualquier ingeniero informático (Unos 800€), y con el tiempo, y dependiendo del sitio, pues como todos: sé de gente que tras los años ganan 1000 y otros que casi 3000.

Sobre las race-conditions (condiciones de carrera) es cuando hay dos o más procesos (o hebras) ejecutándose a la vez. A priori no podemos saber cuál será la primera en llegar a un determinado punto (Depende del planificador de tareas, que es la parte del sistema operativo que decide quién se ejecuta en cada momento). Cuando el resultado dependa de cuál ha sido más rápido o lento tendremos condiciones de carrera. Fíjate que, de no solucionarse, este código no cumpliría el concepto de algoritmo. Hay varias formas de solucionarlo: Semáforos, mutex, etc.

Conceptos clave: Multiproceso. Planificador de tareas. Procesos. Hebras. Fork. Cambio de contexto.

Ejemplos clásicos: Cena de los filósofos (By Dijkstra), Buffer acotado, etc.

D

#12 "Pero en ningún caso se podría justificar la "explotación", porque por suerte no tenemos esclavitud y hay leyes y sindicatos que protegen a los trabajadores. Si ves alguna "explotación", es tu deber ciudadano denunciarlo, con nombres y apellidos."

En serio perl, se ve claramente que no tienes ni idea de cómo funciona el mercado laboral de la informática hoy en día, año 2007... Decir que las leyes y los sindicatos nos protegen...

Mira: yo denuncié a mi empresa (cárnica) y a mi cliente (mega-consultora) por cesión ilegal de trabajadores. Después de un proceso legal de 18 meses nada agradables gané (como no podía ser de otra manera). No caí en el error del chico del BBVA que salió hace poco en menéame y negocié una sustanciosa indemnización. Esto lo he podido hacer porque no tengo deudas ni cargas familiares, si no, de qué, moreno...

Y la cesión ilegal afecta al 90% de la gente que trabaja en la empresas de servicios informáticos en este país. Y si es ilegal ¿por qué lo hace todo el mundo? Pues porque no está apenas castigado, el proceso es largo, complicado y desagradable para el trabajador, y porque aquí la Administración Pública, a todos los niveles, es la primera que incumple la ley. Así que no digas que si no te gusta una empresa te vas a otra, porque casi todas son la misma mierda. Una cárnica no se fija en si eres bueno o malo, ya que en la puta vida mirarán tu código (y si lo vieran no lo entenderían), sólo en lo que pueden sacar por ti al revenderte.

De los sindicatos, mejor no hablar, que en menéame entran niños... De todas maneras, el bajo salario es el menor de los problemas. Cuando alguien se niega a hacer horas extras (muchas) sin cobrar y es amenazado con el despido sin ningún pudor, eso no pasa porque el programador no sabe quién es Turing, sino porque el sistema en este país está montado por auténticos negreros a quienes no vendría mal un buen susto de vez en cuando...

Y me callo ya que me pongo malo...

flekyboy

11. Te cabreas cuando testing detecta errores en tu codigo, tomandotelo como una guerra personal.

[cuando en realidad deberias alegrarte, ya que gracias a ellos tu funcionalidad saldra con menos errores al mercado]

boalar

La mayoría de pecados son de "novel" en el mundo de la programación que la mayoría hemos cometido, en gran parte derivados de algo que no aperece ahí y que es el gran error que lleva a todos, y no es mas que el "debo meter las narices en todo lo que hay porque no confío en el resto", mientras no tengas claro que el resto de la gente es como tú, con sus aciertos y sus fallos y te dediques a mangonear todo serás un pésimo programador, una lacra y un tocahuevos a tus compañeros.

Respecto al 8, da igual el lenguaje en el que te enseñen, es algo que no se nos mete en el melón, enseñan a programar, quien sabe programar se puede adaptar a practicamente cualquier lenguaje, excepto lisp

gallir

#21, ringsakira, te contesto breve que me voy a dormir:

1. No estamos hablando de "estudiantes", sino de programadores. O en otras [manidas] palabras: la ignorancia los hace atrevidos.

2. Falso. Tan importante como saber conceptos, los problemas y sus soluciones es saber el porqué se estudió el problema y cómo se llegó a la solución (y eso da pistas de las limitaciones y problemas de esa solución).

3. No lo sé, lo que sé es que muy pocos programadores noveles tienen experiencia con programas grandes, y considero que eso es fundamental para aprender, no repetir los errores, reconocer tus limitaciones y sobre todo darte una cura de humildad (llevo años estudiando el núcleo del Linux y sólo puedo entender pequeñas partes).

4. Los comentarios no significan "claridad" de código, de hecho si se necesitan comentarios es porque el código es poco legible o está mal estructurado. Basta mirar los grandes programas (y releer el #3).

5. Que tu profesor haya sido inútil no es justificación para no haber aprendido lo que es necesario, o peor, que lo uses para justificarlo y no aprenderlo.

7. Casi cualquier programa moderno (y hasta el código del menéame, que tiene al menos un par) es susceptible de tener "race conditions". Si todavía no has programado nada que lo pueda tener, es que no has hecho ningún programa relativamentegrande y/o importante. Además, esto sí se estudia en todas las informáticas (sistemas operativos y/o programación concurrente y está considerado como uno de los principios fundamentales de la ciencia informática: http://mnm.uib.es/gallir/posts/2005/05/07/273/)

8. Está explicado brevemente en el artículo: " empezar con estos lenguajes con abstracciones y construcciones más complejas sólo introducen problemas y ruido en el aprendizaje, y lo que es peor, introduce vicios que luego son muy difíciles de eliminar.". Hay por allí un paper genial que ya tiene unos cuantos años explicando los problemas de los lenguajes OO en primero de programación, no puedo encontrar el enlace.

10. Sí, de acuerdo, pero puedes sólo quejarte o cambiar de empresa. O incluso montar tu empresa. Si todas son inútiles e incompetentes, y tú tan bueno, no tendrás casi competencia. ¿No?

RadL

De acuerdo en todas menos con la Nº8. Creo que Pascal es una perdida total de tiempo, se pueden enseñar perfectamente las estrucutras de control, variables, bucles, funciones, POO, etc con C/C++, que aun que sea un lenguaje "viejo", sigue siendo muy usado, y permite aprender Java o C# con mayor velocidad.

No se como sera en otras universidades, pero en la mia, despues de dar 3 asignaturas en Pascal, de repente te exigen C++ y Java de golpe y sin que nadie te haya enseñado.

D

Estoy escribiendo una aplicacion para un hanheld basado en arm9, no entiendo la mitad del codigo que escribi ayer, la libreria grafica del controlador LCD no esta documentada, el sqlite amalgamation me ocupa el 109% del espacio disponible. etc, etc.
Podriais dejaros de hacerme recordar que soy un PESIMO PROGRAMADOR!!!!!!

Akron

Todas bien para mi menos la 10. El intrusismo molesta menos, pero que te paguen 1000 euros por ser ingeniero superior es una vergüenza. Cualquier ingeniero superior de otra carrera cobra mas aunque sea un patán redomado.

#13 En todos lados en España a una persona sin experiencia demostrada le pagan mas o menos mil euros y si te pagan un poco mas es porque la vida ahí esta mas cara. Los mejores programadores que yo conozco empezaron cobrando 1000€.

r

#25 en algunas cosas tenemos distinta opinión, pero en otras es que no nos hemos entendido.

1.- Lo de los estudiantes es solo un ejemplo. Pongamoslo en el mundo laboral, todo tu departamento ha de hacer un programa, X es quien lo hace más eficiente y en menor tiempo, por lo que se considera mejor programador. Según el texto de gallir eso es incorrecto, y a mi parecer no lo es.
Básicamente mucchos puntos del texto de gallir se pueden resumir en "si vas de chulo es que no eres tan bueno como te crees, se más modesto".

2.- Correcto, pero eso no significa que tengas que saberte el nombre de quién lo hizo.

4.- Lo de la cantidad de comentariso simplemente es una anécdota ya que hace poco miré el código de menéame y había pocos. Coincidimos en que si el código es ilegible es algo mal hecho por parte del programador.

5.- no me has entendido, no estoy diciendo "es que yo n ose eso porque mi profesor era inutil". Lo que digo es que se puede saber mucho de algo y ser un negado para explicarlo.

7.- yo no fui a la universidad (si fui pero lo dejé, solo hacía matemáticas). Sinceramente en el mundo de las empresas en españa la mayoría de gente programa en basic y a lo cutre, y venden como churros, cuanta más el comercial que el programador.

10.- como se suele decir, todas las emrpesas están igual, así que las salidas son: irse al extranjero, ser funcionario, o montar la propia empresa. y como acabo de decir en /, cuenta más el comercial que el programador. Haz UN PROGRAMA DE MIERDA y consigue un buen comercial. Mucho mejor que tener el mejor programa del mundo y que no lo sepas vender (El cliente final no va a ver el código, si dominas de race conditions, etc lol
Y que conste, no voy de mega-dios supremo. Solo digo que en las empresas el que cobra más no es el que más sabe, y que los analistas que conozco son simples peleles. Si te fijas no he dicho que yo sea beuno en ningun momento, sino que he visto código muy malo.

F

#13: "Pero en ningún caso se podría justificar la "explotación", porque por suerte no tenemos esclavitud y hay leyes y sindicatos que protegen a los trabajadores. Si ves alguna "explotación", es tu deber ciudadano denunciarlo, con nombres y apellidos"

Te apuntas conmigo a denunciar al 90% de las carniceras? Empezamos mañana?

"Lo que me tiene absolutamente cansado es el discurso quejica y falaz de los presuntos programadores mileuristas (que además suelen estar acompañados de los reclaman "colegios informáticos oficiales", otra gran estupidez). Si son mileuristas es porque han aceptado ese salario,"

Llevo 1 año y medio trabajando de programador para llegar a ser mileurista, mi código es más limpio, claro y rápido que algunos que llevan en la empresa 4 y 5 años (he visto código que dejaria helado al yeti) y a mi no se me valora por mis conocimientos si no que lo único que se tiene en cuenta es que "sólo" tengo 1 año de experiencia. Ninguno de mis compañeros ha estudiado lo que es el polimorfismo, la encapsulación y nisiquiera sabe hacer un puñetero diagrama de flujo. Pero claro, tienen más experiencia...

Con gente que sigue pensando como tú anda que vamos a abandonar algún dia la situación demigrante en la que estamos los programadores.

Repito, no es que haya aceptado ser mileurista, si no que he tenido hasta que esperar y evolucionar para llegar a serlo ya que más de 12000€ brutos anuales no te pagan en la gran mayoria de las empresas. Eso de que a los buenos programadores les pagan más es mentira, les pagan más a los que tienen mucha experiencia y a veces cuesta encontrar esas ofertas. Y a veces la experiencia no va ligada a saber programar mejor.

D

11. Te comienzan a pedir cosas como sacar fotocopias, preparar cafe, cualquier excusa con tal de mantenerte alejado del ordenador

a

Totalmente de acuerdo con #1 y por tanto con el punto 10 también. ¿A qué tanto miedo? Un buen programador no se preocupa de que venga otro y le quite el puesto... a no ser que sea mejor que él, claro. Y por tanto no necesita 'pretextos' en forma de títulos para reservarse el pastel. Sobretodo cuando la tasa de paro en el sector tiende a cero.

pinkix

#13: "Pero en ningún caso se podría justificar la "explotación", porque por suerte no tenemos esclavitud y hay leyes y sindicatos que protegen a los trabajadores. Si ves alguna "explotación", es tu deber ciudadano denunciarlo, con nombres y apellidos. "

Si, si los sindicatos... esos "bomberos" de los patrones que entre otras cosas se dedican a defender sus privilegios y vender a sus ¿compañeros? de trabajo.

En cuanto a las leyes creo que ya lo ha explicado #34 sobradamente.

Perl ¿aún crees en los sindicatos? ¿en las leyes? ¿y en papá noel? jajaja

jca

Sobre el punto 8, Pascal podría reemplazarse por Python.

Ataulfo

#38 Si tan mal te tratan en esa empresa. ¿Qué demonios haces todavía ahí? No se, puedes buscar, tal vez exista alguna otra empresa que valore otras cosas aparte de la experiencia.

#42 Si claro, pero tu compara el puesto de informático (aire acondicionado/calefacción, sentado todo el día, poco/nulo esfuerzo físico) con la mierda de trabajo que es ser repartidor. (y, aún así, dudo que cobres lo mismo que un repartidor, o estamos hablando de diferentes tipos de repartidor...)

osiris

En mi universidad (URV) se enseñaba Ada en primero. Mientras estudiaba me quejaba de lo mierda que era, y la poca utilidad en sí del lenguaje. Pero ahora que he terminado, me doy cuenta de la utilidad de haber aprendido desde el principio a utilizar un int cuando quería un entero, y de cómo darme cuenta de que quería un entero y no un short.
Sobretodo en estos tiempos en los que con lenguajes como PHP cualquier variable puede ser cualquier cosa, con las ventajas y desventajas que ello supone. Creo que si no tienes claras unas bases, es muy peligroso, puedes cometer errores muy graves.

Enseñar desde el principio C con sus punteros, referencias y demás... no digo que no lo hubieras aprendido, pero coño, una cuesta se puede subir andando o a la pata coja...

r

#30 #36 Pues he pensado que era eso al verlo en una hoja de temario, sin embargo creía que no podía ser algo tan sencillo.
En el ciclo también lo explican, aunque sin anglicismos. (Supongo que son "diferencias culturales" con Argentina [sin ofender])

C

que suele cobrar un tecnico superior en desarrollo de aplicaciones (DAI) nada mas empezar? y cuando lleva ya un tiempo?

y una duda: que es eso de race-conditions?

D

A mi en primero (ahora estoy en segundo de Ing. Inf.) me enseñaron primer semestre Python y segundo C. Y ahora en segundo casi todo ha sido C++ (también ha habido un poco de C). Y gracias a #30, me he dado cuenta que sabía lo que era una race-condition, pero simplemente no había escuchado nunca esa palabra lol

D

#44 estoy trabajando de repartidor y cobro unos 1000. Por los comentarios veo que entre los programadores no es un sueldo extraño. Así que explícame si es lógico (y sí, ser repartidor puede ser una mierda de las gordas).

neoz

Yo aprendí con un software gráfico Colombiano(http://mx.geocities.com/ikky_fenix/ind_proy.html) que te mostraba el diagrama de flujo tal cual , y se lo recorria paso a paso, muy bueno para enseñar a programar, despues pase directamente a C sobreviví pero muchos no, de hecho aborrecieron la programacion.

Creo que un semestre de Pascal, despues C, despues C++, despues lo que sea, seria lo mejor.

D

Todo esto está muy bonito. Suerte que estas 10 reglas, sobre todo las relacionadas con mileurismo, intrusismo, etc. valen para España, país tercermundista (informáticamente hablando) donde el desarrollo serio de software brilla por su penosa escasez. O sea, que dando por ciertas las reglas, puedes ser un programador muy malo, muy malo en España, pero de puta madre si te vas al extranjero.

q

yeku, para cualquier resquicio de duda:
www.trabajobasura.com

r

Acabo de leer a #13
Mas o menos está como en la situación que describo de gallir en #21
No ves lo que dices? que tu opinión te supuso problemas con empresarios... la gente de a pié no nos codeamos con empresarios lol
Quiero decir, que vuestro caso es diferente... nose.. me recordais a Punset y aquel artículo sobre el ánimo emprendedor.

Jusore

#8 Dimelo a mi que arrastro la asignatura de Programación de 1º CFGS por lo mismo. A mi me han enseñado C y JAVA simultaneamente, C y algo de C++ en Programación y JAVA en Análisis.

tuxcator

Yo empeze con objective-c sin saber nada de otro lenguaje ( por que uso mac ) y luego me meti con .Net hasta tal punto de que se me hizo facil html-javascript-php sin haber ido a cursos todo gracias a internet, por que le puse mucha dedicacion y ahora estoy estudiando ingenieria de desarrollo de software y un profesor os conto algo parecido a estos puntos.

D

Lo que tiene huevos es que a un programador, después de tragarse años de estudio se le pague lo que a un repartidor (que es en lo que trabajo ahora), que con el carné de coche ya tiene suficiente.

Shinu

#9 Pues yo hice C en primero y estoy vivo, saqué matrícula y todo

j

A los del intrusismo de los telecos: por qué no haceís vosotros lo mismo con los curros destinados a telecos? Quien decide quién se contrata son la gente de recursos humanos, no los propios telecos.

Eh, no vale crujirme a votos negativos..

y

Pues oí el otro día o leí que están muy mal pagados y que desde hace unos años es uno de los puestos más solicitado por las empresas, en que quedamos?

salu2

q

Que pesaditos y que razón tienes bufalo!
Hay demasiado friki gilipollas tocapelotas en el gremio

FrIkI

#5 Para eso estan los libros e Internet

maximus

Bueno pues ya puse mi comentario en la nota... y no estoy muy de acuerdo... de hecho eso me parece mediocre y muy hipócrita... creo que lo mejor es hacer que tu código se pueda actualizar y sea funcional... algo así como dar el 101% http://www.iblog.com.mx

D

lameculos, browntongue