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

E lá se vão 2 anos como desenvolvedor...

Mês passado completei 2 anos trabalhando (oficialmente) como desenvolvedor e pensei que seria interessante compartilhar alguns pensamentos, aprendizados e desafios para aqueles que estão entrando (ou pensando em entrar) no mundo da programação.

escreva("Olá Mundo")

Antes de começar a falar sobre a experiência no mercado, gostaria de falar (resumidamente) sobre a minha trajetória estudando programação e como foi esse processo. Meu primeiro contato com programação foi (como imagino ser o caso de muitos) com o curso de Lógica de Programação em Portugol do professor Gustavo Guanabara, que me foi apresentado por um colega da escola, que infelizmente perdi o contato. Esteja lá onde você estiver, muito obrigado meu amigo, você mudou a minha vida. Nessa época estava começando em uma escola técnica e fazia o ensino médio ao mesmo tempo que fazia um curso de Redes de Computadores. O curso era bem focado na parte administrativa e estrutural, mas teve uma ou duas disciplinas de programação. Fiquei estudando de forma esporádica durante todo o período do ensino médio de forma autodidata, fazendo alguns cursos online. Me aventurei pelo Wordpress, aprendi o básico de Linux, conseguia fazer uma tela ou outra com HTML e CSS, até Python estudei alguma coisa.
O fato é que quanto mais eu aprendia, mais vontade eu tinha de continuar trabalhando com isso e quando precisei escolher uma faculdade pra entrar, não tive dúvidas em escolher Sistemas de Informação. Consultei toda a grade do curso e era exatamente aquilo que eu queria. Os próximos 2 anos a partir de agora foram bem difíceis para mim, tive que conciliar um trabalho no varejo com a faculdade e ainda tentar estudar alguma coisa mais direcionada, a rotina era bem exaustiva e acabei com uma síndrome de burnout no final de 2019. Naquele momento eu sabia que não conseguiria me manter da forma que estava e acabei saindo do emprego e focando totalmente na faculdade. 2020 foi bem complicado, principalmente devido a pandemia de covid-19, mas também foi quando eu entrei de cabeça de verdade pra estudar programação, fiz várias das Semanas Omnistack e NLWs da Rocketseat e acabei construindo um bom portfólio no GitHub, que utilizei para conseguir meu primeiro estágio como programação.

Ok... Mas e agora?

E então depois de muita dedicação e foco nos estudos e a ansiedade gigantesca do processo seletivo, eu finalmente tinha conseguido entrar no mercado, fui contratado como estagiário. Eu lembro claramente de ter somente uma coisa pairando na minha cabeça do momento em que descobri que tinha passado, até o primeiro dia no trabalho: "Ok... Mas e agora?". Eu tinha passado em uma vaga para trabalhar com uma linguagem que eu até então nunca tinha ouvido falar, para trabalhar em um produto internacional que era diferente de tudo aquilo que eu já tinha feito. Aqui eu já gostaria de apontar alguns aprendizados:

> Não se prenda a siglas, foque nos conceitos.

Afinal, você precisa resolver um problema, não importa se você vai usar HTML, CSS, JS, TS, PHP, TLS, SSH, HTTP, gRPC, API, SQL, NoSQL e por ai vai. Domine o básico, entenda os algoritmos, as estrutura de dados, saiba usar a lógica de programação a seu favor. Ter uma base sólida, fará com que você migre entre tecnologias muito rapidamente e fará com que as siglas sejam somente siglas e não rótulos.

> Interaja. Pergunte. Explique.

Resumindo: comunidade. Esse é o nosso superpoder como desenvolvedor. A comunidade é como um cérebro gigante e universal no qual todos nós fazemos parte, o conhecimento é compartilhado e a sua dúvida provavelmente já foi solucionada em algum momento ou o fato de você perguntar fará com que outras pessoas sejam ajudadas pelas respostas que ela levantará. Portanto, pergunte! Se encontrar uma dúvida que você sabe responder, responda! Explique um conceito, como uma tecnologia funciona, escreva um tutorial, um artigo. Dessa forma você estará ao mesmo tempo, fixando o conhecimento e contribuindo com a comunidade. Sem a comunidade e ajuda dos meus colegas de time, eu certamente não teria avançado muito.

> Feedback é ESSENCIAL

Não adianta, você não vai conseguir evoluir se não colher feedback. Sem feedback você provavelmente não saberá como potencializar seus pontos fortes e não conseguirá mitigar seus pontos fracos (olhe lá se souber quais são eles) e chances são de que você irá investir tempo e esforço na direção incorreta, enraizando más práticas, criando vícios e o pior: sem feedback, você dificilmente irá notar evolução pessoal e sem isso...

"Can you see my screen?"

Outra milestone nesses 2 anos, foi a minha primeira apresentação (em inglês) para o PO e o restante do time de um design que eu estava trabalhando com uma colega. Daquele dia eu consigo tirar alguns aprendizados:

> Inglês é obrigatório.

Você pode contra argumentar essa frase de várias formas, mas o fato é: naquele dia a minha colega não sabia inglês e por isso eu apresentei o design sozinho. Não saber inglês irá se tornar um impeditivo para você apresentar seus projetos, irá reduzir a quantidade de vagas que você poderá concorrer e se limitará a um escopo nacional. Sem mencionar que, praticamente todo o conteúdo disponível na internet sobre programação, está em inglês. Aprendam inglês!

> Seja um bom contador de história

A minha vida mudou quando eu percebi que apresentar alguma coisa, embora seja geralmente o maior medo das pessoas, nada mais é que contar uma história. Vou falar mais de soft skills mais tarde, mas agora o importante é quando você precisar apresentar alguma coisa para alguém e isso for algo difícil para você, planeje antes, esboce, apresente para um colega e colha feedbacks. Sempre que possível tente transformar a sua apresentação em uma história e não só um punhado de dados e imagens. Crie uma narrativa, eleja um personagem, demonstre o problema e como o personagem irá solucioná-lo, utilizando que meios, que ferramentas. Tendo uma história isso montada, você se sentirá bem mais confiante e preparado para apresentar.

O tal do "Negócio"

Essa é difícil, eu sei, principalmente para nós brasileiros, que não temos tanto esse incentivo voltado a negócios ter uma alma empreendedora. Entender do negócio no qual você está trabalhando e não se prender puramente na tecnologia utilizada por ele é algo que você vai querer ter se pretende criar uma carreira na área da tecnologia e, quem sabe, se tornar um CTO da vida.

> Entenda que problema a solução que você está desenvolvendo resolve

Ter esse entendimento vai facilitar com que você alinhe os objetivos do projeto com os seus objetivos pessoais e focar naquilo que mais lhe trará valor. Por exemplo, se você trabalha em um projeto de meios de pagamento, talvez buscar certificações voltadas a segurança de dados seja uma boa escolha para buscar destaque no time.

Código não é tudo!

Trabalhar com programação é, invariavelmente, trabalhar com pessoas. Já conversei com muita gente que pensa que trabalhar com programação é colocar seu fone de ouvido e ficar atrás da dela do VSCODE o dia inteiro, abrir PR e mover tarefa pro done no Jira. Spoiler: Não é. Trabalhar com programação é passar boa parte do seu tempo discutindo com o time, escrevendo, revisando e apresentando designs. O código é a parte final de um processo de muita interação, discussão e apresentação.

> Saiba adaptar seu discurso para diferentes públicos

Isso é algo que você irá aprender com o tempo, mas já estou adiantando que em cada etapa do desenvolvimento de uma feature, você irá passar por diferentes públicos com diferentes níveis técnicos. Não tente usar o "tecniquês" para soar inteligente, isso cria barreiras de comunicação que eventualmente irão lhe causar problemas de mal entendimento. Busque ser claro, crie e mantenha as coisas simples.

> Se mantenha organizado

É fato que dentro do universo do desenvolvimento existe outros milhões de microversos e manter o foco não é uma tarefa fácil. Por isso se manter organizado, criando metas e objetivos é essencial para se manter focado. Não importa que saiu uma nova linguagem revolucionária que vai matar o Javascript. Na sua lista de TODO existe uma meta para terminar aquele curso de Typescript pro final do mês, se mantenha nele.

Enfim...

Eu poderia continuar falando bastante aqui sobre alguns outros pontos que também considero importante como, por exemplo, ter um projeto pessoal que você implemente do sketch à cloud para entender todas etapas do desenvolvimento, mas o artigo já está enorme.

Obrigado para quem chegou até aqui e até mais!

PS: Estou repostando esse artigo que escrevi para o meu Linkedin, o link para o artigo está como "fonte". Da uma passadinha lá e deixa um like ^^

Carregando publicação patrocinada...
2

Agradeço enormemente por esse post, eu estou voltando a estudar depois de desistir inúmeras vezes...A preguiça e a falta de esforço me atrasaram bastante a entrar nessa área, e cada vez mais eu percebo que é aqui que eu preciso me desenvolver e crescer.
Tenho pouca experiência, mas compactuo com 100% do que tu disse, logo, creio que eu esteja indo pro lado certo :)
Ótimo post!

2

Opa! Obrigado Heisen! Cara, o legal da programação é justamente isso aqui: A COMUNIDADE! E que massa que está se encontrando na área. Pra cima!

2

Estou estudando sobre Desenvolvimento de Games, eu sempre gosto de ver histórias e relatos de progamadores que já se encontram na área isso me dá mais motivação para continuar.

2

Show de Bola!
Muito bom ver pessoas mostrando que ser Desenvolvedor e mais do que imaginam.
Não é apenas ser o cara que faz a "mágica"
É uma serie de ações que constroem uma solução a um determinado problema e isso torna nossa profissão incrível!

2

Exatamente GabrielSouza! Muitas vezes nós, desenvolvedores, somos confundidos como mágicos mesmo. Isso muitas vezes graças a própria mídia que insiste em vender a ideia do "HackerGuy" com sua tela preta com letras verdes subindo. Nós somos pessoas que discutimos com pessoas, para resolver problemas de pessoas.

2

Ótimo artigo!

Curti muito a sua tragetória e seu início como estagiário, pois, foi por onde comecei também. -- Ocorreu a identificação haha. Gostaria de fazer apenas uma nota de rodapé bem sincera e compreensíve, espero. Lá vai...

Start-ups brasileiras e a primeira oportunidade

Não quero ser aqui o estraga prazeres ou diminuir a esperança de ninguém com relação a primeira oportunidade ou ao que se pode esperar do mercado de desenvolvimento. -- Principalmente para quem está em processo de migração de carreira.

O mercado brasileiro, na minha curta experiência de pouco mais de um ano e meio é bem "concorrido", no sentido de que há muitos devs, muitos mesmo. Fosse num vestibular, a concorrência seria -- teorizando -- de 50 devs pra cada nova vaga de júnior. De fato, há boas empresas que oferecem uma primeira oportunidade para anônimos, que não têm experiência alguma, que não possuem currículos tão "brilhantes" a primeira vista. Mas a triste notícia é que essas boas empresas são poucas, ou no mínimo, difíceis de se achar. Por um simples motivo: Elas precisam lucrar.

E não estou aqui dizendo que isso seja ruim, apenas estou citando esse fato que muitas vezes, alguns juninhos (Como eu também esqueci ou "diminuí" no início) esquecem. Se você entende que, após o "sim", você precisa correr mais do que antes, pois haviam muitos concorrendo a vaga que você conseguiu, então esse parágrafo não é pra você.

Após o seu primeiro "sim", anime-se, agradeça a quem esteve ao seu lado esperando por esse momento, enfim, faça a festa, mas lembre-se de que esse sim, pode se tornar um "Precisamos encerrar seu contrato", caso você não valorize a oportunidade. Isso não é exclusividade do mercado dev, mas no meio de alguns cursos, cria-se essa "expectativa milagrosa de redenção", apenas quero desmistificá-la aos que chegarem a ler essa pequena nota.


-- Acho que a nota de rodapé ficou grande, mas espero ter enriquecido seu texto de alguma forma.

1

Excelente comentário Marechal, isso é muito verdade. Tenho um grande amigo que sempre diz que o dev tem que ser um bicho curioso por natureza, ele tem que correr atrás, ser apaixonado pelo que faz porque se não ele fica pra trás, afinal o mercado tech avança MUITO rápido e temos que acompanhar ele.

2

Que Historia íncrivel, comecei estudar python essa semana pelo guanabara, e ver que a programação não é questão de sorte e sim de quem se esforça é top demais.

2

Concordo totalmente com você. Estou migrando de área e venho de muito tempo trabalhando com pessoas e com o negócio (fiz mba e tudo em outras áreas), logo que comecei a migrar de área meu pensamento era que estava "perdendo" todos os anos de estudo e trabalho que eu tinha. Achava que começaria do zero, hoje 1 ano trabalhando com tecnologia vejo que programar e ter o skill técnico é importante, mas tudo que estudei e trabalhei antes serve muito. Vejo alguns colegas com dificuldades em soft skills (tanto com os próprios colegas, líder, cliente) quanto para entender e tomar decisõe para o negócio e isso tem sido um enorme diferencial meu (treinei isso por anos). Meu maior medo era de não ser bom tecnicamente e agora parece questão de tempo e esforço para dominar uma tecnologia e msm assim demora menos do que melhorar as soft skills (por isso exercitar essa parte desde sempre é um diferencial enorme).

2

Nossa, muito top esse post!
Ainda nessa semana eu estava refletindo exatamente sobre isso depois de observar como as coisas acontecem nas empresas em que trabalhei.
E de tudo que li aqui, acredito que a comunicação e o conhecimento do negócio são os itens que mais se deve dar atenção. Geralmente é focando nisso que nos sentimos mais engajados e consequentemente conseguimos evoluir na nossa carreira de uma forma muito massa.
Muito obrigado pelo conteúdo!

1

Obrigado Henrique! De fato o conhecimento do negócio é algo que vejo constantemente colegas subestimando e deixando de lado e focando exclusivamente na parte técnica. A questão é que ter conhecimento do negócio te trará uma noção muito superior do "porque das coisas" e irá facilitar muito nos insights, te permitindo até sugerir novas arquiteturas e design de features inteiras!

1

Que post legal, estou começando minha carreira agora desenvolvendo sites para uma empresa em HTML e SASS e ver a história de outros programadores sempre me inspira a continuar estudando. Obrigado pelas dicas, com certeza vou levar elas comigo.

1
1

Obrigado por compartilhar sua história, com certeza vai servir de inspiração pra mais gente, assim como me contagiou da cabeça aos pés. Mais uma vez, obrigado!

2

Fico feliz que tenha gostado e até te inspirado! É importante a gente não se enganar: trabalhar com desenvolvimento é difícil sim! Mas o fato de termos uma comunidade tão viva e tão disposta a ajudar uns aos outros é algo que, com certeza, torna tudo mais fácil e divertido :)

1
1

Texto sensacional!

Tenho estudado programação de verdade há pouco mais de 1 ano e recentemente consegui meu primeiro freela. Meu foco para o ano que vem é conseguir uma vaga de desenvolvedor júnior e vendo tua trajetória me deixou mais animado. Sou apaixonado por essa área e estudo todos os dias em busca do meu objetivo, sinto que quanto mais estudo, menos eu sei e isso me motiva a estudar. Confesso que ainda estou meio perdido, já passei por alguns processos seletivos mas ainda não fui aprovado em nenhum. Fico pensando no quê eu posso melhorar e o que falta de fato para eu conseguir ser contratado em uma empresa. Mas é aquela, não vou desistir dos meus objetivos e tentar melhorar todos os dias!

Agradeço o seu relato! Pude tirar uns bons insights dele.

1

Terminei o ensino médio e sei que oque eu quero é sistema de informação, mas tenho muito receio porque devido a quantidade de matérias que eu tinha para estudar nunca pude me dedicar a real aprender programação, é algo que eu quero muito mas sempre tenho a dúvida, da para entrar no curso de sistema de informação sem saber programar?

2

Eu tambem fiz o curso de Sistemas de Informação e quando eu entrei eu sabia bem o básico da programação. Acho que a grade depende da instituição, mas no meu caso ele começou bem na base, ensinando os algoritmos no papel e depois indo para C. Então relaxa, pode entrar sem saber programar, a ideia é justamente você aprender ^^
Um dica é ir indo praticando em casa ao mesmo tempo e ir procurando cursos e treinamentos no youtube da vida mesmo.

1
2
1

Sim, a grade de ensino lhe dará o pontapé inicial para a programação, mas só o pontapé mesmo, eu curso 6° semestre de SI e se eu voltasse no tempo diria para mim que faria somente se fosse necessário, pois conteúdos de programação disponibilizados pela internet vão mais a fundo do que na faculdade consequentemente lhe dando mais embasamento técnico indo do básico ao avançado, e baseado no contexto do mercado brasileiro maioria das empresas de pequeno/médio porte não exige curso superior como requisito, porém big techs exigem, aí depende de seus objetivos como programador a médio/longo prazo. Mas só para não falar ponto negativo, um dos pontos fortes da faculdade é o networking com futuros profissionais da sua área, a qual interação virtual nenhuma substituirá interação presencial.

-1

Sobre o topico Código não é tudo!, afirmar que trabalhar com programação é passar boa parte do seu tempo discutindo com o time, escrevendo, revisando e apresentando designs. O código é a parte final de um processo de muita interação, discussão e apresentação. é uma grande mentira(em partes).

Infelizmente nem todo mundo vive ou vai viver essa realidade, todo software tem seu nicho de público e sua maturidade de desenvolvimento…

No começo boa parte dos software são feitos no Go Horse, pois necessitam agregar valor para os clientes, só depois de algum tempo se pensa em reescrever o código ou até mesmo reestruturar a equipe, mudar metodologia ágil e afins…

Só que tem software que nem vai chegar nessa fase de melhora ou até mesmo o próprio desenvolvedor não vai chegar nessa fase de um produto pois vai ficar migrando de vaga atrás de salários melhores(e tá tudo bem).

1

Hmm... de fato, infelizmente o "Go Horse" é algo bem presente no mundo do desenvolvimento, mas não é algo que deva ser encorajado, muito pelo contrário. Quando olho para os lados, vejo cada vez mais os times e colegas discutindo sobre como entregar códigos melhores, mais eficientes e de fácil manutenção. Na minha experiência, as discussões de design de features foram sempre presentes e encorajadas e acredito que esse seja o fluxo ideal. Se você olhar para as empresas que estão na vanguarda da tecnologia, você perceberá que sim, o código é a etapa final de um processo de muita discussão, revisão e apresentações de design. Cada vez mais investindo em MVPs e POCs, produtos menores que não precisam de Go Horse para conseguir serem rápidos e abrindo mão da qualidade. Reescrever código é desperdício de recurso e todo e qualquer Padrão de Projeto luta contra isso. Muito dificilmente os clientes vão investir em um software que não foi pensado como secury-by-design por exemplo, o custo de um data breach é algo que muitos não podem arriscar.