Artigo original: The 8 Best Coding Challenge Websites to Help You Level Up Your Skills in 2020

Apesar da menor taxa de desemprego em décadas, analistas estimaram que contratações no setor de tecnologia continuem crescendo de maneira estável durante a década de 2020 a 2030.

Essa é uma ótima notícia para recém-formados em ciência da computação e desenvolvedores que atualmente trabalham na área, mas não significa que engenheiros ambiciosos podem ser complacentes.

Embora haja, provavelmente, oportunidades de crescimento no mercado em geral, ainda há mudanças significativas acontecendo o tempo todo e um senso de urgência para acompanhar as últimas tendências.

Hoje, existem mais tipos de funções técnicas do que nunca e uma contínua proliferação de novas linguagens,  frameworks e tecnologias. Colaboradores de áreas técnicas que desejam estar à frente devem testar e refinar constantemente suas habilidades.

Para isso, reuni a lista de plataformas abaixo nas quais você pode aprimorar suas habilidades para várias funções, da ciência de dados ao devops.

1. freeCodeCamp

Links úteis: Site | Fórum

freecodecamp-hero

Vamos começar com o freeCodeCamp, que é um ótimo site para quem está iniciando em programação. Ele oferece diversos recursos para aprender sintaxe, praticar código, criar projetos e se preparar para entrevistas.

Eles não têm tantos desafios interativos de código quanto outros sites, mas oferecem alguns desafios divertidos e preparação para entrevistas para os iniciantes em JavaScript.

Ótimo para

Iniciantes que estão aprendendo a programar pela primeira vez. É um ótimo lugar para se aprender HTML, CSS e JavaScript de uma modo divertido e interativo.

Preço/Conteúdo premium

O freeCodeCamp é totalmente gratuito.

2. Coderbyte

Links úteis: Website| Blog | Dev.to | Desafios gratuitos | Premium

coderbyte-hero

Minha plataforma, a Coderbyte, oferece mais de 300 desafios de código para você resolver em um editor on-line, utilizando 10 linguagens de programação diferentes. Você pode acessar soluções oficiais, mais de 1,5 milhões de soluções de usuários e ler artigos sobre como resolver os desafios de maneira eficiente.

A Coderbyte é recomendada pelos principais bootcamps de código (em inglês) e empresas, por ter uma coleção de desafios preparatórios para entrevistas.

Ótimo para

A Coderbyte é perfeita para pessoas que estão entre as fases iniciais e intermediárias de suas carreiras e se preparando para entrevistas. Contém, também, uma biblioteca de desafios mais difíceis para aqueles que gostam de resolver desafios de código por diversão, mas esse não é um site voltado para programadores competitivos.

Preço/Conteúdo premium

Há diversos de desafios gratuitos na Coderbyte, centenas de desafios premium e mais de 1 milhão de soluções de usuário disponíveis para membros.

3. LeetCode

Links úteis: Site | Discussão | Desafios gratuitos | Premium

leetcode-hero

A LeetCode tem, atualmente, uma das melhores coleções de desafios de código on-line. Os tópicos que abordam exigem conhecimento de estrutura de dados como árvores binárias, heaps,  listas encadeadas, entre outros. Por isso, seus desafios são um pouco mais avançados do que os de outros sites. Eles, porém, são ótimos desafios, se usados como preparação para entrevistas de engenharia de software.

Eles também têm uma seção de entrevista simulada que é especifica para preparação para entrevistas de emprego. Eles também organizam seu próprio concurso de código e possuem um ótimo fórum de discussão onde as pessoas falam sobre perguntas feitas em entrevistas, empregos, remuneração e outros tópicos relacionados à engenharia.

Ótimo para

A LeetCode é ótima para programadores intermediários a avançados. Talvez não seja adequada para iniciantes que ainda não sabem como escrever loops básicos, mas, após aprender os fundamentos, é um ótimo site para se praticar programação.

Preço/Conteúdo premium

Existem desafios gratuitos disponíveis na LeetCode e, também, uma assinatura premium, que dá acesso a mais desafios e outros recursos da plataforma.

4. Edabit

Links úteis: Site | Blog | Desafios

edabit-hero

Essa é a primeira vez que o Edabit aparece na nossa lista! Ele cresceu em popularidade em anos passados e os desenvolvedores parecem realmente gostar dos desafios. Oferece uma grande coleção, com mais de 4 mil desafios, que podem ser solucionados on-line em diversas linguagens.

Atualmente, o site oferece apenas desafios com interação de código on-line — não há fóruns de discussão, artigos, soluções de usuários ou entrevistas simuladas como em outros sites — mas, com o tempo, eles podem adicionar algumas dessas opções.

Ótimo para

O Edabit é ótimo para iniciantes que buscam praticar suas habilidades diariamente resolvendo pequenos desafios. Depois de atingir o nível intermediário, outros sites oferecem desafios mais difíceis e mais conteúdos voltados para programação competitiva e entrevistas de emprego.

Preço/Conteúdo premium

Todos os desafios no Edabit são gratuitos e não há opção premium.

5. Codewars

Links úteis: Site | Blog | Desafios gratuitos | Premium

codewars-hero

O Codewars oferece uma grande coleção de desafios de código enviados e editados por sua própria comunidade. Você pode solucionar os desafios on-line no editor do site usando mais de 20 linguagens de programação. Pode, também, visualizar a discussão de cada desafio, assim como as soluções dos usuários. Além disso, você pode ganhar pontos e subir no ranking resolvendo os desafios.

Ótimo para

O Codewars é ótimo para pessoas nas fases iniciante e intermediária. Os desafios são criados pela comunidade então você verá diferentes tipos de desafios de código.

Preço/Conteúdo premium

Eles oferecem todos os desafios criados pela comunidade de maneira gratuita e a assinatura premium dá acesso a alguns recursos interessantes da plataforma.

6. HackerRank

Links úteis: Site | Blog | Desafios

hackerrank-hero

O HackerRank tem uma vasta coleção de desafios de código orientados para algoritmos e estrutura de dados, junto com material de preparação para entrevistas, um fórum de discussão para cada desafio e uma lista das principais soluções de usuário. Eles têm desafios para outros tópicos, como programação funcional, IA, Shell, SQL e muito mais.

Ótimo para

O HackerRank é ótimo para programadores intermediários a avançados que já aprenderam o básico de uma linguagem e estão prontos para solucionar problemas mais complicados. Os desafios são escritos com notação matemática e, às vezes, podem ser um pouco confusos. Por essa razão, pode não ser bom para desenvolvedores iniciantes.

Preço/Conteúdo premium

Todos os desafios no HackerRank são gratuitos e não há opção premium.

7. TopCoder

Links úteis: Site | Blog | Desafios

topcoder-hero

A TopCoder é uma das plataformas originais de programação competitiva on-line. Fornece uma lista de desafios de algoritmos de competições passadas, que você pode completar on-line por conta própria usando o editor de código do site.

Suas Single Round Matches (ou em português, "partidas de rodada única") são oferecidas algumas vezes por mês em um horário específico, onde você compete contra outras pessoas para solucionar os desafios. Aqui estão alguns tópicos que seus desafios podem abordar.

Além de resolver desafios on-line por diversão, eles oferecem competições patrocinadas, onde você pode ganhar prêmios por escrever a melhor solução.

Ótimo para

A TopCoder é mais indicada para programadores avançados, que estão confortáveis com a resolução de desafios algorítmicos que lidam com tópicos avançados, como busca de grafos e a teoria dos números.

Preço/Conteúdo premium

Todos os desafios na TopCoder são gratuitos e não há opção premium.

8. Codeforces

Links úteis: Site | Grupos de discussão | Desafios

codeforces-hero

A Codeforces é, hoje, um dos principais sites de programação competitiva (há alguns anos, a TopCoder era onde a maioria dos programadores competitivos passavam o tempo).

Existem alguns problemas que você pode solucionar como prática, mas não há um editor on-line. Em vez disso, você escreve sua solução em seu próprio editor e, depois, faz o upload para o sistema deles, onde eles testarão o seu código em um conjunto de casos de testes.

Eles também costumam realizar concursos, nos quais participam os melhores programadores competitivos.

Ótimo para

Programadores avançados e competitivos que realmente gostam de resolver desafios difíceis de algoritmos.

Preço / Conteúdo premium

Todos os desafios na Codeforces são gratuitos e não há opção premium.