martes, julio 28, 2015

¿Programar es arte?

He escuchado varias veces que programar es un arte. Es cierto que el código tiene algo de la personalidad del programador; pero de eso a llamarlo arte…

programadores-artistas

Hay muchas definiciones de lo que es arte, algunas lo definen simplemente como algo bien hecho; pero muchas otras hablan del aspecto estético y de la expresión del artista a través de su trabajo. Creo que por eso es que se le ha llamado arte a la programación, de alguna forma nos expresamos usando un lenguaje de programación. Además puede haber varios estilos para resolver el mismo problema. Algunos son más elegantes que otros y muchas veces la elegancia se basa solo en aspectos subjetivos, al igual que la belleza del arte.

El objetivo de la programación es distinto al del arte. El arte busca la expresión del artista, transmitir sentimientos, lograr un placer estético en el observador. La programación, por otro lado, busca la solución a un problema y al mismo tiempo hacerlo de una manera simple, ocultando la complejidad para el fácil mantenimiento del programa. Esa es la razón por la que considero que programar no es arte, ya que no busca la expresión del programador, sino la solución a un problema determinado.

Hay quienes opinan que la programación es una artesanía, lo cual me parece un termino interesante. Hace tiempo platicamos sobre la artesanía de software en el Dev3Cast.

¿Tienes algún comentario? Mándame un correo a blog@developeando.com.

jueves, julio 02, 2015

Presentar en un grupo de usuarios

Un grupo de usuarios es una comunidad de programadores (o similares) que se reúnen aproximadamente una vez al mes para hablar de tecnología. La mayoría de las veces hay un invitado que presenta ante los demás algún tema de interés para el grupo.

Las reuniones de los grupos de usuario son en persona porque, aunque hay presentaciones que pudieran atenderse en línea, estas son solo un pretexto para reunirnos.

presentar 

Los grupos de usuario son un pasatiempo, aun así considero que hay ciertas ventajas al dar alguna presentación: 

  • Conoces más del tema: cuando me preparo para presentar, aunque ya conozca el tema, tengo que revisar la documentación y buscar cómo resolver posibles preguntas que tendrían durante la presentación. Esto hace que me familiarice más con el tema y así, al presentar aprendo. A veces pasa que alguien de entre los asistentes tiene experiencia en el tema o en un escenario en particular, esto me ayuda a tener otra perspectiva sobre como resolver el problema u otra forma de usar la tecnología.
  • Conoces gente: he conocido a varias personas al asistir constantemente a las reuniones de los grupos de usuario, algunos se han convertido en buenos amigos, con los cuales (además de hablar de otros temas) puedo comentar cosas de tecnología sin sonar tan nerd. Al conocer gente, han surgidos oportunidades de empleo o de negocio, que aunque no se tratan de eso las reuniones, las oportunidades son reales.
  • La gente te conoce: este punto está relacionado con el anterior. Aquí la ventaja es que las personas te conocen a ti como un profesional en lo que haces. Vas creando algo de reputación. La gente te ve como una figura de autoridad sobre el tema o (por lo menos) que puedes dominarlo.
  • Aprendes a expresarte mejor: al tratar de explicar el tema a varias personas que quizás no todas tengan la misma perspectiva o experiencia que tú; tienes que tratar de explicarte con diferentes palabras. Si alguien no entiende de un modo no puedes repetir lo mismo y esperar que de repente lo entienda. Por lo que debes buscar otra forma de explicarlo. Esta habilidad de explicarte mejor no es algo que suceda al instante, requiere práctica. Presentar seguido ayuda a expresarte mejor.
  • Adquieres confianza: al estudiar un tema y compartirlo con los demás, sientes que realmente dominas un tema y esa confianza puede reflejarse en tu trabajo, incluso en cómo te diriges a los demás. En cierto modo, presentar valida para ti mismo que conoces del tema.

Aun y con estas ventajas, puede que (aunque tienes el conocimiento) no te animas a presentar en un grupo de usuarios. Algunas de las razones que he conocido:

  • Falta de interés para compartir o flojera: no a todos les gusta reunirse con otro programadores o hablar de programación y eso está bien. A otros solo les gusta escuchar o sienten que no tienen el tiempo de preparar una presentación. No se necesita de mucho para presentar, se trata simplemente de hablar de lo que haces en tu trabajo (si te dedicas a programar) o de lo que haces cuando programas. Si lo que tienes es flojera entonces no hay mucho que se pueda hacer.
  • Miedo a hablar en público: "todos" nos ponemos nerviosos al presentar, la mejor forma de quitarse ese miedo es simplemente presentando. Darte cuenta que el peor escenario no es tan malo, además de ser poco probable. Y si llegara a pasar, siempre puedes intentar presentar después y corregir lo que haya salido mal.
  • Sientes que no sabes lo suficiente: crees que al presentar se van a dar cuenta de que no eres tan bueno, que "eres un impostor o un fraude". Esto le puede pasar a todos, incluso si tu trabajo consiste en programar y recibes un sueldo por ello. Un grupo de usuarios no es una gran conferencia, tampoco un seminario o diplomado, la idea es solo platicar sobre tecnología. Te recomendaría que al presentar seas sincero y decir lo que sabes, los problemas que has solucionado y en lo que estas batallando. Los asistentes, por lo general, aprecian la sinceridad y tratan de ayudarte a mejorar.

Si estás trabajando en algún proyecto y has tenido que resolver problemas; entonces ya eres un buen candidato para presentar en un grupo de usuarios. Toma en cuenta que:

  • La idea es reunirse y compartir experiencias, no nos reunimos para evaluarte como presentador.
  • Como asistentes, sabemos que eres un programador, no un animador o comediante que tiene que divertirnos.
  • La gente no va con la idea de burlarse del presentador.
  • La mayoría de los asistentes están dispuestos a ayudarte si te atoras en la presentación o si falla el demo.
  • Si todo te sale muy mal, en el peor de los casos, no pasa nada. No tienes que preocuparte por tener que regresarles su dinero, no es como si hubieran pagado por un curso o seminario.

Mientras seas una buena persona, no veo como pueda ser mala idea que presentes. Si te gusta la tecnología y platicar del tema, acércate a un grupo de usuarios. Siempre estamos buscando presentadores.

Platiqué de este tema con Gabriel Flores en el podcast dev3cast. Escucha el episodio.

¿Te gustaría comentar? Envíame un correo a blog@developeando.com