«Los dos días más importantes de tu vida son el día en que naces y el día en que descubres por qué» fue la frase que hoy recordé de Mark Twain, en ella, se disimula la idea del «sentido» de la vida. En un mundo que avanza tan rápido, detenernos, al menos por un eventual instante, a pensar por qué vivir suele ser una abstracción insensata para muchos, para otros —me incluyo—: llena de sentido.
Hay dos tipos de personas: los que toleran las preguntas filosóficas y reflexionan sobre ellas y, los demás, que les estresa solo escuchar la palabra «filosofía». Usted, podrá prever que yo me encuentro en el primer grupo, pues si estuviera en el segundo ni siquiera me tomaría la molestia de plantearme esta cuestión.
Cuando se le pregunta a alguien que se muestra entusiasmado por aprender a programar —al menos en el primer año de informática— el porqué de su interés, surgen varias respuestas: «porque quiero hacer videojuegos», «me gusta usar el ordenador», «es una carrera con mucha salida laboral», y algunos más audaces y honestos dicen «porque quiero ganar dinero». En todas ellas hay algo de desconocimiento de lo que significa programar.
Y no me malinterprete: aspirar a tener una mejor vida económica y una estabilidad laboral son aspiraciones totalmente válidas, pero, carentes de significado y de falta de alcance, si se quiere tantear una justificación. Una justificación no hacia lo demás, más bien, hacia usted.
Lo primero que podría decir es que la programación es una de las actividades más apasionante de nuestra era. Eso, en primer lugar, debería ser un motivo más que suficiente para persuadir a una persona con una profunda curiosidad. Por otro lado, es una actividad que estimula el pensamiento lógico, el intento de ser más racional, más cuidadoso con sus decisiones que, no solo se refieran al código, sino con sus actividades cotidianas.
Aunque esto no significa que los programadores dejen de ser humanos con sus defectos, sus sesgos y sus opiniones, absurdas y sin fundamentos en varios casos (como todos lo somos en algún momento de nuestra vida). Nadie se escapa a ello.
La programación abre puertas. Algunas más anchas que otras. Más robustas que otras. Dependiendo de lo que programes, las oportunidades que no son pocas, se expanden considerablemente. No es lo mismo ser un programador de compiladores —que tiene una gran dificultad técnica pero poca salida laboral— que ser un programador de aplicaciones móviles, por dar un ejemplo.
Encontrar su nicho y su afinidad, dentro de la programación, se logra explorando. En la búsqueda de qué tipos de software a usted le gustaría crear. Parafraseando a Joseph Weizenbaum, los programadores son los creadores de sus propios mundos.1
Ejemplo: le gusta analizar datos, crear modelos predictivos con apoyo de datos históricos, entonces el área de análisis de datos y aprendizaje automático (Machine Learning) llegaría a un acierto; en otros, si le gusta lo visual, lo interactivo, lo dinámico, acaso, le pueda agradar adentrarse en el mundo web.
Descubrir el porqué programar lo hará sostenerse en los momentos bajos de la vida, que, inevitablemente, nos harán cuestionar el «por qué lo hacemos». Quizá, la única respuesta se halle en un «simplemente me gusta». Es probable.
Para reflexionar sobre la vida, la felicidad, la fragilidad del tiempo, le recomiendo leer a Séneca, en especial, su libro Sobre la felicidad - Sobre la brevedad de la vida.
Le recomiendo leer este maravilloso artículo, Science and the Compulsive Programmer: https://www.sac.edu/AcademicProgs/Business/ComputerScience/Pages/Hester_James/HACKER.htm
Ahora mismo, la razón por la que me gusta programar y el desarrollo de software en sí, es porque es emocionante pararme frente un problema, encontrar mil soluciones y luego buscar la más sencilla, eficaz y entendibles todas las soluciones. Y es que la vida comienza a carecer de sentido y dirección cuando dejamos de sentir emoción al enfrentarnos a un reto.
Símplemente me gusta :-). Con el tiempo he descubierto que me encanta "la plasticidad" del código... incluso más que el propio problema que se está resolviendo.
Y sabemos perfectamente cuándo disfrutamos y cuándo estamos siendo meros mercenarios.
De hecho, tener que volver de vez en cuando a Java (para poder ganarme la vida) me resulta cada día más costoso: nada hay menos "plástico" que Java, luna herramienta que me cuesta disfrutar.
Pero incluso en ese caso, tiene su "qué" que te hace sonreír.
Hay una frase que antes asumía pero de la que cada día discrepo más: "el lenguaje es solo una herramienta"... Un guitarrista y un pianista no componen igual su música: cada instrumento ofrece un rango y posibilidades interpretativas radicalmente diferentes... y hay excelentes compositores con ambos instrumentos... la maestría te hace sintonizar con tu instrumento (Incluso gente como Mike Oldfield que lo "toca" todo, al final siempre vuelve a su guitarra)
Muchas veces me pregunto: ¿con qué lenguaje con el que en algún momento logré verdadera maestría he logrado disfrutar más?
Conoces la respuesta y sé que no te va a gustar... mejor me la callo