The passionate programmer

de Chad Fowler

The passionate programmer

Por qué lo he leído

Suelo elegir los libros por el título, por lo que me sugiera. Y el título de este libro me sugiere todo: pasión y programación. ¿Qué más se puede pedir?. Uno de mis libros favoritos es The pragmatic programmer, que más adelante dió lugar a una editorial de libros técnicos. The passionate programmer tenía la misma pinta, así que seguro que lo tenía que leer, tarde o temprano.

Qué esperaba

Me esperaba un libro con una estructura parecida a The pragmatic programmer, con capítulos cortos, y cada capítulo finalizando con una serie de posibles acciones para mejorar en tu carrera profesional. Bueno, esta vez, en lugar de mejorar, esperaba que estuviera relacionado con sentir la pasión por la programación.

Qué encontre

El libro está organizado en 5 grandes secciones:

  1. Elige tu mercado
  2. Invierte en tu producto
  3. Ejecución
  4. El marketing… no es sólo para los trajeados
  5. Manteniéndote al día

Cada uno de ellos está dividido en capítulos más pequeños (lo que me imaginaba), y cada uno de ellos termina en uno o varios consejos para que aprendas el concepto que desarrolla el capítulo. Idéntica estructura a The pragmatic programmer que tanto me gustó y tanto me ayudó.

Cada una de las secciones anteriores explorar un aspecto de la carrera de un profesional del desarrollo software, aunque no cubre todos. Guía al lector sobre cómo y por qué debe elegir un mercado, una industria, ya que el software se encuentra en todas partes hoy en día. Hay consejos sobre cómo deberías trabajar, qué actitud deberías tener, tanto si trabajas por cuenta ajena como por tu propia cuenta y también cómo poder venderte dentro y fuera de tu empresa.

Conclusiones

Me parece un libro muy recomendable. Está enfocado al desarrollo del software, pero podría ser aplicable (más o menos) a otras profesiones. De lo que trata es de buscar la pasión por lo que haces.

Cada capítulo termina con una o varias acciones a tomar, algunas son sencillas, otras te llevarán cierto tiempo, otras son arriesgadas y no todo el mundo se sentiría cómodo llevándolas a cabo. No creo que tenga tiempo ni energía para llevarlas todas a cabo, pero sí que me gustaría poner en práctica algunas de ellas: comunicarme más con gente de negocio, ponerme en situaciones donde yo sea el peor, invertir en mi conocimiento, encontrar un mentor, seguir alguno de los consejos para contribuir a algún proyecto de software libre,…

Creo que este es un libro para tener al lado de The pragmatic programmer y releerlos de vez en cuando.

Qué he aprendido

No puedes competir en precio, pero puedes competir en habilidad.

Tienes que ser apasionado sobre tu trabajo si quieres ser excelente en tu trabajo.

Un aprendiz no se encuentra saliendo por ahí y declarándote un gurú, si no acumulando conocimiento y teniendo la voluntad y paciencia para compartirlo.

Es mucho más fácil encontrar alguien que haga que el software funciona que encontrar a alguien que haga que funcione el hacer software (It’s much easier to find someone who can make software work than it is to find someone who can make the making of software work).

Crea movimiento. Se de los que empujan hacia adelante. No te acomodes.

La mayor barrera entre nosotros, los mortales, y aquellos a los que admiramos son nuestros propios miedos.

El proceso aquí descrito es un bucle que se repite hasta que te jubilas: investiga, invierte, ejecuta, anúncialo, repite.

Frases que me gustaría recordar

At least when starting out, greatness is binary in the music world. A musician wants to either be great (and famous for it!) or not do it at all. I’m often asked why it is that there are so many good musicians who are also good software developers. That’s the reason.

Think of your career as if it is the life cycle of a product that you are creating. That product is made up of you and your skills.

If you want to stay relevant, you’re going to have to dive into the domain of the business you’re in.

Legendary jazz guitarist Pat Metheny: “Always be the worst guy in every band you’re in.”

Fear-driven advice is geared toward not losing. Thinking about not losing is not the way to win!

Teaching is one of the best ways to learn.

Cuando estudias soluciones de código abierto, en lugar de propietarias, en profundidad empiezas a reconocer patrones que te sirven más allá de la tecnología.

The most obvious place to start your lifelong learning is in learning the tools of your trade.

Without a role model, there’s no incentive to get better.

You have to make time for practice. It’s your responsibility.

Studying the work of masters is an essential part of becoming a master.

I learned that no matter how cool the technology seemed to be, it was valuable only if it solved a real problem that was urgent and provided quantifiable benefits. Over time, this helped me change my way of thinking from being technology-centric to being solution-centric.

Attempting to be irreplaceable is a defensive maneuver that creates a hostile relationship with your employer.

We judge each other on how we deal with those inevitable mistakes.

If you don’t have a deadline, you don’t have any pressure or much incentive to finish something.

There is no way to objectively measure the quality of a knowledge worker, and there is no way to objectively measure the quality of their work. That means you are always going to be measured based on someone else’s perception of you.

You need to make it personal. Try to actually learn about the people you work with.

Set big goals, but make constant corrections along the way. Learn from the experience, and change the goals as you go.

Software development is both challenging and rewarding. It’s creative like an art-form, but (unlike art) it provides concrete, measurable value.

Recursos relacionados