Saltar al contenido principal

Rompiendo paradigmas: desarrollo de software y la percepción de las matemáticas

· 9 min de lectura
Oscar Adrian Ortiz Bustos

Introducción

Muchas veces cuando menciono a las personas que estudio la Ingeniería en Desarrollo de Software (o como algunas personas le llaman, computación) asumen que por el hecho de estudiar una carrera de ingeniería las matemáticas y yo somos uno mismo, pero no podrían estar más equivocados.

Si bien, desde que estaba cursando el bachiller me estaba perfilando para ser informático e incluso una profesora llegó a comentarme en su momento que para la carrera que estaba pensando elegir eran necesario un conocimiento sólido en las matemáticas, nunca las he considerado amigas, vaya, realmente ni siquiera me gustan. No malinterpreten, no es que sea un completo ignorante en el tema, es solo que nunca me han llamado la atención, obviamente sé hacer operaciones matemáticas un tanto complejas, no soy Julio Profe pero me defiendo.

Todo esto es curioso por que me considero una persona con inteligencia lógica (que se la debo a bash) pero cuando tengo que hacer algo con matemáticas, busco la forma de hacerlo de una manera "fácil". En este artículo intentaré hacerles conocer mi postura acerca de las matemáticas para el desarrollo de software y como esta percepción puede afectar tu carrera.

Inteligencia lógica-matemática

Es una de las nueve teorías de inteligencias múltiples desarrolladas por el psicólogo Howard Gardner. Basándonos única y exclusivamente en la definición de su libro "Frames of Mind" de 1983 es la capacidad de analizar problemas de manera lógica, realizar operaciones matemáticas e investigar cuestiones científicamente. Simplificando esta definición, es la capacidad de pensar lógicamente y comprender conceptos abstractos de matemáticas. Esto implica pensamiento abstracto, resolución de problemas, así como la capacidad de pensar de manera crítica y estratégica.

Características

Las principales características son:

  • La capacidad de resolver problemas analíticamente.
  • Pensar de forma abstracta.
  • Reconocer patrones y relaciones.
  • Pensamiento lógico y sistemático.
  • La capacidad de realizar operaciones matemáticas.

Importancia

En la vida cotidiana

Esta inteligencia juega un papel muy importante en nuestras vidas, ya que nos ayuda a pensar críticamente, resolver problemas estratégicamente y tomar decisiones de una manera analítica. Obviamente también es importante para comprender y aplicar conceptos matemáticos, así como para comprender principios y teorías científicas.

En el desarrollo de software

Esta habilidad cognitiva es fundamental para desempeñar un papel crucial en la vida de un desarrollador web o un programador. Muchas veces esta destreza se subestima o pasa desapercibida, pero su influencia en la toma de decisiones, la resolución de problemas y la creatividad en el mundo del desarrollo de software es innegables.

  1. Resolución de problemas: Es una de las actividades cotidianas de un desarrollador de software. Aquí es donde la inteligencia lógico-matemática brilla con fuerza. Nosotros los desarrolladores debemos identificar problemas, analizar sus causas y crear soluciones eficientes. La lógica y las matemáticas son herramientas cruciales para abordar estos desafíos de manera sistemática. La lógica nos ayuda a descomponer un problema en pasos lógicos permitiéndonos abordar cada aspecto de manera organizada. Las matemáticas por otro lado, son esenciales para cálculos, optimización y evaluación de soluciones. Sin una sólida base en estas áreas, la resolución de problemas en el desarrollo de software puede volverse confusa y menos efectiva.
  2. Programación y algoritmos: Me gusta pensar en la programación como el corazón del trabajo de cualquier desarrollador. Para poder escribir código efectivo y eficiente es necesario comprender la lógica detrás de los algoritmos y estructura de datos. Mientras que las matemáticas nos ayudan a comprender los algoritmos que generalmente se basan en conceptos matemáticos, por otro lado la lógica es vital para razonar sobre el flujo del programa y detectar errores.
  3. Toma de decisiones: En el desarrollo de software, las decisiones basadas en datos son cruciales. La inteligencia lógico-matemática capacita a los profesionales para analizar información, evaluar opciones y tomar decisiones informadas.
  4. Innovación y creatividad: La creatividad desempeña un papel importante en el desarrollo de software, y la inteligencia lógico-matemática no es una excepción. Estas habilidades permiten a los desarrolladores pensar de manera innovadora y encontrar soluciones únicas para los problemas.

¿Cómo mejorar la inteligencia lógico-matemática?

Si como yo, te encuentras en el campo del desarrollo de software y sientes que tus habilidades en esta área no son lo suficientemente fuertes, existen varias formas de mejorarlas. Por ejemplo:

  1. Practica regularmente: Súper obvio, lo sé, pero como con cualquier habilidad, la práctica es esencial. Dedica tiempo a resolver problemas matemáticos de diversa complejidad.
  2. Buscar recursos en línea: En la actualidad, hay una gran cantidad de recursos en línea disponibles para ayudarte a mejorar tus habilidades. Desde cursos en línea hasta videos de YouTube, hay muchas opciones para elegir.
  3. Aplicación práctica en proyectos de desarrollo: Sin duda esta es de mis favoritas, ya que una excelente manera de fortalecer nuestras habilidades matemáticas es aplicarlas directamente en proyectos de desarrollo. Cuando nos enfrentemos a un problema de programación, podemos intentar identificar los conceptos matemáticos que pueden ayudarnos a resolverlo de una manera más eficiente.
  4. Los errores son parte del proceso: Desarrollar esta habilidad puede ser un proceso desafiante. No temas cometer errores; son oportunidades de aprendizaje.
  5. Compartir conocimiento: Soy fiel creyente de que la mejor forma de aprender es enseñando, así que si tienes la oportunidad de compartir tus conocimientos ya sea a través de tutorías, blogs o vídeos, estarás reforzando tus propias habilidades.

Recursos en línea

  1. Khan Academy: Es una organización educativa sin ánimo de lucro creada en 2006 por Salman Khan con el objetivo de crear una serie de vídeos tutoriales cortos y accesibles para todos en una gran variedad de temas. La organización produce vídeos cortos de matemáticas, historia, economía, física, química, biología, astronomía, cosmología, informática, anatomía y fisiología, finanzas, historia del arte, música, entre otros.
  2. Math Is Fun: Es un sitio web educativo creado en 2000 por Rod Pierce, un matemático australiano. El sitio web cubre una amplia gama de temas matemáticos, desde aritmética y álgebra hasta geometría, trigonometría y cálculo.
  3. Math Planet: Es un recurso educativo gratuito que ofrece cursos en línea y material de estudio para estudiantes de secundaria y preparatoria. El sitio web cubre una amplia gama de temas matemáticos, desde aritmética y álgebra hasta geometría, trigonometría y cálculo.
  4. Project Euler: Es una serie de problemas matemáticos computacionales destinados a ser resueltos con eficiencia usando un ordenador. Los problemas de Project Euler están diseñados para vincular las matemáticas con la programación.
  5. Brilliant: Es una comunidad en línea para personas apasionadas por las matemáticas y la ciencia. El sitio web ofrece cursos interactivos, problemas y desafíos para ayudar a las personas a desarrollar habilidades en matemáticas, física, ciencias de la computación e ingeniería.
  6. LeetCode: Es una plataforma en línea para que los desarrolladores de software practiquen sus habilidades de programación a través de desafíos de codificación. La plataforma contiene más de 1400 problemas de algoritmos y estructuras de datos, y más de 4500 empresas utilizan la plataforma como parte de su proceso de contratación.
  7. Codewars: Es una comunidad de desarrolladores de software que se centra en el aprendizaje a través de la resolución de desafíos de codificación. Los usuarios pueden resolver desafíos llamados "kata" y publicar sus soluciones.

¿Qué pasa si no soy bueno en matemáticas?

Supongo que no soy el único que tiene una relación fallida con las matemáticas, y quiero decirte que aunque son sumamente importantes en el desarrollo de videojuegos, criptografía, inteligencia artificial, etc, no es necesario ser un descendiente de Pitágoras para ser un buen desarrollador de software. Si quieres dedicarte al desarrollo web, no te preocupes, no es necesario las matemáticas, y en la mayoría de los casos, las matemáticas requeridas son bastante manejables. Me permito destacar que ser hábil en matemáticas no es el único camino hacia el éxito en el desarrollo de software. Lo que realmente es importante es la capacidad para resolver problemas, pensar de manera lógica, escribir código limpio y eficiente. Además, ya estamos en el siglo XXI, y hay muchas herramientas que simplifican las tareas matemáticas complejas en el desarrollo de software, esto nos quita un peso de encima y nos permite concentrarnos en la creatividad y poder de resolución de problemas. A mí no me interesa la tangente de un ángulo, ni quiero saber a que velocidad se mueve un objeto en una parábola, eso para mí es irrelevante, y con esto no pretendo ofender a las personas que son realmente buenos en matemáticas, pero esto definitivamente no es para mí, y no tengo ningún problema en admitirlo.

Si tampoco te sientes cómodo con las matemáticas, no dejes que eso te desanime en tu búsqueda de una carrera en el desarrollo de software. En lugar de obsesionarte con ellas, concéntrate en mejorar tus habilidades de programación, por que como sabemos, en esta industria el "éxito" dependerá de la capacidad para crear soluciones efectivas y trabajar en equipo, más que de tu dominio de ecuaciones complicadas.

Conclusión

Creo que ha quedado claro que las matemáticas son importantes en el desarrollo de software, pero no son la única habilidad que necesitas para ser un buen desarrollador. Si te gusta la programación y no eres bueno en matemáticas, no te preocupes, no es el fin del mundo. Puedes ser un excelente desarrollador sin ser un genio de las matemáticas.

En este pequeño artículo, hemos explorado la influencia de la inteligencia lógico-matemática en el mundo del desarrollo de software. Lo que define a un gran desarrollador de software no es solo su conocimineto matemático, sino su creactividad, su capacidad para aprender y adaptarse y su dedicación para resolver problemas en el mundo digital.

Desde La Cueva del NeanderTech creemos que el desarrollo de software es para todos, y que las matemáticas no deben ser un obstáculo para que las personas puedan aprender a programar, ya que son una herramienta útil en tu Programmer's Toolkit, pero no la única.

Las matemáticas son una cuestión de esfuerzo y persistencia, no de ser un genio.

— William Paul Thurston

Referencias

  1. Mathematics for Computer Science
  2. How much math do you need to know to be a developer?