Executando verificação de segurança...
9

Concordo que é preciso ter base, mas calma aí. Tudo depende do nível de abstração do seu trabalho. Se você tá projetando um sistema embarcado, usando C, seus recursos geralmente são muito limitados e você é responsável por gerenciar quase tudo. Mas se você tá desenvolvendo um aplicativo em SwiftUI, talvez você não tenha que pensar em nada disso, até porque você não tem esse nível controle sobre os recursos que o seu app usa. (os dois exemplos são experiência própria)

O mundo é inteiramente contruído em cima de abstrações. Você sabe desenvolver o código em Assembly necessário pra fazer uma CPU funcionar? Pode até ser que sim, mas que diferença isso faz? A não ser que você trabalhe desenvolvendo CPUs (ou sei lá, algo do tipo), esse conhecimento é puramente um exercício mental ou entretenimento. Nada de errado em aprender isso, mas não é essencial. Sempre existe um nível de abstração mais baixo que o seu.

E se não saber implementar algo sem consulta fosse um problema, programação seria apenas um exercício de memória. Quem consegue memorizar mais?

o mercado não paga por quem "sabe usar React". Ele paga por quem sabe resolver problemas.

Exatamente, o mercado paga por quem sabe resolver problemas. Ele não liga se você tem base ou não. Se "sabe usar React" resolve o problema, então é isso que você precisa pra ser pago. Em algum momento você certamente vai precisar de mais, mas o que te impede de aprender assim que você precisar? Qual o problema de pesquisar no Google ou perguntar pro ChatGPT?

Nunca memorize o que você pode consultar.
Einstein (tradução livre)

Pensa em algo similar ao argumento do quarto chinês. Imagina uma pessoa que só sabe o básico de programação e tá sozinho, sem internet, sem IA, sem livros, sem nada, presa em um quarto. Essa pessoa não vai conseguir fazer muita coisa útil. Vai chegar em um ponto em que ela simplesmente não vai mais saber. Mas se ela tem acesso a todas essas ferramentas, então o conjunto pessoa + ferramentas sabe programar e fazer algo útil, e pode muito bem ser pago por isso. Fato é que todo desenvolvedor depende de alguma ferramenta. A pergunta é apenas: até que nível de dependência isso é aceitável? Até aquele que não funcione mais, que o problema não seja mais resolvido.

Carregando publicação patrocinada...
4

Sempre existe um nível de abstração mais baixo que o seu.

Essa frase já pode fechar o post.

É como a frase atribuida ao Carl Sagan "Se você quiser fazer uma torta de maçã do zero, primeiro você deve inventar o universo"

O mundo evoluiu por conta das abstrações, ter uma base de lógica é importante, mas tu não precisa saber, nem vai saber, tudo que está por trás do que tu faz.

1

Exato. Abstrações são a base da evolução tecnológica. Se cada desenvolvedor precisasse entender o funcionamento da eletrônica, da física quântica por trás dos semicondutores e do design da arquitetura de CPU antes de escrever um "Hello, World", ninguém programaria nada.

O ponto é: entenda o suficiente para saber onde procurar quando algo dá errado. Você não precisa saber como funciona uma árvore binária para usá-la, assim como não precisa saber construir um motor para dirigir um carro. Mas se um dia o motor parar no meio da estrada, é bom ter noção do básico para não ficar na mão.

O mercado não quer saber se você implementaria uma estrutura de dados do zero ou se apenas chamaria um .map(). Ele quer saber se você entrega resultado. No fim do dia, abstrações são só ferramentas—o que importa é o que você faz com elas.

1

Perfeito! Tudo depende do nível de abstração com que você trabalha e do problema que precisa resolver. Não faz sentido exigir que todo programador entenda Assembly ou gerenciamento manual de memória se o trabalho dele nunca vai exigir isso. Mas, ao mesmo tempo, quem entende melhor os fundamentos pode ter vantagens em certos cenários—como depuração de problemas complexos ou otimizações.

O mercado realmente não paga por "saber React", e sim por resolver problemas. Se usar ferramentas de alto nível resolve, ótimo! Mas quem tem um conhecimento mais profundo geralmente se adapta melhor a mudanças e encontra soluções mais eficientes.

A questão da dependência de ferramentas é interessante. Hoje, temos IAs e motores no-code que fazem cada vez mais trabalho pesado, mas sempre há um limite para o que essas ferramentas podem fazer sem intervenção humana. Então, o equilíbrio está em saber usar bem as abstrações sem ser refém delas.

E, claro, nunca memorize o que pode consultar. Mas sempre entenda o suficiente para saber o que consultar quando precisar.