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

Desenvolvimento web está superestimado

Fala galera!
Sou desenvolvedor e estou na área a mais ou menos 2 anos. Comecei estudar programação por total interesse na área, comecei um pouco antes do hyper. No começo eu estudava todos os dias (sem falta), até que depois de algum tempo estudando conseguir minha primeira oportunidade.
Agarrei minha primeira oportunidade, continuei estudando me dediquei e tava evoluindo bem, mas um certo dia fui demitido por questões financeiras da empresa (50% dos funcionários foram demitidos, só restaram dois programadores na empresa). Dois meses depois do acontecido, conseguir outras oportunidades para trabalhar com angular, não pensei duas vezes e aqui estou até o atual momento. Esse é um breve resumo da minha carreira até aqui só para contextualizar.
Atualmente estou mega confuso, não sei o que estudar. Tenho um pouco de conhecimento Full Stack, mas acho que isso não é o suficiente, acredito que programação não se resume em desenvolvimento web. Quero ser um programador que entenda tudo sobre computador, que saiba estrutura de dados e afim, mas não sei por onde começar, me sinto burro por só saber um pouco de desenvolvimento web. Quero muito expandir meu conhecimento

17

Mano se você quer ser o bonzão em computação mesmo, primeiro de tudo: começa por matemática.

Consigo consumir conteúdo em inglês

Sugestão de cursos: https://www.coursera.org/specializations/discrete-mathematics

ATENÇÃO: esse programa de cursos vai exigir que você tenha muita paciência e resiliência, especialmente se você não tem uma boa fundamentação matemática.

Se não aguentar fazer todos, tente pelo menos o primeiro, terceiro e quinto. Se você conseguir sair disso com uma boa base (estudando sem pressa), quando você for estudar algoritmos vai ser beeem menos frustrante.

Se você não gostar de mátemática, pule direto para: https://www.coursera.org/learn/algorithms-part1 ou https://www.coursera.org/learn/algorithmic-toolbox

Se quiser realmente manjar muito de algoritmos e estruturas de dados, tem esse programa integrado que parece bom: https://www.coursera.org/specializations/data-structures-algorithms. Ainda não fiz todo, só o primeiro e o segundo. Caminhando para o terceiro.

Além disso, existe o Teach Yourself Computer Science que, pra mim, é o resumo mais valioso que existe na internet: https://teachyourselfcs.com/

Não tenho inglês :(

Caso não tenha inglês, esqueça tudo isso e foque nesse: https://github.com/Clemensss/TeachYourselfCS-PT/blob/master/TeachYourselfCS-PT.md

Além desse recurso, você já conhece a Universidade Brasileira Livre? Aqui está: https://github.com/Universidade-Livre

Lá você todo um cronograma de ciência da computação que você pode seguir livremente segundo seus interesses. Apenas se mantenha num caminho do início ao fim.

Resumo

Ser expert em Ciência da Computação não é uma corrida de 100 metros rasos, é um maratona. Tenha em mente que você não vai ser foda em 1 ou 2 anos. O conteúdo do Teach Yourself Computer Sciente, por exemplo, são coisas que você vai ter que debruçar durante vários momentos da vida.

Boa sorte!

1

Gostei muito da dica! Os recursos que você passou são ótimos! Pior que eu já tinha visto a maioria do que você recomendou, só que acabou tudo passando batido entre tanto conteúdo na internet.

1
1
1
0
2

Alguém vai postar um "roadmap* (odeio o termo) para estudar, por isso nem vou por, porque tenho mixed feelings com eles.

Entenda que esse processo é lento e gradual. Não tente aprender tudo do dia para a noite. Não ache que ver todos os detalhes pe ser chato e enrolação (alguém disse isso esses dias por aqui).

Dê preferência para conteúdo estruturado. De quem não quer só ganhar em cima de você, que esteja comprometido com a educação, que prefira perder do que te enganar.

Ninguém é burro por ainda não ter aprendido algo. As pessoas são burras por não quererem aprender ou por se enganar no aprendizado.

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

1
0
1

Fica tranquilo, respira e trace uma linha. Comecei na web e hoje trabalho como mobile porém eu faço mobile e web kkkkk. Cara eu não sei tudo mais me sinto igual você kkkkk, mas estou com um projeto bem legal e acredito que pode te ajudar. Criei um canal no youtube onde eu irei compartilhar conhecimento, ideias e projetos de forma simples e leve. Lembre-se vou mostra minha trajetória como estou aprendendo as tecnologias talvez possa te ajudar. https://youtu.be/FZx2l_AQZTw?si=nEM9WBwIXZALx5Pa

0
1

Desenvolvimento Web e seu Impacto:

A web revolucionou o mundo em muitos aspectos, e tornou-se a interface principal entre humanos e sistemas computacionais avançados. Pode-se argumentar sobre a superestimação do desenvolvimento web, mas a sua importância é inegável, dado o seu impacto econômico.

Muito Além da Web:

A web é apenas a 'porta de entrada' de muitos sistemas computacionais e você está absolutamente correto ao entender a necessicidade de estudar os fundamentos da computação.

Formação Acadêmica Sólida:

Se considerar a grade dos melhores cursos de ciência da computação do Brasil e do Mundo, vai ver que muitos oferecem apenas uma ou duas disciplinas especificamente voltada para web. Estude todo o resto. Se frequentar uma faculdade não está em seus planos, pesquisar grades curriculares de universidades renomadas pode ajudar a orientar seus estudos e oferecer uma visão mais clara do conhecimento necessário na área.

1

Poxa, saber tudo ninguém sabe! Rsrs

Talvez, no seu caso, uma faculdade seja uma boa opção... te dará fundamentos sólidos sobre informática (em geral), estrutura de dados, engenharia de software, etc. E provavelmente durante o curso, vc terá um norte de para onde continuar estudando após a conclusão do curso!

Eu não sou um defensor de faculdade pra cursos tech, mas eu sou formado (sistemas para internet), e a faculdade, pra mim, nessa perte de fundamentos e tb na parte teórica, foi mt proveitosa (sem contar q hj eu trabalho em uma multinacional q exige o diploma)!

1

Acho que primeiro de tudo, tu precisa entender que vai ser muito difícil entender tudo sobre computador, rs.
Quanto mais a gente estuda mais percebemos o quão pouco sabemos, um simples "Hello World" em uma linguagem tem dezenas de papers de doutorado e pós doutorado que possibilitaram que ele seja possível.
Mas tudo bem, ninguém precisa se aprofundar tanto num tema pra poder utilizar as fantásticas ferramentas que a programação nos proporciona.
Existe um canal que eu considero que deveria fazer parte do currículo base de qualquer faculdade de TI, o canal do Fábio Akita.
Por mais que a maioria das pessoas não vá se aprofundar nos temas como ele se aprofunda, acredito que todo profissional de TI deveria pelo menos saber que os tópicos que ele aborda existem.
Eu começaria por essa playlist aqui: https://www.youtube.com/playlist?list=PLdsnXVqbHDUc7htGFobbZoNen3r_wm3ki

Cada vídeo abre um leque de diversos temas pra você pesquisar e explorar e ele ainda deixa os links que ele cita na descrição dos vídeos.

MAS O MAIS IMPORTANTE: Não tenha pressa de aprender tudo muito rápido, continue sempre estudando, daqui a 10 anos iremos estar utilizando tecnologias e linguagens de programação que ainda não foram inventadas e muitas tecnologias que foram inventadas 10 anos atrás, já se tornaram obsoletas.

Bons Estudos! 😎

1

Uma boa seria uma faculdade, o conhecimento que ela nos proporciona é bem sólido, voce provavelmente ta querendo se aprofundar mais no mundo da computação, e acho que entender o que acontece por de baixo dos panos é muito bom

1

Vou dar uma resposta um pouco diferente do resto, se não vai ser mais do mesmo. Se tu já sabe exatamente oque tu NÃO SABE, então já sabe exatamente oque tem que estudar.

1

se tu quer algo prático, recomendaria tentar pegar um trampo em algo relacionado a system programmimg (c/c++/rust) ou embedded systems, mesmo que de estagiário/júnior. tu vai aprender conceitos de baixo nível (alocação e liberação de memória, escovação de bits, estrutura de dados, threading e por aí vai). se tu quer algo mais academico, eu diria pra tu ver o curso nand to tetris. os caras ensinam desde boolean gates até criar um sistema operacional. tem na coursera se não me engano. e claro, o conteúdo de matemática e estrutura de dados/algoritmos que o pessoal já mencionou também são complementares, se não fundamentais, aos tópicos que mencionei.

1

primeiro, não tem essa coisa de ser burro. Ninguém é. segundo não tem esse negócio de ser fullstack. Você domina front, back junta tudo e vira full. TI é uma guerra. Todo dia tem coisa para aprender. Sempre. Boa sorte nessa vida louca de estudar todos os dias enquanto a galera está no barzinho e no estádio.

1
1
1

Eu não indicaria o Akita para quem ta começando. A linguagem dele é muito avançada, mesmo quando ele diz que vai ensinar o básico, ele faz um sênior se sentir perdido kkk

Adoro o Akita, mas para quem tá começando acho que ele mais assusta do que incentiva haha.

1
1

Primeiro necessita aprender inglês, se não souber estude por vonta própria ou pague um curso.

Após isso seria muito interessante aprender sobre matemática discreta, com esse conhecimento, livros sobre algoritmos e computação ficam agora mais legíveis.

Focando na base e estrutura de dados.

Pegue o livro "Introdução a Algoritmos" do Cormen, após esse livro você terá muito conhecimento de base.

Um outro livro bem interessante é o Clean Code do Uncle Bob, que vai te ensinar sobre como programar de forma mais Clara, legível.

No ambiente Web será bem interessante aprender sobre Rede de Computadores, entenda o minimo do assunto para não achar que as coisas acontecem por "mágica".

Eu não vou falar sobre desenvolvimento web em si, imagino que você por conta própria poderá aprender sozinho.

Engenharia de Software é um área de muita importância a aprender, as discussões envolvendo gestão de projeto, desenvolvimento ágil, boas práticas de desenvolvimento, design patterns, arquitetura de software, verificação e validação de software, são assuntos importantes de ter alguma noção sobre.

Falando sobre desenvolvimento ágil aprenda sobre o Scrum e se puder sobre Extreme Programming, apresentarão uma visão interessante de como gerir uma equipe e um projeto. Não necessariamente você vai usar isso pars você gerir uma equipe mas sim se comportar corretamente em uma.

Sobre verificação e validação de software, um de seus sub assuntos é testes de software, pesquisa sobre o assunto e entenda sua importância, e depois busque por TDD, vai se interessar.

Tem um livro brasileiro muito bacana sobre isso chamado "Engenharia de Software". Busque, será muito importante.

E um local para aprender tudo isso wue citei e muito mais, uma faculdade na área de Ciência da Computação ou Engenharia de Software abordará todos esses assuntos.

Caso haja algum problema em ir em uma faculdade, vá vendo sobre os assuntos que falei.

E por fim assista Fabio Akita e outros influenciadores, e vá prestando atenção em referências e termos que você nunca viu para estudar algum dia.

Todos esses assuntos você vai aprender em um período de anos, não se preocupa, é muita coisa mesmo.

Vai em Baby Steps, vai anotando o que aprende e colocando em prática, em pouco tempo já estará na frente de vários.

Boa Sorte! Bons estudos.

1

Tenho pensado muito nisso tambem... Creio que é um sentimento geral de muitos devs iniciantes ou intermediarios(tenho amigos pleno/senior que estão com o mesmo sentimento).

Penso que esse sentimento de estar perdido tem muito haver com o fato de existir tantas técnologias e as vagas estarem saturadas. Algo que me fez voltar com muito ânimo para a programação foi a complexidade, a complexidade de uma linguagem, de um software, um framework, etc...

Creio que a complexidade além de surpreendente é próspera pois, quanto mais complexo, mais difícil, menos pessoas em uma área dessa.

1

Cara, para ser sincero, faz uma graduação. Pelo nível de conhecimento que você quer ter que eu acho corretíssimo, eu recomendo muito fazer um bacharelado em engenharia de software ou ciências da computação ou até um tecnólogo massa de ADS (mas se for escolher tecnológo, saiba que o nível de computação, propriamente dito, é menor que os dois últimos cursos falados). Não caia nesse papo de que graduação é desnecessário. Estudo e aprenda o que der e sinceramente, a maneira mais organizada e aprofundada de aprender computação de verdade é uma graduação em computação.

Então, essa é minha dica. Meu nível de conhecimento cresceu astronomicamente, em relação a antigamente, desde que iniciei minha graduação e penso em continuar meus estudos pra aprender tudo que for possível.

Mas é isso, estude pra caramba, tenha foco, que você vai longe.

1

Vou dar algumas opções de estudo e pesquisa:

Bootcamps: Pra quem quer aprender rápido e já sair com algo pro portfólio.
MOOCs de universidades renomadas: Tipo os da Coursera, pra aprender com os melhores e sem gastar muito.
Github: Contribuir pra projetos open-source pode ser um ótimo aprendizado e ainda te conecta com outros devs.
Meetups e Conferências: Pra quem quer network e se atualizar.
Livros: Clássicos como "Clean Code" e "Pragmatic Programmer" são must-reads.
Newsletters e Blogs: Mantém você atualizado sem muito esforço.

1

Se você souber inglês, eu super recomendo os cursos CS50 de Harward.
https://www.edx.org/cs50

Mas acredito que o ideal é tu realmente se empenhar em aprender a matemática e a lógica por trás dos principais algoritmos..

Um curso de graduação é ótimo porque te ensinará toda a base que tu precisa pra desenvolver códigos e entender o que está fazendo...

O que tu pode fazer, se não quiser dedicar alguns anos pra um curso de graduação em uma universidade, é verificar os assuntos que são abordados nos cursos de graduação de boas universidades e tentar estudar por conta própria. É mais difícil, mas é possível..

Quando fiz o curso de introdução à ciência da computação de Harward, o CS50, aprendi bastantes coisas sobre estruturas de dados, alguns algoritmos importantes de busca e ordenação, leitura e escrita de arquivos, de imagens, alguns algoritmos básicos de criptografia, entre outras coisas. É um curso que te possibilita ter uma base muito boa para aprender cada vez mais.

Se tu quiser aprender sobre computador, recomendo fazer algum curso ou estudar livros sobre Arquitetura de Computadores, Sistemas Operacionais,Linux, Windows...
Estudar Sistemas Embarcados também dá uma visão super bacana sobre como o hardware de um sistema funciona..

Se tu fizer um curso de graduação em Ciência da Computação ou Engenharia da Computação, tu terá esses ensinamentos que comentei anteriormente..

Claro que tudo depende do seu objetivo, de com o que tu pretende trabalhar, mas eu acredito que entender como as coisas funcionam de verdade sempre te dará uma vantagem competitiva quando for necessário resolver um problema que ninguém conseguiu resolver...

Espero ter ajudado em alguma coisa. (:

0

Acredito que você está procurando algo que está na academia, não no mercado. Mercado não é sobre resolver problemas complexos, ou desenvolver código com a maior pureza e eficiência.