Abner Ballardo

Desde principios de este año tuve la gran oportunidad de compartir con varias comunidades de software libre esta conferencia. En mi opinión es una de las conferencias más motivadoras que he dado y por eso me animo a publicar el video para que más personas puedan verlo.

Datos:

  • El post original de esta conferencia esta aquí
  • El video es de la conferencia que dí en LinuxWeek 2011
  • El video fue grabado por la PUCP y esta disponible también aquí.
  • La lista de comunidades donde dí esta conferencia esta en la sección “Conferences Given” en mi CV

Happy Hacking!!!

Abner Ballardo

Click here to read english version

¿Alguna vez has pensado cuando tiempo de tu vida vas a estar trabajando? Respondamos esta pregunta solo para un día laboral.

  • Si eres afortunado, estarás en el trabajo solo 8 horas
  • Para relajarte, familia, hobbies, tráfico, etc; tendrás las siguientes 8 horas
  • Finalmente, deberías dormir 8 horas

Estarás en tu trabajo al menos la tercera parte de un día laboral, 5 días por semana, un poco más de 11 meses por año; todos los años que trabajes. Como puedes ver, es bastante tiempo de tu vida como para pasarla haciendo algo que no te gusta o no te apasiona.

En este artículo, voy a explicar porque trabajar con pasión en la industria del software es importante y porque involucrarse en el Software Libre/Código Abierto ayuda a despertar esa pasión.

Pasión

Desarrollar software es cada vez más complicado porque hay tecnologias antiguas a las que tienes que integrarte, más tecnologías nuevas y por supuesto, la lógica de negocio. Por ello, los profesionales en desarrollo de software necesitan afrontar esos retos con pasión pero ¿a que me refiero con pasión?

Buscando el significado en el diccionario, encontraremos: pasión es un sentimiento de emoción intensa y entusiasmo por algo. Piénsalo, si vas a tener problemas y retos nuevos todos los días, es muy seguro que necesitaras trabajar con pasión para hacer las cosas bien. Es decir, necesitarás un sentimiento de emoción intensa y entusiasmo para moverte a resolver problemas y enfrentar retos.

Si no sientes pasión es probable que solo encuentres una solución rápida a los problemas para el futuro cercano o peor aún, no harás nada y solo vivirás con los problemas. Obviamente la empresa donde trabajes sufrirá las consecuencias pero también tu ambiente de trabajo tendrá un impacto; no tendrás motivación para ir a trabajar y te sentirás infeliz, preguntándote si es el trabajo correcto para ti.

Muchas personas puede vivir años e incluso toda su vida de esa manera pero recuerda que el propósito de nuestras vidas es ser felices. Un buen libro que explica este concepto y que les recomiendo es: El Arte de la Felicidad por su Santidad el Dalai Lama & Howard C. Cutler. Entonces, Si quieres buscar la felicidad, busca también por pasión en tu trabajo!

Resultados

¿Qué sucede si trabajas con pasión? Los resultados de tu trabajo reflejarón tu pasión, serán completamente diferentes a los resultados de alguien desmotivado o aburrido. En desarrollo de software, por ejemplo, si ves el código escrito por un programador apasionado verás una pieza de arte pero si fue escrito por un programador desmotivado sólo verás código fuente.

Si trabajas con pasión la gente alrededor tuyo verá y sentirá tu pasión en todo lo que hagas y también en tus actitudes. La pasión te motivará a aprender nuevas cosas, preguntar a los expertos y buscar como mejorar lo que estas haciendo de una forma creativa. La empresa donde trabajes también se verá beneficiada, recuerda que todo es un proceso asi que comenzarás como novato pero tu pasión te moverá a continuar y convertirte en un experto.

Tu pasión y actitudes te abrirán puertas en el trabajo, tendrás oportunidades y dependiendo de tus decisiones podrás ser un profesional exitoso. Pero, ¿Que hacer si trabajas apasionadamente pero nada sucede y te sientes estancado? Bueno, podrías practicar lo que aprendí de Daniel Pink en este video: Ejercita la creatividad en tu trabajo, lo que debes hacer es escoger un proyecto en tu trabajo y tratar de hacer algo creativo. Si te llaman la atención entonces sabrás que debes buscar otro lugar para trabajar pero si recibes reconocimiento entonces aprenderás que tu trabajo no era tan malo como pensabas y te sentirás motivado para continuar haciendo cosas con pasión.

Despertando tu pasión

¡Excelente! La pasión es importante, pero ¿Cómo puedes depertarla? Tienes que nacer con ella?,… No estoy completamente de acuerdo con eso, conozco personas que naturalmente tienen una pasión por su trabajo pero también he visto despertar la pasión solo compartiendo tiempo con personas apasionadas y claro, poniendo también de su parte.

El primer paso que necesitas dar es responder esta pregunta: ¿Estas completamente seguro que trabajar en la industria del software es lo que realmente quieres? Si no es así o tienes dudas, te recomiendo pensar seriamente y también leer el libro ¿Qué debo hacer con mi vida? de Po Bronson, lo encontrarás muy útil.

Si la industria del software es donde quieres dedicar tu tiempo, el siguiente paso es compartir tiempo con gente apasionada. Busca por compañeros de trabajo apasionados por lo que hacen o personas en alguna comunidad relacionada con lo que haces o con tu rol en el trabajo. Habla con ellos sobre tu experiencias, discute nuevas ideas, comparte actividades, lee artículos, escribe artículos y verás como tu pasión despertará.

También es una buena idea practicar la creatividad en tu trabajo porque puedes aprender mucho durante ese proceso e incrementar tu pasión con los resultados.

Software Libre o Código Abierto

¿Qué puedes hacer si estas estudiando y no trabajando? Bueno, dejame decirte que estás en el mejor momento para ganar pasión. En cualquier comunidad de Software Libre o de Código Abierto encontrarás mucha gente apasionada, únete a una de ellas usando listas de correos, foros, wikis, canales IRC, has nuevos amigos y comienza a contribuir.

Ganarás pasión pero también encontraraás donde sientes más pasión, puede ser como administrador de sistemas, programador, arquitecto, jefe de proyecto, etc. Así, te también ayudará a buscar el trabajo que realmente te gusta cuando acabes de estudiar.

Sigue estos consejos aún si quieres trabajar en una empresa que usa software privativo o software libre porque lo que realmente vale es que tengas pasión y lo puedas aplicar en cualquier contexto.

¡Trabaja con pasión!

Abner Ballardo

This is a good topic to talk about when you have a lot of time with friends or acquaintances; and some after work drinks close to you!!!

Based on my experience working with project managers and also being a project manager, I’ve found very important that PMs understand and accept: the inner complexity and the inevitability of change in software development projects. Sounds easy, isn’t it? Sadly, there are PMs that don’t understand and accept those concepts, even if they have some background or career in software development.

So, projects managers should have a strong knowledge about software development or not? In my opinion, it doesn’t matter whether they have it or not because PMs should care first of people in their teams, keep them motivated and help them adapting constantly the next steps according to changes. You don’t need to know every detail about software development to do that!

It’s pretty obvious that communication and also other aspects in projects can be simplified if PMs know about software development but if they don’t, it can be solve easy because PMs can request advise from experts like software architects, experienced programmers, etc.

Even if PMs have a strong knowledge in software development, they should always request advise when they have to estimate, take decisions or just don’t understand something.

In conclusion, I think that being a project manager implies more than technical knowledge, it’s about people and how to get the best of them. If they know about software development would be great but if that is not the case, they can always ask experts for help.

Haz click aquí para leer la versión en español

Abner Ballardo

Este es definitivamente un buen tema para conversar con tus amigos o compañeros de trabajo; y mucho mejor si hay algunas cervezas cerca.

En base a mi experiencia trabajando con jefes de proyectos (PMs) y también siendo un jefe de proyecto (PM), he encontrado que es muy importante que los PMs entiendan y acepten: la complejidad y lo inevitable del cambio en los proyectos de desarrollo de software. Suena simple, pero lamentablemente hay PMs que no comprenden y aceptan esos conceptos, incluso si tienen algún conocimiento o carrera en desarrollo de software.

Entonces, Los jefes de proyectos debe tener un conocimiento sólido en desarrollo de software? En mi opinión, no interesa si lo tienen o no porque los PMs deben preocuparse primero por la gente en sus equipos, mantenerlos motivados y ayudarlos adaptando constantemente los siguientes pasos de acuerdo a los cambios que se presentan. No necesitas tener un gran conocimiento en desarrollo de software para hacer eso!

Es obvio que la comunicación y otros aspectos en los proyectos se simplifican si los PMs tienen conocimiento sobre desarrollo de software pero si no lo tienen, se puede solucionar fácilmente porque pueden apoyarse en los expertos como arquitectos de software, programadores senior, etc.

Incluso si los PMs tienen un conocimiento sólido en desarrollo de software, siempre deben pedir apoyo cuando tienen que estimar, tomar decisiones o simplemente porque no comprenden algo.

En conclusión, creo que ser un jefe de proyecto es más que solo conocimiento técnico, implica preocuparse por la gente y como obtener lo mejor de ellos. Si un jefe de proyecto sabe sobre desarrollo de software es útil pero si ese no es el caso, siempre puede apoyarse en los expertos.

Click here to see the english version

Abner Ballardo

Yesterday, I had to respond an organization climate survey, this is the second time I’ve done it in my actual work. As usual, I took a while to think about what is more important and value to me because it’s really easy to remember what you don’t like but sometimes you’re not aware of good things that you really enjoy.

Writing down all you have in mind is pretty useful technique in this case, especially early in the morning and after work. So I came up with this small set of things that I really value:

  • Challenge: The routine can kill your creativity so it’s important to have new challenges generated by your role in the organization or simply by your ideas!
  • Recognition: Following a very motivating video posted by Daniel Pink (my post here), if you do something creative and you’re reprimanded, live that place! Recognition is important because it can motivate you to do more things.
  • Autonomy: Having an idea is not enough, you must try it, see what happens and learn from it. If you don’t have autonomy to do that, you won’t be able to learn!
  • Money is also an important factor but not the only one, the big picture is necessary and you should consider everything!
Abner Ballardo

Getting up early is not one of my favorites activities but somedays you just get up at 3:00 am and can’t sleep, I could assume that an internal bug in my sleeping program threw an exception! What ever, it’s good to have a list of things to do when it happens (GTD).

The task: “Adding sharing links at modlost.net” was in my someday list for a long time ago, so I decided to hack a little bit about that. It was too early in the morning and I had a lot of time.

I started with a quite simple search in the web and I found Jetpack by WordPress. It’s an interesting project/business idea with some free (sharing, gravatar, short links, etc.) and paid (coming soon) features and I already had it installed because WordPress Stats new updates will be bundle in Jetpack so it was the obvious option to take.

Sadly, Jetpack doesn’t support Google+ out-of-the-box and its “new service” feature didn’t fit very well when you use it in index pages. So I had to check the source code and modify it to allow links to share in Google+, Twitter and Facebook at the bottom of every post, page and index page.

It will need more work to align better all the bottoms so after fixing that I’m going to share the patch.

Happy hacking!!!

Abner Ballardo

Early today when I was just looking at Google Reading, this new took my attention: “Evernote acquires Skitch!”. Immediately, I started to think about how they could be integrated or - even better - how useful will be if Skitch is embedded in Evernote.

Both applications are really important in my daily activities so I can’t wait to see the results of this acquisition. If you didn’t know about them,… what are you waiting for? Try them!

Abner Ballardo

La semana pasada tuve el gran privilegio de dictar dos cursos en la Universidad Peruana Unión (Campus Juliaca): Desarrollo Ágil y Arquitectura de Software; la experiencia fue muy grata y enriquecedora, no solo porque son temas que siempre me han apasionado sino también porque pude compartir conocimiento con un grupo que deseaba aprender.

Ambos cursos los desarrollé de manera iterativa, adecuándolos diariamente para enseñar lo que mayor valor le brindaba a los asistentes. Por eso, usé varias técnicas de probada eficacia: gamestorming, storytelling, presentation zen, naked presenter, sand-boxes y agile games; que me permitieron adecuarme rápidamente a las necesidades del grupo, manteniendo así la atención y facilitando el aprendizaje.

¡Eso no fue todo!, un factor adicional - aunque quizás solo me motivaba a mí - fue el hermoso paisaje que se podía ver desde el salón de clases. En conclusión, fue un gran reto donde aprendimos todos.

Desarrollo Agil

Mi objetivo en este curso fue brindar, usando el Manifesto por el Desarrollo Ágil de Software, una buena base en las características que hacen especial y efectiva las metodologías ágiles. El uso de metáforas y dinámicas fue muy importante como técnica de enseñanza pero siempre se discutió como aplicar lo aprendido en proyectos de desarrollo de software reales.

Con esa base fue posible mostrar similitudes y diferencias en metodologías como: Scrum, Kanban y Extreme Programming. Las dinámicas que se usaron permitieron tener un ambiente seguro de pruebas donde los asistentes experimentaron cada técnica y de paso se divirtieron.

Lo que más rescato de este curso el feedback de los asistentes luego de cada tema, ya que fue excelente ver como encontraban valor a los temas y lo relacionaban con la experiencia que han tenido en proyecto de desarrollo de software.

Arquitectura de Software

El tema de este curso realmente me apasiona y por eso trató en todo momento de compartir esa pasión con cada un los asistentes. El desarrollo de software es un arte y existe belleza en un algoritmo elegante, en una arquitectura simple pero útil, en encontrar el equilibrio entre seguridad y simplicidad de uso, etc. Arquitectura de Software es un arte!

En mi opinión, enseñar arquitectura de software solo con tecnologías, diagramas, papeleo y otros; no brindaba mucho valor ya que el tema es muy amplio y también porque eso se puede aprender mejor con un libro o un curso especializado. Lo que realmente da mas valor es desarrollar experiencia, mostrar a los asistentes contextos en los cuales una solución puede funcionar muy bien pero quizás en otro contexto tiene terribles resultados.

Para poder fomentar que los asistentes desarrollen experiencia usé algunos juegos y técnicas que he desarrollado en los últimos años (basado en el libro: Pragmatic Thinking & Learning). Los resultados fueron muy buenos y los asistentes lo ratificaron así en la retrospectiva del curso.

Agradecimientos

Debo agradecer la oportunidad de dictar ambos cursos a la Universidad Peruana Unión y a sus representantes que me brindaron apoyo, hospitalidad y amistad: Dante G. & Danny L. Ha sido mi primera visita a Juliaca y me llevo muy buenos recuerdos.

Finalmente, quiero agradecer todos los comentarios de los asistentes durante la retrospectiva, después de clases, en twitter y en mi website.

Happy Hacking!!!!

Abner Ballardo

A few weeks ago I decided to buy some Moleskine Passions Journals. These themed notebooks can help you to keep track of your passions like music, books, wines, films, dog care, cat care, baby care, gardening and so on.

Write about what you really love to do is a great idea. Blogging - for example - is a nice way to do it and share it but sometimes you will want to write and not publish it, something just for you and people you love. So writing a journal can help you with that, of course you just need a simple notebook but for sure using Moleskine Passions Journal is do it with style.

By the way, I’m going to start with Music Journal because if I hadn’t decided to work in software industry, I would have worked as musician so I have a lot of to write about music, compositions, etc. Hopefully, some ideas in Music Journal will end with more posts in my website