La Importancia de Aprender a Programar: Entrevista a Victor González

Esta entrada es parte de nuestra nueva serie de posts, “ExamTime: Desarrollando Nuevas Competencias, en la que esperamos proporcionarte información, consejos y recursos sobre cómo los estudiantes pueden aprender nuevas habilidades en su tiempo libre. Para más información, echa un vistazo aquí o únete a la conversación en Twitter usando el hashtag #ETNuevasCompetencias.

Entrevista a Victor González, Co-Fundador y CEO de Next Limit Technologies

Next Limit Technologies - Entrevista a Victor González

Victor González es co-fundador y CEO de Next Limit Technologies, empresa española dedicada a desarrollar tecnologías de simulación de vanguardia para una amplia gama de sectores, incluyendo las de efectos visuales, ciencia e ingeniería. Next Limit es a su vez ganadora del Óscar técnico por su programa de simulación gráfica de fluídos, RealFlow. De formación ingeniero naval, Victor desarrolló su pasión por la programación desde una edad temprana. En nuestra entrevista le preguntamos sobre sus comienzos y sobre la importancia de aprender a programar desde joven.
Hola Victor, gracias por dedicarnos un poco de tu valioso tiempo.
Para empezar, por favor cuéntanos un poco sobre ti. ¿A qué te dedicas?

Me llamo Victor Gonzalez, soy ingeniero naval pero nunca he ejercido como tal profesionalmente, llevo más de 15 años dedicado al desarrollo de software de simulación a través de la empresa Next Limit Technologies que fundé con mi socio Ignacio Vargas en 1998. Mi principal ocupación actual es la gestión y la dirección aunque empecé programando uno de los productos de la empresa, RealFlow, conocido por haberse usado en muchas películas para la creación de fluidos digitales. Además de la ciencia y la tecnología me gusta la música e intento tocar un poco la guitarra en el poco tiempo que me queda.

Como sabes, en este artículo estamos explorando la importancia de aprender a programar desde jóvenes. ¿Cómo fueron tus comienzos en el mundo de la programación?

Sin duda el hecho de haber empezado a relacionarme con la tecnología desde muy joven marcó mi futuro. Afortunadamente mis padres intuyeron esta afición por los ordenadores aunque no era fácil ya que al principio solo me interesaban los videojuegos (las “maquinitas” de los bares de los años 80). Más adelante me compraron mi primer ordenador de 8 bits, un Commodore 64, y añadieron al lote un libro de programación que empezó a despertar mi curiosidad. Lo cierto es que lo gráfico me fascinaba especialmente por algún motivo y cada vez me interesó más entender cómo funcionaban por dentro aquellas máquinas. Con el Commodore 64 y posteriormente mi primer PC (Amstrad 1512) empecé a aprender a programar.

¿Cuál fue el primer lenguaje de programación que aprendiste?

Con el Commodore 64 aprendí el lenguaje BASIC que era el más conocido por aquella época y utilizado por la mayoría de los ordenadores de 8 bits, aunque no se consideraba un lenguaje “profesional”. Me dediqué a hacer decenas de pequeños programas, en particular me gustaba poner pelotitas a botar en el suelo, cayendo por efecto de la gravedad y cosas de ese estilo.

Hacia los 13 años me apunté a un curso extraescolar de programación en lenguaje Pascal (parecido al conocido “C”) en el mismo colegio. Estuve dos años y aprendí las bases de la programación algo más complejas que el BASIC. Por aquellas fechas me compré algunos libros relacionados con temas que me gustaban mucho, caos, fractales, generación de imagen, etc. y comencé a hacer cosas por mi cuenta. Recuerdo que uno de mis primeros programas “serios” fue el cálculo del fractal de Mandelbrot, un algoritmo que dibujaba en la pantalla el conocido fractal. Algo que ahora tarda una fracción de segundo en calcularse, tardaba toda una noche por aquella época.

Posteriormente aprendí C/C++ que ha sido hasta la fecha mi lenguaje de referencia. Ya en la universidad era prácticamente el único que programaba junto con un par de amigos de perfil similar. Con ellos desarrollé un generador de imagen sintética (“ray-tracing”) que me sirvió para atraer la atención de algún que otro profesor.

¿Qué ventajas tienen los jóvenes de hoy respecto a los tiempos en los que tú te iniciaste en la programación?

Next Limit Technologies Óscar por el software de simulacion de fluídos RealFlowSin duda ahora existen muchas ventajas, la principal es el acceso a la información. Cuando yo empecé era más difícil acceder a recursos de formación. Dependíamos de revistas especializadas y libros a veces demasiado caros. No existía Internet en aquel momento (de verdad!) y por lo tanto era muy difícil salir del pequeño círculo de amigos y la una o dos revistas técnicas. Ahora existe una infinidad de recursos para aprender de forma casi instantánea, cortar y pegar piezas de código que puedan ser útiles para construir una aplicación y mantener contacto en múltiples comunidades. Ahora la clave es saber “navegar” por la inmensidad de información y recursos disponibles. He sido testigo de cómo un programador “moderno” puede construir arquitecturas y productos complejos casi sin programar nada a medida.

También creo que se produce, en contraposición, una mayor competitividad entre muchísima más gente que antes, lo que hace que sea más difícil diferenciarse o especializarse. Cuando yo empecé era un “bicho raro” con un perfil algo insólito, pero ahora con un mundo globalizado hay muchísima más gente trabajando en cosas parecidas simultáneamente. El acceso global a la información tiene este doble efecto y el esfuerzo por encontrar nichos de especialización es más exigente.

¿Cómo de preparados crees que salen los jóvenes en España para enfrentarse a las necesidades del ámbito tecnológico?

Actualmente el nivel de competencia técnica creo que es bastante bueno en España. Normalmente los ingenieros españoles están muy bien valorados, aunque salgan con menos experiencia laboral  y un cierto aislamiento al no tratar con empresas de una manera tan intensa como en otros países que procuran mantener fuertes vínculos universidad-empresa. No tengo la sensación de que tengamos un problema con la calidad y existe mucha oferta académica actualmente con buen profesorado. Muchas empresas de sectores tecnológicos cuentan y han contado con jóvenes españoles en los últimos años.

Creo que siempre es importante insistir que el campo tecnológico evoluciona de una manera increíblemente rápida, y que nadie puede esperar tener todos los conocimientos necesarios al salir de la carrera. Es cada vez más importante mantener un espíritu de auto-aprendizaje independiente de la parte oficial o académica, ya que por lo comentado en el punto anterior, de nada servirá tener los *mismos* conocimientos que el resto de personas. La necesidad de tener un perfil propio y de calidad es muy importante para despertar el interés de las empresas.

Muchos líderes del sector tecnológico están empezando a alzar sus voces para animar a la sociedad a incentivar el aprendizaje de programación desde temprana edad. ¿Te parece importante que los jóvenes aprendan a programar desde jóvenes? ¿Por qué?

No puedo más a favor de esta iniciativa teniendo en cuenta mi historia personal. Lo cierto es que siempre me ha parecido muy extraño que un ingeniero informático aprenda a programar a los 18 años. La relación con las tecnologías debe fomentarse desde muy temprano, al igual que si queremos que nuestro hijo sea un gran músico debe empezar a relacionarse con dicha materia desde muy pequeño. Los lenguajes de programación se parecen un poco a la música, a los lenguajes humanos, a las matemáticas y otras ciencias. Cuanto antes, ¡mejor!

¿Cuáles son los lenguajes de programación actuales que te parecen más interesantes? ¿Por qué?

Entrevista a Victor Gonzalez sobre la importancia de aprender a programarEn Next Limit seguimos trabajando en C/C++, que es el lenguaje standard para desarrollar aplicaciones en la mayoría de las plataformas actuales. La parte de interface gráfico multiplataforma lo desarrollamos con las librerías Qt y OpenGL. Sin embargo el mundo está evolucionando muy rápido hacia otro tipo de entornos, por ejemplo dispositivos móviles y aplicaciones en navegadores corriendo servicios contra el cloud. Los lenguajes Java, PHP y HTLM5 son actualmente muy importantes para desarrollar en estos entornos. En líneas generales conocer C/C++ profundamente permite manejar posteriormente cualquier otro lenguaje con mucha facilidad y mi recomendación es empezar por C/C++.

¿Cuál es tu visión sobre lo que veremos en unos años a nivel informático?

No es fácil predecir el futuro pero podemos analizar un poco las tendencias actuales. Por un lado hay una evolución muy fuerte hacia los dispositivos móviles, que en el futuro tendrán mucha mayor potencia de cálculo y gráfica. Si a esto añadimos la nueva revolución del nuevo material llamado grafeno, podemos esperar dispositivos flexibles semi-transparentes equivalentes a los PC y tablets actuales. Por otro lado muchos servicios serán suministrados desde el cloud, creándose una vínculo entre el dispositivo local, más orientado a mostrar datos y realizar ciertos procesos, mientras que otros procesos serán calculados en ordenadores remotos (clouds). Los interfaces de manipulación también están avanzado, permitiendo directamente manejar las aplicaciones con las manos, posiblemente en el futuro con los gestos de los dedos o la mirada.

En el ámbito de nuestra especialización en Next Limit contaremos con sistemas capaces de simular procesos naturales con mucha precisión y en tiempo real. Los videojuegos actuales palidecerán en comparación con los sistemas gráficos del futuro que nos mostrarán una ventana a otra realidad.

¿Qué consejo le darías a los jóvenes que quieren aprender a programar?

El primer consejo es empezar por las bases del lenguaje C y posteriormente pasar a la programación orientada a objetos de C++. Esto supondrá una base firme para manejarse con cualquier otro lenguaje. Posteriormente, y dependiendo de la especialización (bases de datos, programación gráfica, algoritmos matemáticos) se pueden añadir otras especialidades como SQL, Java, PHP, OpenGL, etc. Es importante pensar en el tipo de aplicaciones y plataformas de interés y luego observar que tipo de entornos de programación se necesitan. Por ejemplo no es lo mismo programar para iOS, Windows 8 o Android. En cualquier caso la base de C/C++ siempre será útil.

Muchísimas gracias por contestar a nuestras preguntas Victor. Os deseamos muchos éxitos más con Next Limit Technologies.

¡Involúcrate”

Si te interesa el mundo de la programación, asegúrate de volver a visitar nuestro blog de nuevo pronto. También puedes seguir la conversación en Facebook o en #ETNuevasCompetencias, donde compartiremos y discutiremos todo lo relacionado con el mundo de la programación.

GoConqr

Sobre el Blog de GoConqr

Nuestro blog es parte de GoConqr, una Web Gratuita para Crear, Compartir y Descubrir Recursos de Aprendizaje, así como para Planificar tus Estudios. ¡Haz clic aquí para empezar a descubrir Mapas Mentales, Fichas, Apuntes, Tests y Diapositivas ahora!

Artículos Relacionados