No, las matemáticas no son un requisito. Hay pocos tipos de educación que permiten bootcamp y Holberton University es un ejemplo.
Los estudiantes son seleccionados en base a 3 criterios:
· Motivación
· Talento
- ¿Crees que es necesario que los niños aprendan cursos relacionados con el arte?
- ¿Cuál es el mejor sitio para aprender a programar?
- ¿Cuáles son las mejores fuentes para que un principiante comience a aprender el aprendizaje automático?
- Quiero aprender futuros y opciones, ¿hay algún juego que pueda ayudarme a enseñar de una manera sencilla?
- Cómo aprender a potenciar tu creatividad.
· Habilidad para colaborar.
No se le da importancia a ninguna otra cosa, incluyendo Matemáticas.
Los estudiantes provienen de muy diversos orígenes: músico, graduado de escuela secundaria, mercadotecnia, reclutador, consejero escolar, docente, cajero, trabajador de la construcción, maestría en sociología …
Para convertirte en un gran programador de computadoras, debes enfocarte en 3 elementos principales:
· Tener conocimiento de la pila completa.
· Poder aprender por ti mismo.
· Habilidades blandas
Así que no puedes encontrar las matemáticas en la lista.
Tener un conocimiento de la pila completa
Las aplicaciones de software son un sistema complicado compuesto por muchas tecnologías y partes: frontend, backend, base de datos, servidor web, red … Por ejemplo: cambiar una consulta en el frontend afectará a la base de datos si el desarrollador no tiene idea de cómo funcionan las bases de datos. la consulta puede hacer que el sitio caiga
Esta situación similar ocurrió cuando, un desarrollador junior que era un “especialista en aplicaciones frontales” creó una solicitud que estaba consultando un campo en la tabla de usuarios que contenía millones de entradas, este campo no tenía un índice y la base de datos se cerró junto con el sitio web.
Este desarrollador no tenía idea de cómo funciona una base de datos, pero saber qué es un índice es algo que debe conocer cualquier buen ingeniero de software. Tengo muchos ejemplos como este.
Es por eso que primero debe aprender un mínimo acerca de lo que llamamos la pila, mientras que cada uno tiene su propia definición de pila, un buen comienzo es saber sobre:
· Algoritmo y estructura de datos
· Programación de alto nivel (lenguajes de programación de objetos orientados).
· Administración del sistema y un poco de networking.
Con esto, un ingeniero de software podrá navegar por casi cualquier sistema / aplicación y podrá tomar una decisión de ingeniería bien pensada.
Poder aprender por si mismo
Los conceptos básicos del software rara vez cambian, pero las herramientas que utiliza la industria cambian constantemente. La industria del software es probablemente una de las industrias que cambian más rápidamente, por eso necesita actualizar constantemente la aplicación de su teléfono inteligente y que sus sitios web favoritos traigan constantemente una mejor experiencia y características.
En este contexto, los ingenieros de software necesitan constantemente evaluar y quizás aprender nuevas herramientas que les ayudarán a hacer su aplicación más rápida, mejor y más confiable. Los nuevos lenguajes de programación y las bibliotecas vienen constantemente y uno no puede regresar a la universidad cada vez que surja una nueva tecnología. Los mejores ingenieros de software son los que pueden mantenerse al día con las últimas tendencias. Por eso es fundamental que puedas aprender por ti mismo.
Habilidades blandas
A menos que esté dispuesto a trabajar solo, podría ser la habilidad más importante.
Hay un buen libro sobre esto, “Cómo ganar amigos e influir en las personas”, porque este libro es muy importante para aprender a ser un ser humano exitoso.
· Comunicación
o verbal: hablar en público, presentación
o escrito: documentación, correos electrónicos, post mortem, técnico escrito
· Colaboración
o Ayudar a un compañero de trabajo en un proyecto
o Incorporación de nuevos recién llegados
o saber cuándo preguntar
· Espíritu de equipo
o Entendiendo a otros compañeros de trabajo
o Fomento de la colaboración con otros equipos (si es en una gran empresa)
No se puede imaginar cómo el ser amable con las personas y ayudarlas a hacer su trabajo les traerá mucho más. Recuerda que para una empresa, si haces bien tu trabajo, eres un 1X. Pero digamos que también está ayudando a 10 personas a hacer bien su trabajo, entonces usted es un 11X y ese es el tipo de personas que necesitan las empresas exitosas.
Si puede obtener estas 3 cosas, será un programador increíble y todos querrán contratarlo. A menos que desee ingresar al mundo de la investigación o convertirse en científico de datos, las matemáticas no son tan importantes.
Sylvain Kalache, el cofundador (Holberton School of Software Engineering en San Francisco), no era bueno en matemáticas.
¡Buena suerte en tu camino para convertirte en un gran programador!