No futuro dos devs: Low-code e IA. E aí ?

Cezar Taurion
4 min readNov 3, 2021

--

Uma das atividades profissionais mais demandadas nos últimos tempos é o de desenvolvedor de sistemas, ou dev. Já não é de hoje que a quantidade de pessoas que se capacitam nessa atividade é menor que o número de vagas abertas nas empresas. A pandemia acelerou drasticamente esse cenário, aumentando a demanda por esses profissionais, uma vez que forçou a grande maioria das empresas a se adaptarem abrupta e compulsoriamente ao universo digital e ao home-office, além de ter sido o empurrão que faltava para que essas empresas iniciassem a já atrasada Transformação Digital em seus processos e serviços. De acordo com uma pesquisa da Forrester, publicada em 2020, em 65% das organizações, a área de TI não consegue concluir tudo aquilo que é pedido pelas áreas de negócios, por conta da grande demanda de projetos. Com isso, os profissionais dessa área estão sendo amplamente disputados pelas empresas, gerando uma competição predatória por talentos. Descobrir, contratar e reter os melhores talentos em desenvolvimento de software é um dos maiores desafios das empresas hoje.

Um estudo de Evans Data Corporation apontou que existem atualmente 26,9 milhões de desenvolvedores em todo o mundo. O estudo também prevê que a população global de desenvolvedores, se nada mudar, aumentará para surpreendentes 45 milhões até 2030, significando um crescimento de 75% no número de desenvolvedores nessa década.

Por que essa demanda? Hoje, as empresas precisam não apenas ser excelentes no seu setor ou setores de atuação, mas também em desenvolvimento de software. Um estudo da McKinsey, “Developer Velocity: How software excellence fuels business performance” mostra claramente que as empresas que se destacam na velocidade (e qualidade) do desenvolvimento dos softwares, que são essenciais para seu negócio, apresentam diferenças substanciais em termos de resultados financeiros, comparadas com às que não estão dando a devida atenção a essa questão.

Assim, o contexto atual, de escassez de talentos, é insustentável. Começam a surgir alternativas que visam aumentar a produtividade e, eventualmente, diminuir a pressão que gera essa escassez. Vemos então o aumento na busca por soluções que automatizem parte da tarefa de desenvolvimento, bem como reduzam a demanda por profissionais. Um exemplo é o crescimento das tecnologias denominadas low-code.

O Gartner estima que o low-code será responsável por mais de 65% do desenvolvimento de aplicativos até 2024. Muitas das maiores empresas de tecnologia do mundo já dispõem de soluções para o mercado, e estão sendo investidos centenas de milhões de dólares em startups do setor.

Uma plataforma de desenvolvimento de low-code (LCDP — Low-code Development Platform) é um software que fornece o ambiente, que os programadores usam para criar software aplicativo, por meio de interfaces gráficas intuitivas e fáceis de usar, em vez da tradicional atividade de programação.

A adoção e o interesse por plataformas low-code está crescendo de forma massiva, porque a demanda por mais e mais software está crescendo exponencialmente, ao mesmo tempo em que as organizações precisam aumentar sua agilidade digital, sem depender de novas contratações. Com plataformas low-code é possível construir softwares, em menor tempo, demandando pouca atividade de programação.

A tecnologia é de fácil absorção, porque não exige conhecimentos aprofundados em linguagens de programação, já que o trabalho de codificação em si, passa a ser secundário durante o processo de desenvolvimento. Como o desenvolvimento usando plataformas low-code é muito rápido, ele incentiva uma abordagem mais ágil. O desenvolvimento pode, portanto, progredir de forma incremental e iterativa, permitindo que os usuários finais visualizem e moldem a solução à medida que ela se desenvolve, com isso ajudando a garantir que esteja bem alinhada com as suas necessidades.

Impulsionando mais ainda as mudanças, vemos sinais claros que as tecnologias de ML poderão contribuir em muito para automatizar determinadas tarefas que os desenvolvedores executam hoje. Por exemplo, uma das tarefas mais desagradáveis que os desenvolvedores têm que executar é depurar código. Principalmente código que foi escrito por outros. Essa tarefa chata pode chegar a 50% ou mais do tempo do trabalho de um dev e tomar tempo precioso e escasso para o cumprimento dos prazos cada vez mais curtos. Um sistema de ML desenvolvido pela Intel, ControlFlag, se propõe a detectar anomalias de codificação por conta própria e aprender com exemplos anteriores. O sistema, segundo a Intel, foi treinado em mais de 1 bilhão de linhas de código-fonte não rotulado, para aprender padrões de codificação, com alta precisão. O artigo “Intel’s ControlFlag taps AI to automatically detect errors in code” mostra um pouco mais de sua atuação.

Existem também sistemas de ML que ajudam no próprio desenvolvimento do código, como o desenvolvido pela startup Codota, que automaticamente complementa código escrito em diversas linguagens, como Python, C, HTML, Java, Scala, Kotlin, e JavaScript. Também vemos as BigTechs investindo pesado nesse contexto, como a Microsoft e a GitHub usando o GPT-3 da OpenAI para complementar e sugerir código, como Copilot. O Facebook com o Transcoder, para traduzir código de uma linguagem para outra, como de Cobol para Java. A Amazon recentemente liberou para uso uma ferramenta baseada em ML que gera recomendações para melhoria da qualidade do código. A ferramenta, CodeGuru, pode ser melhor entendida no artigo “Amazon launches AI-powered code review service CodeGuru in general availability”.Também lançou o CodeWhisperer para sugestões de código.

Todas essas iniciativas, ainda incipientes, mas evoluindo rápido, sinalizariam no futuro o fim dos devs? Não creio! Vejo muito mais como uma evolução do seu ferramental, do seu SDK básico, que vai tirar muito do trabalho robotizado e repetitivo que os devs atualmente fazem, e deixar isso com as máquinas. Mas vai provocar uma mudança no perfil e qualificação profissional: eles vão se concentrar onde sua expertise humana é muito mais importante: pensar e criar as soluções de software demandadas pelo negócio e não ficar focado em “codar”.

--

--

Cezar Taurion
Cezar Taurion

No responses yet