Olá. Este artigo é parte de uma série em que falamos com desenvolvedores de software profissionais, perguntamos a eles como é escrever código para viver e talvez ganhemos alguns insights sobre a indústria de desenvolvimento de software ao longo do caminho.
Nosso convidado de hoje é um desenvolvedor Delphi e C ++ Builder que tem um conjunto incrivelmente impressionante de fotos dele sorrindo despreocupadamente nas encostas de alguns vulcões absolutamente deslumbrantes em vários locais espalhados pelo mundo. Stephane Jordi, também conhecido como Steve, é um geofísico suíço que deixou de ser um gênio da informática para se tornar a computação aplicada às necessidades da vida real. Ele se especializou em soluções de monitoramento, primeiro para atividades vulcânicas, depois para vigilância sísmica de usinas nucleares, e gosta de portar todas as ferramentas para as plataformas mais conhecidas.
Table of Contents
Oi Steve, muito obrigado por reservar um tempo para falar conosco hoje – acho que você acabou de sair de um longo voo.
Sim, depois disso, vou para a cama. Acordei há 26 horas e estou com jetlag🙂
Qual (is) produto (s) da Embarcadero você usa a) mais b) regularmente?
Eu diria Delphi para meus atuais desenvolvimentos de plataforma cruzada e C ++ Builder para software científico. Como estou envolvido na aquisição de dados, preciso de acesso de nível muito baixo a placas digitais e coisas assim. C ++ é mais inclinado a fazê-lo, uma vez que é compatível com uma vasta 3 rd ambiente ferramentas de terceiros.
Como e / ou por que você se tornou um desenvolvedor?
Um pouco por acaso. Em 1980 (comecei muito cedo), comprei uma calculadora portátil em Nova York e descobri durante a noite, durante o vôo de volta para a Suíça, que ela era programável. Eu não tinha ideia do que isso significava. A ideia de deixá-lo gravar e reproduzir sequências de instruções era como mágica. Era um HP-33C com 49 linhas (teclas) que podiam ser gravadas. Então meu colégio estava oferecendo aulas opcionais como culinária, teatro e também computação. Esse mundo ainda estava muito fechado e inacessível. Acredite ou não, mas comecei a desenvolver software usando cartões perfurados usando Fortran IV em grandes mainframes. Eu fui fisgado
Você acha que algum dia deixará de ser um desenvolvedor? Em caso afirmativo, o que viria a seguir?
Não é impossível. Depois de inserir isso em seu DNA, você só quer mais. Adoro tudo o que vem com o desenvolvimento: entender um problema ou uma necessidade, dividi-lo em pequenos pedaços, imaginar o que e como eles executariam as operações, escrever o código, xingar muito e, eventualmente, ver se funciona. O caminho da complexidade à entrega é maravilhoso.
O que fez você começar a usar Delphi / C ++ Builder?
Fui contratado para um trabalho de verão por uma empresa que tinha apenas TurboC v2 na época. Foi assim que descobri a linguagem C e a linha de produtos Borland, do Prolog ao C e ao Pascal. Então Delphi foi lançado e eu realmente gostei do aspecto RAD disso. Eu conhecia Pascal, então foi um salto fácil. Então eu usei todos os sabores do Turbo C / C ++, Borland C ++ e então C ++ Builder que foi uma evolução natural para seguir o Delphi. Usei o Turbo C ++ 3 para escrever meu primeiro software de monitoramento de vulcão na… Guatemala. Eu projetei a estrutura GUI completa no modo gráfico DOS. Isso me fez pular para a programação orientada a objetos e minha vida como desenvolvedor nunca mais foi a mesma depois disso. Foi uma pedra angular.
Se você pudesse dar algum conselho a um aluno que está considerando uma carreira como desenvolvedor de software, qual seria?
Para seguir seu coração e tentar. Encontre um objetivo, tente conseguir um projeto que signifique algo para você e então o produto final que você produz será incrível para você. O desenvolvimento tem muito a ver com abstração, mas também tem muito com a imaginação. É um processo incrivelmente criativo. Para mim, desenvolvimento é arte. Custa muito tempo e recursos, mas o resultado, a satisfação que você obtém, não tem preço e é muito gratificante.
Mantenha-se informado sobre as novas tendências e tecnologias. Descubra novas maneiras de escrever código como MVVM, injeção de dependência …
Tabs … ou espaços?
Espaços
Qual foi o melhor dia que você já teve como desenvolvedor?
O último dia da minha primeira estada na Guatemala em 1993, onde escrevi aquele software de monitoramento de vulcão para o meu mestrado em ciências. Passei 6 semanas lá e tudo era teórico. Então fiz o check-in para o vôo de volta à Europa e tive tempo para matar. O observatório fica do outro lado da rua do aeroporto e fiz uma última visita. 3 minutos antes de sair, sentimos um terremoto e vi meu software reagir instantaneamente, exibir a onda sísmica, analisá-la e qualificá-la como não vulcânica. Foi uma validação de última hora de todo o meu trabalho. Uma benção. Eu sabia que funcionava e ajudaria as pessoas. [ Esta é uma das validações mais impressionantes que já ouvi sobre o poder dos desenvolvedores de software para ajudar a mudar o mundo para sempre – IanB ]
Qual é a pior coisa de ser um desenvolvedor?
Ser perturbado por pessoas que não entendem você tem que se concentrar.
Qual é a dica de desenvolvimento mais legal que você conhece?
Na minha área, multithreading. Essencial para adquirir, analisar, classificar e criar gráficos quase em tempo real. Mas é complicado depurar.
Trabalhar em casa, trabalhar em um escritório, trabalhar em um plano aberto / espaço compartilhado? O que você prefere e por quê? Você pode escolher?
É bom trabalhar em casa porque, além das obrigações e horários familiares, muitas vezes você pode organizar seu tempo para trabalhar quando quiser, sem ser interrompido. Mas eu poderia trabalhar em espaços de co-working ou café. Quando se sentir inspirado, pare em qualquer lugar, tome um café e comece a programar. Não deixe o momento escapar de você.
Espaços abertos em escritórios, de jeito nenhum: apenas distrações.
Conte-nos algo interessante que você acha que talvez não saibamos.
Fui convidado para o observatório do vulcão Mt St Helens e eles não me entenderam quando eu disse que o que viram do meu software de monitoramento estava rodando em DOS e que eu criei tudo, todos os medidores, parafusos, mapas, botões, etc … sem qualquer 3 rd quadro partido. O Windows estava na versão 3.1 e não parecia tão legal.
Se você pudesse usar uma varinha mágica de “consertar a indústria de tecnologia”, o que mudaria?
Segurança. O mundo de hoje provavelmente não está suficientemente ciente dos riscos. Não apenas para dados pessoais, mas para infraestruturas sensíveis. Rede elétrica, hospitais, aviões … tudo isso pode e será hackeado. Podemos minimizar o risco pensando no futuro.
Você já esteve no Vale do Silício? Se sim, como foi? Se não, você já quis?
Sim, fiz algumas visitas. Meu trabalho como geofísico e cientista da computação me levou a algumas agências governamentais em Palo Alto, San Jose, Menlo Park. Estava fervendo ali. Eu ainda gostaria de visitar Cupertino algum dia …
Morei um pouco mais ao sul em Pasadena, CA, perto do Caltech e do JPL (Jet Propulsion Laboratory) onde muito se faz (missões a Marte).
Você já conheceu alguma figura famosa / bem conhecida da tecnologia? Quem foi? Como foi?
Eu esperava encontrar David I na próxima semana em sua casa, onde visitarei amigos, mas não funcionará desta vez por causa do Dia de Ação de Graças. Ele vai querer alguns chocolates finos suíços outra hora.
Eu adoraria conhecer Philippe Kahn, no entanto. Devo muito a ele com as ferramentas que ele forneceu. Mas ele entrou em contato comigo depois que postei um blog sobre minha carreira no meu site, onde agradeci pela Borland.
Se você pudesse convencer alguém a considerar Delphi ou C ++ Builder, qual seria o seu método, como você o faria?
Para o C ++ Builder, seria sua estreita conformidade com os padrões da linguagem.
Para Delphi, a facilidade de uso se, como um iniciante, você deseja pular para o desenvolvimento de software. Essa linguagem faz sentido e funciona bem.
E estou pensando mais ou menos como o que Frank Lauter disse em uma de suas entrevistas: por que usar linguagens gerenciadas ou pseudo-compiladas (Java, C #) quando você pode ter a coisa real? Não faça scripts, em vez disso, compile.
Qual produto de tecnologia você gostaria de ter inventado / projetado e por quê?
O computador portátil Tandy TRS-80 modelo 100 que usamos muito em cima de vulcões para calibrar e verificar nosso instrumento diretamente no campo. Um transformador de vida para cientistas. Era robusto e tinha uma interface RS232. Tudo que você precisa no campo. Funcionava com baterias.
Se você pudesse viver sua vida novamente, ainda se tornaria um desenvolvedor? Porque?
Sim, sem hesitação, adoro isso. Tive a sorte de poder usar dois chapéus ao mesmo tempo. Ser capaz de escrever software para uma área que gosto. Não acho que ficaria feliz em escrever software bancário, mesmo que seja útil. Eu não estava interessado em computação pela computação. Mas a computação aplicada a algo de que gosto é maravilhoso. Quer dizer, é uma loucura programar de manhã e ver os resultados à tarde quando está em campo, dentro de uma cratera vulcânica por exemplo.
A única coisa que eu faria diferente, porém, é não dizer a todos que sou um desenvolvedor. Para evitar se tornar a linha direta de fato para todos os seus amigos e problemas de computador da família.
Quantos cafés você bebe por dia e é o suficiente?
Provavelmente dois ou três, mas não preciso deles. Eu os pulo com frequência, sendo mais um pássaro atrasado.
Você é um falcão noturno que codifica até tarde da noite, uma pessoa matutina que acorda cedo e começa a trabalhar ou mantém algum tipo de horário normal de expediente?
Sempre tive melhor desempenho entre 22h e 3h. Adoro me sentir ativo quando os outros não, mesmo que não seja muito conveniente. Mas sou uma pessoa noturna para o desenvolvimento. Eu sempre brinco sobre sair da cama às 6 da manhã e acordar às 5 da tarde.
Em sua carreira, você já “puxou uma noite inteira” para lidar com algo que absolutamente precisava ser feito?
Sim absolutamente. Não por obrigação, pelo entusiasmo em terminar algo que acho incrível.
Ou desejando realmente matar um bug. De que adianta ir para a cama se ainda pensa no que poderia fazer? Você não vai dormir de qualquer maneira.
Descreva algumas outras coisas que você fez em sua carreira que podem dar aos leitores uma ideia do que é um desenvolvedor.
Continue aprendendo, seja paciente e tenha sempre chocolate por perto. Estar atualizado com a tecnologia é importante para entender o mercado e as necessidades atuais. Compreenda também as tendências futuras. Não significa segui-los cegamente, mas eles podem definir seu ambiente e seu trabalho.
Qual é a pergunta mais estúpida que você recebe (nenhuma dessas conta!)
Quantos dias vai demorar? Ou pior, quantas linhas esse software exigirá? Francamente, isso importa? Está relacionado à qualidade?
Você faz orçamentos para trabalhar com clientes? Se o fizer, sem revelar nada que o incomode, que tipo de processo você usa?
Depende dos clientes. Normalmente, tenho uma taxa fixa para um projeto. Às vezes trabalho por hora ou dia em programas de ajuda humanitária.
Como você impede que os clientes / gerentes / gerentes de programa ‘aumentem de recursos’?
Sempre pergunto em qual recurso o novo será desenvolvido. Você não pode ter tanto no prazo alocado quanto no orçamento se continuar adicionando coisas, você sacrificará outro. Vamos primeiro obter a v1.0 e depois falaremos sobre 1.1, 1.2, etc. Nesse sentido, os conceitos do Agile podem alimentar o aumento de recursos se usados de forma descuidada, pois permitem a adaptação ao longo da estrada.
Descreva uma sessão típica de codificação para você. Como isso começou? Você faz pausas? Você tem algum ritual / hábito para acompanhá-lo?
Eu uso muito papel. Eu escrevo muito: gráficos, fluxogramas, ideias, diagramas. Então eu faço a digitação e nunca paro.
Ultimamente, descobri que trabalhar em pequenas sessões é muito produtivo. Eu uso a técnica Pomodoro : 25 minutos de programação e 5 minutos de descanso, faço 4 vezes e depois faço um intervalo de 15 minutos. Tente alcançar de 10 a 12 sessões por dia. [ Eu também uso a Técnica Pomodoro – IanB ].
Você ouve música enquanto codifica? Se sim, você pode nos contar algumas faixas / artistas / performances?
Raramente. Eu acho que é muita distração. Algumas músicas são perfeitas. Clássico e ainda ouço Peter Gabriel “Passion”. Apenas música instrumental inspirada na música africana.
Eu uso muito o “ Noisli ”, um aplicativo que imita ambientes naturais que você pode configurar. Baixo o suficiente para não distrair, mas alto o suficiente para cobrir o ruído ambiente
Você usa algum método ou técnica como Agile, Scrum, Kanban, TDD? Se sim, por quê? Se não, por quê?
Scrum e Kanban quando os clientes me pedem.
Eu sempre usei Kanban naturalmente, mesmo antes de saber o que era: eu tinha um daqueles cadernos cortados em 4 faixas horizontais. Mude para o modo paisagem para que as bandas se tornem colunas e você possa adicionar listas de tarefas a cada uma delas, movendo os itens. Tipo de Kanban. Agora eu uso o DayMap .
Você rastreia bugs? Se você fizer isso, o que você recomenda?
sim. Eu sei que os primeiros resultados não serão corretos, mas especialmente sei que você não pode ignorá-los, pois eles irão atingir mais cedo ou mais tarde. E é melhor você consertá-los quando estiver ciente deles. Daqui a cinco anos, você não saberá por que seu software está se comportando mal e não se lembrará da possível origem.
O teste de unidade é capital. Você simplificará sua vida e aumentará a qualidade e estabilidade de seu software.
Qual foi a melhor pergunta que você já fez em uma entrevista e como você lidou com isso?
Por que nós? Minha resposta: porque serei livre para realizar meu trabalho para agradar a qualquer pessoa
Você já teve uma entrevista técnica que foi super tranquila – se sim, qual é o seu conselho para os outros? Se você teve uma entrevista desastrosa, o que deu errado e você precisa de um abraço?
Sim, um banco queria me contratar. Correu muito bem. Uma coisa é certa, é sempre melhor dizer “não sei” do que fingir saber algo totalmente novo para você. Você pode adicionar “mas vou aprender, parece legal”. Mostre que você é aberto e não arrogante
.
Um bom desenvolvedor de software:
Está aberto a outras pessoas e novas ideias.
Um mau desenvolvedor de software
Acha que sabe melhor.
iPhone, Android, outro – e por quê?
iPhone para uso no dia a dia, adoro o ecossistema.
Android para desenvolvimento de plataforma cruzada.
Para um desenvolvedor: PC vs Mac? Porque?
Mac. Para desenvolvimento de plataforma cruzada.
Gosto da aparência do Mac, mas passo 90% do meu tempo no Mac em uma máquina virtual Windows.
Qual é a única coisa pela qual você gostaria de ser lembrado?
Aquele software meu fazia parte de toda a cadeia que salvou apenas uma vida.
Qual é o melhor filme de desenvolvedor / hacker / tech / geek?
Eles geralmente envelhecem muito rapidamente. Mas eu adorava os Jogos de Guerra na época. Hoje não mais além da saudade. Foi um dos primeiros filmes de tecnologia.
Nenhum desenvolvedor deve ser visto sem:
Um caderno, uma caneta e um chocolate.
Se um filme fosse feito sobre sua vida, quem você gostaria que fosse você?
Alguém totalmente anônimo.
Você tem um livro, produto ou serviço que gostaria de mencionar?
Aquele que mudou minha vida: Programação Orientada a Objetos usando Turbo C ++ de Robert Lafore .
Como eu disse, fique aberto. Você sempre pode aprender. Eu adicionaria a maioria dos webinars de David I. , Nick Hodges ou Malcolm Groves . Bastante famoso no mundo Delphi / C ++ Builder. Mas aprendi muito com eles. Mesmo depois de ser um desenvolvedor por tantos anos.
Você tem um site que as pessoas podem visitar? Em caso afirmativo, qual é?
Sim, www.tiltsoft.com para o lado profissional, www.sjordi.com para o pessoal.
Se você usa o Twitter, qual é o seu identificador no Twitter?
Qual é o seu método preferido de contato com clientes em potencial?
O email. Isso não é invasivo e não se preocupa com fusos horários. Eu viajo muito.
Obrigado por participar Steve – algumas dicas excelentes também! Fiquei realmente impressionado com o que você disse sobre sua experiência na Guatemala; escrever código que pode impactar vidas, positiva ou negativamente, é frequentemente uma parte esquecida do que significa ser um desenvolvedor. Você pode ler mais sobre as experiências de Steve na Guatemala aqui: https://www.tiltsoft.com/goblog.php?post=from-fortran-to-the-world
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition