Tal vez esta pregunta todos nos la hemos hecho siquiera alguna vez.  Con tantas tecnologías disponibles, tantos acrónimos y tantas opciones técnicas y de aprendizaje que tenemos hoy en día parece ser que la respuesta a esta pregunta ya no es tan sencilla como parece.

Tal vez muchos responderán en este momento: “Estudiando” o “Asistiendo a un curso”, pero: es eso suficiente?

He aquí la lista de cosas que -en lo personal- trato de hacer para poder ser un mejor desarrollador.  La idea es que esta lista se enriquezca con la participación suya y de sus ideas.

  • Reconocer que no sabes nada
    • Por qué?  Este sencillamente, es el punto principal y más crítico ya que lo primordial -como en cualquier otro proceso de aprendizaje- es reconocer y aceptar nuestra ignorancia frente a tantos y tan grandes temas y tecnologías.  Quitarnos el egocentrismo nos permite abrir nuestra mente a otros conocimientos y a otras inquietudes.  Finalmente, todos aprendemos de todos algo nuevo todos los días.  Recordemos que la monotonía es la base de la mediocridad.
  • Escuchar podcasts
    • Por qué?  Puedes reproducir el podcast una y otra vez, en tu iPod/Zen/Zune, en tu auto, en la oficina, gimnasio, antes de dormir, etc., es decir: puedes estar en contacto con el tema en cuestión en cualquier momento y combinarlo con alguna otra actividad (ojo al conducir por favor, ya que no es buen pretexto “choqué porque estaba escuchando cómo se crea un workflow en WF oficial….”)
    • Pero cuáles?  Bien, si entiendes el idioma anglosajón te recomiendo dos magníficos podcasts:  Hanselminutes de Scott Hanselman y ArCast de Ron Jacobs.  Estos podcasts tratan diversos temas y lo mejor es que siempre están a la vanguardia, además de que son bastante amenos.  Si definitivamente estás buscando algo en nuestro vasto idioma te recomiendo el Podcast que mi buen amigo Luis Du Solier prepara frecuentemente con su característica pasión por la tecnología (SharePoint principalmente).
  • Ver WebCasts
  • Ver ScreenCasts
    • Por qué?  Los ScreenCasts son pequeños fragmentos de video en donde se demuestra un tema muy específico de la tecnología.  Son excelentes fuentes de conocimiento ya que nos llevan de la mano para efectuar la o las tareas que necesitamos realizar para alcanzar el objetivo deseado.
    • Pero cuáles?  Claro está que depende de la tecnología.  Qué tal los ScreenCasts de ASP.NET, AJAX, Silverlight y Workflow Foundation para empezar?
  • Participar en Foros
    • Por qué?  Los foros son un recurso básico cuando tenemos duda acerca de una duda muy específica acerca de la tecnología.  “Foro” en el contexto que estoy explicando se refiere tanto a los foros en páginas web, como los Grupos de Noticias o Newsgroups.  Además tenemos la oportunidad de participar también en responder preguntas de otras personas en el mundo que tengan un problema y que tal vez tú sabes cómo arreglarlo.
    • Pero cuáles?  Cada tecnología tiene su foro. Yo en lo particular visito frecuentemente los foros de Workflow Foundation y de Silverlight.
  • Participar en Comunidades
    • Por qué?  Qué mejor que aprender de otros en persona, de frente, en vivo y a todo color acerca de un tema.  Para esto precisamente sirven las Comunidades .NET, para programar y organizar reuniones entre personas geográficamente cercanas y platicar de un tópico en específico.
    • Pero cuáles?  Siempre hay una Comunidad cerca de ti, visita MSN Groups para más información.
  • Leer libros
    • Por qué?  La respuesta es más que obvia.  Los libros son la fuente de conocimiento de cualquier tipo (tantos siglos de historia de la imprenta no pueden estar equivocados).  Pero cuáles?  A mí en lo personal me gustan mucho los libros Programmer-To-Programmer de la editorial Wrox (sí, esos libros de color rojo que tal vez has visto alguna vez).  Otra serie de libros que a mi parecer es excelente es Microsoft .NET Development Series ya que las obras están escritas por verdaderos expertos en el tema.
  • Leer blogs
    • Por qué?  Un Web Log o simplemente Blog es la bitácora personal de ideas, pensamientos o artículos técnicos de su autor.  Un ejemplo muy sencillo es este blog, en donde yo su autor estoy escribiendo y agrupando las diferentes maneras o estrategias que podemos seguir para ser mejores desarrolladores.  Es el alfa y el omega relacionado con este tema?  Obviamente no lo es ni siquiera pretender serlo.  Es simplemente sintetizar lo que yo hago con respecto a este tema en específico y darlo a conocer al público para esperar retroalimentación al respecto.
    • Pero cuáles?  Podría poner aquí toda la lista de mis feeds pero me voy a limitar a poner los que leo diariamente:
  • Aprender a usar otras tecnologías
    • Por qué?  Si bien somos geeks y nos apasionan las tecnologías y plataforma de desarrollo Microsoft, estaríamos ciegos o locos si no reconocieramos que hay otras excelentes tecnologías y que no todos en este mundo utilizan las mismas herramientas que nosotros.  Por otro lado no es necesario que sean tecnologías no-Microsoft.  Por ejemplo IronRuby es una tecnología que no conozco pero se me hace lo suficientemente poderosa e interesante como para ponerme a investigar acerca de ella.
    • Pero cuáles?  Hay muchísima tela de dónde cortar.  Por mi parte estoy usando, investigando y aprendiendo a usar ActiveRecord.  Otras tecnologías que están en mi lista de “Para Próximo Estudio” son IronRuby, IronPython, F#, Microsoft Sync Framework y ASP.NET MVC Framework.
  • No procrastinar
    • Por qué?  Hasta el momento hemos mencionado una lista de recursos que podemos usar como apoyo para estudiarlas y ser mejores desarrolladores.  Pero falta la técnica y estrategia, y estas no son nada menos ni nada más que la  Disciplina.  Requerimos sin duda una fuerte disciplina para ser mejores desarrolladores y dejar a un lado los quitatiempos.  YouTube, FaceBook, MSN Messenger son solo algunos de los que se me vienen a la mente y los cuales son una tremenda pérdida de tiempo.  No excusas por favor, pues recordemos cómo trabajabamos hace 10 años.  Midamos nuestro grado de procrastinación:  Si crees que esta medida es muy drástica, que no puedes dejar de visitar los sitios anteriores o de usar tu mensajero favorito entonces tienes un serio problema de procrastinación.  Si al contrario estás dispuesto a dejar de perder el tiempo y ponerte a estudiar te felicito, tu procrastinación aun es curable.
  • Relacionarte con personas apasionadas por el desarrollo de software
    • Finalmente, es muy importante encontrar personas que tengan las mismas inquietudes por aprender, conocer más y superarse (ver primer punto).  Una vez que las encuentres será muy útil que platiques y te apoyes con ellas para tu proceso de mejora personal .  El proceso será menos tedioso y más divertido.

Aunque este artículo en realidad no tiene el objetivo de ser un meme me gustaría que para este tema participaran en especial las siguientes personas:

Claro está que quien sea está invitado(a) a participar en este orden de ideas.

Salu2!