[Python] Ouvindo a voz da Experiencia

Aos programadores experientes (ou não) do Tabnews...

Contexto

Há 2 anos atras (16 anos), larguei meus estudos por uma dificuldade financeira. Estudava JavaScript na época. 2 anos num emprego de merda depois, fui demitido (semana passada) e tenho dinheiro o suficiente pra passar alguns meses sem trabalhar. vejo como uma nova oportunidade de aprender a programar e seguir o proposito que abandonei, dessa vez, mais por necessidade do que vontade.

Eu preciso da sua ajuda.

Por que?

"Aprenda com os erros dos outros, você não vai viver o suficiente pra cometer todos eles sozinhos" #Não faço a minima ideia de onde ouvi, mas não existe frase que defina melhor a minha linha de racíocinio no momento.

Acredito que a força no ser humano vem do senso de comunidade e da empatia, compartilhar experiencias e contar historias salvou muita gente na antiguidade (Leiam Sapiens. Recomendo muito), e acredito que isso se aplica nos dias de hoje.

Saber o que fazer fica mais facil quando se sabe o que não fazer, enfim, chega de filosofia, cortando toda essa bullshit de epifania e indo direto aos pontos:

  1. Se você voltasse ao ponto zero da sua carreira/estudos com toda a sua bagagem de carreira mas sem o conhecimento técnico, o que voce NÃO faria?
  2. Entre todos os cometidos, qual erro você evitaria ao maximo cometer como um Newbie nessa carreira?
  3. Se você dependesse do python pra viver e tivesse apenas 4 meses, o que você faria? Sim, essa aqui é muito específica eu sei. Mas é a realidade.

Respondendo qualquer uma dessas 3, você salva a minha pele e a de outras pessoas em uma situação parecida a minha que esteja passando por aqui. Acredito que seja dessa forma que o TabNews vai fazer diferença como comunidade.

Desde já, agradeço de coração.

1- ignorar o basico de logica de programacao e ja tentar sair criando algo sem nem ter a minima ideia de como funciona e acabar ficando preso buscando alguma solucao no google . 2- tentar aprender o maximo de linguaguem possivel sem nem ter dominado nenhuma ainda , por exemplo mal saber 5 tags em html e ja pular pro javascript , isso acaba virando costume. 3- iria procurar montar um portifolio diversificado com varios tipos de app em python e me inscrever em todas as plataformas de freelancer possivel para tentar arranjar algo

Katsu, o caminho python pra não passar fome seria criar um minimo de portfolio com projetos basicos e variados em Python, e recorrer ao Freelancing? Não pensei nessa possibilidade (freelancer), trabalhar como CLT por tanto tempo me enferrujou. O programador Freelancer tem vantagens em relação ao CLT ou é o tempo curto e pouca experiencia que faz o freelancing mais vantajoso nesse caso? Se possivel, vamos desenvolver isso por aqui, talvez possamos colaborar em posts futuros. Anyways, obrigado de coração pelo feedback!
`Vostok`, Referente ao que o Katsu disse sobre Freelancer, é porque você não fica preso a uma empresa, vai ter uma escalada meteórica de conhecimento, visto que vai lidar com diferentes problemas e, provavelmente vai ganhar mais, criando a sua reputação. Qual é o contra então? Não tem estabilidade, benefícios, "férias" e vai ter que aprender na marra o que é lidar com cliente, se expressar e toda a "politicagem" envolvida, coisas que aprender em uma empresa caso tivesse um mentor.
  1. Foco total em uma stack específica (se escolheu Python é Python, se escolheu Javascript, é Javascript, se escolheu outro, tá errado para o momento do mercado e para quem está começando) e em ser um bom back-end que entende os conceitos fundamentais (entendo que a popularização da programação hoje em dia desfavorece entry levels que tem como habilidade HTML, CSS, JS e React).
  2. Focar no dinheiro ao invés do conhecimento, nunca escolha entre duas oportunidades baseados no $ presente, porque o conhecimento presente se transformará em muito mais $ futuro que investir em ações da Magalu.
  3. Começaria progressivamente a fazer freelas internacionais (utilizei muito o Upwork) com complexidade crescente, focando em capturar boas práticas da linguagem e aprender a lidar com os mais diversos clientes em inglês, mas não demoraria para tentar entrar em uma empresa para ganhar conhecimento sendo pago por isso também.
  1. Não deixaria me afetar pelo pessimismo a minha volta e colocaria metas claras para o estudo.
  2. Evite ser um "configurador de framework". Entenda o que está acontecendo por baixo dos panos. Evite seguir cegamente passo-a-passo de tutoriais.
  3. Eu aprenderia Django, estudando pela documentação. Eu me importaria com os detalhes. Eu pesquisaria a teoria na medida que fosse encontrando desafios na prática. Tentaria colar em um programador mais experiente para absover o máximo possível. Eu faria desafios de algoritmos em sites como LeetCode, para me preparar para live codings.
  1. Eu não ficaria pulando de linguagem em linguagem só porque abriu uma vaga,.
  2. Se você já sabe python fica no python e ponto final, se eu tivesse ficado no clipper na minha época hoje seria um Analista Senior da Totvs que comprou a CA Clipper e tem a sua linguagem ADVPL (Clipper puro)
  3. Foque em soluções para indústria e telecom são lugares onde as soluções são poucas, sabem o que precisa e principalmente não tem medo de investir.
  4. Aprenda a dizer não.
  5. Abra sua empresa MEI e trabalhe somente com ela, mesmo que seja um projeto pequeno.
  6. Se forem te recrutar faça perguntas como:
  • Quais são os detalhes do trabalho? Não deixe esta pergunta vaga, faça o máximo de perguntas e vá anotando se for uma entrevista online grave tudo.
  • Como é a cultura da empresa? Parece papo de revista motivacional mas se o cara que esta te entrevistando não conhece a cultura da empresa então esta cultura não existe, prepare-se para formatar notebook e arrumar ar-condicional, NUNCA ESQUEÇA VOCÊ É UM PROFISSIONAL
  • Há quanto tempo trabalha nesta empresa? O cara que te entrevista vai ficar chocado e se for a pouco tempo vai demorar alguns segundos para responder, então você saberá que ele é só um intermediário
  • Como você trata os candidatos que não conseguem o emprego? Isto é importante para você não criar expectativas quanto ao seu futuro na empresa e se a resposta dele não for condizente com a ação, entre em contato com a empresa via email e fale desta situação. Temos que entender que nosso tempo também é precioso
  • Você pode fornecer mais informações sobre o processo de entrevista? Isto é importante porque muitas vezes você passa por tantas fazes que daqui a pouco você esta fazendo um sistema para o cara
  • Há quanto tempo a vaga está aberta?
  • Quais habilidades são necessárias para ter sucesso nessa função? Uma pergunta importante para entender o que você realmente precisa para continuar na empresa.
  • Esta função foi criada ou eu estaria preenchendo uma posição existente? Pergunte porque foi aberta e qual o objetivo final dela.
  • Este trabalho tem a opção de trabalho remoto?
  • Qual é a faixa salarial para este cargo? Se não responder eles estão sorteando o profissional mais barato.
  • Você sabe como é o perfil do meu chefe imediato?

Eu acho válido você, como iniciante não se prender a estudar 150% antes de botar em prática e a princípio focar em conceitos essênciais dentro do universo da programação, se atenta a entender corretamente os tipos de dados e quando utilizá-los, se atente a entender o que é uma linguagem POO, se você que trabalhar com sistema legado, tem muitas áreas e você precisa entender aquilo que você quer se especializar antes de focar em algo específico. Depois de encontrar um caminho que te agrade mais, meta marcha nos estudos e faça projetos, pode ser projetos ensinados em cursos ou colaborar com projetos open source que você ache interessante dentro do Git, mas lembra sempre de estudar e tentar entender tudo aquilo que você ta fazendo. Antes de você copiar e colar código, tente buscar experiência suficiente para você entender o que cada parte dos códigos faz antes de colar ele dentro do seu código. Monta um LinkedIn e um GitHub bacana, crie uma lista de vagas as quais você quer preencher, muito provavelmente vai entrar como junior, tudo bem, quando você entra no meio o crescimento é inevitável, é questão de tempo. Mas foca sempre em melhorar, busque sempre conhecimento.

E sobre python, dê uma caçada em Libs que te agradam e que estão em alta e tente traçar uma linha coesa entre o que o mercado pede e o que mais te agrada. Python é uma linguagem muito flexível que você consegue usar para diversas finalidades. Desde construção Web até automatização, então tenta ver o que a galera ta pedido.

No demais é isso mano, boa sorte nessa jornada, foca em conceitos básico e melhorar sua lógica antes de você começar a seguir um caminho concreto e busque saber aquilo que você quer antes de fazer. Com toda certeza você faz as coisas com muito mais empenho quando curte aquilo que tu faz.

Estudar as bases é fundamental para qualquer área, sem uma base forte e bem construída, o prédio desaba.

Se eu voltassse ao ponto zero da minha carreira, procuraria um roadmap bacana, e me debruçaria sobre ele. Porém, acho que nos é exigido uma certa parcimônia nesse sentido. Vamos supor um roadmap para dev, ele precisa saber TUDO sobre git antes de passar para o próximo assunto? Não ! então acho interessante a ideia do roadmap, porém, com essa consciência. (Vale dar uma lida sobre o Princípio de Pareto)

Outra coisa, veja as vagas para a área que você quer, copie as exigências, faça um comparativo e um rank das competências mais pedidas, foque em 3 dessas competências para estudar, e vai pra cima.

E por final, softskills são bem importantes também, acredito que um pouco de oratória, apresentação pessoal, comunicação de uma maneira geral, pode ajudar nas entrevistas.

Forte abraço, espero que as dicas sejam boas e boa caminhada na estrada do sucesso meu jovem !

Escolhi Python por ser a linguagem que me brilhou o olho e aparentemente a mais rapida para conseguir uma oportunidade, mas estou aberto à sugestões de linguagens, deixem ai em baixo que eu crio outro espaço como esse para a discussão.