Featured Posts

Diplomado de desarrollo de aplicaciones para Windows Phone 7.1–LatinoaméricaDiplomado de desarrollo de aplicaciones para Windows... Los invito cordialmente a que se inscriban al Diplomado de desarrollo de aplicaciones para Windows Phone 7.1, impulsado por Microsoft México para todo el mundo!  Completamente...

Readmore

Nueva carrera en Microsoft Virtual Academy: Windows Phone 7.1 (Mango)Nueva carrera en Microsoft Virtual Academy: Windows... Tengo el gusto de darles a conocer la disponibilidad de una nueva carrera en el Microsoft Virtual Academy (MVA): La carrera de Windows Phone 7.1 Mango. Esta es la descripción...

Readmore

Nueva carrera en Microsoft Virtual Academy: Silverlight 4Nueva carrera en Microsoft Virtual Academy: Silverlight... ¿Eres estudiante de Microsoft Virtual Academy (MVA)? Tengo el gusto de anunciarles oficialmente el lanzamiento de la nueva carrera de Silverlight 4 para esta plataforma educativa. La...

Readmore

Rodrigo Díaz Concha Rss

De traumas, estrés y otras incomodidades

Posted on : 24-11-2008 | By : Rodrigo | In : General, Instrospecciones

1

No hay nada que me estrese más que mudarme, sin embargo, lo he hecho muchas veces.  No sé si sea el duendecillo de la costumbre a algún lugar, o el tener que bucear entre escombros de bobadas y recuerdos inútiles lo que me pone los nervios de punta.

No obstante, es y será siempre un buen momento para inventariar y re-considerar nuestros tesoros personales.  Yo por mi parte me considero un melómano-bibliófilo-cinéfilo, y por lo tanto –analizando bien este asunto- lo que más me incomoda y preocupa por encima de muchas otras cosas es que mis discos, libros y películas no les afecte el cambio de domicilio.  Creo que simplemente por estar guardando los cd’s en una caja atascada ya rompí como 5 cajas :(

También una de las cosas que es digna de mis más terribles fiacas es el re-acomodo de tooooodo y peor si no tendrás el lugar adecuado o de buen tamaño como lo tenías antes.

Y qué me dicen de los nuevos vecinos?  Si de por sí es complicada la convivencia con personas cercanas y queridas, aún más lo es el tratar con criaturas totalmente extrañas y ajenas.  Claro está, siempre existirá desde la típica señora con perfil de detective hasta las familias que viven en comuna dentro de la misma casa.

En fin, siempre son buenos los cambios.  Siempre es bueno sacudirse la mala energía que nos ahoga y detiene, ya que esto siempre nos llevará a nuevos buenos caminos.

Sino, a ver.. Cómo termina The Godfather Parte 1??? Claro! Con una mudanza.  La mudanza representa en la película el fin de una etapa en la vida de la familia Corleone para comenzar otra con nuevos bríos y oportunidades, sino, no hubiera hecho toda la fortuna e imperio Michael Corleone… o sí???  Por qué estoy escribiendo esto?

No lo sé.  Pero lo que sí sé es que todo cambio es bueno,… aunque el cambio de domicilio sea a solo 10 minutos :P ….  La mala vibra se queda y nosotros nos vamos.  Ah! y también se mudan conmigo “Family Guy meets the masked Chamulas”.

Salu2!

How to be a better developer?

Posted on : 01-02-2008 | By : Rodrigo | In : General, Instrospecciones

0

How to be a better developer?

This is the english version of my "Cómo ser un mejor desarrollador?" article

Maybe we have asked this question to ourselves a bunch of times.  With so many technologies, acronyms and learning options available today it seems that the answer to this question is not as easy as it seems.

Maybe so many of you will respond right now: "Studying" or "Taking a Training Course", but: Is that enough?

Here’s the list of things that -in my personal life- I try to do in order to be a better developer.  The main idea behind the following list is to enrich it with your ideas and collaboration.

I don’t know anything

Why?  This is the most important start point and the most critic because the fundamental idea -like in any other learning process- is to recognize and accept our ignorance in so many and so huge topics and technologies.  Take off our egocentrism allows us to open our mind to other kind of knowledge and other kind of questions.  After all, we learn something from everyone each day.  Remember that monotony is the mother of mediocrity.

Listen to PodCasts

Why?  You can listen to the podcast at any time you want using your iPod, Zen, Zune, etc. in your car, at the office, at the gym, before sleep (please… BEFORE sleeping not WHILE YOU ARE sleeping ;) ), etc.  I mean: you can stay in contact with the specific topic whenever you want and you can combine it with another kind of activity (please be careful when driving because you couldn’t say to the officer "I’m so sorry, I’ve crashed the car because I was listening how to create a workflow in WF…").  But which ones?  Alright take these as a recommendation: Scott Hanselman’s Hanselminutes and Ron Jacobs’ ArCast.  In these podcasts you can listen to so many topics about recent and upcoming technologies and in the other hand they are fun!  Those guys really know what they’re talking about…seriously.

Watch WebCasts

Why? I like Webcasts because they show and explain visually a specific topic; meanwhile the podcasts are audio-only.  But which ones?  I recommend: http://www.microsoft.com/events/default.mspx

Watch ScreenCasts

Why? A ScreenCast is a small video file that shows an specific technology topic in a "how-to" way.  They just are awesome knowledge sources because they teach us how to perform the required tasks for the problem we’re trying to resolve.  But which ones?  Obviously, it depends on the technology we’re using.  What about the ASP.NET, AJAX, Silverlight and Workflow Foundation as a startup?

Forum Participation

Why?  The forums are a basic resource when we have a specific doubt related to technology.  With the word Forum I refer to those Web-based and Newsgroups as well.  Also we have the opportunity to answer the questions of any other people in the world that has a problem and maybe you know how to fix it.  But which ones?  Each technology has its own forum.  Personally, I often visit the Workflow Foundation and Silverlight ones.

User groups meetings / Community meetings

Why?  There’s no better way of learning from others but in person, front to front about an specific topic.  That’s what .NET User Groups are for, to schedule meetings between different people geographically related in order to talk and show the technology.  But which ones?  There’s always a .NET User Group near you.  Visit MSN Groups to find more information about it.

Read Books

Why?  The answer is obvious.  Books are an ancient source of any kind of knowledge (hundreds and hundreds of years of manual and automatic printing can’t be wrong).  But which ones?  Personally, I like Programmer-To-Programmer books from Wrox (yeah, the red ones).  Another great development books are Microsoft .NET Development Series books because they are written by truly experts.

Read Blogs

Why? A web log is a personal log from other’s ideas, thoughts and technical articles from its author and it’s accessible via Web.  A good example is this blog where I’m writing my own opinions in how to be a better developer.  Is this The Ultimate Special Platinum Double-Pack Director’s Cut Extended Anniversary Edition Article about it?  Of course not! And it’s not meant to be like that tho.  It’s just a way to synthesize what I do in order to be a better developer and it’s a mechanism to share it and to obtain feedback about it.  But which ones?  I could write down here all my feeds but I’ll just write the ones that I read day by day:

ScottGu
Soma
Silverlight
Eric Sink
Joel on Software
Erika Ehrli

Learn to use other technologies

Why? Yes. We are geeks.  And we love Microsoft development technologies, but we would be blind or crazy if we wouldn’t recognize that there’s a bunch of other excellent technologies and that not everyone in this world use the same tools as we do.  In the other hand, they’re not absolutely necessary to be non-Microsoft technologies.  For example, IronRuby is a technology that I don’t know how to use it but it seems to me very powerful and interesting enough to try to learn from it.  But which ones?  There’s a lot right in front of our eyes.  For example I’m currently using and learning ActiveRecord.  Other technologies in my "To-Learn" list are: IronRuby, IronPython, F#, Microsoft Sync Framework and ASP.NET MVC Framework.

Adopt a Development Methodology

(Very special thanks to Misael for this one)

Why?  A methodic person has more control over the things he performs, and he can identify where he is and what step follows in his development path:  Identify, Measure, Document, Secure and Control are steps that can be reached using the correct methodology.  But which ones? There are so many methodologies but the must important could be the following:

Do not procrastinate

Why?  Up to this point, we have mentioned a list of learning resources that we can use in order to be better developers.  But we need the tactics and strategy, and these are of course: Discipline.  We need a great effort and discipline in order to accomplish our goal and to stop using and doing the things that waste our time.  YouTube, FaceBook, MSN Messenger are just a few of those things that come to my mind right now.  No excuses (like Alice in Chains once said) please.  Remember how we worked 10 years ago.  Let’s measure our procrastination level:  If you think this is a very drastic solution then you have a very serious procrastination problem.  But, if you are willing to stop wasting your time (you know you do!) then: Congratulations, your procrastination problem can be cured.

Try to hang up with people that love software development

At last but not least, it’s very important to look for people that are just as restless as you are and have the same learning goals (please refer to point number one).  Once you find them then it will be very helpful to talk and chat with them, and get support from them in your process of personal improvement.  That process would be less painful and more fun!

This article was not meant to be a meme but I would like for this topic that the following people could share their own thoughts and ideas:

Cómo ser mejor desarrollador?

Posted on : 30-11-2007 | By : Rodrigo | In : General, Instrospecciones

1

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!