style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Anecdotas

Gracias

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Entrevistas

Una vez me toco hacer entrevistas en mi trabajo, y bueno, llegaron personas de todos colores, lugares y de mas. La cosa esta en que habia personas con el ego por encima de lo permitido (por su potencial cerebral) lo cual se notaba en el exceso de confiazna en sus conocimientos, entonces les preguntaba: A ver fulanito y tu que sabes. Ellos respondian, "Ah, soy un experto en Oracle, en Java y utilizo Hibernate a un nivel avanzado y Spring a nivel intermedio...

ORALES casi casi lo contratábamos. Oye pero dime que tal manejas la lógica de programación, que tanto conoces Java y que tanta comprensión tienes sobre códigos ajenos -pregunte-. "Pues todo eso lo manejo bastante bien, de hecho tengo X papel, que avala mi conocimento en blah blah blah blah" (hasta saco un papelito del auto diplomado "conocimiento Total" donde se declara un Master en Maicrosof Ofis; bueno punto y aparte... A la hora de los trancazos me tocaba hacerle un prueba, y dije SE ME HACE QUE NO SABE y antes de preguntarle de hibernate, srping que si conexiones a DB que si reflexion que si blah blah blah pense, vamos a ver como entiende java y como lo maneja

A ver fulanito que sale de este programa:

        public static void main (String[] args) {
                int i = 0;

                if (i++ == 0);
                {
                        System.out.println ("Es obvio que i vale cero");
                }e1se:{
                        System.out.println ("i fue incrementada y ya no vale 0");
                }
        }

Su respuesta: "i fue incrementada y ya no vale 0"

después: Bueno a ver dime, que pasa si comparo un char con un int?
respondió, no se puede comparar una cadena de un solo caracter con un numero entero

"mta" -dije-

bueno fueron como 6 preguntas mas que ya ni me acuerdo ni del código que le puse pero de verdad que era un código bastante sencillo pero solo una respondió bien; cual? a pues esta: ¿Que diferencia hay entre un int y un Integer? - le daba un coco si no lo respondía bien -

bueno fallo casi todo y fue cuando dije, este chavo solo sabe buscar código en google y pegarlo en el proyecto. y si, efectivamente cuando le dije que me hiciera un CRUD lo hizo pero sin internet no se hubiera podido llamar programador

El titulo de Un ISC que queria cobrar 24k$ se basa en su habilidad de buscar en Google.

Moraleja: Bendito buscador pero maldita gente farsante

Imagen de ezamudio

lo contrataron?

Bueno y al final contrataron al farsante que no sabía la diferencia entre i++ y ++i?

Re:necesita esfuerzo del otro lado

Por esta razón no creo en las certificaciones. No existe imparcialidad a la hora de evaluar a los programadores.

Creo que todo tiene su complejidad

Mucha gente ya nos se mete en programación de escritorio, otros han preferido PHP por el lenguaje tan simple, mucho mas simple que VISUAL. Yo en este momento trabajo en un programa de PHP, he tenido que usarlo y modificarlo dependiendo de las exigencias del usuario y el tiempo que se me solicito. Y aunque parece un lenguaje bastante soso, tiene tanto sus bemoles como sus bellezas. Me recuerda mucho al java antiguo, donde no habia tanta accesibilidad y se usa mucho la imaginación. No se que es para ustedes hasta que punto es programar. Sin nuestra imaginación, no sirve de nada ser programadores, ya que de ella dependemos para saber hasta donde vamos a llegar y que caminos podemos usar. Saludos

Cuanto debe saber un programador

No soy programador JAVA aunque me interesa el tema, llevo mucho tiempo programando en PHP y me encuentro teniendo la costumbre de googlear cosas en las cuales no he tenido que trabajar en profundidad.
Esto es porque el conocimiento almacenado en el cerebro es finito, a diferencia de lo que se dice (el mito de que el saber no ocupa lugar), lo que quiere decir que hay 2 tipos de personas:
1_Los que saben muchisimo de algo, pero compran el café instantaneo porque colar un cafe en la cafetera es una hazaña para ellos, o en palabras más simples, saber muchisimo de algo nos hace increiblemente ignorantes en otras cosas.

2_El que sabe un poco de todo y en cuanto se mete en un problema Googlea, todavia no entiendo porque menosprecian tanto a este especimen, de hecho si mandas a un nerd a una conferencia hace aguas por todos lados, en cambio las personas que entran en esta categoria tienen habilidades suficientes en muchos campos.

Conclusión:
Lo que se debería evaluar es la inteligencia de las personas, es decir la capacidad de salir de un atolladero (lo que yo llamo la mentalidad RAMBO dale un cuchillo y te derriba un ejercito), y no lo que su memoria ha de haber almacenado porque no se olviden muchachos que si lo recuerdan para eso se inventaron las computadoras, los seres humanos son creadores no computadoras.

Ahora esto quiere decir que se debe tomar a alguien sin conocimientos, NO, absolutamente NO.
Pero al postulante debe exigirsele creatividad y responsabilidad, NO memoria de computadora pues las demás condiciones llegarán sin duda si la persona tiene las condiciones previamente comentadas.

Una persona responsable y creativa puede ser evaluada sin problemas, y cuando rechacen a una persona porque no se acuerda una sentencia en JAVA, recuerden que grandes genios de la historia fueron tildados de ignorantes.

Saludos.

Imagen de ezamudio

michaelsoft

Estoy de acuerdo con algunos de tus puntos, pero en desacuerdo con otros...

Si soy una empresa y estoy buscando un programador Java y entrevisto a uno que no puede hacer un programa muy simple en Java sin ayuda de Google, no lo considero un programador Java. Puede ser la persona más creativa y tal vez sea el programador más prolífico en Haskell, Prolog, PHP, Ruby o algún otro lenguaje, y tal vez sea un programador excepcional en esos lenguajes, pero no me sirve como programador Java en ese momento. Probablemente puede aprender el lenguaje y volverse eficiente en él, pero pues hay dos opciones entonces:

  • Lo aprende en su propio tiempo y regresa a entrevista cuando ya tenga conocimiento suficiente para ser me útil.
  • Lo contrato porque se ve que es muy bueno en general para programar, pero con un sueldo más bajo porque sé que su productividad inicial será menor por estar aprendiendo un lenguaje nuevo, y pues me va a usar como escuela, así que le pagaré como programador Jr. hasta que su productividad llegue al nivel que estaba buscando.

Aquí creo que lo que hemos estado discutiendo es el uso de Google e internet en general durante los exámenes prácticos en entrevistas. Obviamente ya en el trabajo diario todos lo usamos porque es una referencia rápida, pero aquí partimos del principio de que se tiene un examen práctico bien diseñado para que lo pueda responder sin internet ni referencias externas alguien que cubre el perfil de conocimientos que estás buscando.

Cuanto debe saber un programador

Excelente tu respuesta, realmente me agrada, pero debo aclarar algunos puntos:

En un punto de mi respuesta dije "deberiamos contratar a alguien sin conocimientos absolutamente NO", lo que quiere decir que esta persona se debe mover con cierta soltura.
Pero el problema radica justamente en el punto que mencionaste:

"un examen práctico bien diseñado para que lo pueda responder sin internet ni referencias externas"

En general el examen lo hace un colaborador, ni siquiera la persona que va a dirigir el equipo, y basa sus preguntas en lo que a el le parece SIMPLE, o sea, lo que está acostumbrado a usar todos los días.
En definitiva los exámenes siempre son una trampa ya que si la persona responde mal lo único que se comprobó es que no manejaba el código que se le puso enfrente.
¿Una persona es menos calificada porque Googlea en pleno examen?

Yo creo que no, porque Google es una herramienta como cualquier otra, y para usarla para programar, HAY QUE SABER PROGRAMAR !. (Las mayusculas son solo para enfatizar)

El uso de la memoria es una eterna guerra entre los universitarios y los autodidactas, así como también los dogmas de los patrones de diseño.

Mi idea es que solo se usan al momento de lucirse con otros programadores o desacreditar a otros.

Para terminar, espero no haber ofendido a alguien, reitero lo que dije anteriormente:

Como empresa me decanto por el creativo, ya que por experiencia practica sube de nivel en un lapso de no más de 4 o 5 meses (una vez que tiene directivas claras de para donde tiene que avanzar), mientras que el que sabe mucho le cuesta más, y si no me creen pueden probar.

Es crucial que se entienda que el candidato no debe ser alguien engreido con más infulas que conocimiento sino alguien INTELIGENTE y con actitud PROACTIVA y AUTODIDACTA.

El programador como commodity

No he tenido el tiempo de leer todos los comentarios de este artículo, sin embargo, leyendo los tres últimos, me parece que estamos dejando de lado el lugar y el rol para el que se necesita contratar al programador, así que aquí escribo mi punto de vista.
En algunas empresas el programador no es mas que un commodity (mercancía intercambiable), lo cual podemos ver fácilmente en lugares como IBM o HP Enterprise Services, en los que se tiene todo un proceso de planeación y se considera que el analista habrá hecho todo el trabajo necesario para que cualquier programador con conocimientos específicos (alguien que pueda resolver un exámen sin usar un buscador web) pueda escribir el código que se necesita, regularmente este tipo de lugares siguen un "modelo de desarrollo" mas tradicional con RUP, CMM, etc.
Existe en cambio el escenario en el que el programador no es un commodity, sino que es alguien requerido para resolver diferentes tipos de problemas que puedan surgir en un área de TI. Regularmente en empresas pequeñas y medianas no se tiene el capital suficiente para implantar una metodología como las anteriormente mencionadas y por lo tanto muchos roles de estas metodologías son eliminados, dejando al programador encargado no solamente de la programación, sino también del diseño y análisis en muchos casos, surgiendo figuras como el Analista Programador y alguna especie de especialista en todo lo relacionado a TI.
En el segundo caso mencionado, es impensable contratar a un programador que solo sepa resolver un examen por memoria. Es indispensable que esta persona sea alguien inteligente, que guste de los retos, proactivo, con gran capacidad de aprender las cosas rápidamente.
La mayor parte de las empresas no especializadas en TI y algunas pequeñas especializadas en TI optarían por pagar el aprendizaje de una persona capaz que un programador commodity, pues el programador commodity puede o no tener las cualidades que se requieren y a la larga saldría mas caro.

Re: Creo que todo tiene su complejidad

Pues por eso mismo, te cito:

Me recuerda mucho al java antiguo...

No sé para ti que sea accesibilidad, pero creo que PHP está lejos de ser "poco accesible", existen cosas para todo. Sin embargo es otra filosofía muy diferente a la de Java. En Java se hacen las cosas bien, en PHP sólo se hacen.
Ya van empezando a migrarse los programadores de las buenas prácticas a PHP, pero eso hace unos años (incluso todavía) encuentras miles de aplicaciones PHP poco mantenibles con un enredadero.

Y tienes razón con lo de la imaginación, pero tampoco hay que caer en argumentos de: "Yo uso Fox Pro y me basta porqué mi imaginación es muy buena."...Hay cosas que tristemente no son posibles sólo con imaginación, necesitas una herramienta (que en ocasiones hace la diferencia, ¿o que con imaginación y un tenedor puedes hacer una sanja mejor que con un pico y una pala?) y necesitas la dedicación para hacerlo =).

Muy Cierto

Eso es verdad hay empresas que le interesa el papelito mas que la experencia y que tal que el que tiene el papelito a pesar de que esta certificado no tiene experencia es una mala elecion

Imagen de ezamudio

fizzbuzz

Revisitando el fizzbuzz, ahora en Scala:

0 to 100 foreach { n=>
  print(n)
  (n%3, n%5) match {
    case (0, 0) => println(" FizzBuzz")
    case (0, _) => println(" Fizz")
    case (_, 0) => println(" Buzz")
    case _ => println
  }
}
Imagen de neko069

Qué, nadie se ha dado cuenta

Qué, nadie se ha dado cuenta que la mayoría ( si no es que todos) los post de @CARRARO los borró? qué, se va para no volver?, se avergüenza de nosotros? o sólo se aburrió? o qué onda???...

Imagen de ezamudio

crackeado

Le crackearon su password y le borraron todo el contenido. Yo supongo que fue alguien que lo conoce, porque no usaron su cuenta para poner spam en otros foros sino solamente para borrar todo lo que había escrito.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">