15 de setembro de 2022

Na iProov, a nossa missão é tornar a Internet um local mais seguro para pessoas e organizações em todo o mundo. Há uma enorme quantidade de esforços complexos que são necessários para isso e, para a Semana Nacional de Codificação, decidimos colocar os nossos especialistas em tecnologia no centro das atenções. 

Os nossos dois principais ramos de codificação são as equipas de Ciência e Tecnologia. Estas equipas trabalham numa grande variedade de projectos. Algumas estão envolvidas no treino de IA para proteção contra ataques digitais injectados cada vez mais sofisticados. Outras concentram-se na análise das nossas taxas de conclusão e na identificação de áreas para tornar a nossa tecnologia mais eficiente. 

Embora o percurso de cada pessoa na programação seja diferente, o que é semelhante é a sua paixão pela programação. Colocámos três questões aos nossos programadores iProov:

O que o levou a interessar-se por programação?
  • O que é que lhe agrada no trabalho de codificação?
  • Que conselho daria a alguém que queira entrar no mundo da programação?
  • Continue a ler para obter algumas informações fascinantes!

    O que o levou a interessar-se por programação?

    Evgeny: Comecei a trabalhar como engenheiro de eletrónica/controlo e instrumentação. Toda a indústria se afastou da eletrónica para soluções baseadas em computadores. Para mim, foi uma mudança muito natural para sistemas baseados em computador e, ao longo do caminho, comecei a programar.

    Gemma: A minha primeira experiência de programação foi com o Lego Mindstorms, quando tinha 10 anos. Permitia construir um robô de Lego e programar o seu comportamento com uma lógica simples que utilizava os seus sensores e motores. Achei muito divertido, mas só comecei a "programar" no primeiro ano da universidade, quando estudei Física. Tive um módulo sobre programação em Python e descobri que podia utilizar Python para analisar os dados dos meus módulos experimentais muito mais rapidamente e de uma forma mais interpretável. No meu segundo ano, era tutor assistente no módulo de Python do primeiro ano. Ensinar outras pessoas a programar solidificou ainda mais a minha apreciação do código como uma ferramenta para resolver problemas variados e complexos.

    Vontade: Eu gostava de poder construir coisas que aproveitassem a ligação entre amigos, e mostrar cores fixes no ecrã era fantástico! Ao contrário do Lego, os teus pais não podiam pisar e magoar os pés num computador... pelo menos com o hardware que corria o Windows '95!

    Richard: Em 1980, eu tinha 12 anos e o meu irmão tinha acabado de comprar um Sinclair ZX80 com 1k de RAM. Ele tinha acabado de perceber o que era a programação e partilhou um algoritmo simples de ordenação de bolhas de dez linhas que tinha escrito em (Super)BASIC. Demorou uma hora a transmitir o conceito de IFs e loops, e o que era o código, antes de se aperceber. Na altura, a Matemática era a minha disciplina favorita na escola e, por isso, a primeira coisa que disse foi: "Ena! Matemática que mexe!" Fiquei imediatamente apanhado.

    Laolu: Decidi estudar um módulo opcional de engenharia informática na universidade que me levou a programar... embora também dê crédito a um dos meus programas de televisão favoritos: Silicon Valley!

    Paola: Vinda de um país com elevadas taxas de desemprego (especialmente para os jovens), estava à procura de uma carreira que fosse superinteressante e algo de que gostasse, mas que também garantisse oportunidades para mim e que fosse bem paga, tanto no meu país como no estrangeiro. Aprender a programar encaixava no meu perfil.

    Pedro: Comecei a programar como parte do meu mestrado, mas, honestamente, queria encontrar a forma mais eficiente de responder a perguntas simples que demorariam demasiado tempo a contar, e a programação permitiu-me fazer isso.

    Ed: Lembro-me de ver um vídeo no YouTube que explicava como treinar uma IA para jogar Super Mario e pensei que adorava poder fazer isso!

    Julius: Interessei-me muito pela aprendizagem profunda antes de começar o meu doutoramento.

    Amitabh: A minha principal influência foi a família. Mas uma influência secundária foi saber que os programas/software de computador ajudaram os astronautas da Apollo 11 a navegar até à Lua e a aterrar nela, e isso inspirou-me.

    Violeta: Tenho programado desde o início da minha adolescência. Tive a sorte de frequentar uma escola especializada que ensinava programação juntamente com matemática avançada. Tínhamos uma sala de aula inteira equipada com PCs para praticar (há mais de três décadas, isso era bastante raro!)

    Stefan: No liceu tive uma aula de programação básica - era muito mais interessante do que todas as minhas outras disciplinas!

    Kiran: Uma introdução um pouco controversa à codificação; mas comecei a fazê-lo na universidade e não gostei mesmo nada! Mas na minha primeira função após a universidade, era analista e foi aí que vi realmente os benefícios que teria e a diferença que poderia fazer com a programação - era tão importante ter essa experiência prática!

    O que é que lhe agrada no trabalho de codificação?

    Evgeny: A programação permite-nos trabalhar com tecnologias interessantes e muito avançadas em muitas áreas e sectores diferentes. Estou a falar literalmente; desde o mais simples sítio Web até ao lançamento de uma nave espacial!

    Gemma: Sou uma engenheira de coração e escrever código é uma forma incrivelmente satisfatória de construir algo. Há tantos problemas que se podem resolver e podemos ver imediatamente os resultados do que construímos.

    O Will: Há muitas maneiras de manter as coisas divertidas. Para mim, é poder visualizar e compreender o sistema à medida que ele funciona, para que o design possa ser refinado, o desperdício eliminado e as instruções optimizadas ao longo do tempo. Também é possível isolar um aspeto da construção e concentrar-se nele, quer seja a otimização dos custos ou o trabalho na experiência do utilizador.

    Richard: Uma vez li que, de todas as carreiras que existem, a de programador encaixa perfeitamente no meio entre a processual e a criativa. Temos de nos lembrar que somos engenheiros a construir algo que não tem forma corpórea - não é real. Por isso, temos de imaginar que é uma máquina e dar nomes às peças que correspondem a algo significativo. O conceito da máquina que construímos está, portanto, todo guardado na nossa imaginação.

    Para mim, a melhor parte é a resolução de problemas. A programação é uma arquitetura e uma engenharia concebidas para resolver problemas maiores, mas que, por sua vez, consistem em muitos problemas mais pequenos.

    Laolu: Gosto das enormes quantidades de inovação e criatividade envolvidas na resolução de problemas realmente difíceis.

    Paola: Gosto da sensação de realização de ser capaz de compreender, construir e manter um sistema complexo.

    Peter: Gostei de poder começar algo no início do dia e obter resultados muito mais tarde devido à automatização que criámos - é realmente satisfatório.

    Ed: Com um pouco de imaginação, podemos fazer tudo o que quisermos!

    Júlio: Honestamente, é muito gratificante quando algo finalmente funciona. E sentimo-nos um pouco como um feiticeiro quando clicamos e funciona!

    Amitabh: Gosto do facto de o meu trabalho ter um impacto direto nos utilizadores finais. Tenho a oportunidade de melhorar as suas vidas, simplificando e automatizando processos manuais aborrecidos. À medida que o mundo se torna cada vez mais digital, fico entusiasmado com as oportunidades que apresenta para criar novos produtos e serviços interessantes que precisam de grandes programadores e engenheiros de software para os criar.

    Violeta: Qualquer tecnologia pode ser utilizada tanto para o bem como para o mal. Gosto de dar bom uso às minhas competências especializadas e ao meu poder cerebral, para criar algo valioso que ajude outras pessoas.

    Stefan: A resolução de problemas, a variedade que a função oferece e a criatividade envolvida. Todos os dias surgem novas ferramentas, tecnologias e investigação. Na iProov, especificamente, também tenho colegas de equipa fantásticos.

    Kiran: Nem sempre saber a resposta. É um ambiente em constante evolução. Por isso, estamos sempre a aprender.

    Que conselho daria a alguém que queira entrar no mundo da programação?

    Evgeny: Daria dois conselhos: não se limitem a codificar à superfície quando estão a aprender. Saiba o que acontece "por baixo do capô" - fique realmente preso. O segundo conselho... estuda Linux!

    Gemma: Tenho três conselhos principais: 1. Encontrar um problema para resolver; algo simples que lhe interesse, talvez uma tarefa repetitiva e aborrecida que possa ser automatizada ou uma tarefa de análise de dados que seja complicada no Excel. 2. Quando tiveres o teu problema, resolve-o! Aprenda as técnicas necessárias para fazer o que quer fazer. Não precisa de ser uma solução elegante, apenas uma solução. 3. Pratique! Resolva problemas variados e concentre-se em tornar o seu código legível e eficiente. Isto é mais fácil se tiveres alguém com quem falar sobre os desafios que enfrentas e para discutir potenciais soluções, por isso encontra um colega de programação!

    Vontade: Trabalhar de forma iterativa e não pensar demasiado no assunto. Os conceitos são os mesmos, independentemente de se começar com programação de arrastar e largar, fórmulas de folhas de cálculo ou qualquer uma das linguagens populares. Ajuda ter um problema que se quer automatizar num espaço que se compreende - dessa forma, pode concentrar-se em aprender as coisas novas, lançar a versão 1 e depois voltar atrás e melhorá-la.

    Richard: O meu conselho para qualquer pessoa que esteja a pensar numa carreira: descubra o que realmente gosta de fazer e faça-o, porque assim não pode deixar de ser feliz e bem sucedido. Falem com algumas pessoas sobre o que esses empregos implicam.

    Laolu: Ser proactivo no ensino de si próprio. A programação tem muito que se lhe diga e é essencial aprender as bases.

    Paola: Quando estou a tentar aprender algo novo, ajuda-me muito escolher algo que gostaria construir ou um problema que gostaria gostaria resolver e usar isso como motor do meu processo de aprendizagem, em vez de estudar passivamente sem um objetivo.

    Pedro: Encontra um projeto que te interesse e usa-o como desculpa para praticares programação. Pode ser qualquer coisa, desde contar tudo numa folha de cálculo ou criar uma lista de todos os filmes feitos por um determinado ator. Encontrar um problema e depois tentar resolvê-lo com código dá-nos uma boa motivação para continuar.

    Ed: Praticar Praticar! Não tenhas medo de te empenhar e de cometer erros. É a melhor maneira de aprender.

    Júlio: Estar sempre a aprender! Considero o Stack Overflow uma ferramenta útil, por isso, para começar, recomendo a sua utilização.

    Amitabh: A programação requer paciência. Deve-se ter sempre em mente o utilizador final e colocar-se no lugar dele. Construa algo que os apaixone. Mantenha uma mente aberta e esteja disposto a aprender sobre novas tecnologias e metodologias. Esteja disposto a experimentar quando não existe uma solução óbvia. Não tente reinventar a roda, mas esteja disposto a construí-la de novo e de novo quando estiver a aprender. Por último, mas não menos importante, siga os princípios de desenvolvimento de software - leve-os a peito porque o ajudarão a construir coisas fenomenais.

    Violeta: As qualidades necessárias são: atenção ao pormenor, uma mente lógica e a capacidade de ter várias coisas na cabeça ao mesmo tempo. Se fores assim, então tudo o resto é apenas uma questão de prática. Mas o mais importante é perceber porque é que quer aprender. Qual é o seu objetivo - o que quer alcançar com ela? É apenas uma ferramenta, um meio para um fim maior.

    Stefan: Estudar muito, aprender coisas novas com regularidade e desfrutar do processo. Este sector prospera com a constante melhoria e aperfeiçoamento das ferramentas e práticas de engenharia de software e codificação em geral.

    Kiran: Experimenta! Qual é o pior que pode acontecer?

    Sente-se inspirado? Veja as nossas funções actuais.