Crónicas del Buen Programador: Invierte en Conocimientos

“Una inversión en conocimiento siempre paga el mejor Interés” Benjamin Franklin.

Tus conocimientos y tu experiencia son tus mejores bienes. En 1999 recuerdo que compré un libro llamado “Java In A Nutshell“. Era un libro de referencia completa al lenguaje, en aquel entonces la API era Java 1.1.8. Leí el libro de la primera a la última página. En unos cuantos meses empecé a ganar reputación en la escuela de Ingeniería Informática porque sabía programar (muy poco en comparación a hoy en día) en Java.

Estos conocimientos me llevaron a tomar una pasantía en el “Java Center” en Caracas, allí conocí ingenieros con experiencia en proyectos grandes, y empecé a saborear desarrollo de aplicaciones web (Servlets, JSP, Templates), almacenando y buscando contenidos en bases de datos, aprendiendo HTTP, HTML y JavaScript en el proceso.

Durante los meses que estuve allí conocí personas que venían de Petróleos de Venezuela y luego terminé creando sitios webs para ellos con los conocimientos que había adquirido. Con ellos desarrollé mi tesis de grado, y cuando todo el mundo fue despedido de Petróleos de Venezuela dada la crisis política Venezolana muchos se fueron a Estados Unidos y gracias a ellos conseguí mi primer trabajo después de graduado desarrollando software en Miami para un startup.

Vaya que el librito pago sus intereses…

Tu Conocimiento como un portafolio de Inversión.

Sin embargo, en nuestro mundo, los conocimientos técnicos tienen fecha de expiración, son bienes que se van depreciando, lo que quiere decir que vas perdiendo valor profesional. Las fuerzas del mercado pueden inclusive hacer tus conocimientos obsoletos en un corto tiempo dada la velocidad de los avances tecnológicos.

Como buen inversionista debes invertir constantemente, como un hábito.

Aprende un lenguaje nuevo cada año. Cada vez que aprendes un lenguaje nuevo aprendes nuevas formas de resolver problemas, y al volver a tu lenguaje anterior puedes aplicar estos nuevos paradigmas, haciéndote un programador más versatil y atento a las posibilidades de solución de problemas. Yo he pasado de Java a PHP, programado PHP con una visión Orientada a Objetos, luego de PHP a Python aprendiendo trucos de programación dinámica y trayendo de vuelta estos trucos a PHP, luego saltado a aprender de Swing a Qt y traer ideas de signals/slots al mundo de Java, o inclusive de servicios en PHP.

Debes diversificar para tener éxito en el largo plazo.

Un especialista es una persona que sabe mucho de una sola cosa. Generalmente no son muy útiles, mientras más cosas diferentes sepas más valioso serás. Mientras más tecnologías manejes más listo y cómodo estarás para los cambios a venir a futuro.

Los inversionistas exitosos tienden a balancear sus portafolios entre inversiones conservadoras e inversiones de alto riesgo pero con el potencial a altas ganancias.

Así como hay inversiones con diferentes niveles de riesgo, también te pones a riesgo de aprender tecnologías muy novedosas que pudieran o no ser importantes a futuro. Por dar un ejemplo, en estos momentos estoy tomando una decisión de alto riesgo al tratar de aprender a fondo las APIs de Android. Personalmente pienso que es una plataforma que va a ser adoptada por multitud de fabricantes de smartphones y el mercado de aplicaciones aún no se ha saturado (como en el iPhone). Si Android no llega a tener un éxito comparable al del iPhone es probable que haya perdido mi tiempo, de lo contrario cuando haya un boom de desarrollo en Android ya estaré posicionado como un Guru.

Intenta comprar barato y vender caro para maximizar tus ganancias.

Aprender una tecnología antes de que se haga popular puede ser tan difícil como conseguir acciones baratas, pero el pago puede ser tan bueno como ya mencioné.

Esta experiencia me sucedió con PHP. Estando en la universidad decidí aprender PHP para desarrollar mi propia página y para hacer proyectos webs sencillos, me sorprendió la velocidad y simplicidad con que podía realizar proyectos web. Eventualmente estos conocimientos en PHP me ayudaron a conseguir trabajo en New York y hoy en día todavía recibo llamadas de reclutadores buscándome por mis conocimientos en PHP. Lenguaje que se puso en gran demanda entre el 2005 y 2007. Luego lo mismo me ocurrió con Python, y estos conocimientos me dieron un rol importante en otro proyecto donde logré convencer al equipo de que Python era el camino a tomar y desarrollamos una aplicación de gran escala desde cero utilizando Python y Qt.

La lectura de revistas y blogs de tecnología pueden ayudarte a conseguir tecnologías prometedoras en sus fases iniciales. Recuerdo haber aprendido sobre ant y subversion en 2003 dado que leí al respecto de estas tecnologías en la revista Dr. Dobb’s Journal.

Revisa y rebalancea tu portafolio periódicamente.

Dado el dinamismo de esta industria, revisa que la tecnología que estas aprendiendo aún vale la pena. Lee noticias al respecto de tecnologías rivales. Lee revistas, lee grupos de noticias, haz búsquedas en twitter, sigue personas que manejen conocimientos relacionados, haz preguntas, participa. Experimenta con diferentes ambientes, si trabajas en Windows intenta instalar Linux ( o viceversa ). Si utilizas una IDE, intenta compilar haciendo makefile a mano, o viceversa. Lee un libro técnico cada 3 meses, estudia sobre tecnologías que no estén directamente relacionadas a tus proyectos, siempre con una visión crítica y analítica, no creas todo lo que lees, reta toda tecnología que se te presente dado que siempre hay intereses no fáciles de ver detrás de toda promoción tecnológica.

Diviértete, Inspírate y Expande tus conocimientos.

Generalmente leo muchas revistas, blogs y libros no relacionados a la tecnología. Primero es relajante y divertido leer sobre otras cosas, segundo es un ejercicio de foco mental y tercero puede servir de inspiración leer sobre otras áreas, lo cual puede ayudarte a tener ideas y perspectivas frescas tanto para resolver problemas como para desarrollar nuevas ideas que pudieran convertirse en negocios exitosos.

Lecturas y Contenido recomendable:

Wired Magazine (Tecnología, Innovación y Entretenimiento)

Technology Review. La revista de MIT que reporta sobre innovación en Biomedicina, Nanotecnología, Energía, Materiales, Telecomunicaciones y negocios. Entérate por ejemplo quiénes son las personas que traen innovación al mundo con edades por debajo de los 30. Leer esta revista ha sido una de las mayores fuentes de inspiración en mi vida durante los últimos años.

TED (Tecnologia, Entretenimiento, Diseño).  Es una organización sin fines de lucro que se dedica a dar a conocer ideas que valen la pena. Ellos realizan eventos anuales donde invitan figuras prominentes mundiales a participar y contar sus historias en charlas que no duran más de 18 minutos.

Aquí verás muchas de las personas que aparecen entrevistadas en Technology Review. Asistir a este evento es casi imposible para personas normales. Primero debes enviar un curriculum con logros impresionantes junto con un ensayo de por qué deseas asistir, y luego debes pagar unos $5,000 por asistir al evento como uno o dos años por adelantado.

Esto garantiza que no sólo los ponentes sean interesantes sino que cualquier persona que tengas a tu lado te sirva para tener un contacto con el cual dos áreas de conocimiento representadas por personas de influencia puedan interactuar y lograr innovación.

Si logras ir a un TED, te podrías sentar al lado de Al Gore, Jose Antonio Abreu, Gustavo Dudamel, J.J. Abrams, Isabel Allende, Tim Berners Lee, y muchas otras personas que pueden servir de inspiración para seguir llevando el mundo adelante.

Si estás en el resto de la población que aún no puede asistir, TED hace disponible muchas de las charlas en su sitio web en video, y también por iTunes bajo la subscripción gratuita de su video podcast.

Techmeme.com. Agregador de noticias de la industria tecnológica. Uno de mis homepages. El cual te llevará a leer blogs como Techcrunch, GigaOM, Engadget, Mashable y muchas otras fuentes más que cubren el mundo de la tecnología minuto a minuto.

Business Week. Semanario con lo último en negocios internacionales. Excelentes columnistas e historias que te ayudarán a entender el mundo de los negocios y tener muchos momentos “¡ajá!”.

Historias Biográficas. Siempre trato de mantenerme inspirado viendo como otras personas lograron hacer cosas importantes, o crear empresas exitosas. Recomiendo leer las historias de como empezaron empresas como eBay, AmazonGoogle, o Las biografías de personas como Einstein. Son lecturas no directamente tecnológicas de las cuales puedes sacar muchas lecciones y verás el mundo desde otro punto de vista. Al menos yo he quedado con un sentido de urgencia y de la importancia de mi tiempo después de haber leído éstas historias (y aprendido de sus errores y de cuáles fueron los factores que ayudaron a estas empresas y personas a lograr sus metas)

Por último ve a reuniones y habla de tecnología con personas que no estén relacionadas a tu trabajo, es bueno tener contactos de “inversión” para buscar inspiración en el mercado de los conocimientos, y en lo posible trata de reunirte con personas más inteligentes que tú, conversaciones con personas interesantes pueden proporcionar gran cantidad de conocimientos en corto tiempo.

Sobre el Autor

Angel León (aka Gubatron) es un Ingeniero de Software Venezolano (UCAB) que ha desarrollado desde sencillos sistemas con bases de datos relacionales, servicios webs distribuidos para millones de visitantes mensuales, software p2p de uso masivo, hasta aplicaciones para dispositivos mobiles, todo esto empleando gran variedad tecnologías abiertas (Linux, Android, Java, Python, PHP, C++, Javascript).

Estas crónicas son inspiradas en el libro “The Pragmatic Programmer” (un libro que debería ser un texto obligatorio en todo curso de Ingeniería de Software) junto con las experiencias de Angel León durante los últimos 8 años desarrollando software en Venezuela y los Estados Unidos.

[ad#Gubatron-AmazonAd-PPBook-120×240]
  • Jesús

    Veo que es un articulo viejo, pero me pareció excelente… Así que envió mis felicitaciones al autor.

    Quien escribió esto ¿es venezolano? ¿esta pagina es venezolana?

    Si la respuesta es afirmativa, entonces me siento orgulloso de ser un informático venezolano.

    Imagino que la decisión de aprender las APIs de Android se te ha visto muy recompensada, ya que hoy día parece imparable el crecimiento de dicha plataforma.

    Saludos, Suerte y Éxito!

  • Si somos Venezolanos.
    Estaba pensando que tengo como 10 borradores esperando por ser terminados (de estas Cronicas del buen programador)

    Tu comentario me anima a terminar estos articulos.

    El Aprender android me sirvio para desarrollar FrostWire para Android. Mas de 10mil personas se han anotado para participar en las pruebas, y tenemos unos 300 testers en USA y UK actualmente.

  • Wow, excelente articulo, felicitaciones, yo ando en la misma onda, a veces pienso que invierto demasiado tiempo aprendiendo, pero todo ha pagado. Actualmente me paseo por ruby on rails y estoy comenzando con django, la experiencia acumulativa hace cada vez más fácil aprender un nuevo lenguaje, y mas si logras proponerlo y alguien te compra la idea de que es la tecnología que se debe usar, porque no hay nada como salir en vivo con un sistema para aprender a fondo una tecnología.

    Bueno saludos desde Venezuela, de otro venezolano programador…

  • Jorge

    Hola les envio un cordial saludo soy odontologo especialista Venezolano(Barquisimeto) y tengo un proyecto en el area que me gustaria desarrollar junto con alguien que conozca la programación en android. Mi correo es jlps76@msn.com

    • Jorge, Nos pondremos en contacto contigo vía email para conversar acerca de tu proyecto. Saludos

  • Djshanne

    Hola buenos dias, quiero y estoy muy interesado en el desarrollo de app en android.
    TSU Informático programador java específicamente. djshanne@gmail.com 

    • Podemos charlar ese tema vía email, ya te acabo de escribir. Saludos