TopCoder: un gimnasio para entrenar programadores

TopCoder: un gimnasio para entrenar programadores
Facebook Twitter Flipboard E-mail

Topcoder es una comunidad online que organiza competiciones de algoritmia y hacking a nivel internacional. Detrás está la empresa con mismo nombre que canaliza todo esto a una buena forma de orientarlo a reclutadores de todo el mundo, vendiéndose a si misma como un producto para encontrar a los mejores.

No en vano, entre sus clientes se encuentran empresas como Intel, Facebook, Paypal o la mismísima Agencia Nacional de Seguridad de los Estados Unidos, las cuales organizan eventos patrocinados con distintas pruebas especialmente definidas por ellos a los que cualquiera de nosotros podría acceder y mostrar al mundo su valía.

Cómo empezar


Lo primero es registrarse en el sitio. Para ello debemos entrar en la web “Community“ y hacer click en “Register Now”. Puede que lo estés pensando y no, no hay versión en español. Es un entorno internacional y debe ser accesible a todos, y si en el mundo del desarrollo tenemos un idioma por defecto ese es el inglés.

Una vez registrados (y autentificados) tenemos la posibilidad de consultar los tutoriales sobre el funcionamiento de TopCoder, algoritmia o competiciones, pero lo realmente interesante está justo arriba a la izquierda. Allí tenemos de un menú por iconos donde podremos elegir qué modalidad de competición nos interesa. Para algoritmos debemos seleccionar justo la primera, cuyo icono es un “O(n)”.

Para seguir adelante necesitamos tener instalado el JRE (descargable desde aquí: Java RE Download) y pinchando en el botón rojo del popup ya entramos a la aplicación-chat-IDE-tatami de Topcoder.

Salas de prácticas

Para mi gusto, de espíritu poco competitivo, aquí está la gracia del asunto. La primera impresión es que estamos en un IRC donde chatear y perder el tiempo. Nada más lejos de la realidad. En el menú superior podemos encontrar una zona para competir, que sólo podremos entrar cuando haya competiciones activas, y también unas salas para prácticas donde podremos revivir los antiguos retos ya disputados, pero con el mismo espíritu: resolver un problema y que no se te escape nada.

Topcoder: eligiendo torneo

Para acceder a las salas de prácticas debemos seleccionar una edición, tras lo cual nos mostrará debemos escoger entre los problemas que la componen, clasificados por puntuación y dificultad, por lo que es buena idea comenzar por los más fáciles (250 puntos) y después ir subiendo la dificultad poco a poco.

Topcoder: eligiendo ejercicio por dificultad y puntos

En la parte de arriba se nos mostrará el enunciado del problema, así como los datos de la clase que debemos implementar, los parámetros de entrada y el formato de lo que hay que devolver. Hay que dedicar un tiempo importante a esta parte y tomar notas, ya que también debemos comprobar la consistencia de los datos de entrada y validar absolutamente todo. Al final del enunciado nos muestran ejemplos, interesántisimo para verificar que hayamos entendido bien nuestra tarea.

Top coder: enunciado

Para resolver los problemas podemos elegir entre Java (el preferido por la inmensa mayoría de los participantes), C++, C# e incluso Visual Basic. Por el momento sólo he podido probar Java por lo que desconozco el funcionamiento del resto de lenguajes, sus opciones, etc.

Topcoder: opciones de lenguaje

Al principio es posible que nos atasquemos a menudo, así que tenemos la opción de consultar las soluciones que los concursantes propusieron en el momento del concurso. Esta acción soplará a todos los que estén en la sala que estamos consultando la solución del ejercicio, pero no debería importarnos ya que esto también forma parte de nuestro entrenamiento.

Topcoder: consultando las soluciones de los participantes

Plugins para el editor

En la ventana para codificar nos viene un editor simple pero podemos cambiarlo por otro que nos apetezca más. En mi caso tengo instalado el Kawigiedit, que permite organizar mejor las pruebas unitarias, se puede incluso compilar el programa con el JDK local de nuestra máquina y, lo mejor de todo, nos monta el esqueleto de la aplicación usando el enunciado del problema.

Topcoder: Kawigiedit

Conclusión

Nos encontramos, en definitiva, con una de las mejores herramientas que se han creado para mejorar nuestras habilidades como desarrolladores. El equipo de trabajo de Topcoder ha hecho una auténtica comunidad de frikis y hackers donde da gusto pasar las horas investigando y desafiando a los mejores en igualdad de condiciones. Después de probarlo, engancha, y pienso que todo programador debería tener una cita periódica con esta herramienta para seguir mejorando y divertirse a partes iguales.

Más información | Página de Topcoder.com

Comentarios cerrados
Inicio