El Sistema Educativo, Tú y Tu Elemento – Parte 3

Como ya comentaba en la Parte 1  de este tema, existe un gran problema en nuestro sistema educativo: no nos permite encontrar nuestro elemento, de hecho, en muchas ocasiones es el mayor obstáculo. En la Parte 2 comentaba que aunque no tenía una idea clara de como resolver este problema desde su raíz, sí tenía ideas generales para aproximarse a la solución.

Curiosamente, justo unos días después de publicar aquél post, me topé con este video acerca del sistema educativo finlandés. Si no lo has visto, te recomiendo ampliamente lo veas y luego vuelvas, yo aquí te espero.

¿Listo? como verás, la idea de tratar de estandarizar exámenes, lidiar con montones de tarea y en general, dedicarle demasiado tiempo a las actividades exclusivamente académicas, no es el mejor camino para que los jóvenes puedan alcanzar su máximo potencial.

PERMITIRLES SER NIÑOS, DISFRUTAR DE LA VIDA. Es básicamente el secreto de la educación finlandesa, dejar que descubran por sí mismos, de tal forma que ellos deriven sus conclusiones y se enteren ellos mismos de qué es lo que les gusta, lo que capta su interés, en lugar de hacer que memoricen fórmulas, respuestas, acontecimientos. De nada sirve aprender para un examen si al terminar el curso no voy a recordar absolutamente nada.

Esto va muy ligado a encontrar nuestro elemento, puesto que mientras no lo encontremos, el interés que prestamos a las cosas va decayendo, sumergiéndonos en actividades que solamente sirven como placebos mientras deambulamos por la vida sintiendo que algo nos hace falta.

En nuestra sociedad, estamos demasiado influenciados actualmente para conseguir un buen empleo, de tal forma que puedas tener tu automóvil, una linda casa, una pareja atractiva, hijos excelentes y así una vez que llegues a la edad de retirarte, puedas por fin cosechar los frutos de tus esfuerzos… mientras tanto, a aguantar el tener que hacer “horas nalga” en una oficina o algún empleo que probablemente no nos apasione, en ocasiones inclusive lo llegamos a detestar y en otras tantas ni siquiera nos rete.

Hacemos demasiadas cosas por vivir de la manera que, aparentemente, todos desean vivir. Pero todo es una gran casa de espejos, ilusiones que al final de cuentas nos quiebran emocionalmente. A mi parecer, la mejor lección que podemos aprender es, en palabras de Paul McCartney, “vive y deja morir”.

En este aspecto, en más de alguna ocasión nos aferramos a algo que no es nuestro camino, algo que nos va a dejar en un lugar peor que las consecuencias de abandonarlo, todo porque hacemos caso de personas mediocres que no hacen más que envenenar nuestra mente. Me ha tocado tratar con estudiantes que claramente no tienen ni aptitud ni vocación para la carrera que “eligieron” estudiar, sin embargo siguen aferrados a ello y no de la buena manera. Como profesor, mi mayor falla fue no poder hacer llegar fuerte y claro este mensaje a mis estudiantes: No hagas las cosas por inercia, porque te dicen, porque otros piensan que es lo mejor para ti, hazlo porque te interesa, porque es un paso para lograr alguno de tus objetivos, porque te gusta.

“Lo peligroso no es tener metas grandes y no alcanzarlas, lo realmente peligroso es tener metas sumamente pequeñas y alcanzarlas”.

Los estudiantes no necesitan un profesor experto en fórmulas matemáticas, químicas o físicas o inclusive un mismísimo experto en artes, lo que necesitan son profesores que inspiren, que guíen y que dejen atrás sus prejuicios para propiciar un verdadero ambiente de aprendizaje.

Obviamente no sólo esto se necesita, también se requieren padres de familia que estén realmente involucrados en la educación de sus hijos desde el comienzo y que estén dispuestos a apoyar a sus hijos en sus decisiones, en lugar de obligarlos a estudiar una cierta carrera, en base al potencial económico de la misma.

Abandonar otras cosas en búsqueda de nuestro elemento no significa abandonar la riqueza, si entendemos que la riqueza tiene o puede tener un significado distinto para cada persona, y al final de cuentas nuestra riqueza constituye nuestra felicidad. Nunca es sabio abandonar la felicidad por dinero, ni dejar que el hecho de que tengamos que hacer sacrificios temporales nos robe totalmente nuestra felicidad o riqueza.

Existe tanta literatura respecto a lo que quisiera hablar en este post que me resultaría paralizante tratar de incluir los puntos principales de todos en una sola publicación coherente, así que cierro esta trilogía de posts con la siguiente reflexión: ¿Qué es lo que harías si no tuvieras que preocuparte por el dinero, si no tuvieras miedo a no tener una pensión, a quedarte en la calle, a estar solo? lo que sea, házlo, pues si tienes la combinación de aptitud y actitud, seguramente tendrás éxito, y las personas exitosas suelen rodearse de personas exitosas. Te diría que no tengas miedo, pero eso es imposible, además, el miedo es necesario, pues el valiente no es aquél que no siente miedo, sino aquél que lo vence, el miedo es una manera de saber que estamos haciendo algo distinto, algo que no hemos probado, puede ir desde lo más pequeño hasta lo más atrevido, pero es importante que nuestros miedos nunca nos paralicen por completo. Abraza tu miedo, acéptalo y agradécelo, pues es una de las mejores maneras de sentirse vivo.

El Sistema Educativo, Tú y Tu Elemento – Parte 2

En mi post anterior, hablé acerca de los problemas que enfrentamos como sociedad al tratar de estandarizar la educación así como la evaluación de la misma.

Como mencionaba anteriormente, esta estandarización, no sirve el propósito de equidad que supuestamente persigue, por el contrario, dado que no toma en cuenta las diferencias entre los estudiantes, mide de manera  desigual las capacidades de cada uno.

Es por esto que el primer paso debería ser identificar esas diferencias y ajustar la enseñanza que se le imparte a cada estudiante, esto por supuesto no puede realizarse con grupos que tienen una gran cantidad de alumnos, ni puede llevarse a cabo por personas que piensen como pensamos la educación en la actualidad. Entonces necesitamos una educación más personalizada, impartida por personas que crean en esta filosofía y tengan la visión de ponerla en práctica.

Lo que deberíamos preguntarnos entonces es: ¿Cómo podemos proporcionar educación útil y personalizada a nuestros niños y jóvenes, impartida por personas con vocación?

Vamos dividiendo la pregunta en sus principales partes, obteniendo las respuestas más sencillas para cada punto por separado, elaborando sobre ellas y luego integrando todo para incluir todas las restricciones que se presentan.

Empezando por lo más “fácil”:

  • ¿Cómo podemos proporcionar educación personalizada?

Lo más sencillo es tener más maestros y tener grupos reducidos. Obviamente esto no asegura que dichos maestros presten más atención a los estudiantes, ni se puede asumir con cierto nivel aceptable de certeza nada acerca del compromiso y vocación de los maestros involucrados. Además requiere una modificación de la infraestructura educativa, ya que las aulas actuales generalmente están pensadas para entre 35 – 50 alumnos, esto por supuesto significa invertir mucho dinero (además el incluir más maestros se traduce en más salarios). Primer obstáculo, justo ahí.

  • ¿Cómo podemos asegurarnos que la educación la proporcionan personas con vocación para su profesión?

Este punto es BASTANTE más complejo. El porqué lo pongo como el segundo en complejidad lo explico en el siguiente punto. Primero que nada estas personas deben estar motivadas; el dinero, una vez llegado a cierto nivel, deja de ser un factor de motivación. Sin embargo, tal cual nos muestra la Pirámide de Maslow es necesario cubrir nuestras necesidades básicas, para poder sentirnos cómodos. Las necesidades que corresponden al primer nivel de la pirámide se pueden cubrir con dinero, especialmente lo relativo a la alimentación, e inclusive puede ayudar en menor grado a cubrir las del siguiente nivel, sin embargo, hasta ahí llega su poder, por lo cual todo individuo necesita algo más que el dinero.

Segundo, el tema de la vocación no es un problema específico de la educación, al menos de acuerdo a mis observaciones, hay demasiada gente realizando un trabajo el cual no le gusta. Y al decir “no le gusta” no me refiero a que lo odie, sino que simple y sencillamente, no hace un esfuerzo por ir más allá. Cuando estoy realizando una actividad que me gusta, le pongo empeño y cuando se me termina el tiempo que tenía designado (o bien, alguien o algo me dice que es tiempo de terminar) todavía siento las ganas de continuar haciéndolo. Obviamente de cualquier manera se llega a un punto de saciedad, de otra forma más bien parecería una adicción. Sin embargo, cuando estoy realizando una actividad que no me gusta, por más que sea responsable y tenga un fuerte sentido del deber, lo que naturalmente sucede es que termino la actividad, y paso a la siguiente, generalmente sin mirar atrás.

Tercero, medir el empeño sincero que alguien pone en una tarea, es prácticamente imposible, al menos en la actualidad con las herramientas y recursos que tenemos a nuestra disposición. Es necesario ver a alguien desempeñando la tarea para poder observar dicho empeño. Existen tests psicométricos, de personalidad y otros tantos, que para mí son el equivalente de preguntarle a un arquitecto cómo haría un edificio para evaluar su desempeño, sin revisar su trabajo previo o sus diseños. Podemos engañarnos a nosotros mismos diciendo que es una técnica perfectamente válida y si bien nos podrá dar alguna información básica sobre la competencia de dicha persona, perdemos el panorama completo. SIMPLEMENTE NO FUNCIONA.

  •  ¿Cómo podemos proporcionar educación útil?

Esta pregunta es, a mi parecer, todavía más compleja, dado que, aún teniendo la vocación y las mejores de las intenciones, con un maestro particular, este puede dirigir a sus alumnos por caminos equivocados e “inútiles”. Claro que, de toda situación podemos aprender algo, como menciona Randy Pausch en su Libro “La Última Lección”*: “La experiencia es aquello que obtenemos cuando no obtenemos lo que queríamos”. Sin embargo, el qué es lo que más aporta para encontrar y alcanzar nuestro Elemento, varía de persona a persona, lo cual hace que la tarea sea mucho más complicada. Hay que prestar atención a un individuo para poder determinar cuándo se encuentra en su Elemento. Con todos los distractores que tenemos en nuestra sociedad actual, la atención es un recurso raro y preciado, que muchas personas no dedican ni a sí mismas.

Ahora, vayamos a la pregunta compuesta:

¿Cómo podemos proporcionar educación útil y personalizada a nuestros niños y jóvenes, impartida por personas con vocación?

1) Sí, se necesitan más personas dedicadas a la enseñanza y modificación de la infraestructura.
2) A estas personas les debe importar realmente su trabajo y saber que trabajan con personas.
3) Los maestros deben estar suficientemente remunerados y respetados para que puedan, por lo menos cubrir sin grandes problemas los primeros 4 niveles de la pirámide de Maslow.
4) Se debe dejar de lado la falsa seguridad que ofrece el obtener una plaza, ya que esta seguridad conlleva el riesgo de que las personas que no estén motivadas apropiadamente, no hagan nada por mejorar.
5) Se debe reformar los planes de estudio. Las matemáticas no son el fuerte de todo mundo, así como puede que la escultura tampoco lo sea, ni la programación, la literatura, contabilidad, etc. No podemos continuar tratando de cortar a todo mundo a partir de la misma tela y esperar que todos sean miembros productivos, eficientes y felices de la sociedad.

En este último punto específicamente tengo una idea, un tanto general:

Eliminar las evaluación de las asignaturas desde la primaria hasta la secundaria, así como también diversificar las asignaturas impartidas. No me parece una buena estrategia enfocarse a las materias que tienen que ver con solamente un hemisferio del cerebro, para que luego, cuando los estudiantes se gradúan de la Universidad, nos quejemos que no tienen creatividad. Además, el hecho de evaluar a los alumnos a esas edades, genera una cultura dañina para el descubrimiento, el raciocinio, la originalidad y la creatividad. En pocas palabras, es necesario un cambio FUNDAMENTAL, no solamente en los temas vistos en el programa de estudios de las asignaturas, sino la diversidad de las mismas, en que momento los alumnos toman dichas asignaturas, los métodos de impartición de los conocimientos de tal forma que estimulen el pensar, tanto de forma racional y de forma creativa. No todos pueden seguir el mismo camino, la educación, para alcanzar el verdadero propósito, no puede tratarse como si fuera una línea de producción.

Uno de los principales obstáculos con esta aproximación es que tardaríamos años en ver los frutos obtenidos, motivo por el cual la fe en dicha filosofía puede decaer o ser bastante difícil de levantar.

Otro obstáculo es el hecho de que, la mayoría de las personas, al ser producto del sistema educativo “en línea de producción”, han aceptado eso como la normalidad, o no pueden ver los defectos que este sistema tiene. Por lo tanto, al menos en un inicio, se presentaría una fuerte oposición a esta filosofía, por lo cual el cambio puede tomar mucho tiempo y habría que empezar en pequeño, no de golpe.

A pesar de todos los otros obstáculos que por el momento no distingo y los problemas que se puedan presentar, pienso que si implementamos un sistema que permita a los niños y jóvenes encontrar y desarrollar su verdadero potencial, es decir, su Elemento, podemos aspirar a ser una sociedad preparada para enfrentar los problemas futuros.

*The Last Lecture, muy recomendado, además, está el video en youtube de su conferencia titulada de igual manera.

Universidad vs Empresas Privadas

Recientemente estuve trabajando en una pequeña universidad, en la cual laboré por cerca de 2 años, combinado con los 5 años y medio de experiencia laboral y mis años de estudiante de ingeniería, he obtenido una perspectiva más completa sobre la relación entre el proceso educativo a nivel superior y el mundo profesional.

Para empezar existe un desencompasamiento más o menos notorio, dependiendo de la propia empresa, ya que generalmente las instituciones educativas se ven empantanadas en burocracia que se percibe como innecesaria en las empresas privadas. No hay que equivocarse, las empresas privadas pueden verse atrapadas por esa misma burocracia, sin embargo, ya que en las instituciones públicas se tiene la percepción de que es casi imposible ser despedido, existe un factor menos que incentive a los empleados a, por lo menos, cumplir correctamente con sus deberes. Además, ya que en las empresas privadas se está muy consciente que “el tiempo es oro”, se tiende a tener un mayor sentido de urgencia.

Otro factor que considero tiene peso, es la felicidad de los empleados. En varios estados del país una persona laborando en una institución pública puede ganar un sueldo comparable a lo que un profesional puede ganar en una empresa privada, dependiendo del puesto, y aunque el salario no es la bala de plata en cuanto a combatir la apatía, insatisfacción e infelicidad respecta, en otros estados en que un profesional con experiencia gana entre 3 a 5 veces más que un empleado de una institución pública, sí se nota una diferencia.

Ahora bien, en las instituciones públicas de educación superior este factor puede no aplicar de forma tan directa, ya que para ingresar a la institución se tienen que cubrir varios de los mismos requisitos, siendo de los más importantes el tener título y cédula profesional.

¿Qué es lo que generalmente propician estos factores ya mencionados?

Respuesta: Decremento en la calidad, falta de deseo genuino por mejorar y una falta de decisión que se traduce en inacción, lo cual a su vez genera aletargamiento.

En este caso, considero que la falta de deseo genuino de mejora es el factor más letal, ya que acarrea una serie de problemas importantes reflejados en preguntas o aseveraciones tales como: “¿Para qué lo hago, si no me van a pagar extra?”, ¿para qué dejas tantas tareas y trabajos, de todas formas ni los vas a revisar” o “déjales un trabajo y con eso los evalúas”.

Si bien la tentación de trabajar menos de lo necesario por la misma paga es grande y se presenta tanto en el sector público como el privado, las repercusiones en el sector público generalmente son menores, lo cual promueve ese sentimiento de invulnerabilidad al despido.

Mi experiencia como docente me ha dejado algo en claro: el camino de la enseñanza, cuando se toma seriamente, con interés y vocación, requiere trabajo árduo. Claro, con el tiempo vas aprendiendo estrategias y técnicas para alcanzar los mismos o mayores resultados con menos esfuerzo, pero nunca se convierte en algo demasiado sencillo.

Otra importante lección aprendida en este período: es bastante fácil desconectarte del mundo profesional y estancarte. Es necesario invertir parte de tu tiempo libre a actualizarte, especialmente en campos que se encuentran en constante cambio. Precisamente en esos campos, los programas educativos tienden a estar terriblemente desactualizados, cubriendo temas que ya no son relevantes o dejando fuera otros que son de gran importancia para el sector privado actual.

Además, la meritocracia parece estar siendo empujada hacia la extinción en el sector público, esto ocasionado en buena parte por la restricción de recursos, situación en la que en ocasiones se encuentran las instituciones. ¿A qué me refiero ccon esto? a que muchas veces e asignan las personas equivocadas a las tareas por falta de opciones y, a veces también, porque esa persona equivocada tiene mayor antigüedad y por lo tanto mayor prioridad. Aunque esto llega a pasar también en el sector privado, ocurre con mucha menor frecuencia.

Obviamente no todo es miel sobre hojuelas en el sector privado. Para empezar, aunque ames tu trabajo, la realidad es que estás vendiendo algo: tu tiempo. Se lo vendes a los dueños de la empresa para que ellos puedan alcanzar grandes sueños y objetivos, mientras tú luchas para alcanzar sueños y objetivos pequeños. No estoy diciendo que esté mal, lo que digo es que debmos ampliar nuestros anhelos y aspiraciones.

Una cosa que, en mi opinión, es bastante valiosa del trabajo en el sector educativo y que difícilmente se puede lgorar en el ámbito privado es el impacto personal y social de tu trabajo, ya que tienes la oportunidad de tocar y mejorar la vida de los estudiantes y por ende, de sus familias y comunidades.

Otro factor diferenciador entre el trabajo en las instituciones educativas y el trabajo en el sector privado es la cantidad de días de descanso. En este punto en particular todavía no decido claramente lo que me parece mejor, porque aunque no conozco a nadie a quien no le gusten los períodos vacacionales más largos
(incluyéndome), el tener pocas vacaciones hace que intentes sacarles el mayor provecho y enfocarte a lo que en realidad quieres. Ahora bien, también se da el caso de que te encuentres tan agotado de todo un año de labores que te dedicas enteramente a descansar.

El problema que se detecta en las empresas es que los recién graduados generalmente carecen de las competencias necesarias para desempeñar sus labores y en muchas otras ocasiones también carecen del conocimiento técnico. Independientemente de los factores mencionados con anterioridad que disminuyen la calidad, hay otros problemas que contribuyen a esta situación. Algunos de esos problemas están muy arraigados y debemos atacarlos como sociedad, por ejemplo, la cultura del “nomás tantito”, “la última y nos vamos” y la procrastinación en general. Otros pertenecen a las escuelas y ámbitos familiares, como el aprendizaje y formación de habilidades basicas como son la lectura y escritura. Finalmente, las empresas también tienen parte de culpa, ya que fallan al involucrarse con las instituciones de educación superior y poder así transmitir adecuadamente sus necesidades y expectativas.

En mi opinión, necesitan invertir más en el fomento y entrenamiento de talento joven, aún con el riesgo de que ese talento elija trabajar para sus competidores. Ferias de proyectos, conferencias, visitas guiadas a la empresa, proyectos de inversión e innovación, cosas como pasantías en períodos vacacionales, todo de tal manera que los estudiantes puedan experimentar de primera mano los requerimientos y exigencias de las empresas. En este aspecto el apoyo de las universidades sería imprescindible para poder motivar o, en su defecto, forzar a participar a los estudiantes con cierto avance. Y uno de los problemas principales radica en esto último, el tener que recurrir a la coerción para que las personas hagan algo por su propio beneficio, inicialmente porque es difícil dimensionar el impacto de algo que no conocemos, pero principalmente porque la inacción en este apartado es generalmente resultado de la apatía y la flojera.

Aún así, estos dos defectos no son la enfermedad, sino el síntoma, ya que una situación que sucede my a menudo es que no estamos dispuestos a desempeñar tareas que no tienen una gratificación visible o la tienen pero a muy largo plazo.

Necesitamos atacar las situaciones que generan estos problemas, pero necesitamos hacerlo como sociedad, ya que requerimos tener una educación integral para poder resolver los problemas del mañana y para ello se necesita invertirle más a los jóvenes. Pero no solamente los padres, escuelas, empresas y gobierno deben invertir en ellos… sino los jóvenes mismos.

La Importancia de un Dueño de Producto

Independencia: aquello que todos deseamos y nadie tiene permanentemente, ya sea financiera o laboral, muchas veces es difícil conseguirla. Si alguna vez has tenido un trabajo en el cual tengas amplias libertades, como definir el diseño de la base de datos o de la interfaz gráfica, decidir los métodos, prácticas y tecnologías a aplicar, lo más probable es que hayas trabajado como freelancer o en un equipo muy pequeño de personas o inclusive, solo. Las empresas grandes tienden a tener ya establecido una metodología de trabajo y son un tanto rígidas en su proceder, como ejemplo, Microsoft que apenas hasta hace relativamente poco anunció su reorganización (ya veremos cómo, si es que, funciona  ese asunto).

 

Independientemente del tamaño de una organización, para poder avanzar en un proyecto debe existir en el grupo de personas involucradas alguien que pueda responder preguntas, principalmente el qué y el cómo (¿qué se va a mostrar?, ¿qué campos se van a incluir en el reporte?, ¿cómo se van a calcular índices, tasaciones, etc?), ese alguien debe estar en contacto directo con el cliente y los desarrolladores, debe servir de puente en la comunicación.

 

En Scrum, esta persona es el dueño de producto, aunque no es necesario usar prácticas ágiles para tener una persona con deberes similares (exceptuando aquellos que son muy específicos como mantener el backlog y demás). Sin embargo, creo que cualquier persona que dirija de principio a fin los aspectos cliente – desarrollador e invierta buena parte de su energía y tiempo en un proyecto puede denominarse como Dueño de Producto.
La comunicación es rara vez algo que se menciona cuando se estudia programación o, formalmente, una carrera cuyo enfoque principal sean los aspectos del software, quizá porque se cree que la mayor parte de la comunicación se da entre desarrollador y computadora. Dependiendo de nuestro ambiente de trabajo, tipo de proyecto y nuestra propia definición de comunicación, podemos considerar cierto o no, pero la realidad es que la comunicación más relevante proviene de las personas (o al menos así debería ser).

¿Ciencia, Ingeniería, Arte u Oficio?

Publicado originalmente el 30 de Junio de 2013 en emmanuelml.blogspot.mx
Los métodos de programación han ido evolucionando con el tiempo, recuerdo cuando escuchaba hablar bastante del método en cascada, UML y herramientas CASE. En su tiempo cada una de ellas fueron “la onda” y hoy en día lo popular son el método Ágil y SCRUM, que realmente son formas de ajuste y tienen más que ver con lo que se adapte a las situaciones y requerimientos, que un método rígido a seguir.

La evolución de los métodos de desarrollo de software y mi propia experiencia me llevan a concluir que la programación no es en realidad una ciencia, al menos no el tipo de programación que vemos abundantemente en el mundo empresarial o comercial, ya que no hay reglas ni métodos infalibles.
Ciertamente la programación, que es buena parte de ciertas carreras como sistemas, computación o informática, tampoco se parece a áreas de otras ingenierías, que se basan en reglas y métodos estrictos y bien definidos. En la programación tenemos “mejores prácticas” (que en ocasiones debatiría si realmente son mejores) y recomendaciones, rara vez alguna regla o práctica llega a seguirse por más de un par de años, si acaso. Es un mundo en constante movimiento y aprendizaje, siendo un área relativamente joven del conocimiento, que carece de las propiedades de otras más maduras y mejor establecidas.

La programación, desde mi punto de vista, se asemeja más a un arte o un oficio, especialmente cuando se diseña algo, ya sea una clase, control o similares, ya que cada situación y su conjunto de requerimientos varía y hay que tomar varias consideraciones que son muy específicas para el problema a la mano, además nada puede reemplazar la experiencia de una persona, pues para encontrar la mejor solución, dicha persona encargada de diseñar la solución muchas veces necesita analizar los requerimientos de acuerdo a su mejor juicio e involucrar alguna corazonada. Además, hay tantas formas de lograr algo que cada proyecto tiene el toque personal de los individuos involucrados en él.

 

La única similitud que veo entre los ingenieros en sistemas, et, al. y los demás ingenieros es que tomamos una cantidad similar de clases del área fisico-matemáticas. Dejemos de engañarnos a nosotros mismos y a los demás diciendo que somos ingenieros, la realidad es que somos artistas.

 

!Está Viva! (Una Mañana de Navidad)

Publicado originalmente el 25 de Junio de 2013 en emmanuelml.blogspot.mx
Por meses, mi laptop personal estuvo arrinconada, solamente guardando polvo, pero debido a que tengo otra por parte del trabajo, no me hacía tanta falta realmente.

 

El Lunes de la semana pasada me estaba enfadando de todos los problemas que tenía al tratar de crear una máquina virtual con Windows 8 (usé Virtual Box primero y tras varios intentos cambié a VMware aunque solamente hubo una ligera mejoría). En ese punto estaba así |-| de cerca de salir a comprarme una laptop nueva con e instalarle Windows 8. Luego pensé en que sería una pena dejar que mi otra laptop simplemente muriera en un rincón y sin ningún uso, además ya que pronto estaré volviendo a México, pensé en que pasar tres laptops, junto con mis demás electrónicos, no iba a ser tarea fácil ya que quisiera evitar pagar impuestos.

 

Así que me propuse reparar mi laptop. Lo único que recordaba era que no podía arrancar, lo cual pude confirmar rápidamente, y que era una falla de hardware. Así que corrí algunas pruebas desde el BIOS, la memoria pasó exitosamente, no así el disco duro, que falló a medio camino. Muy bien, ahora sabía que era lo que necesitaba reemplazarse, así que comencé a buscar unidades de disco duro, quería que fuera una mejora y dado que el, ahora descompuesto, disco duro era de 500GB pensaba comprar uno de 1TB. Sin embargo, reflexionando sobre ello, mayor capacidad de almacenamiento no era mi principal interés, pues hoy en día eso no es realmente un problema, con tantas opciones de almacenamiento en línea, puedo guardar en otro lado archivos que no ocupo constantemente, además, puedo acceder a mi música por streaming (compro la mayoría de mi música en Amazon y cuando no, hay opciones como Spotify o YouTube) y tengo un disco duro externo de 1TB. Pensé entonces en comprar una unidad de estado sólido (Solid State Drive – SSD) y al final terminé comprando uno de 256GB y, ya que estaba comprando mejoras, compré también un módulo de RAM . Esto fue el Viernes pasado y desde que recibí un correo con el número de rastreo, estuve revisando cada varias horas y ayer, cada hora y media pues mi paquete se encontraba ya en el estado vecino del norte.

 

Dado que siempre que compro algo en línea establezco mi dirección del trabajo como la dirección de entrega, traje mi laptop a la oficina y esperé que llegara mi paquete. Cuando recibí un correo de las personas del cuarto de correo diciendo que tenía un paquete, me dejé lo que estaba haciendo y me dirigí hacia allá, recogí lo mío, lo traje de vuelta a mi escritorio y lo abrí… era hermoso… un pilar de luz descendió del cielo e iluminó mi tesoro. Era como si fuera la mañana de navidad.

 

Ya reemplacé tanto el disco duro como la memoria y mi laptop ya está casi lista para mis propósitos. Ahora me falta por recibir dos paquetes más con otros juguetes (1 Raspberry Pi, 1 Arduino, 2 tableros de circuitos –breadboards o protoboards-, cubiertas, cables, circuitos integrados y otros) pero éste era el más importante (y el más caro).

Es un buen día.

Picos de productividad

Publicado originalmente el 25 de Junio de 2013 en emmanuelml.blogspot.mx
De vez en cuando me sucede que avanzo tanto en mi trabajo en solo un par de días, que logro mi meta de la semana en tan sólo ese corto tiempo. Muchas personas ya han pasado por eso y de hecho es un fenómeno reconocido en la psicología, al cual se le denomina Flujo, aunque coloquialmente también se le conoce como “estar en la zona”. Aparentemente esto ayuda a explicar porqué los programadores y los que trabajan de manera creativa, se desempeñan mejor de noche.

 

Ahora, tomemos en consideración el test de Joel, La pregunta número 8 dice: “¿Tienen los programadores condiciones de trabajo silenciosas?”. Y creo que esto tiene mucho que ver con el hecho de poder alcanzar “la zona”. En un ambiente ruidoso es bastante complicado concentrarse y no es suficiente tener silencio, sino también no tener interrupciones innecesarias, ya sea en la forma de compañeros de trabajo haciendo preguntas que San Google podría responderles, un incesante flujo de correos electrónicos, un supervisor o líder de proyecto preguntando constantemente sobre el progreso del proyecto o llamadas telefónicas.

 

Ahora, además de esto, influyen otros factores, algunos dicen que los programadores trabajamos más cómodamente de noche precisamente por ese silencio y falta de interrupciones, pero además porque, si el cerebro tiene demasiada energía, está buscando constantemente cosas que hacer, lo cual provoca distracciones. Lo que se asume, es que si el cerebro está cansado a cierto nivel, necesita concentrarse sólo en la tarea que está desarrollando y no busca maneras de aprovechar energía excedente, pues no la hay.

 

Una razón más por la cual no es raro escuchar que los programadores se van a dormir hasta tarde (2 – 4 am) es por el hecho de estar enfocando su atención a una fuente luminosa después de que el sol se ha metido. Esto es debido a los ritmos circadianos. El ciclo del sueño es uno de ellos, y este se ve afectado por las fuentes de luz, especialmente el sol (o, en este caso, una pantalla de computadora).

 

Bajo estas condiciones es generalmente mucho más fácil producir trabajo de mayor calidad o a mayor velocidad e inclusive enfrentar tareas de mayor dificultad y resolverlas.

 

Existe todavía otro factor no comprobado al cien por ciento: El Pico de Ballmer (original aquí y más abjao). Inicialmente “propuesto” en el web comic XKCD, ha despertado, naturalmente, la curiosidad de varias personas en la profesión. Tanto así que ha habido preguntas en StackExchange y algunas discusiones en CodeProject y Hacker News. ¿Qué es de lo que se trata? supuestamente hay una cierta cantidad de concentración de alcohol en la sangre, la cual “confiere habilidad superhumana para la programación”.

 

 

Dejando a un lado el lado cómico, este artículo por Torsten Norlander, estudia específicamente la relación entre la creatividad y el consumo moderado de alcohol, concluye lo siguiente:

 

“… el consumo moderado de alcohol inhibe aspectos de la creatividad basados principalmente en el proceso secundario (preparación, ciertas partes de la iluminación y verificación), y desinhibe aquellos basados principalmente en el proceso primario (incubación, ciertas partes de la iluminación y restitución)”

 

Lo que esto quiere decir, es que el alcohol mejora ciertos tipos de creatividad, mientras restringe otros, y dado que las habilidades requeridas para la programación son, en naturaleza, solamente cognitivos (sin contar las habilidades motoras para teclear) y dado que la creatividad es una buena parte de la programación, es al menos posible que se pueda obtener alguna mejoría al consumir alcohol.

 

Existirá, obviamente, una variación en la cantidad de alcohol requerida de persona a persona si tomamos en cuenta otros factores, como masa, estatura, tolerancia al alcohol, entre otros. Para el estudio de este tema también puede inmiscuirse el efecto placebo, en el que, por ejemplo, una persona se toma un trago que piensa que toma una cantidad promedio de cierto alcohol, aunque dicho trago sea más fuerte o suave del promedio.

 

De todo esto, pienso que el factor fundamental para la productividad de un programador, es un ambiente sin ruido y sin interrupciones, pues ciertamente no trabajo en la oficina de noche, ni mucho menos habiendo tomado bebidas alcohólicas y aún así he logrado estar en “la zona” aunque sinceramente no tan frecuentemente como desearía. Pero cada persona varía en situaciones y estimulantes.

¿Aburrido en tu trabajo?

Publicado originalmente el 23 de Junio de 2013 en emmanuelml.blogspot.mx
Creo que a muchos nos ha pasado que en algún momento nos llegamos a aburrir en el trabajo, aunque algunos otros tienen una ética de trabajo impresionante que llega al borde de ser adicción al trabajo. Sin embargo cuando llegan esos momentos en que me llego a sentir aburrido en la oficina, trato de recordar las frases sabias y cómicas del personaje Red Forman de la serie That 70’s Show:

 

 

 “El trabajo es trabajo, no llegas tarde, no inventas excusas y no no trabajas, si no fuera trabajo no lo llamarían trabajo, lo llamarían tiempo-super-maravilloso-locamente-divertido o skippidy doo”
Aún así existen ocasiones en que llego a estar aburrido en el trabajo y ninguna cantidad de frases cómicas puede cambiarlo. En esos momentos sé que ocupo un cambio de contexto. En ocasiones me salgo unos minutos de la oficina solamente a pensar, leer un par de páginas de un libro, me pongo a leer noticias relacionadas con la tecnología (generalmente en CodeProject) o, con menor frecuencia, leer el periódico en el comedor de la empresa.

 

Algo que he encontrado que me ayuda a evitar tales momentos (o retrasarlos, en su defecto) es la música. Generalmente busco organizar una lista de reproducción que se acople al tipo de tarea que tengo que hacer, por ejemplo, si lo que ocupo hacer requiere concentración, recurro a cosas como Las 4 Estaciones de Vivaldi o los Conciertos de Cello de Bach, si lo que requiero es mantener un ritmo, canciones al estilo Domino, Gold, I Cry o I Think I’m Paranoid me sirven bastante, pero si lo que quiero es velocidad y no tengo que pensar en lo que estoy haciendo, prefiero música al estilo Beast and the Harlot, Hangar 18, All Nightmare Long o Let Me.

 

En resumen, mi consejo para todos los que lleguen a encontrarse aburridos en su trabajo es: cambia tu mente de contexto, lee, sal a caminar o simplemente platica con compañeros, preferentemente sobre cosas que no estén relacionadas al trabajo.

¿Programador, Desarrollador de Aplicaciones o Ingeniero de Software?

Originalmente publicado el 18 de Junio de 2013 en emmanuelml.blogspot.com
Hace unos días una persona me preguntó porqué el título de mi blog es “La vida de un programador” cuestionando principalmente el uso de la palabra “programador” y sugiriendo que usara otro término como “desarrollador” o mejor aún “ingeniero de software”, en realidad no presté mucha atención a aquello al momento de nombrar mi blog y aunque lo hubiera hecho, de todas formas habría preferido el término programador por ser mas corto y conciso. He leído un par de blogs en los cuales recomiendan que no te llames a ti mismo programador, por razones como: un programador sólo escribe código sin pensar en otras implicaciones y generalmente siguiendo un documento de especificaciones y requerimientos o un diseño, dado a él por otra persona, mientras que un ingeniero de software aplica sus conocimientos para tomar decisiones que resulten en el mejor resultado posible.

 

Aunque puedo ver el punto de vista de esas personas, yo pregunto: ¿realmente hace alguna diferencia en mi trabajo o afecta de manera fundamental la forma en que realizo mis actividades? al final de cuentas es solamente una etiqueta, un título, de hecho, en mi trabajo actual el título de mi puesto es Analista de Sistemas, pero, ¿es este título una aproximación acertada a mis tareas? en parte y ocasionalmente lo es, sin embargo, entre el 80 y 90% del tiempo mi tarea consiste en escribir o leer código, claro tomando en cuenta algunas limitaciones pero por ejemplo, ¿hay alguien hoy en día que se preocupe porque la máquina que correrá su aplicación no tiene suficiente memoria? o ¿cuántas personas hay que se pongan a analizar el tipo de dato que usarán (ej: uint, int o short en C++ o Int16 y Int32 en .NET) para optimizar su uso de memoria? ¿o que se dedique a refactorizar toda una base de código porque sus bibliotecas o dlls son grandes y la computadora no tiene suficiente espacio en disco para el momento en que se haga la distribución? realmente no lo creo, y si las hay, estaría dispuesto a apostar mi quincena que prácticamente la mayoría de estas personas trabajan sobre sistemas legacy, de control industrial o que interactúen directamente con hardware. Fuera de estos casos, ¿estamos realmente aplicando ingeniería?.

 

Hoy en día tales limitaciones son prácticamente inexistentes. Atrás quedaron los días en que las computadoras para uso personal tenían poca memoria RAM y espacio en disco (como la primera computadora que hubo en mi hogar, una IBM PS2 SX con 4MB de RAM, 175MB en disco duro y procesador a 33Mhz) o que tuvieras que conocer el canal de audio y video que usaba tu computadora para instalar un simple juego; desde hace un tiempo que las instalaciones son algo como: Siguiente, Siguiente, Acepto, Siguiente, Siguiente, Finalizar.

 

Títulos como Ingeniero de Software Sr. no sirven para reflejar la aptitud ni actidud de una persona, que es lo que realmente importa, estos títulos sirven solamente para 4 cosas:
  1. Hacer parecer bonito un organigrama
  2. Tratar de hacerte mejor contigo mismo
  3. Tratar de escucharte interesante
  4. Poner en tu Currículum
Al final de cuentas, el trabajo de un programador, desarrollador, ingeniero de software o como se decida llamarle es proveer soluciones a las necesidades y/o problemas que tengan otras personas, para mí el decir “soy ingeniero de software” en vez de decir “soy programador” es similar a una persona diciendo “soy asistente ejecutiva” o “soy ejecutivo de ventas”, finalmente una es secretaria y el otro es vendedor y sus funciones no cambian por el simple hecho de cambiar su título.

 

La Lingua Franca de la Programación

Originalmente publicado el 15 de Junio de 2013 en emmanuelml.blogspot.com
Existen gran cantidad de lenguajes de programación y para comprobarlo sólo basta con ver la lista de lenguajes de programación en wikipedia y aunque varios de ellos son solamente experimentos, pasatiempos o, lo que parece, diversión malsana, una buena cantidad de ellos cubren algún nicho científico o industrial. Desde hace ya unos cuantos años los lenguajes basados en C han dominado el mercado de los lenguajes de programación, y actualmente sus mayores representantes son sin duda C# y Java.

 

La explosión de uso de dispositivos móviles vino a perturbar este balance, específicamente los dispositivos de Apple, para los cuales hay que programar en Objective C y aunque existen herramientas como las de Xamarin, no se quita a Objective C de la ecuación. Por otro lado, el lado web ha visto crecer la popularidad de lenguajes como Ruby (on Rails) que se une a PHP y ASP.NET (con C#) entre otros. Con todo esto, he visto discusiones surgir acerca de cual de todos estos es la verdadera lingua franca o lengua vehicular, de la programación y aunque generalmente se reduce a alguna de las dos opciones que mencioné anteriormente (C# y Java) no se llega a un acuerdo remotamente unánime. A decir verdad, yo tengo una opinión diferente.

 

Para mí, la verdadera lingua franca de la programación es… el Inglés. Cualquiera que lea esto pensará “pfft, el inglés no es un lenguaje de programación” (sí puedo leer mentes, o al menos eso me gusta creer), ¿porqué digo eso? muy bien veamos: Cuando surge una nueva tecnología (relacionada a la programación) independientemente de su nacionalidad de origen, ¿cuál es el primer lenguaje al que se traduce y el lenguaje en que existe la mayor cantidad y calidad de documentación, libros, seminarios, conferencias y eventos? sí, el Inglés. Justamente hoy tuvo lugar un evento virtual acerca de la programación de juegos para Windows 8 usando Game Maker Studio y hace un par de meses hubo uno similar pero para Unity, ¿qué idioma fue usado para dichos eventos? Inglés. ¿Cuál es el idioma que utilizan las grandes compañías de TI de la actualidad? Inglés. Pudiera continuar listando razones por las cuales digo que es el Inglés la lingua franca, pero sólo daré una más: A menos que pases tu tiempo programando en pseudocódigo, ¿en qué idioma están las palabras reservadas de tu lenguaje de programación? sí, Inglés. Hasta Ruby que fue creado por Yukihiro Matsumoto en Japón tiene sus sintaxis en Inglés.

 

Y si me preguntan, tiene bastante sentido que el Inglés esté tan inmerso en todos los lenguajes de programación, después de todo, los grandes avances que han cambiado el juego han sucedido en Estados Unidos y no habiendo necesidad de traducción, el lenguaje técnico en dicho idioma se ha visto enriquecido con el tiempo. Si has llegado a leer documentación en español y la has comparado contra la documentación del mismo tema pero en Inglés te has podido dar cuenta de ello y de que realmente es mejor obtener la información en dicho idioma. Después de todo, ¿cuándo has visto lenguajes de programación en español que perduren, tengan una audiencia amplia y no sean algún tipo de ejercicio para entender los compiladores y sus partes? y eso es porque quien lo hace está nadando contra la corriente y no de buena manera.

 

Además mi teoría es que cuando usas un lenguaje de programación y dado que se usa el idioma Inglés para las palabras reservadas y otras funciones (como un script post-build) nombrar tus funciones, clases, variables y demás, en español, provoca que el cerebro esté teniendo que realizar traducciones “al vuelo”, razón por la cual, según mis observaciones, las personas que pueden, escriben su código en Inglés,  a menos que requieran por parte de su empleador o clientes que el código esté en español*.

* O su lenguaje materno.