FAQ do programador perdidão
É normal estar um pouco perdido. Estar muito já é sintoma.
Vou atualizando. Volte de vez em quando.
Vai doer ler isso? Preciso ler tudo?
Vai. É longo e isso dói em alguns, e aí já não tem muito mais o que fazer. Algumas pessoas se encaixam perfeitamente nas estatísticas que coloco no final, também não tem o que fazer. E se a pessoa for fraca demais, novamente não tem o que fazer, só não leia.
Se tiver dificuldades como todo mundo, inclusive eu, pode servir para virar a chave e começar mudar o rumo da vida. Alguém fez isso comigo e funcionou, espero que a experiência seja positiva também.
O resultado será melhor lendo tudo e com muita calma e reflexão em cada item.
Fazer faculdade vale a pena?
Depende. Quem não precisa já sabe disto. Quem precisa acha que não precisa. Algumas pessoas aproveitarão muito, outras nem a faculdade salvará. Só vale bastante se o curso for bom, hoje a maioria não é.
Mas o Gates, Jobs, Musk e Zuck largaram a faculdade e se deram bem, por que não posso?
Seja tão bom quanto eles antes de fazer a faculdade e não faça. Entre nas faculdades que eles conseguiram e largue.
Como escolher uma faculdade boa?
Onde é difícil entrar e os outros alunos são bons, de preferência você deve ser o pior aluno lá dentro. Grade e ementário do curso é seu amigo para avaliar, pesquise muito, é uma das maiores decisões da sua vida. Converse com a equipe do curso antes, eles estão lá para isso.
O curso X é bom?
Não sei. Ninguém sabe. Quem está fazendo o curso agora não sabe porque quando você entrar pode ser outro curso (sem falar que pode pegar um ano ruim de alunos e isso afeta a experiência). Quem acabou de fazer o curso não sabe avaliar se é bom. Talvez nunca vá saber. Em geral as pessoas falam que é bom o que lhe agradou e não o que foi melhor para ela. Não importa se é curso livre ou faculdade, grátis ou pago.
Qual a diferença entre o curso X e Y?
O título não quer dizer nada. Mesmo que a maioria diga que é isso ou aquilo, tem que pesquisar profundamente, não tem um padrão e isso é engano básico.
Devo fazer um curso nessas condições minhas?
Não sei, ninguém sabe e se você não sabe, precisa procurar ajuda profissional porque você tem problemas se não consegue decidir sobre a própria vida. Só você sofrerá as consequências.
Como acelerar meu aprendizado?
Indo com calma. E se não funcionar, procure ajuda profissional.
Tenho um transtorno, o que fazer?
Procure ajuda profissional capacitada (escassa e cara), não tem milagre ou atalho. Não ande em círculos, não ache que crenças resolvem algum problema de forma sustentada. Pessoas aleatórias podem te ajudar com chances parecidas de ganhar uma aposta. Transtornos reais sempre estarão com você, aprenda com quem sabe como aproveitar melhor o que tem. Não aposte com sua vida.
Quem eu devo seguir na área?
Não sei se vou fazer uma lista, mas conforme vai fazendo sentido eu vou indicando alguém. Nas minhas postagens oficiais vou dando dicas.
Pode me indicar livros?
Um dia farei uma lista curada. Eu gosto dos clássicos, não de tecnologias específicas.
E um site para aprender ou praticar?
Mesma coisa. Já tentou a Wikipedia? É, não é perfeita, mas é um excelente começo. Stack Overflow se souber como usar, até para só ler, é um fenômeno em coisas mais antigas. Não vá ao Reddit ou qualquer lugar com comportamento fanfarrão, para nada.
A tecnologia X vale a pena?
Para alguns sim, para outros não.
A tecnologia X é boa?
De maneira geral é sim. Posso te garantir que ela tem vários defeitos.
A pessoa X me disse que devo usar Y, faço isso?
A pessoa não está comprometida com você, você não sabe se ela é entende mesmo daquilo, se ela está ganhando algo em dizer isso, se ela é séria, se ela está em momento bom, e uma série de questões que tornam isso quase aleatório. Tem casos que uma roleta dará melhor resultado.
Tem vagas para a tecnologia X?
Não sei, ninguém sabe. Não sabemos a sua região, o que vale hoje não vale amanhã e onde tem muita vaga a concorrência aumenta. E nada disso importa se você não tem condições de pegar essas vagas, ainda mais se pode pegar outras.
Vou conseguir emprego se eu souber a tecnologia X?
Não sei e adivinha se alguém sabe. Você é diferente das outras pessoas e a vida é uma roleta, você não tem controle sobre o resto do mundo e cada vez que gira cai em um lugar diferente (ou o mesmo, então nem isso podemos afirmar). Faça seu melhor.
Qual melhor primeira linguagem?
Depende do seu objetivo. Quer algo um pouco mais poderoso que o Excel? Python. Quer fazer gracinhas em um site? JavaScript. Quer ser um profissional qualquer? Qualquer uma. Já aprendeu todos os fundamentos e quer uma para trabalhar sério? Veja o que quer fazer, o que faz sentido para sua situação. Quer aprender computação e precisa de uma linguagem como ferramenta? C.
Rust não é uma boa primeira linguagem? Ela não é a linguagem do futuro?
Ela já é a linguagem do presente para vários projetos e extremamente necessária, mas não será para a maioria. Ela é boa onde você usaria C ou C++. Carbon pode ser até melhor quando estiver disponível. Vamos ver Jai. Estão surgindo outras, como Zig e Odin (e muitas outras). Mas ela tem algumas coisas quase únicas. Rust tem mais hype que necessidade. Por causa disso ela tem mais concorrência que vagas no momento que escrevo isto.
Quero aprender uma linguagem porque preciso de um emprego agora para não passar fome, qual linguagem adoto?
Lamento pela situação. Eu ainda não sei dizer, cai no mesmo que digo em outras respostas. A vida não é justa e vai comer o almoço e ficará sem a janta, talvez sem mais algumas coisas. Desejo o melhor.
Quais áreas são melhores?
Depende dos seus objetivos, da sua capacidade, do momento. Eu nem sei o que é ser "melhor" para você.
Sempre gostei de jogos, é bom?
Você também gosta de hambúrguer e não quer ficar matando bois. Você gosta de futebol, mas não consegue jogar profissionalmente. Não destrua seu hobby. Em lugares mais glamorosos a relação de oferta e demanda desiquilibra e você sofrerá com isso.
Qual o próximo passo no meu aprendizado?
Geralmente se está aprendendo do jeito certo, com materiais certos, tendo referências certas, o normal é ir aparecendo os próximos passos. Se não está aparecendo é porque está fazendo errado. Está faltando curiosidade e método de estudo.
O mercado de trabalho em TI está difícil conseguir vagas?
Não é linear e muda muito em meses ou até semanas, não ouça pessoas histéricas para cima ou para baixo.
A IA vai tirar meu emprego?
Talvez sim. Toda tecnologia tira o emprego de muita gente. E até hoje as pessoas estão bem empregadas. Já foi muito pior na história da humanidade. use a IA para te ajudar tirar empregos de outros em vez de deixar os outros tirarem o seu por causa da IA. Se abusar dela ela vai se voltar contra você. Leia de novo todo o resto respondido aqui.
Se tudo der errado vai vender balinha no semáforo ou fazer faxina, são profissões dignas e pagam melhor do que a maioria dos programadores ganham hoje, o segundo nem precisa ser muito bom nisso. Isso e outros exemplos são à prova de IA.
É verdade que está sobrando vagas na área?
Sim, é, para muitas pessoas está inundado de vagas, projetos são cancelados por falta de gente qualificada. Alguns podem pagar pouco, mas se é o que tem, que mal tem?
É verdade que o mercado está saturado?
Sim, é verdade. Está entrando muita gente por modinha e promessas insensatas e mentirosas, por isso muita gente está sem conseguir emprego ou empregos bons. Muitos estão trabalhando por pouco mais ou só o salário-mínimo. Uma quantidade enorme ganha menos que uma pessoa que faz faxina ou outras funções dignas.
Não entendi nada, está sobrando vagas ou está faltando?
Sobra para os qualificados, falta para os que estão sem condições. Quem entrou pelo dinheiro, pela facilidade de conseguir uma vaga ou outros motivos que não sejam os adequados, está choramingando que está tudo ruim e isso vira uma bola de neve e a vida dela entra em especial negativa em tudo.
Eu tenho condições de entrar nesse mercado?
Não sei, mas parece que não agora. Outras pessoas dirão que sabem, mas você já leu o resto, e se não entendeu ainda, definitivamente você não está em condições.
Qual o mínimo que devo saber para entrar no mercado?
Comunicação e expressão, matemática e ciências. Tudo o básico, mas muito sólido, até mais do que a escola costuma entregar hoje em dia. Não é sobre decorar coisas. Filosofia e inglês vão ajudar muito também. Outras coisas podem ajudar, como conhecimentos gerais. Até cultura pop ajuda tangencialmente. Tem que pensar, esse é o segredo. e nem IA vai te destruir. Ser curioso ajuda muito. Leia muito (não redes sociais ou blogs de qualquer um).
Sabendo isso estou bem no mercado?
Tem certeza que sabe? A maioria das pessoas que não sabem se enganam com isso e como todo mundo sofre um pouco psicológico chamado efeito Dunning–Kruger. Claro que precisa aprender computação também. Precisa ser questionador e dos bons.
O que vem depois? O que pode me deixar mais apto?
Aprenda tudo como funciona. Abra o capô das coisas antes e durante o uso. Aprenda como uma linguagem ou compilador funciona. Entenda de sistemas operacionais, banco de dados e outros serviços. Não estou falando de aprender usar, mas como funcionam. Aprenda os termos e conceitos corretamente, não treine o erro. OOP, SOLID, DPs, arquitetura, DDD e coisas afins só no momento certo, quando souber questionar bem.
Precisa ser bom em matemática para ser programador?
Totalmente. 100%. Sem dúvida alguma. É o fato mais certo que existe na área. Programação é matemática. É criar fórmulas novas o tempo todo com dados diversos que vão além de números simples. Todos os conceitos importantes de programação são conceitos matemáticos. Não é saber tudo de matemática. Não é decorar fórmulas, não é fazer continhas que aprende na escola. Não é sobre números. Não é sobre domínios específicos que precisam, é em cada vírgula que usa, se você não entende isso falta muita matemática (e outros conhecimentos) para entender. Não é ser um matemático. O prejuízo está acontecendo mesmo que você não perceba e seja validado por outras pessoas com o mesmo problema.
Então por que as pessoas dizem que não precisa?
A maioria das pessoas na área não estudaram quase nada, aprenderam tudo intuitivamente, não refletiram sobre o assunto ou tiveram uma falha pontual e abraçaram o erro. Leia outras respostas para entender melhor. Quem insiste nisso deve estar em um sanatório.
Só dá certo se eu tiver vocação?
Não, mas faz uma diferença brutal. Não é impossível, mas vai exigir muito se tornar bom na área sem ela. Vocação existe independente da vontade das pessoas e faz diferença. Você pode lutar contra e tem casos que pode valer a pena, mas tenha consciência que o trabalho será monumentalmente maior do que a pessoa que tem isso natural. E você vai se desanimar vendo outros se desenvolverem mais.
Ah, então está me dizendo para não me comparar com outros?
Não. Você deve se comparar com os outros. Mas precisa estar preparado para isso. Sem se comparar você afunda. A comparação é fundamental para melhorar. Tem que mirar lá em cima para crescer, precisa de um objetivo a atingir, ver que precisa trabalhar para melhorar. Não deve fazer isso ser um problema na sua vida, não deve fazer de forma que te desmotive porque não vai alcançar os melhores. Cada um é cada um. Se não sabe fazer isso sozinho, procure ajuda.
Como sei se eu não sirvo para isso?
Não há respostas definitivas. Algumas dicas estão dadas aqui. Mas o fato de não saber pesquisar bem é um sinal. Pedir para outras pessoas darem soluções para você. Não ser extremamente curioso e entender o método científico. Achar que é mais fácil do que é. Levar na "flauta". Não gostar de estudar muito, de ler textos longos e refletir sobre, ignorar o conhecimento já existente, preferir fontes secundárias.
O que é procurar ajuda profissional?
Procurar pedagogo, psicólogo, psiquiatra, neurologista e outros profissionais do tipo. É sério, é mais necessário do que parece. Pode ajudar muito mais que a maioria acha. É difícil achar profissionais bons. Os melhores custam muito caro. Tem casos que pode atrapalhar. E sim, é complicado. Cuidado com coaches, especialmente os baratos.
O que eu faço se me perdi na escola e agora preciso compensar isso?
Não sei. Um pedagogo talvez saiba. Sei que pode ser difícil, mas não tem jeito, tem que consertar isso e já dei uma dica.
Todos podem ser programadores?
Claro que sim. Todos têm o direito de tentar. Não há restrição legal. Mas ser grande desenvolvedor de software não vai acontecer para a maioria.
Qual a diferença entre programador e desenvolvedor de software?
Pra mim? O primeiro é quem faz qualquer programação de um computador. Pode ser com o Excel. O segundo cria soluções complexas que resolvem problemas da melhor forma possível para outras pessoas usarem e obterem várias vantagens. Esse tem que pensar como engenheiro e dominar a computação com bastante profundidade. Dá para encontrar outras definições (que eu posso concordar), essa é bem simplificada.
Qual diferença entre júnior, pleno e sênior?
Ninguém sabe. Isso é classificação burocrática de RH. Cada empresa usa um critério diferente então você não pode levar de uma para outra. Se voê acha que é algo definitivamente, está errado. Se precisa de uma definição junto do título para saber o que é, então essa classificação não serve para nada. As pessoas precisam parar de usar para indicar se a pessoa é iniciante, intermediária ou avançada (que também não tem definição clara, mas já é um "cheiro" melhor).
Como você classifica?
Não é sobre o que você conhece e sim a qualidade e experiência real de uso que tem. Não existe lista do que aprender.
- Aprendiz está aprendendo (estagiário se puder legalmente)
- Trainee já sabe um pouco, fez alguma coisa, mas precisa de muita supervisão, precisa consertar muita coisa
- Júnior já sabe quase tudo o que precisa saber, mas sabe mal, tem falhas, só coisas mais simples conseguem fazer sem supervisão, já tem algumas experiências importantes bem aproveitadas. Não é questão de tempo, mas é quase impossível conseguir isso em menos de 2 ou 3 anos (se forem bem vividos e não. Sei de algumas pessoas que não sabem disso mesmo depois de 30 anos)
- Pleno já corrigiu todas as falhas importantes e não tem muito mais o que aprender sobre computação e desenvolvimento de software (não estou falando de novidades e modinhas), já sabe identificar um pouco o que vale a pena fazer ou não, mas não faz isso bem e precisa de alguma ajuda do sênior em questões mais complexas, mas como o nome diz, está pleno no que faz (é mais difícil chegar lá do que as pessoas imaginam) e leva vários anos até para quem é muito bom.
- Sênior é quem além de saber tudo, não precisa de auxílio, apesar de cometer erros, especialmente em algo muito novo, não cai em modinhas, não faz avaliações absurdamente erradas, sabe que esses títulos não são úteis e demora muitos anos para conquistar isso. Não é sobre gestão, não é um chefe. Não é sobre os soft skills da pessoa, embora isso ajude no todo.
- Master é a glória, é alguém próximo da perfeição, com um domínio extraordinário e uma experiência fabulosa nas mais variadas técnicas, extremamente difícil obter e por isso não se ouve falar. Geralmente a pessoa vira gestor (talvez C level) e o título perde o sentido.
Por que tem menos vagas que é X (ou Y, ou Z)?
Porque o RH de tal lugar achou que deveria anunciar assim, só isso. Pode ser porque está aparecendo muita gente com qualificação muito baixa. Então, como a maioria acha que ser júnior é saber fazer "hello world", e a empresa quer algo mais, ela anuncia a vaga pedindo mais que isso na esperança que apareça quem está em condições para a vaga. Aprendiz não é júnior. É um direito dela pedir o que quiser e se der errado ela paga o preço, não tem porque se revoltar com isso, é infantilidade e mostra porque a pessoa não está apta.
Qual o salário bom para quem é X?
Tem muitos fatores, mas no fim você ganha o que merece, de uma forma ou de outra, até por quanto consegue negociar, e claro, o que entrega de fato. Quem acha que é explorado procura algo melhor. Tem quem ganhe no Brasil mais de 40 ou 50 mil sem ser gestão. Fora pode ser bem mais. Faça por merecer. Meritocracia, assim como democracia e sistemas econômicos, tem várias falhas, mas ela existe. Faça te pagarem o que merece, não culpe terceiros por não conseguir. Tem gente pior que você nisso. Quem reclama do salário está fazendo alguma coisa errada. Quem está começando ganha pouco, mesmo que digam o contrário, e é melhor assim, para você. Tabelas são "médias" e por tudo isso que falei são enganosas. Se o patrão é explorador vá ser patrão.
Todo mundo tem as mesmas chances?
Tem pessoas com problemas diversos físicos (que atrapalha bem pouco, alguns dos melhores que conheço têm deficiências) e com problemas mentais. Na verdade, quase toda população tem diversos graus de problemas mentais, desde algo imperceptível até algo que você não vai querer nem ver a pessoa. É óbvio que certos níveis impedem ou atrapalham certas atividades, até mesmo no extremo, impedir tudo. É lamentável, mas a vida é assim. Sim, é quase certo que você (assim como eu - já fui ver), tenha problemas mentais, não é ofensa. Se todos fossem iguais todos fariam igual e o mundo seria perfeito.
Dá para ficar rico programando?
Não. As pessoas que ficam ricas na área são empreendedores com sorte, foco, capacidade de execução, e provavelmente uma ideia genial, mas isso é absolutamente secundário. Por acaso podem ser (ótimos) programadores.
Todo emprego é arrombado?
Não, mas é comum na maioria das empresas terem problemas diversos, colegas ruins, chefes problemáticos, etc. Isso não quer dizer que precisa ser tão dolorido, nem que alguma dor não seja normal. As pessoas do seu emprego podem te achar arrombado. Tente ver as coisas sob várias óticas. Se você está insatisfeito, procure um lugar melhor, se você merecer tem grande chance de conseguir. Se não conseguir, já é um sinal... Antes de reclamar que a empresa não é comprometida com você, tenha certeza que é comprometido com ela. Se for injusto faça alguma coisa sensata, não uma estupidez que só gera resultado negativo.
Melhor CLT ou PJ?
Não dá para saber. Faça contas, considere todos os aspectos. Tem calculadoras online que podem ajudar, cada uma tem um critério. Tem quem acha que precisa ganhar consideravelmente mais para PJ compensar, tem quem acha que dá quase na mesma por causa dos impostos. Se pensa em estabilidade, CLT teoricamente tem um tiquinho mais, mas na prática você tem estabilidade se é bom profissional e é sempre necessário. Não é objetivo responder aqui sobre detalhes burocráticos.
O que você acha dessa questão sobre o direito ou lei tal?
Procure um advogado. Eu sou só um engenheiro de software.
Ninguém consegue arrumar algo decente rápido?
Não. A não ser por muita sorte e algum talento extra. Tudo pode ter exceção, mas exceção chama assim porque não é o normal. Não olhe para as anormalidades e esperar que vai acontecer o mesmo com você.
Devo largar ou trocar meu emprego? Faço X ou Y?
Você ainda não entendeu?
Devo desistir da área?
Não tão cedo. Procure ajuda profissional se não consegue decidir. Mas se está pensando nisso pode ser o caso. A maioria entra pelos motivos errados e quando percebem que cometeram um erro, o melhor é fazer algo que faça mais feliz. Só não se precipite, pode ser só algo de momento por alguma dificuldade natural.
Você faz tudo isso que fala?
Não, mas eu tento. Tenho minhas dificuldades e limitações, igual a todo mundo. Na verdade, comprovadamente tenho até mais, mas tive algumas sortes e privilégios também que compensam um pouco.