O Agile Talent é a resposta para o projeto de sistemas embarcados?
Publicados: 2022-03-11De calculadoras a carros, os sistemas embarcados estão em todos os lugares que olhamos. Enquanto você lê este artigo, o dispositivo que você está usando conta com dezenas desses sistemas – caracterizados por software emaranhado e servindo a um propósito dentro de um hardware – para exibir texto e reagir aos seus comandos. Sistemas integrados, é seguro dizer, são fundamentais para a vida diária de indivíduos e indústrias inteiras.
O design de sistemas embarcados tornou-se ainda mais vital e onipresente com o surgimento da “Internet das Coisas” (IoT). A IoT é alimentada por sistemas embarcados e seu escopo está se expandindo rapidamente.
Um estudo de 2013 divulgado pela McKinsey & Co. estimou que até 2020, cerca de 30 bilhões de objetos poderiam ser conectados à IoT. Um estudo de 2017 conduzido pelo Boston Consulting Group descobriu ainda que as empresas estão preparadas para gastar mais de US$ 250 bilhões em aplicativos e infraestrutura de IoT somente em 2020. Embora essas estimativas possam errar o alvo, a importância futura da IoT para empresas e consumidores parece garantida.
Dado o impacto significativo da IoT nos consumidores e o enorme potencial econômico, não é surpresa que os melhores engenheiros capazes de projetar e desenvolver sistemas embarcados estejam em alta demanda. Em alguns setores, no entanto, as mudanças trazidas pela IoT estão ultrapassando a capacidade das empresas de contratar esses talentos e construir equipes internas.
Esse problema é particularmente agudo em indústrias tradicionalmente centradas em hardware e maquinário pesado, em vez de desenvolvimento de software e campos como aprendizado de máquina e inteligência artificial. Além disso, essas indústrias geralmente estão localizadas longe dos epicentros de tecnologia nas costas leste e oeste dos EUA, tornando ainda mais difícil persuadir os melhores talentos do mercado de trabalho a escolhê-los em vez de alternativas de alta tecnologia do Vale do Silício. A necessidade dessas indústrias de contratar especialistas em sistemas embarcados nunca foi tão grande e só aumentará.
A necessidade dessas indústrias de contratar especialistas em sistemas embarcados nunca foi tão grande e só aumentará.
Neste artigo, veremos que o talento ágil – essencialmente definido como freelancers especializados – pode permitir que essas indústrias se adaptem com sucesso aos desafios impostos pela importância cada vez maior dos sistemas embarcados. Usando a indústria automotiva como exemplo, também obteremos uma compreensão de alguns dos principais obstáculos ao uso de desenvolvedores de sistemas embarcados ágeis e como eles podem ser superados.
Desenvolvimento de Sistemas Embarcados Ágeis – Desafios e Soluções
Dois dos maiores desafios enfrentados pelas empresas que buscam construir experiência em desenvolvimento de sistemas embarcados – encontrar o talento certo e incentivar a realocação de talentos – podem ser resolvidos com o uso de engenheiros ágeis, que podem trabalhar internamente ou remotamente.
Escassez de Talentos
Engenheiros de sistemas embarcados estão em falta. Embora seja difícil obter estimativas empíricas sobre o número de desenvolvedores de sistemas embarcados atualmente na força de trabalho, uma variedade de dados sobre a demanda por tal talento fornece uma noção do tamanho relativo do mercado de sistemas embarcados.
O Bureau of Labor Statistics descobriu que, em 2016, havia cerca de 1,3 milhão de empregos em engenharia de software, contra 74.000 empregos em engenharia de hardware de computador. Uma pesquisa básica no Indeed, um mecanismo de busca de empregos, gera cerca de 63.000 vagas em aberto no desenvolvimento de aplicativos, contra cerca de 12.000 vagas em sistemas embarcados. Embora sejam métricas altamente imperfeitas, elas sugerem que o mercado de sistemas embarcados é ofuscado pelo da engenharia de software tradicional.
A escassez de especialistas em sistemas embarcados pode ser explicada, pelo menos em parte, pela educação. Em um artigo de 2014, Robert Dewar, professor emérito da Universidade de Nova York, argumentou que os departamentos de ciência da computação não enfatizaram habilidades – como matemática avançada, trabalho em equipe, compreensão de sistemas de visão geral e conhecimento de uma ampla gama de linguagens de programação – que são essenciais para o desenvolvimento de sistemas embarcados.
Com treinamento insuficiente, há uma lacuna significativa entre os melhores desenvolvedores de sistemas embarcados e os demais. Marcos Oviedo, engenheiro de sistemas embarcados da Toptal e arquiteto de software de longa data da Intel, diz que, em sua experiência, muitos engenheiros não possuem a combinação de experiência em desenvolvimento de hardware e software essencial para o sucesso do projeto de sistemas embarcados. Usar o talento ágil, diz ele, pode dar às empresas uma solução para esse problema.
O talento remoto, em particular, pode gerar benefícios significativos, pois permite que as empresas acessem um profundo conjunto de talentos com uma ampla gama de habilidades: “Ser capaz de fornecer boas e maduras práticas de desenvolvimento de software [junto com experiência em hardware] aumentará a qualidade do produto”, diz Oviedo. “Isso é definitivamente algo que o talento remoto pode trazer para a mesa.”
Localização, Localização, Localização
Com grande parte do mundo da tecnologia concentrado nas costas leste e oeste dos EUA, pode ser difícil motivar os melhores talentos da tecnologia a trabalhar – e se estabelecer – em outro lugar.
Embora esse problema se aplique a empresas que precisam de talentos tecnológicos de todos os tipos, é particularmente premente para empresas que procuram talentos em áreas como sistemas embarcados, que estão em falta.
O talento ágil pode contribuir significativamente para projetos que dependem de componentes de hardware padronizados e fáceis de manusear.
O talento ágil pode resolver esse problema permitindo que as empresas contratem os melhores engenheiros que podem morar onde quiserem. Em vez de travar uma batalha árdua na tentativa de persuadir os engenheiros de sistemas embarcados a se mudarem – e, portanto, limitando-se a contratar apenas os engenheiros dispostos a fazer tal mudança – as empresas podem contratar talentos que trabalhem de qualquer lugar. Isso elimina uma grande barreira para a contratação dos melhores engenheiros para o trabalho em questão e equipa melhor as empresas para desenvolver conhecimento com rapidez e sucesso em sistemas embarcados.
Agora que entendemos alguns dos principais problemas que o talento ágil pode resolver, podemos explorar as condições que permitem que as empresas usem esse talento e as condições que tornam isso mais difícil.
Quando os desenvolvedores de sistemas embarcados ágeis são viáveis?
Para alguns desenvolvedores de sistemas embarcados, trabalhar remotamente é mais fácil falar do que fazer. Enquanto um engenheiro pode trabalhar em um aplicativo móvel no conforto de qualquer cafeteria ao redor do mundo, o desenvolvimento de sistemas baseados em software para grandes peças de hardware exige um conhecimento profundo do hardware em questão, o que pode ser difícil de obter sem recursos físicos. proximidade com o próprio hardware.
É importante entender quando tal talento é apropriado e quando pode não ser.
Quando o talento ágil ou remoto é viável: o talento ágil pode contribuir significativamente para projetos que dependem de componentes de hardware padronizados e fáceis de manusear. Nesses casos, as empresas podem fornecer aos engenheiros embarcados especificações de hardware ou kits de desenvolvimento de software (SDKs) gerais que os engenheiros podem modificar e usar para desenvolver seus produtos de qualquer lugar.
Flavio de Castro Alves Filho, desenvolvedor de sistemas embarcados com sede em São Paulo, Brasil, descobriu que as empresas geralmente fornecem a ele e sua equipe as ferramentas necessárias para concluir projetos remotamente. Ao trabalhar no desenvolvimento de sistemas embarcados para equipamentos de eletrocardiograma (ECG), por exemplo, Filho recebeu muitos dos hardwares básicos – conversores digitais, microprocessadores e microcontroladores – necessários para completar sua tarefa. “Se tivermos o hardware final, isso é bom, mas não é um requisito”, disse Filho.
Quando talentos ágeis ou remotos podem não ser viáveis: Por outro lado, usar talentos ágeis remotos pode ser um desafio para projetos que envolvem padrões de segurança rigorosos ou componentes de hardware particularmente grandes. Cabe a desenvolvedores de sistemas embarcados freelance proteger espaços físicos e equipamentos que lhes permitam trabalhar remotamente em uma ampla gama de casos. Ainda assim, esses casos (explorados mais no estudo de caso automotivo abaixo) podem exigir espaços de trabalho proibitivamente grandes para trabalho remoto ou ferramentas que podem ser inacessíveis.

Além disso, as empresas podem optar por contratar engenheiros em tempo integral em vez de talentos ágeis para certos projetos de sistemas embarcados de “missão crítica”. Esses projetos podem durar longos períodos – às vezes anos – e envolvem sistemas tão sensíveis que as empresas devem mantê-los estritamente internos.
Hayram Nicacio, Presidente da Society of Automotive Engineers Brasil, comenta sobre os sistemas de controle em veículos: “Eles não guardam [o desenvolvimento dos sistemas de controle] dentro de um cofre de sete chaves; eles o guardam dentro de sete cofres, um dentro do outro.” Em alguns casos, as empresas simplesmente não se sentirão confortáveis em contratar talentos ágeis devido à natureza altamente sensível ou proprietária do projeto.
Embora esses desafios sejam reais, o estudo de caso a seguir mostrará que eles não são insuperáveis.
Estudo de caso: A indústria automotiva
Como uma indústria legada, baseada em sistemas embarcados e passando por rápidas mudanças tecnológicas, a indústria automotiva fornece uma ilustração útil tanto da necessidade de experiência em sistemas embarcados quanto dos desafios em usar talentos ágeis para atender a essa necessidade.
A ascensão do carro digital
Em um nível fundamental, os carros sempre foram coleções intrincadas de sistemas embarcados, e dizer que sua complexidade aumentou ao longo do tempo seria um eufemismo grosseiro. Uma breve olhada no design de veículos vintage versus moderno demonstra esse ponto.
O Ford Modelo T, produzido entre 1908 e 1927, é, pelos padrões atuais, relativamente simples em seu design e construção. Um único Modelo T consistia em aproximadamente 1.500 peças distintas que engenheiros mecânicos e outros montaram nas linhas de montagem inovadoras da Ford. Um veículo moderno, por outro lado, tem cerca de 15.000 partes distintas.
No entanto, o aumento da complexidade automotiva resultou não apenas de um aumento no número de peças usadas, mas de uma expansão nos diferentes tipos de peças usadas. Embora o Modelo T incluísse alguns componentes elétricos básicos, ele foi construído principalmente com peças mecânicas. Um veículo moderno é uma mistura muito mais variada de componentes mecânicos, elétricos e de software. Como aponta um artigo de 2015 no The New York Times , os veículos premium produzidos hoje estão “entre as máquinas mais sofisticadas do planeta, contendo 100 milhões ou mais de linhas de código”. Embora os projetos de veículos de hoje ainda dependam fortemente de componentes mecânicos e engenharia eletromecânica, eles se tornaram cada vez mais dependentes de software e poder de computação.
Novo tipo de talento necessário para um novo tipo de carro
Como uma indústria centenária tradicionalmente centrada em sistemas eletromecânicos, agora em transição para tecnologias mais avançadas baseadas em software, a relativa escassez de engenheiros de software no setor automotivo é compreensível.
A indústria automobilística precisa de mais engenheiros de sistemas embarcados para navegar com sucesso no futuro cada vez mais complexo orientado por software.
Historicamente sediada em Detroit, Michigan, a indústria automobilística dos Estados Unidos também enfrentou dificuldades para atrair os melhores talentos de software do Vale do Silício. Esse problema é agravado ainda mais por empresas de alta tecnologia, como a Waymo da Alphabet, que fazem incursões agressivas no espaço automotivo. As empresas automobilísticas abordaram essa ameaça de várias maneiras. Alguns fizeram parcerias com players do setor de alta tecnologia, enquanto outros construíram com sucesso a experiência em alta tecnologia internamente. A indústria automobilística precisa de mais engenheiros de sistemas embarcados, entre outros especialistas em tecnologia avançada, para navegar com sucesso no futuro cada vez mais complexo baseado em software.
Superando desafios de talentos ágeis
Embora a indústria automobilística possa enfrentar desafios ao usar desenvolvedores de sistemas embarcados ágeis, existem várias soluções potenciais que devem ser compreendidas:
Requisitos de segurança:
Desafio: A indústria automobilística possui padrões rígidos de segurança funcional, como a ISO 26262, que moldam a forma como os sistemas e componentes são desenvolvidos. Embora não seja um requisito estrito, é útil que os desenvolvedores de sistemas embarcados neste campo tenham qualificações em conformidade com esses padrões.
Solução: Obter as certificações adequadas na ISO 26262 não é proibitivamente difícil para desenvolvedores de sistemas embarcados e pode ser feito por meio de uma série de cursos. Além disso, a ISO 26262 segue princípios essenciais de segurança funcional encontrados na norma IEC 61508, destinada a ser aplicada a indústrias como ferrovia e energia nuclear. Fabricantes de automóveis e fornecedores podem direcionar talentos de sistemas embarcados com experiência anterior nesses outros campos para melhor garantir a adesão à ISO 26262.
Especialização específica:
Desafio: Os veículos, principalmente devido à sua complexidade, têm muitos componentes que exigem conhecimentos específicos de domínio. A indústria automobilística depende do conhecimento e das técnicas de hardware – incluindo arquiteturas MCU lockstep, comunicação CAN e LIN – nas quais muitos engenheiros podem não ter experiência. Como esses especialistas de domínio são escassos, as empresas automobilísticas podem relutar em contratar freelancers por medo de um engenheiro com um conjunto de habilidades exclusivo deixar o projeto no meio do caminho, principalmente quando os projetos duram muitos meses ou até vários anos.
Solução: Talentos ágeis podem adquirir conhecimentos específicos em alguns dos sistemas empregados pela indústria automobilística por meio de cursos específicos sobre AUTOSAR e ASPICE, por exemplo. Se um engenheiro ágil tem experiência em um domínio relevante (MCUs, FPGAs, por exemplo), mas não tem experiência no espaço automotivo especificamente, ele pode ser orientado e orientado por outros que tenham essa experiência. Além disso, alguns engenheiros ágeis podem não ter restrições de tempo e, para alguns – principalmente aqueles dispostos a trabalhar no local – esses projetos podem representar oportunidades atraentes.
Logística/localização do hardware:
Desafio: Os veículos consistem em grandes componentes de hardware. Dependendo do componente e projeto específicos, os desenvolvedores de sistemas embarcados no espaço automotivo podem precisar de equipamentos de laboratório especializados ou proximidade física com o hardware que está sendo desenvolvido. Isso pode forçar as empresas automobilísticas a excluir freelancers remotos da consideração.
Solução: Os projetistas de sistemas embarcados ágeis podem adquirir seus próprios equipamentos – como osciloscópios, multímetros, ferramentas CAN, FlexRay, LIN para depuração, simuladores de células de bateria e ferramentas de teste ESD – bem como espaços de laboratório grandes o suficiente para acomodar uma ampla gama de componentes . Em casos envolvendo projetos que não podem ser feitos remotamente, talentos ágeis dispostos a viajar e trabalhar no local ainda podem encontrar sucesso.
Talento de sistemas embarcados ágeis como forma de inovar
É verdade que o talento remoto e ágil pode não ser, por si só, uma panacéia para todos os desafios de projeto de sistemas embarcados. Em vez disso, é crucial entender algumas das condições que podem dificultar o uso de desenvolvedores de sistemas embarcados ágeis e remotos e como esses desafios podem ser superados.
Também é importante ressaltar os benefícios intangíveis que o talento ágil pode trazer. Usar o talento ágil pode não apenas ajudar as empresas a resolver problemas de maneira conveniente, mas também injetar uma dose de criatividade que pode ser essencial para o design e o sucesso de um produto.
Quando Marcos Oviedo foi contratado para trabalhar remotamente para uma startup do Vale do Silício, o produto da empresa – uma faixa de cabeça para ajudar a ensinar os jogadores de basquete a melhor jogar uma bola na rede – não tinha protótipo, e a empresa não tinha um plano claramente definido sobre como para desenvolvê-lo. Embora trabalhando em um continente diferente, Oviedo construiu o primeiro protótipo da empresa através da compra de hardware básico e de fácil acesso e reutilização de hardware de outros dispositivos. Para esta empresa, o talento de design de sistemas embarcados ágeis serviu como uma faísca inovadora que provou ser fundamental para o desenvolvimento de produtos bem-sucedido.
Seja por meio de headbands mecânicos, relógios de pulso ou carros, a IoT continuará a se expandir e contar com sistemas embarcados. As empresas precisarão de fluência no design de sistemas incorporados para prosperar, e o talento ágil representa um recurso que não deve ser ignorado.