Taverna /dev/All

Preocupações de um jovem programador

Olá a todos! :slight_smile:

Através desse post, eu gostaria de conselhos de vocês que já são mais experientes na vida pessoal e profissional.

Eu tenho 19 anos, e fazem 7 meses que trabalho como desenvolvedor. Eu programo basicamente em Java, embora por agora estou com algumas demandas em Python.

Eu gosto bastante de Java, mas fiz poucas coisas com essa linguagem (Conexões MQTT, Requisições HTTP, Captura de informações de Hardware, uso de algumas bibliotecas), mas nunca cheguei nem a usar os frameworks mais famosos (Como Spring, Hibernate e outros).

Tenho conhecimento básico sobre SQL. Sempre gostei muito de coisas teóricas, mas amo a prática também.

No setor que trabalho, temos 2 devs JS, 1 devops e eu. Então, bem, tudo que aprendi de Java foi sozinho (cheguei como estagiário, sabendo fazer apenas até um for), e não tenho muito que uma “instrução” pra aprender as coisas. Eu apenas faço dependendo da necessidade, e isso meio que me incomoda por que eu sempre procuro uma “linha de estudos” e isso meio que não existe aqui. Claro, eu estudo por fora, mas a falta de uma linha ainda me incomoda.

Ando me sentindo muito mal, muito estagnado. A verdade é que vejo a galera falando sobre TANTA coisa avançada e com facilidade e eu me sinto um lixo. Sinto que nada que eu faço é útil ou então de valor. Por exemplo, um colega de trabalho da mesma idade conhece muito sobre front-end, back-end, mobile, APIs e ainda automatizou toda a casa dele (nota: não há NENHUMA inveja ou algo assim aqui. Apenas muita admiração e respeito!). Eu aproveito do conhecimento dele para definir o que estudar e o que ir aprendendo, mas me sinto muito mal ainda assim.

O começo das vossas carreiras foi assim também?

vc sabe mais do que eu quando tinha a sua idade, não se sinta pressionado!

como vc tá novo, se não sabe bem ainda o que pretende ser na vida como programador recomento pegar um projetos de fim de semana para fazer experimentando linguagens, frameworks e afins para saber o que te faz brilhar os olhos.

querer abraçar td vai acabar te frustando e transformar vc em um pato

no seu caso que já tá no java e pareceu curtir, tenta aprender um pouco de spring, faz um blog por exemplo, ou um sistema p/ vc gerenciar seus gastos pessoais que depois vc pode evoluir para aprender frontend fazendo os dashboards que pode evoluir para data science fazendo analises dos seus gastos e depois fazer um mobile do sistema.

o mais importante de td é não se pressionar e ir no seu tempo e aproveitar as oportunidades e sua rede de contatos para pedir ajuda sempre

1 Curtida

Olá João! Obrigado pela resposta.

Acho que me pressionar é algo que faço desde sempre. Tenho um ótimo programador na família, e apenas por influência dele acabei entrando e me apaixonando por esse mundo, embora seguimos linguagens diferentes (ele é programador PHP).

Eu tenho muita ansiedade, na verdade. Quero aprender bastante, ao mesmo tempo que morro de medo de não saber nada. Acho que no fundo eu me sinto uma fraude, e isso me desanima tanto…

Me sinto meio perdido num mar gigantesco de conhecimento, onde eu tento aprender uma coisa e não consigo (aí me desespero e fica ainda mais dificil aprender). Tipo, eu queria muito mesmo aprender JavaScript, mas sempre que começo um curso ou algo assim eu tento aplicar a mentalidade que tenho de Java e acabo não conseguindo resolver nada. Demoro dias pra fazer algo que em Java faria em minutos, e acho que isso tá travando meu aprendizado sobre outras linguagens…

O que os senhores acham que eu poderia fazer? Acham que isso é só coisa da minha cabeça?

1 Curtida

Em uma imagem:

O que posso te dizer é o seguinte: foque na base, menos na tecnologia da onda.

Algo que observo já faz um bom tempo é que a formação aqui no Brasil está cada vez pior. Enquanto contratante inclusive já expus este ponto neste post: https://www.itexto.net/devkico/?p=2736

O aprendizado está invertido. As pessoas parece que se esqueceram como o conhecimento é construído: de forma sedimentar. Primeiro você constrói a base e, na sequência, vai adicionando camadas baseadas no que você foi aprendendo antes.

Então não adianta nada você saber, por exemplo, Python ou Java ou JavaScript ou a linguagem do momento se não souber o que é um algoritmo, uma estrutura de dados, uma estratégia de solução de problemas, o que é uma otimização, como seu compilador funciona, como seu computador funciona, como é a arquitetura de um computador, como um sistema poderia ser organizado.

E com a internet, na minha opinião, as coisas pioraram ainda mais. Isto por que você não tem mais a leitura sequencial, mas sim esquizofrênica. Começa a leitura de um texto, encontra um link, pula lá pra frente, e de lá outro link e por assim em diante. Autores escrevem livros por que mostram um caminho pedagógico a ser seguido e, infelizmente, isto está se perdendo (talvez seja até felizmente, eu que não estou conseguindo captar a mudança).

9 anos atrás inclusive alertei sobre isto: http://www.itexto.net/devkico/?p=728

Resumindo: eu focaria na tecnologia mais importante que é a ciência da computação. Mas antes dela, na minha opinião, tem uma outra tecnologia ainda mais fundamental: se chama português.

A primeira coisa é saber e focar em ler. É difícil? É, muito mais que assistir a um vídeo. Mas até hoje foi a única tecnologia que conheci capaz de separar o joio do trigo (a leitura).

Aliás, as pessoas também se esqueceram como ler. Audaciosamente as mostro como neste link: https://www.itexto.net/devkico/?p=2555

A propósito, mesmo pra ler tem de ter muito cuidado hoje em dia, por que a quantidade de livro LIXO que peguei nos dois últimos anos me assustou bastante. Escrevi sobre isto aqui: https://www.itexto.net/devkico/?p=2539 e aqui https://www.itexto.net/devkico/?p=2544

3 Curtidas

escolha problemas que deseja resolver que as tecnologias vão ser consequência

essa foto me fez lembrar que na UFES as bibliotecarias me conheciam pelo nome pq ia lá todos os dias mastigar uns livros hahahaha

1 Curtida

Olá, kico!

Eu realmente AMO ler. Sério mesmo! Mas até o presente momento eu não li nada sobre tecnologia. Todas as minhas leituras eram focados no campo filosófico.

Eu concordo com isso. Você crê que eu deveria estudar esses tópicos primeiro, via livros?

Salve, FearX.

Quando eu comecei, não tinha internet e eu nem tinha condições de acessar BBS. Mas existiam revistas, pelas quais me informava, e até sugeria pautas e conseguia ter algumas dúvidas respondidas. E por elas ficava sabendo dos livros, minha fonte preferida de conhecimentos.

Agora temos internet. E aonde quero chegar é que você já tem uma boa massa de conhecimentos, então cada coisa que você fizer aí no seu trabalho, você deveria escrever um texto (quando tiver um pouco mais de tempo), ou um tweet (quando acontecer). Ou aqui mesmo, algo entre esses dois.

Digo isso porque se você, pelo que entendi, avança seu conhecimento praticando, então trate de racionalizar tudo que for aprendendo, pra justamente fugir desse sentimento.

Com isso você verá o que enxergamos aqui: estagnado você não está. Escrevendo e interagindo, tenho certeza que você será guiado naturalmente a enxergar seus progressos, e novos caminhos.

Agora o conselho de um velho programador: faça algum tipo de exercício, cuide saúde física e mental, esteja atento para não permanecer em lugares tóxicos, tenha uma vida agradável além do trabalho!

Uma coisa legal também é você, se ainda não fez isso, experimentar frequentar algum grupo local de tecnologia, tipo meetups. Eu curto, mas isso é de cada um.

O resto é o resto!

2 Curtidas

olha, hoje, depois de mais de 20 anos de estrada, sim.

Há livros que me marcaram demais no início que acredito que deveriam ser leitura obrigatória pra quem tá começando.

Code Complete - Steve McConnell - vai desde o código até como lidar com a equipe.
The Art of Computer Programming - Knuth - caríssimo, então só vai ter acesso fácil em universidades
The C Programming Language - Kernighan e Ritchie - vai muito além de um tutorial sobre a linguagem
The Design of the C++ Language - Stroutstrup - aonde mostra as questões de design envolvidas na criação do C++, aprendi HORRORES com este livro.
Sistemas Opercionais - Tanenbaum - o que me fez entender como um computador funciona

Há uma lista boa de clássicos que deveriam ser lidos. Tá aí uma boa ideia para o primeiro post do meu blog em 2019, vou postar lá e compartilho aqui.

3 Curtidas

Salve Paulo!

Muito obrigado pela sugestão. Gosto sim de meetups, mas onde moro isso praticamente não existe :C

Isso aqui é uma sugestão que colocarei em prática. Muito grato!

1 Curtida

tive um professor na faculdade de Filosofia que dizia uma coisa que é verdade: “você só sabe se realmente aprendeu algo se consegue colocar em palavras escritas compreensíveis pelos demais”.

Bom ponto!

2 Curtidas

Poxa, eu pensei que deveria focar mais nos livros de Java, por exemplo. Acho que o lance é dar um passo para trás, aprender esses conceitos e depois continuar com o aprendizado em Java, certo?

eu não diria que é um passo pra trás, mas um salto pra frente.

1 Curtida

nada impede de aprender Java e Teoria da Computação juntos

valorizando o trabalho nacional, procurar o livro de Algoritmos de Ziviani em Java, ele é professor da UFMG

3 Curtidas

livrinho maravilhoso este!

Não se sinta um "lixo" rsrsrsrs. É assim mesmo no nosso meio, sempre vai ter gente aparentemente bem melhor que a gente. Sempre me achei também um "Bosta" até começar a trabalhar em outras empresas e ver que o pessoal que eu achava "foda" não conheciam algumas coisas que eu já conhecia e vice-versa. Ficava com um medo danado de tentar fazer alguma entrevista.

Como o Kiko falou, foca na base, isso parece ser uma besteira, mas um dia o problema aparece e só quem sabe essa base vai conseguir resolver.

Certo dia no escritório surgiu a maior discussão sobre se Falso ou Falso era Falso mesmo ou verdadeiro, eu fiquei sem acreditar como algo básico da tabela verdade gerou toda uma discussão.

4 Curtidas

Estou convencido a começar os meus estudos e me tornar melhor pela base. Portanto, por onde eu devo começar? Antes, esqueci de citar um fato importante: Estou indo para o terceiro termo de ADS, mas como é um curso tecnólogo, tem pouca teoria e mais prática.

Vi os livros que o @kicolobo citou, mas quero outras opiniões. Qual seria um bom “path” de estudos? Onde começar?

Obrigado a todos que puderem contribuir!

Algo que me ajudou HORRORES na faculdade e pouca gente conhece no Brasil: ACM - https://www.acm.org

Por uma anuidade muito barata para estudantes você vai ter acesso a uma série de recursos fenomenais:

  • Praticamente todos os papers de mestrados, doutorados, phds publicados nos EUA sobre computação.
  • Acesso à Digital Library, que contém diversos livros clássicos ao seu dispor (li horrores!)
  • Grupos de discussão e pesquisa muito interessnates

Vale cada centavo.

Outra dica de leitura foda: https://queue.acm.org - é a revista gratuita da ACM, se você quer saber o que vai ser modinha daqui a uns 5 anos, leia hoje.

1 Curtida

Sou novo aqui, e esse texto me deixou muito feliz pela sinceridade, sou designer a mais de 20 anos e através de uma curso com foco em arte para games, começou minha curiosidade sobre programação, desde então, aproximadamente 3 anos, tenho investido em cursos, comecei com web (HTML, CSS3, JavaScript) e no fim de 2019 me formo em Análise e Desenvolvimento de Sistemas, ainda não cheguei perto da sua experiência, mas vejo que na área a questão da tecnologia é uma escolha para determinada situação, a princípio isso me causava insegurança e mesmo assim resolvi seguir e hoje tendo apenas meus estudos continuo avançando, não se sinta menor do que as pessoas próximas a você hoje com 38 anos ainda sinto insegurança mas reconheço que sempre haverá pessoas mais capazes para resolver determinadas situações do que eu, e nós em determinado momento seremos aqueles a resolver ou contribuir de acordo com nossa capacidade.

3 Curtidas

Faz igual ao Paul Lutus.

Garanto que funfa. Eu fiz e consegui criar o

MacroDBMS

http://macrodbms.atspace.tv

itexto