Carreira Dev

21 set, 2018

Diga adeus à era do programador das cavernas!

100 visualizações
Publicidade

Quando falamos sobre profissionais de tecnologia – principalmente com pessoas que não trabalharam diretamente na área – logo vem à mente o mesmo perfil: uma pessoa extremamente tímida e pouco comunicativa, que usa óculos, é ótima com operações matemáticas (e impressoras!), gosta de videogames, séries e filmes, trabalha bem sozinha e não sai da frente do computador definitivamente por nada.

Embora esse estereótipo possa ter sido verdade em algum ponto da história e ainda represente uma parcela dos(as) desenvolvedores(as) de software, essa descrição já não é verdade há muito tempo.

Com a criação e o desenvolvimento da Internet, a informação se tornou mais acessível e, desde então, começaram a surgir profissionais de tecnologia com os mais diversos estilos, cores, gêneros e personalidades (e isso é ótimo!). O que antes era restrito à academia se tornou público e acessível. E junto a toda essa evolução, o mercado de trabalho não ficou para trás.

Os processos que antes eram manuais e demorados, se tornaram automáticos e instantâneos. O que era feito de forma artesanal, hoje é feito por computadores através de algoritmos complexos. E para acompanhar toda essa evolução, o modo como desenvolvemos software também mudou. Ou seja, o mundo todo evoluiu, e os profissionais de tecnologia também.

Se voltarmos no início da era da computação e compararmos os profissionais da época com os que temos hoje, sem dificuldades notamos uma série de diferenças. O primeiro de tudo era que o modo de trabalho era extremamente diferente.

Como o ciclo de desenvolvimento dos projetos era bem longo (modelo em cascata), com duração de vários meses (ou mesmo anos), esses profissionais eram geralmente isolados e apenas davam as caras para fazer as entregas lá na etapa final do projeto.

Não havia tanta comunicação, afinal, não era necessário, já que os requisitos eram todos especificados no início do projeto. Esse modo de trabalho acabou formando a imagem do (a) programador (a) que citei acima.

Modelo de desenvolvimento em cascata

Com o passar dos anos, esse modelo se tornou insustentável, já que o tempo de desenvolvimento era muito longo e os clientes precisavam de entregas mais rápidas. Não era raro os requisitos mudarem no meio do caminho e acabarem invalidando todo um projeto.

Para sanar essas dificuldades, surgiram as metodologias ágeis, como é o caso do Scrum. Em termos simples, a ideia é que, ao invés de termos ciclos longos de desenvolvimento com a entrega somente no final, temos ciclos menores de entregas contínuas que vão adequando o projeto de acordo com o feedback do cliente. A adoção desse modelo afetou diretamente o modo de trabalho dos (as) programadores (as), e é esse ponto que gostaria de discutir.

Modelo de desenvolvimento ágil

Para atender ao dinamismo da tecnologia, o profissional da atualidade precisa ser, acima de tudo, ágil. Com a explosão da internet e dos projetos de código aberto, inúmeras tecnologias surgem e morrem literalmente todos os dias. O profissional precisa ser flexível para conseguir se adaptar.

Mas ser bom de código é apenas um dos requisitos. Para se manter relevante e se destacar, o profissional precisa “sair da sua caverna” e interagir com o mundo à sua volta. Em outras palavras, é preciso saber se comunicar.

Hoje não existe muito espaço nas empresas para as pessoas que gostam de trabalhar sozinhas, afinal, os projetos hoje são multidisciplinares e envolvem muitas pessoas. Além de saber programar, é preciso saber conversar com os:

  • 1. Clientes para entender o negócio e os requisitos do projeto;
  • 2. Gerentes (e superiores) para estabelecer prazos e entregas;
  • 3. Membros da sua própria equipe para conseguir arquitetar e desenvolver o projeto;
  • 4. Designers para definir os layouts;
  • 5. Testadores para entender as falhas e erros;
  • 6. Responsáveis pela infraestrutura para entender como submeter o projeto para o cliente;
  • 7. Todos os envolvidos para atender a todas as demandas e assim criar um software que satisfaça todos os lados.

Não adianta saber implementar um algoritmo supercomplicado se não souber entender o que o cliente precisa. O software pode ter a melhor arquitetura do mundo, mas só terá valor real se atender à necessidade do cliente.

É verdade que muitos escolhem a área de TI como profissão por ser um trabalho que historicamente envolve pouco contato com outras pessoas, mas essa já não é mais uma realidade, tanto que em empresas de médio/grande porte, os profissionais são submetidos a dinâmicas de grupo antes mesmo de qualquer prova ou entrevista técnica. Claro que existem exceções, mas no geral é uma grande ilusão.

Até mesmo trabalhos remotos, que a princípio dão a falsa ideia de que são trabalhos isolados, envolvem muita comunicação. Seja pessoalmente ou por meio de um e-mail, telefone, WhatsApp, Skype e afins, o(a) programador(a) do século XXI precisa se comunicar.

***

Artigo publicado na revista iMasters, edição #26: https://issuu.com/imasters/docs/imasters_26_v6_isuu