Programación

10 lugares con retos y competiciones de programación

Una vez que una persona ya ha aprendido lo básico sobre un lenguaje de programación, se suele preguntar qué hacer después. Hoy te enseño 5 sitios donde probar tu nivel y aprender con retos.

¿Por qué realizar retos de programación?

Normalmente en el día a día, se realiza una serie de cosas que suelen ser parecidas, por lo que ya las dominas. Sin embargo, el lenguaje es muy amplio y seguramente desconozcas mucho sobre el mismo. Estas son algunas de las cosas que te pueden aportar los retos y competiciones de programación:

  • Ampliación y asentamiento de los conceptos de programación (algoritmos, estructuras de datos, etc)
  • Mejora en la compresión de tu lenguaje
  • Un camino para aprender otros lenguajes cuando ya sabes programar
  • Descubrir nuevos paradigmas de programación
  • Conocer otras formas de enfrentarte a problemas, que quizás nunca hayas tenido

¿Qué tipos de retos y competiciones de programación existen?

Los retos y competiciones de programación para validar tus conocimientos se pueden subdividir en:

  • Retos de algoritmia, centrandos en cómo resolver los problemas
  • Katas, basadas en la mejora de los conceptos de tu lenguaje y buenas prácticas de programación
  • Competiciones de Machine Learning
  • CTF (Capture The Flag) donde se aplican técnicas de hacking

¿Dónde poner a prueba mis conocimientos?

Bajo este epígrafe te resumo 10 sitios donde encontrar retos de programación.

1. Project Euler

Para mí project euler es el primer recurso de este tipo que encontré y lo considero como uno de los mejores sitios con retos de algoritmia. En este caso, los problemas están muy relaciones con las matemáticas, por lo que la complejidad de los mismos tiende a ser alta.

2. HackerRank

Es uno de los que más escucho hablar en la actualidad, debido a que combina un modelo donde los programadores practican y donde las compañías seleccionan personal. HackerRank desde mi punto de vista también se centra en retos algorítmicos.

3. AlgoExpert

Esta web también presenta un enfoque particular, al centrarse en retos comunes de entrevistas técnicas de trabajo. Para ello cuenta con un editor multilenguaje, videos explicativos y ejercicios seleccionados de pruebas reales de empresas famosas.

4. Exercism

Exercism es una mezcla entre katas y retos algorítmicos, aderezados con un conjunto de mentores para guiarte en el camino de alcanzar un buen nivel en un lenguaje concreto.

5. CodeWars

CodeWars es una plataforma de la que me han hablado mucho, para realizar katas. Personalmente no la he utilizado, pero la información que me ha llegado es que se aprende mucho viendo cómo otros resuelven las katas que tú has hecho. Como diría cualquier alumno de artes marciales, siempre hay que aprender de los maestros/mentores.

6. Acepta el reto

Acepta el reto se define como un repositorio de problemas de programación en español, que posee un mecanismo de autocorrección para los lenguajes C, C++ y Java. En esta web, cuyos ejercicios son retos algorítmicos se valora tanto el tiempo que necesita tu programa para resolver el problema, como la cantidad de memoria que has usado. Por lo que es perfecta si quieres meterte en el mundo de la optimización.

7. Advent of Code

Advent of Code, desde mi punto de vista, es un conjunto de dos retos de programación diarios, fuertemente ligados a los retos algorítmicos, que tiene lugar en Adviento.  Este año pude participar en el mismo y elegí usar JavaScript para profundizar en el mismo, ya que no es mi lenguaje principal.

8. Kaggle

Kaggle es el único recurso de esta lista donde encontrarás retos de Machine Learning. Debido a la relevancia del mismo, Google lo acabó comprando y cada vez tiene más comunidad.

9. LeetCode

LeetCode es una plataforma similar a codewars donde aprender con ejercicios similares a katas. Como he comentado anteriormente, tan importante en estos casos es hacer los ejercicios como ver las soluciones de otros.

10. Hack The Box

Finalmente, Hack The Box es el representante de los retos y competiciones de tipo CTF que conozco.

¿Qué opinan los desarrolladores sobre estos recursos?

No quisiera acabar el artículo sin incluir el pequeño capítulo del podcast Undefined, en el que comentamos cómo los retos y concursos de programación eran algo importante para nosotros.

¿Usas alguno? Déjame un comentario con tu experiencia

Icons made by Eucalyp from www.flaticon.com

The following two tabs change content below.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL
Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL

Share
Publicado por
Jorge Durán

Recent Posts

[Remix] Multitud de recursos para .NET

En los últimos tiempos no he podido escribir con toda la frecuencia que me gustaría,…

3 años hace

¿Qué es un puntero y cómo se usan?

Uno de los problemas más comunes a los que se enfrentan los usuarios que empiezan…

4 años hace

Los 10 mejores paquetes nuget que tienes que instalar

Cuando empiezas un proyecto hay una serie de aspectos comunes que suelen ser resueltos mediante…

4 años hace

Haz los mejores layouts y patrones CSS fácilmente

Si alguna vez has tenido que realizar un desarrollo de front-end seguramente te habrás dado…

4 años hace

¿Cómo elegir un buen hosting para tu proyecto?

Hoy en día, un gran porcentaje de los proyectos que se desarrollan son páginas webs.…

5 años hace

Cómo crear patrones CSS fácilmente en menos de un minuto

Hoy te muestro un recurso con el que crear patrones CSS con los que conseguir…

5 años hace