Too Cool for Internet Explorer

No tienes ni puta idea

Hora y Fecha: Febrero 28, 2007 @ 12:20 am Autor: Moisés Maciá
Categorías:
516 Visitas

Después de un poco de ensayo y error he descubierto que la gente que pelea con el código no lo hace con grandes problemas, ni siquiera con pequeños problemas (por ejemplo implementar una lista enlazada). Batallan con problemas insignificantes.

Asi que he preparado una serie de preguntas que me permitan identificar este tipo de programadores, a estas cuestiones las llamo Preguntas chorra. Un ejemplo de pregunta chorra podría ser el siguiente:

Escribe un programa que imprima los números del 1 al 100. Pero para los múltiplos de 3 imprime “Fizz” en lugar del número y para los múltiplos de 5 imprime “Buzz”. Para los números que son múltiplos de 3 y 5 a la vez imprime “FizzBuzz”.

La mayoría de los buenos programadores son capaces de escribir en papel un programa que hace esto en un par de minutos. ¿Quieres saber algo terrible? La mayoría de los licenciados en informática son incapaces de hacerlo. Incluso aunque en la entrevista se hayan auto proclamado programadores senior, toman más de 10-15 minutos en escribir la solución.

Por fin Jeff Atwood empieza a repartir estopa: Why Can’t Programmers.. Program? Y es que hay muchos consultores, de los que cobran en un mes lo que yo en un año, que no saben ni lo que son las expresiones regulares. Lo que es no tener ni puta idea, oiga.

Después pasan cosas.

También se hacen eco en Menéame.





« Anterior post: Bases de datos open source | Próximo post: Orientación a Objetos en JavaScript: variables y métodos privados/públicos »

16 Comentarios para “No tienes ni puta idea”

HeV
28 de Febrero de 2007 a las 12:52 am    

Mi jefe, me ha demostrado con el paso del tiempo, que de palabra sabe muchas palabras relacionadas, pero realmente, el 70% no sabe que significan y por supuesto no sabe programar.. se pasa el día enviando mails.

ebarbeito
28 de Febrero de 2007 a las 1:01 am    

Buf, no sé… me resulta difícil creer realmente afirmaciones como “(…) La mayoría de los licenciados en informática son incapaces de hacerlo” o, extraído del artículo que enlazas, “I’ve personally interviewed graduates who can’t answer “Write a loop that counts from 1 to 10″ or “What’s the number after F in hexadecimal?” Less trivially, I’ve interviewed many candidates who can’t use recursion to solve a real problem.

No digo que no pueda ser verídico y existan este tipo de casos pero ¿se puede tomar esta clase de conclusiones como “regla general”? A mí me parece que ni de coña. En cualquier promoción habrán casos y casos pero pienso que es de perogrullo confiar (incluso estar bastante seguro) de que la mayoría de los recién licenciados son capaces de resolver sencillos problemas de programación. Incluso los estudios permiten enfrentarse a problemas complejos, ¿tan complejos que olvidas lo más sencillo? No sé, resulta absurdo pensar que, por regla general, así sea.

No sé, no sé ¿Quizás no le he pillado el tono gracioso al artículo y me lo haya tomado demasiado serio? jeje.

Un saludo :-)

Moisés Maciá
28 de Febrero de 2007 a las 1:17 am    

No es que me parezca absurdo, es que lo he visto con mis propios ojos.

Y no uno ni dos casos, que al fin y al cabo te echas unas risas y se olvida. En muchas ocasiones me ha tocado enderezar cosas que mas hubiera merecido la pena tirar a la basura y empezar de cero.

Después de varios años tocando código de mucha gente ‘profesional’ y empresas de ‘renombre’ la norma suele ser el caos en el mejor de los casos. Curiosamente en los proyecto Open Source que he tocado la gente se afana por que todo luzca bonito y ordenado.

Será que el miedo a hacer el ridículo y a que te digan que no tienes ni puta idea te hacen mejor programador …

ebarbeito
28 de Febrero de 2007 a las 4:00 am    

Bueno, una cosa es el nivel general de los recién licenciados en informática y luego otra el panorama laboral con el que lamentablemente te sueles encontrar (y aquí sí, no pongo pegas: parece que la regla es toparse con cada cosa que… ver para creer)

En lo personal no he estado más que en dos empresas, de las cuales la primera de ellas prefiero ni tenerla en cuenta (fue vergonzoso y por supuesto estuve muy poco tiempo. El chiringuito al que prefiero olvidar seguro te suena si diera nombres, uff caya caya, me entran escalofríos solo de pensarlo jojojo :D). Por lo que tampoco puedo despotricar a diestro y siniestro; aunque sí es cierto que incluso con la poca experiencia que tengo ya he visto cada cosa que… a veces dan ganas de denunciarse a sí mismo por ser cómplice/partícipe de semejantes negligencias. Vamos, que lo de desear que alguien perite lo que veo ante mis ojos y acto seguido huir a las Islas Bahamas casi puedo decir que no hay mes que no piense en ello :-\

Pero en fin, al lío, son cosas distintas ¿no? Que el desarrollo de software se haga de la manera que parece se suele hacer en el entorno empresarial no tiene (directamente) que ver con la preparación con la que salen la mayoría de recién licenciados. Llámame inocente pero es que no le veo relación directa :) aunque claro que la “mano de obra” influye en que las cosas se hagan de la manera que se hacen pero ¿por no estar preparados? No creo, la parte de culpa que nos toca (a la mano de obra, programadores) sería más bien debida a otros aspectos (condiciones laborales –¿programar bien por 800€? ¿horas extra “unlimited and free!”? ¿que lo quieren “para ayer”? ¿picando código directamente, sin saber más que cuatro requisitos?, etc. Si anda, para eso lo hago rápido y como sea–, realización de tareas que puede no motiven –imagina a un licenciado que no le motiva la programación, realmente prefiere realizarse en otras tareas/otro campo pero por X razón ahí lo tienes. Pues… a saber cómo salen las cosas así– y aunque sepamos hacerlas mejor se hacen rápido y como sea, la falta de metodología –y/o de equipo de desarrollo, y/o de jerarquías/repartición de responsabilidades y tareas–, de experiencia Y no tener a nadie que te supervise, etc.) pero es que la mayor parte de culpa, en mi opinión, se la llevan directivos y la “gente de arriba”, o como ya apuntas esos consultores doctorados en vender la moto a precio de rico vaporware (los Ilusionistas deberíamos rebautizarlos, como la peli jeje). Los de arriba mueven los hilos, los mueven sin saber realmente qué hacen y con pose de tener muy claro que son expertos (de cara al cliente, cómo no, y a sus empleados también), encima a nosotros marionetas nos tratan de no muy buenas maneras y ¿encima va a ser que no salimos preparados? :)

[pd: siento el rollo :-P]

ebarbeito
28 de Febrero de 2007 a las 4:06 am    

También siento las faltas de hortocaligrafía que amablemente he aportado (caya, caya, etc…).

Buenas noches ;)

Lek
28 de Febrero de 2007 a las 1:13 pm    

Ottiá… Software AG… me suena me suena… No sabía que nadie pudiera querer contratar a esos chapuceros…

Lo que veo que no cambia es sus honorarios y su calidad ^^

david
1 de Marzo de 2007 a las 12:55 pm    

Pues yo creo que el que no tiene ni puta idea de lo que dice eres tú, y que te has flipao demasiado.

A ver, que mas da si tardas 2 minutos u 8… van 6 de diferencia… realmente lo has pensado? o estás muy frustrado porque cobras una mierda en comparación con tu jefe?

Es más listo el que tarda menos en hacer una mierdilla de programa o el que organiza mejor los proyectos? yo creo que son cosas totalmente distintas pero bueno.. sigue flipándote amigo pato lucas.

Moises
1 de Marzo de 2007 a las 1:14 pm    

Si entras a un sitio para ocupar un puesto de programador, se espera de ti que sepas enfrentarte a problemas y resolverlos.

Si te ponen un ejercicio así y tardas 20 minutos en sacarlo, tus presuntas habilidades como programador quedan bastante en entredicho.

Yo puedo no tener ni puta idea de muchas cosas pero como dijo Diogenes: el movimiento se demuestra andando.

Que fácil es insultar desde el anonimato. Sin acritud :)

Aaron
1 de Marzo de 2007 a las 11:47 pm    

He hecho la prueba con mi jefe y mis compañeros de curro.
Conclusiones-> mi jefe si le sacas de metodos predefinidos de VB, se pierde.
mis compañeros a pesar de tener la carrera, y yo no tener FP2 (aun) han tardado
bastante en resolverlo.
Yo resolvi el programa en unos 6 minutos (escribirlo) pero en 1 minuto se tiene una
idea simple de lo que te piden y de como afrontarlo.

Por lo tanto hay mucho “inepto” programando, y no es que no sepan programar, sino que
solo saben interpretar lo que otra persona les plasma en un esquema.
Entonces Programador!=PicadorDeCodigo.
Saludito Moises.
PD:Espero que el david ese no sea nuestro amigo cowFlame XD

ebarbeito
2 de Marzo de 2007 a las 8:35 pm    

Lo que no sé yo es por qué os centráis en discutir si un buen programador es o debe ser capaz de tardar dos minutos en resolver ese ejercicio en concreto. De ser así, entonces yo debo ser el hijo secreto de Torvalds y Cox porque lo resolví en los segundos que tardé en leerlo. Y soy un mediocre programador, del montón vamos, al que le queda mucho por aprender. Estoy convencido de que casi todos vosotros, sin conoceros, tampoco os habréis calentado la cabeza para ese ejercicio en concreto ¿O qué?

Pero, vuelvo a lo de antes, es que no es ese el tema. El tema es que ¿realmente la mayoría de licenciados (y/o técnicos, si queréis incluirlos en el mismo saco) no serían capaces de resolver de cabeza este tipo de ejercicios simples? ¿Realmente creéis eso? A mí es que me suena a demasiado exagerado, tanto que diría mucho no ya de la mayoría de recién titulados (ponga aquí licenciados, diplomados o técnicos) sino de los centros que los forman. No sé, ¿esto va en serio o tengo menos humor de lo que pensaba :D?

Historia de una función” una anotación de esta bitácora donde, en mi ignorante opinión, deja ver que tan buen programador se puede llegar a ser :)

Blaxter
3 de Marzo de 2007 a las 2:05 am    

Si yo fuese el entrevistador, directamente le daba un teclado y le ponia un cronometro de estos de ajedrez (que hacen ruidito y meten presión jaja), si pasan los 60seg y no lo ha hecho, a su casa. Es un puto bucle!

Cheli
11 de Marzo de 2007 a las 4:16 pm    

Pues si Enrique, claro que creo que hay licenciados y diplomados que salen de la carrera sin saber ni siquiera resolver ese problema porque yo tambien lo veo a diario. Son los que están en la carrera de informática pero que realmente no les apasiona lo que se supone va a ser su profesión, estudian para aprobar el exámen y punto pero luego no tiene ni idea de los conceptos porque en verdad no se han preocupado en aprenderlos. Le pones un ejemplo que no sea uno de los 4 que ponen en clase y salen en el exámen y ya van perdidos.

Es triste pero es así, Cheli.

Luther Blissett
15 de Marzo de 2007 a las 7:26 pm    

Bueno, aqui está mi proyecto de fin de carrera, lo voy a liberar con icencia copytheft:

“Sistema avanzado de reconocimiento y sustitucion de patrones de division en operaciones matematicas en numeración decimal.” (Beta 0.3.1416c)

int main(){

int i;

for (i=1; i

Luther Blissett
15 de Marzo de 2007 a las 7:30 pm    

Se ha cortado por el <, maldito HTML!

int main(){

int i;

for (i=1; i<=100; i++){

if( (i%3 == 0) && (i%5 ==0) ){
printf(”FizzBuzz “);
continue;
}

if(i%3 == 0){
printf(”Fizz “);
continue;
}

if(i%5 == 0){
printf(”Buzz “);
continue;
}

printf(”%d “, i);

}
}

penyaskito
15 de Marzo de 2007 a las 7:48 pm    

Luther Blissett: Puedes hacerlo mejor ;)

TheOm3ga
19 de Marzo de 2007 a las 1:23 am    

for(i=0; i <= 100; i++){
printf(”\nI: %i “, i);
if(!(i%3)) printf(”Fizz”);
if(!(i%5)) printf(”buzz”);
}
Que tenga que venir yo, que estoy en primero de informática de sistemas, a escribirlo… xD


Bad Behavior has blocked 858 access attempts in the last 7 days.