Práticas que todo desenvolvedor que não trabalha em uma equipe deveria seguir

A demanda de projetos na área de desenvolvimento nunca esteve tão aquecida como atualmente. Inclusive, escrevemos aqui no blog sobre o mercado de desenvolvimento web, vale muito a leitura.

Nesse mercado tão aquecido o número de programadores freelancers ou que trabalham sozinhos está cada dia maior. Em grandes projetos, mesmo os programadores freelancers que trabalham remotamente, possuem a possibilidade de participar de uma equipe, porém, na maioria dos pequenos e médios projetos isso nem sempre é possível. Muitos freelancers ou até profissionais fixos trabalham apenas em “EUQUIPE”, como brincávamos na faculdade referindo ao trabalho “solitário”.

Trabalhar sozinho em um projeto pode ser algo extremamente legal e prazeroso, porém, muito tempo trabalhando sozinho pode trazer alguns “prejuízos” para carreira de um desenvolvedor se ele não tomar alguns cuidados.

Falta de revisão de código

Quando um projeto de software está sendo desenvolvido em uma equipe é normal que vários programadores trabalhem sobre o mesmo trecho de código em momentos diferentes por necessidades próprias do projeto. Em uma equipe ideal, quando um programador mais experiente encontra um trecho de código que ele não acha legal, normalmente tende a conversar com quem escreveu para dar dicas sobre uma melhor maneira de desenvolver aquele trecho.

Em outros projetos quando um código é commitado, o próprio pessoal da equipe passa no código por conta própria para verificar se existe algum trecho a ser melhorado e, utilizando serviços como GitHub, levantam uma discussão sobre as decisões tomadas.

Dependendo da metodologia usada no projeto é possível que seja utilizada a prática de programação em par, onde dois desenvolvedores trabalham juntos com objetivo de escrever um código com mais qualidade.

Essas práticas podem aumentar a qualidade do código do desenvolvedor, pois ele aprende a pensar de vários pontos de vista na hora de resolver um determinado problema, além da experiência natural que ele ganha de trabalhar com outros profissionais.

Quando o desenvolvedor trabalha sozinho, normalmente não é possível ter esse feedback natural do código. Além disso, ele não tem a possibilidade de analisar o código de outros desenvolvedores. O problema disso é que ele pode escrever um código ruim por não conhecer as práticas corretas ou até mesmo escrever código com qualidade extremamente baixa por falta de tempo e, como ninguém vai ler aquele código, isso acaba virando um padrão para ele, o que também é um grave problema.

Problema na escolha das tecnologias

Quando estamos em uma equipe normalmente existem vários tipos de desenvolvedores envolvidos. Existem aqueles “hipsters” que gostam de coisas diferentes, querem usar aquele banco dados que ninguém conhece, aquela lib beta e outras coisas do tipo. Existem também aqueles que estão sempre ligados às novidades, porém, são um pouco mais conservadores, além, claro, daqueles que são extremamente conservadores. Quando todos esses perfis se misturam a escolha das tecnologias tende a se equilibrar e chegar a um meio termo bacana.

O problema é quando uma única pessoa vai fazer a escolha das tecnologias de um projeto. Se for alguém extremamente hipster pode acabar escolhendo recursos que no andamento do projeto causem algum problema de compatibilidade ou que seja necessário desenvolver algo do zero e que já existe pronto em outras tecnologias. Ao contrário, se o desenvolvedor for conservador, ele pode acabar ficando anos em um mesmo conjunto tecnologias por comodidade, o que geralmente é mais comum de acontecer. O problema é que o desenvolvedor pode acabar “parando no tempo”.

Habilidade de trabalhar em equipe

Trabalhar em equipe requer além de skills de desenvolvimento de software. Pessoas geralmente pensam de modo diferente, pode ser difícil para muita gente aceitar as opiniões alheias sobre os seus trabalhos. Existem também as dificuldades de comunicação, empatia e outras habilidades necessárias para trabalhar em equipe.

Trabalhando isolado o desenvolvedor tende a perder um pouco essas habilidades. Existem também aqueles desenvolvedores que nunca trabalharam em equipe, esses podem não ter a chance de desenvolver essas habilidades.

O que podemos fazer para evitar esses problemas

Nesse ponto do artigo se você for um desenvolvedor carreira solo deve estar pensando em abrir um site de emprego e procurar uma equipe para trabalhar o mais rápido possível, porém, existem muitas coisas que podemos fazer para evitar tais problemas, o primeiro é ter ciência deles. Existem algumas práticas que podem nos ajudar a desenvolver as habilidades descritas acima mesmo trabalhando sozinhos.

Na verdade, a maioria das práticas expostas abaixo deveriam ser seguidas por todos os desenvolvedores, mas para quem trabalha sozinho elas são quase obrigatórias na minha opinião.

Participar da comunidade

Uma das coisas mais incríveis da área de desenvolvimento de software são as comunidades. Enquanto em muitas outras áreas os profissionais estão preocupados em esconder o modo como fazem determinado processo, nas comunidades de desenvolvimento estão sempre procurando dividir as experiências e entender como os problemas diários estão sendo resolvidos.

Para quem trabalha sozinho a comunidade pode evitar que se fique isolado do mercado. É possível absorver diversos comportamentos que você teria com a sua equipe de projeto, substituindo pela interação com o pessoal da comunidade.

Contato diário

Geralmente, assim como uma equipe de trabalho, o pessoal da comunidade está em contato quase todo dia. Existem membros mais ativos e outros menos, porém, se acompanhar o histórico, com certeza todo dia terá algo para ler. Cada comunidade tem um modo de se comunicar, mas os principais escolhidos são:

  • Slack
  • Telegram
  • Grupos no Facebook
  • Fóruns

Geralmente nesses grupos muitos desenvolvedores tiram dúvidas desde coisas mais simples até decisões complexas de projeto. Outras pessoas postam artigos que escrevem e que acham importante compartilhar. Existem também oportunidades de trabalho para freelancers e emprego fixo, além de convites para meetups e outros eventos.

Os grupos de comunidade podem ser uma grande oportunidade para tirar dúvidas, porém, muito além disso, existe a possibilidade de ajudar outras pessoas. Um dos melhores modos de aprender algo é ensinando, digo isso por experiência própria. Quando precisar explicar algo para alguém você precisará pensar sobre aquilo, pesquisará tudo para dar uma resposta correta. Outra grande oportunidade é compartilhar conteúdo, se tiver tempo escreva artigos e tutoriais. Isso vai aumentar o seu nível de conhecimento e, com certeza, também vai construir uma imagem sua na comunidade. Inclusive, caso queira ser um autor do nosso blog basta entrar em contato.

Eventos

Os eventos de comunidade são algo muito legal! Geralmente eles possuem palestras, coffee breaks e até happy hour. Neles é possível aprender novos recursos nas palestras, ver o que o pessoal está utilizando, conhecer novas pessoas, além da oportunidade de uma conversa mais descontraída.

Participar de projetos Open-source

Projetos open-source são uma ótima oportunidade para programadores trabalharem em equipe. Apesar de não ser exatamente do mesmo modo que uma equipe de trabalho convencional, esses projetos permitem você desenvolver algumas habilidades importantes para qualquer programador.

Analisar código de outros programadores

Para trabalhar em projetos open-source precisará entender e alterar código de várias pessoas diferentes. Com isso, terá a oportunidade ler código de diversos programadores diferentes, ganhando bastante experiência e repleto repertório de soluções.

Revisão do seu código

Ao enviar uma requisição de mudança para um projeto open-source, o código que escreveu ou modificou provavelmente passará por outros programadores, para só então depois ser aceito, com isso você terá o feedback deles.

Ajuda na documentação

Projetos open-source geralmente precisam de ajuda em outros aspectos que não estão ligados à programação em si. Um dos trabalhos mais importantes é a documentação. Caso ainda não se sinta seguro para realizar alterações no código, pode se oferecer para ajudar na criação da documentação ou até mesmo na tradução para português. Trabalhando nisso, automaticamente estará estudando sobre a ferramenta que se tem interesse.

Oferecer qualquer tipo de ajuda

Tanto nas comunidades, quanto em projetos open-source, sempre existe algum tipo de trabalho a ser feito. Seja em divulgação e organização de eventos, ajudando outras pessoas ou qualquer coisa do tipo, isso ajuda muito no engajamento com a comunidade.

Estar sempre aberto a novas tecnologias

Como falado no começo do artigo não precisa ser aquele desenvolvedor que pega qualquer tecnologia nova e já quer aplicar em projetos reais, mas também não precisa ser aquele que fica anos e anos usando a mesma coisa. Nossa área é muito rápida, dominar uma tecnologia hoje pode não significar nada daqui 3 anos.

Nesse ponto estar ligado nas comunidades, eventos, projetos open-source nos ajudam a saber que existem coisas novas, o quanto elas já estão sendo usadas e se realmente vale a pena colocar em seus projetos.

Investir em qualificação

As mudanças nas ferramentas fazem nossa área ser extremante volátil. Já falei isso no parágrafo acima e ao escolhermos essa área já estávamos cientes disso. É extremamente importante, além de todas as práticas faladas nesse artigo, investir constantemente em treinamentos.

Gosto muito da ideia pensar em treinamentos como curadoria de conteúdo. Hoje em dia existe muito conteúdo sobre tudo o se que possa imaginar. Na nossa área também é assim, existem ótimos artigos, podemos ter acesso a eles sem nenhum custo, porém, muitas vezes somos bombardeados por conteúdo e ficamos perdidos sobre qual caminho seguir. É exatamente nesse ponto que entram os treinamentos.

Nossos cursos aqui do TreinaWeb, além do fato dos instrutores possuírem grande experiência de mercado, outra grande vantagem é o planejamento do conteúdo. A grade é pensada da melhor forma possível para você entender um determinado conteúdo de forma gradual. O ambiente virtual e a metodologia são propícios para o ensino de tecnologia, além do suporte que permite tirar suas dúvidas sobre o conteúdo de forma rápida e dedicada. Isso garante um aprendizado muito rápido de novas tecnologias, permite se aprofundar nas que já conhecemos e os certificados possuem reconhecimento do mercado.

Conclusão

É extremamente importante se manter dentro das práticas de mercado e obter feedback sobre o nosso trabalho. As ideias acima podem muito lhe ajudar nesse ponto. Fique à vontade para nos contar nos comentários quais práticas você utiliza no dia a dia para manter a sua carreira e seu trabalho em alto nível.

Deixe seu comentário

Desenvolvedor, autor e instrutor. Apaixonado por desenvolvimento de software e tudo ligado a área de tecnologia. É autor de cursos em diversos temas, como, desenvolvimento back-end, cloud computing e CMSs. Nas horas vagas adora estudar sobre o mercado financeiro, cozinhar e brincar com pequeno Daniel de 1 ano.

JUNTE-SE A MAIS DE 150.000 PROGRAMADORES