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

Vou colocar alguns pensamentos soltos que tive ao ler seu texto, não é um texto organizado e estruturado


Existem alguns pontos no seu texto que não casam muito bem, como os exemplos abaixo:

Quem domina a linguagem consegue:

- Criar frameworks.
- Criar novas linguagens.
- Adaptar-se a ferramentas novas.
- Aplicar fundamentos de computação no mundo real.

Fundamentos são em maioria para pessoas que querem passar em matérias de faculdade e entrar em startup fundada por alguém sem conhecimento técnico, que não enxerga os débitos técnicos futuros.

Fundamentos não são apenas para passar na faculdade, sem entender e saber aplicar os fundamentos em diferentes contextos é que você se torna refém de decoreba. Boa parte do seu texto vai nesse sentido, mas no final mistura tudo e fica confuso.


Apesar de linguagens de programação não serem APENAS ferramentas, elas são sim ferramentas. O que as coloca nessa categoria é o uso que você faz delas, você tem um problema e usa uma linguagem de programação para resolver, então a linguagem e todo que foi utilizado (libs, frameworks, servidores, serviços, bancos de dados, outros softwares, hardware, o café que você tomou...) são todos ferramentas nesse contexto.


O que eu mais me deparo pela internet afora, são pessoas desprezando o entendimento de fundamentos, a maior parte dos mais jovens nesse mercado acreditam que SOLID, Clean Arch, DDD etc são fundamentos e que são aplicáveis em qualquer contexto, quando na verdade são apenas recomendações que precisam ser avaliadas antes de serem consideradas no contexto.

Se perguntarem para eles se é melhor uma paradigma de orientação a objetos ou procedural, ele vão responder orientação a objetos na mesma hora sem nem ouvir qual é o projeto, apenas porque decoraram que o melhor é isso, e quando a gente vai olhar para seus códigos a essência de OO quase não existe, é basicamente um código procedural escrito usando classes (anêmicas, aninhadas, God Classes, altamente acopladas sem inversão ou injeção de dependências...).

É aquela história que "para martelo tudo é prego", e as vezes ele tá com um grifo na mão para fazer o papel de martelo.


Outra questão a se considerar é que o entendimento dos fundamentos da programação não deve estar atrelado ao entendimento de alguma linguagem de programação e vice-versa. Mas o casamento desses conhecimentos é o que te permite criar softwares.


Na questão de se tornar um profundo entendedor de uma linguagem, eu acho interessante, mas apenas depois de você já ter se consolidado no mercado sabendo aplicar minimamente bem 2 ou 3 linguagens diferentes.

Vi muita gente que teve que "rebolar" quando o ASP Clássico foi abandonado ou quando o Steve Jobs condenou o Flash (ActionScript) à morte. Pois eram altamente especializados nessas linguagens e ignoraram todo o resto, pois pagavam muito bem na época.

É claro que existem empresas que buscam profissionais altamente proficientes em determinadas ferramentas, mas essas vagas raramente são para quem estão começando na carreira.


Como disse, são apenas pensamentos soltos com base no seu texto.

Carregando publicação patrocinada...