Últimos Comentarios

Newsflash

ya hemos creado la lista codepixel en googlegroups.com para los que quieran formar parte de la comunidad de la web.

 

 

Polls

Qué cambiará obama?
 

Login Form






Lost Password?
No account yet? Register

Quién está online?

Syndicate

Inicio
Qué hay que saber realmente? PDF Print E-mail
Written by Javier Loureiro   
Tuesday, 10 June 2008

La gente joven se pregunta qué cosas son necesarias para trabajar en la industria como desarrollador. Los jóvenes, en su mayoría, vienen con muchas ideas preestablecidas sobre la forma de programar, y como es el mundo ideal de la empresa. Y mayoritariamente estas ideas son un poco raras y distintas de la realidad.

Por ejemplo, por culpa de los departamentos de recursos humanos (que muchas veces no conocen el perfil que tienen que buscar), la mayoria de las ofertas  de empleo están llenas de siglas de multitud de tecnologías. Esto es un auténtico problema para las empresas, ya que descartan a gente realmente buena de forma un poco estúpida, pero muchos jóvenes, al ver semejante requerimientos, se ponen a hacer cursos de certificación para ampliar la lista de "tags" que pueden poner en su CV. Simplmente porque los de RRHH no quieren hacer su trabajo como debe de ser. Eso sí, para aplicar una búsqueda en una base de datos de candidatos, no hace falta contratar a gente de RRHH, cosa que empiezan a darse cuenta las empresas.

Otra cosa es el sistema educativo, sobre todo el de primaria, que nos enseña a "chapar", a aprenderse de memoria párrafos enteros de libros, y que obliga a pasarse las horas de clase haciendo algo tán estúpido como ir subrayando lo que el profesor va leyendo. Todos recordamos esos libros donde se subrayaba un 80% del texto, y donde los ás imaginativos subrayaban a 3 o cuatro colores (en especial ese rosa chillón que no hay dios que pueda leer). Eso está en las antípodas de lo que significa prepararse en la vida. Pero es muy cómodo para el profesor, que sólo tiene que hacer un "diff" del examen y el texto original, y puntuar el número de "conflictos".

Despues están webs como codepixel. Hay también hay parte de culpa. Aqui hablamos continuamente de papers, de algoritmos, de complicadas tecnologías arcanas de ingeniería. Eso hace que la gente piense que el mundo profesional es precisamente esto,el tener en la cabeza muchísimos papers técnicos y que cada vez que hacemos un programa, independientemente de la complejidad que requiere, sea más o menos una mezcla entre obra de arte, enviar una sonda a marte, y modificar la gestión de memoria del kernel de linux. Por eso, antes de programar cualquier chorrada, nos pasamos un buen rato mirando internet, buscando la solución a tan complejo problema.

Pero... qué es lo que hay que saber realmente en el mundo de la empresa? Pues algo muy dificil. Hay que saber pensar. Así de simple, y así de complicado. Hay que saber cómo depurar un programa sin tener que llenarlo de breakpoints y esperar a que el depurador nos diga la solución, hay que pensar que condiciiones variables tiene un problema antes de desarrollarlo, hay que saber preguntarse a uno mismo para qué hace falta ese programa, esa característica. Hay que sentarse, acotar los problemas en partes pequeñas, y dar soluciones razonadas. Eso es lo que realmente hace un buen profesional.

Muchas veces, cuando trabajamos, lo que más se hace es lanzar una hipótesis, y despues intentamos demostrarla. Muchísimas veces fallamos, pero al menos, tenemos un plan donde ir buscando, y normalmente, acabamos antes que si perdiesemos horas con el depurador buscando fallos. A parte, de disfrutar de ese placer en comprobar que la teoría era correcta.

Cuando una empresa pide una larga lista de tecnologías, lo que está diciendo es que "no tenemos ni puta idea de cómo ni dónde buscar a gente",  asi que es una empresa que seguramente no piensa demasiado, probablemente tenga unos buenos comerciales que metan dinero en el negocio, y a vivir. Es una empresa donde al final, uno que piense, no acabará contento.

Cuando un alumno se pasa el día chapando, sin el más mínimo criterio, está oxidando algo muy valioso, su capacidad de razonar y ver más allá de lo que está escrito en el papel. Realmente se oculta la incapacidad del profesor en hacer que la gente piense, cosa que a mí me parece muy dificil. La prueba está en que google sustituye a todo ese modelo educativo (para que chapar la wikipedia, si ya la tienes online)

Cuando nos pasamos el día leyendo en codepixel sobre los algoritmos, perdemos nuestra capacidad de descubrir, por nosotros mismos, soluciones a los problemas gráficos. Cuando nos pasamos el día buscando en google ejemplos de código, perdemos nuestra capacidad de crear rutinas nuevas, y de desarrollar nuevas tecnologías.

Por eso os invito a intentar, antes de abrir el navegador, a pensar un poco sobre lo que vais a buscar. Aunque sea sólo a declarar una hipótesis de cómo sería la solución ideal.

 

Comentarios
AgregarnuevoBuscar
- Manolopm - Si, pero no...   | 195.235.228.xxx | 2008-06-10 12:57:46
Estoy de acuerdo en parte. Me explico, en el tema del sistema educativo estamos de acuerdo... es completamente inútil tener toda la wikipedia en la cabeza, y más cuando al 90% de nosotros la mitad de esas cosas nos dura lo que tardamos en hacer el examen.

Sin embargo, no estoy de acuerdo en que mirar código, papers, soluciones de google mate la creatividad... todo lo contrario, contrapones muchas posibilidades, los pros, las contras... y al final dejas que se componga la tuya en tu cabeza. A parte de la vena innovadora de utilizar una solución muy típica en un ámbito en otro completamente diferente. Por supuesto esta medida llevada en exceso también falla, sin ir más lejos recuerdo a un compañero de carrera que "googleo" todas sus prácticas, resultado: No sabe resolver problemas sino no se lo resuelve alguien.
- IRTHUS - Articulo Perfecto...     | 88.7.161.xxx | 2008-06-10 13:10:21
Ahora no tengo tiempo para comentar como Dios manda el articulo, pero solo queria decir, que estoy totalmente de acuerdo.
- Diego - ahap     | 83.40.210.xxx | 2008-06-10 14:14:34
Totalmente de acuerdo, y más en lo que respecta al sistema educativo. No hay grandes diferencias en el método de enseñar de hoy y de hace 50 años, algo que ocurre en pocos ámbitos de la sociedad.

Como dice el dicho, lo bonito (e instructivo) es andar el camino. No hay mayor satisfacción que ese run-run del cerebro planteando hipótesis, probando cosas, verificando y equivocándose e ir consiguiendo las pequeñas metas que uno se ha propuesto (http://uk.youtube.com/watch?v=Jtz5eN7yn8k , hacia el final).

Si al alumno le propones un reto y éste lo resuelve con una búsqueda online y un copypaste, no hay camino! Lo mismo con la programación, si te basas en librerías, copypaste de snippets o copiarle los trabajos al compañero, no estás aprendiendo, te lo dan hecho.
Mimestim   | 84.79.161.xxx | 2008-06-10 18:18:38
Estoy completamente de acuerdo con lo de la enseñanza, empece a pensarlo cuando estudiaba B.U.P. y C.O.U. ( fuí el penúltimo curso del viejo sistema ) pero vamos que la E.S.O. es igual o peor , la cuestión es que van a lo facil, ya que ejercer realmente de profesor es harto complicado, tiene uno que plantear constantemente problemas que incentiven a las distintas generaciones y estar encima de ellos con sus problemas e inquietudes ( semos humanos ), siempre he odiado lo de tener que aprender de memoria, lo importante es analizar y sintetizar no memorizar, que para eso ya se puede uno consultar los libros si quiere una definición completamente exacta, el cerebro humano trabaja con ideas y medidas normalmente vagas y sumamente abstractas , esto ademas es independientemente de la materia a la cual se deba de aplicar. Lo peor ha sido la carrera , me esperaba bastante mas la verdad, pero la mayoria de asignaturas han sido de memorizar, cualquier persona que tenga buena capacidad para memorizar puede sacarse sin muchos problemas la Ingenieria tecnica de sistemas y la Superior con especialidad en I.A. ( son las que he cursado , se que ya hay nuevos planes pero por lo que se son todavia mas chorras ), y eso que se supone que es una ingenieria, lo suyo es que todo sea mucho mas de pensar , hacer ejercicios , miniprogramas, vamos que hay que demostrar que se sabe algo o mejor aún que se entiende algo y para esto no hay nada mejor que una demostración práctica, lo único en lo cual discrepo un poco es en que si considero adecuado consultar muchas fuentes para obtener información, pero claro esto no significa copiar o no debiera, sino que se debe de aprender y analizar estas fuentes y cuando ya se tenga un nivel adecuado se empieza a sintetizar, con el tiempo uno domina el tema y puede empezar a abstraerse y desarrollar ideas propias ( normalemente versiones adaptadas , ideas evolucionadas a partir de otras anteriores , mezcla de varias , etc ), bueno siento el ladrillo.

SALUDOS A TODOS !!!!!!!!!!!!!
- iSTO - Tienes razón, pero todo en su   | 91.116.188.xxx | 2008-06-10 23:38:08
Estoy de acuerdo contigo, pero yo creo que ojear papers de vez en cuando viene bien para tener inspiración... a ver si ahora resulta que para pensar no se puede leer jejeje. Lo que no creo que sea bueno es pensar: ya que tengo que hacer tal cosa voy a ver que ha hecho el vecino. En otras palabras: todo en su justa medida.

Por supuesto supongo que esta es tu idea, aunque puede ser que no quede del todo clara ;)

No podemos aspirar a programar o trabajar basándonos siempre en cosas de los demás (papers, código...).

No está prohibido ni es malo mirar cosas de fuera: por ejemplo para pequeños detalles (como por ejemplo una chorrada de CSS o como inicializar el OpenGL de tal manera) sí puede estar bien mirar el código: te puedes ahorrar un tiempo precioso en lugar de darte de cabezazos intentando sacarlo tu solito.

Yo creo que el truco está en leer y consultar, no copiar: tener tus ideas, aunque se puedan inspirar en otros.

En cualquier caso :P y diego os lo puede decir, yo suelo pecar de gustar de reinventar la rueda más de lo que debiera xDDDD
Diegix   | 209.139.199.xxx | 2008-06-10 23:40:20
Como comentario rapido diria que el saber buscar quien y como ha resuelto tu problema anterioremente tiene mucho merito. Ser capaz de ver un problema ir a google y encontrar la solucion y copy pastearla y que funcione es perfectamente valido, salvo que lo estes haciendo como entretenimiento.

Muchos de esos razonamientos son el principio del sindrome de "no hecho en casa" que hace que la gente haga "yet another pintador de triangulos" una y otra vez.

Esta muy bien de vez en cuando ir al gimnasio para ejercitar los musculos y ponerse fuerte, pero si trabajas cargando cajas haras bien en usar maquinaria para moverlas.

Desde mi punto de vista lo mas importante para aprender a hacer juegos es hacerlos. Si para eso tienes que ir a google a copiar algoritmos, coger un engine de open source, pues adelante. Si intentas hacer todo de cero lo mas probable es que no llegues a hacer nada.

En cualquier caso cualquier extremo es malo y si lo que quieres es aprender, obviamente copiar lo que quieres aprender no te va a ayudar. Sin embargo, copiar o aprender donde buscar la informacion cuando lo necesitas tambien es algo que cualquier desarrollados de juegos tiene que aprender.
Algar   | 57.67.17.xxx | 2008-06-12 11:34:09
De acuerdo con el artículo; lo más preocupante para mí es la falta de motivación del sistema educativo actual. Los estudiantes, incluso de carrera, muchas veces pierden el norte de lo que tienen delante. Y la culpa es del sistema y en mayor parte de los profesores. La mayoría del conocimiento surge por necesidad e investigación. Siempre hay que tener claro el lado práctico de lo que haces, y entender el porqué y para qué.

Cuando fui profesor de Matemática Discreta, comenzaba todas las clases de combinatoria diciendo:

"Hoy vamos a aprender cómo ganar en la lotería"

La mayoría de alumnos se reían, otros sonreían incrédulos, y al final terminábamos explicando gran parte de los teoremas básicos de combinatoria con la quiniela, el euromillones, y la primitiva.

Y totalmente de acuerdo en las empresas busca "TAGS". RH debería esforzarse un poquito más de vez en cuando.

Un saludo a todos!
- ryu - Magnífico     | 88.7.226.xxx | 2008-06-13 21:58:44
Un artículo magnífico.
Estoy completamente de acuerdo en que lo que caracteriza a un profesional en el mundo del desarrollo de software (cualquier software) es su capacidad para pensar y resolver problemas, no tanto que conozca la tecnología X o Y, porque por una parte podrá aprenderlas en un tiempo razonable, y por otra parte, dentro de 6 meses la empresa ya usará la tecnología Z y el trabajador tendrá que aprender de todos modos algo nuevo...

Respecto a si es malo leer artículos, libros, etc. Corrígeme si me equivoco, pero entiendo que no te referías a que esto sea malo de manera absoluta, porque reduce nuestra capacidad para pensar. Yo lo que he entendido es que si uno sólo se apoya en este material a la hora de hacer su trabajo, no será un profesional realmente brillante.
De hecho opino que leer artículos (ojo, no chaparlos) es bastante enriquecedor, porque amplía tus horizontes, te permite descubrir nuevas formas de resolver problemas, e incluso plantearte tú mismo alternativas a lo que presenta el artículo. Pero claro, si lo lees con la intención de aprender a resolver el problema concreto que viene en el paper, no has ganado gran cosa...

Relacionado con todo esto, creo que es muy interesante aprender sobre técnicas de creatividad y pensamiento lateral, que ayudan especialmente a resolver problemas buscando caminos innovadores, utilizando tus conocimientos de manera inusual, o combinando técnicas que conoces para construir sobre ellas algo diferente.

Y ya paro de enrollarme, que seguro que te voy a petar el tamaño de campo de la base de datos :-P
Adrian L     | 83.52.247.xxx | 2008-06-13 23:09:18
Me ha gustado mucho este articulo y coincido. Especialmente en esas empresas que exigen certificaciones para cada programa que vayas a usar. no deja de ser un absurdo, hay gente con gran talento y conocimiento, que sencillamente no posee dinero para acceder a estos papeluchos que no demustran nada.
Escribir comentario
Nombre:
Email:
 
Website:
Título:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image
Por favor introduce el codigo anti-spam que puedes leer en la imagen.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.



menéameDigg!Del.icio.us!Google!Technorati!Yahoo!
Last Updated ( Tuesday, 10 June 2008 )
 
< Prev   Next >

Lista de Correo

visita la lista de correo de codepixel. Es una lista abierta, asi que podrás subscribirte y preguntar tus dudas de programación, compartir tus opiniones, aportar ideas, y formar parte de la comunidad codepixelera.

 

Visita la antigua página

Image