Resolva Este Problema Se For Capaz - Mercado de Trabalho, Vagas, Devs.
Não sei se já perceberam, mas você não será remunerado pela tecnologia que domina. Você será remunerado pelos problemas que você consegue resolver.
Todos os problemas computacionais podem ser resolvidos apenas com lógica, ou seja, pensamento computacional, algoritmos, matemática, diagramas.
Isso é tão claro que basta olhar para a função dos frameworks. Se você já teve experiência com React ou Spring Boot, você vai entender o que estou prestes a dizer.
Criaram um nível de abstração tão grande, que a sua única responsabilidade é pensar logicamente, para resolver um determinado problema, ou seja, se você sabe React, você não precisa se preocupar com toda a complexidade do javascript, com múltiplos recursos do html e css, o mesmo vale para o Spring Boot... se você já chegou nesta tecnologia, sabe que a sua preocupação é focar no problema.
Geralmente, a primeira porta de entrada para a contratação para trabalhar numa empresa é um teste de lógica, matemática, inglês, às vezes, português também.
Se a empresa for americana, os problemas podem até ser de programação, mas eles estão focados em descobrir se você sabe pensar logicamente, domina os conceitos e consegue gerar uma solução no tempo proposto.
Quem já fez algum teste da Turing sabe do que estou falando.
A visão que trago para vocês é:
- Existem vários desafios de códigos nos bootcamps e formações. Se você está preocupado com a linguagem de programação, a sintaxe, o código em si... e na resposta... eu diria, volte duas casas.
Motivo:
Se você entender a lógica do problema e o que está pedindo, a sua mente fica livre para escrever a solução na sintaxe que você domina (java, javascript, python, c).
Existem algumas plataformas que rankeiam os Devs. Por exemplo: A plataforma possui milhares de problemas, e os usuários tem o objetivo de resolê-los para ganhar pontos. Os melhores entram para o top 5, 10, 20 melhores, e os recrutadores estão por ali.
Logo, quem pensa melhor logicamente, destaca-se e progride.
Para fechar, a reflexão que deixo é:
Programação é a arte de resolver problemas através da tecnologia. Mas, antes de utilizar a tecnologia, resolvemos problemas.
Aprenda todos os recursos que desejar, mas quando encontrar um desafio de código e se sentir travado, não o pule. Busque entender o que está te faltando. Se é pensar mais, ou se é escrever o passo a passo no papel, ou se é criar um diagrama, ou se é quebrar o cálculo em pequenas partes...
Antes, era normal ter rejeição a parar um pouco, escrever o algoritmo e traduzir para a linguagem depois. A rapidez e o ego podem te motivar a passar vários minutos, ou horas, tentando resolver um problema na ide, sendo que, você gastaria menos tempo com um papel e caneta na mão.
O pensamento computacional está aqui para te ajudar. Depois de ver a solução (o algoritmo, a lógica), o único tempo gasto será para traduzir a solução da forma que o computador entenda, pois, depois que você diz para o computador como o problema é resolvido, ele está apto para resolver o problemas de todos aqueles que aparecerem.
Pense nisso.
Foco no solução do problema.
Não negligencie os pequenos passos.
"Existem algumas plataformas que rankeiam os Devs. Por exemplo: A plataforma possui milhares de problemas, e os usuários tem o objetivo de resolê-los para ganhar pontos. Os melhores entram para o top 5, 10, 20 melhores, e os recrutadores estão por ali."
Põe o link de algumas aqui, sou novo na área e não conheço nenhuma.
Eu concordo em partes com isso. Eu estou estudando matemática de novo, então a lógica pra escrever um bom cõdigo em portugol, digamos assim, sempre foi OK pra mim. Mas quando eu tenho que passar um problema que exige que eu domine diferentes integrações (mensageria, edge functions, routes, mvc ...) eu me perco.
Acho muito mais fácil escrever código em C, mesmo tendo que guardar minhas libs separadas num .h do que integrar tudo o que um microservice exige de mim. Então, e isso pode ser absurdamente pessoal, o problema no meu caso é a tecnologia que as empresas estão pedindo.