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.
Hoje estamos indo para o simplesmente lindo país da Dinamarca para falar com Embarcadero MVP Glenn Dufke. Muitas vezes, Glenn pode ser encontrado desafiando destemidamente os preconceitos que as pessoas têm da Delphi, expondo os benefícios da linguagem e a maneira como ela pode resolver os problemas de todos. Se eu já não fosse um campeão do Delphi, acho que Glenn poderia, sozinho, mudar minha mente e me fazer codificar com ele! Você encontrará Glenn em vários eventos online como TCoffeeAndCode , bem como em fóruns de informação e em uma variedade impressionante de outros locais.
Table of Contents
Glenn, obrigado por participar das entrevistas 😊
Obrigado por me convidar – estou sobrecarregado de trabalho, desculpe, demorou um pouco!
Qual seria o seu breve resumo no noticiário noturno sobre quem você é e o que faz?
Dirijo minha própria empresa de consultoria GlennKonnekt, onde presto serviços na área de desenvolvimento de software, design eletrônico para soluções embarcadas e automação industrial.
Qual (is) produto (s) da Embarcadero você usa a) mais b) regularmente?
Delphi é o que eu mais uso durante o dia para as coisas nas quais estou trabalhando.
Como e / ou por que você se tornou um desenvolvedor?
Além de escrever software, também projeto eletrônicos para configurações de automação industrial e embarcada. Eu queria saber como fazer as coisas “funcionarem” sendo capaz de escrever o software também.
Os desafios são divertidos e há muitas coisas em que pensar, além disso, conhecer a parte de hardware e software torna mais fácil contabilizar os detalhes que fazem toda a diferença no final.
Você acha que algum dia deixará de ser um desenvolvedor? Em caso afirmativo, o que viria a seguir?
Não, eu não. é um campo em constante mudança e muita coisa está constantemente acontecendo. No entanto, se eu mudasse para outra coisa, isso provavelmente seria começar uma pequena lanchonete, servindo os melhores hambúrgueres caseiros que você pode conseguir.
O que fez você começar a usar Delphi / C ++ Builder?
Foi uma espécie de coincidência. Quando eu inicialmente comecei um pouco de programação, antes de ter um entendimento muito mais claro do que se tratava, aconteceu no Commodore 64 com BASIC (Na verdade Microsoft BASIC 2.0 que o Commodore licenciou) quando eu tinha cerca de 7 anos. Por volta das 9, experimentei HiSoft Pascal no Amiga 500 que herdei do meu avô. Ainda assim, não fui muito longe, pois não tinha manuais nem nada para me orientar.
Quando fiquei um pouco mais velho, por volta dos 11 anos, fiquei muito intrigado sobre o que fazia um PC funcionar e como o software entrava na máquina para fazê-lo funcionar. Felizmente, um dos amigos do meu irmão tinha acabado de se formar em um programa de ciência da computação onde aprenderam Delphi (por volta de 2001) e ele me deu uma cópia da versão de teste do Delphi 6, pouco depois de eu ganhar uma cópia do Delphi 7 Enterprise. Como não tínhamos internet em casa na época (56k eram comuns, ISDN para quem tinha dinheiro e ADSL acabava de chegar ao mercado mas caro), fiquei preso com o arquivo de ajuda que mais me ensinou. Também consegui encontrar alguns livros, incluindo Mastering Delphi 7 de Marco Cantú .
No meio disso, eu também estava olhando para C / C ++ porque me disseram “Isso é o que os verdadeiros programadores usam”, mas não computava em meu cérebro. Hoje não é difícil para mim usar outras linguagens, mas Object Pascal é a mais limpa, a mais expressiva de todas e aquela que uso sempre que posso. Felizmente, o C ++ Builder torna mais fácil escrever ou consumir bibliotecas C ++ em comparação com outros ambientes e plataformas.
Se você pudesse dar algum conselho a um aluno que está considerando uma carreira como desenvolvedor de software, qual seria?
Obtenha uma cópia da última versão do Delphi e um dos livros recentes sobre o Delphi . Delphi é uma ferramenta inestimável que ensina bons hábitos de programação.
Tabs … ou espaços?
Se estamos falando sobre domar cobras , são guias. Para Object Pascal eu uso tabs também, entretanto é mais por uma questão de formatação e consistência, já que o compilador não se importa. Dito isso, eu me preocupo com a aparência e a apresentação do meu código. Para mim, o código é arte em si mesmo e, até certo ponto, reflete a mentalidade do desenvolvedor.
Qual foi o melhor dia que você já teve como desenvolvedor?
Ao ver o código no qual você está trabalhando há meses, você se junta muito bem e funciona conforme o planejado. Claro, não está livre de bugs, mas eles são rápidos o suficiente para resolver.
Qual é a pior coisa de ser um desenvolvedor?
Quando as coisas não funcionam ou há contratempos por falta de informações sobre uma determinada tarefa.
Qual é a dica de desenvolvimento mais legal que você conhece?
Use máquinas virtuais para tudo e não sobrecarregue seu cérebro com as mais novas bibliotecas de [código], linguagens e pilhas de tecnologia. Atenha-se a alguns, como o Delphi, e torne-se excelente nisso – ensine e compartilhe conhecimento, é aí que você começa a crescer. Tenha uma boa solução de backup NAS instalada que possa fazer instantâneos automáticos, como TrueNAS com o sistema de arquivos ZFS
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?
Eu tenho meu próprio pequeno escritório para mim. Eu prefiro esse estilo, mas há momentos em que também gosto de trabalhar em um escritório compartilhado com uma equipe pequena.
Conte-nos algo interessante que você acha que talvez não saibamos.
Eu adoro gatos, e o inspetor do meu escritório, César, costuma vir para me acariciar. Ele é um resgate do abrigo local. Passei muitas noites como um adolescente fazendo engenharia reversa [em linguagem assembly] em meus aplicativos compilados que escrevi, para entender melhor o que estava acontecendo. Isso também me interessou em saber como funcionam os compiladores e atualmente estou trabalhando em meu próprio compilador de pesquisa.
Se você pudesse usar uma varinha mágica de “consertar a indústria de tecnologia”, o que mudaria?
Certificar-se de que ElectronJS e qualquer coisa relacionada a JavaScript, nodejs e Rust eram apenas uma nota de rodapé na história. Por mais flagrante que pareça, essas tecnologias contribuem para problemas de segurança e pilhas no aterro de tecnologia em uma taxa alarmante, em vez de aumentar a qualidade do software, ela está diminuindo.
Você já esteve no Vale do Silício? Se sim, como foi? Se não, você já quis?
Eu não tenho, infelizmente. O mais próximo que estive do Vale do Silício foram os aeroportos de São Francisco. Claro que seria interessante visitar, pelo menos uma vez, mas não estou tão entusiasmado com o Vale do Silício como antes. Acredito que existam outras áreas nos Estados Unidos que são muito mais interessantes em termos de tecnologia.
Você já conheceu alguma figura famosa / bem conhecida da tecnologia? Quem foi? Como foi?
Conheci várias figuras da comunidade Delphi / C ++ Builder, empreendedores com várias saídas e milhões em seu currículo. No final do dia eles são humanos e eu os abordo assim com gentileza e respeito. Entre as pessoas que eu adoraria conhecer, é claro, Elon Musk e, como dinamarquês, conheço Anders Hejlsberg um dia.
Se você pudesse convencer alguém a considerar Delphi ou C ++ Builder, qual seria o seu método, como você o faria?
Você quer escrever um bom código que seja fácil de ler enquanto é capaz de reutilizar o código em plataformas? Então Delphi é a [ferramenta para] ir para.
Qual produto de tecnologia você gostaria de ter inventado / projetado e por quê?
JavaScript – Mas provavelmente o teria nomeado de outra forma e, se o tivesse projetado, o mundo dev não teria sofrido como agora. Atualmente, é uma das linguagens de script mais usadas (e abusadas) para desenvolver recursos avançados no navegador e alguns acham que pertence ao desktop e ao celular na forma de aplicativos “nativos” – algo totalmente errado na minha opinião.
O design de linguagem ruim em primeiro lugar teria sido inexistente se a sintaxe fosse baseada em um subconjunto de Object Pascal e teria tornado a escrita de aplicativos para o navegador muito mais fácil.
A web e os navegadores não podem evoluir muito mais antes de nos livrarmos do JavaScript, por mais radical e contra-intuitivo que pareça. O Google tentou um pouco com a linguagem Dart, mas ela também sofre de más escolhas de design e sintaxe alucinante (por que eles não percebem que as linguagens de chaves e a diferenciação de maiúsculas e minúsculas são ruins?). TypeScript é uma correção temporária para algo que já está quebrado, o mesmo vale para WebAssembly, embora possamos pelo menos escrever um compilador wasm e usar Object Pascal como nossa linguagem de escolha para escrever um código melhor e ainda executá-lo no navegador. Dito isso, o WebAssembly ainda é relativamente jovem.
Se você pudesse viver sua vida novamente, ainda se tornaria um desenvolvedor? Porque?
É sempre difícil responder a esse tipo de pergunta, pois sempre terá algum reflexo do agora. Provavelmente, sim. Tenho muitas ideias na minha cabeça.
Quantos cafés você bebe por dia e é o suficiente?
Demais. Não é incomum eu beber pelo menos um pote, talvez dois. Sou um apreciador de café, agradeço uma boa xícara de café e é meu combustível que se transforma em código.
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?
Eu prefiro trabalhar à noite e à noite na maior parte. Há paz e sossego e posso começar a pensar em boas soluções. Tento manter uma programação regular durante o dia.
Em sua carreira, você já “puxou a noite toda” para lidar com algo que absolutamente precisava ser feito?
Sim, algumas vezes. Às vezes, correções críticas de tempo precisam ser entregues ou um influxo de ideias precisa ser eliminado. No entanto, tento evitar as noites inteiras.
Qual é a pergunta mais estúpida que você recebe (nenhuma dessas conta!)
Você conhece X ou Y – e a pessoa olhou meu currículo antes, onde estava listado.
Você faz orçamentos para trabalhar com clientes? Se o fizer, sem revelar nada que o incomode, que tipo de processo você usa?
Prefiro trabalhar por hora. Acontece que às vezes os clientes pedem orçamentos, mas procuro ser bem detalhado sobre o escopo do meu trabalho nesse caso.
Como você impede que os clientes / gerentes / gerentes de programa ‘aumentem de recursos’?
Eu direi, precisamos desta versão antes de começarmos a trabalhar em mais recursos. O que é essencial para divulgá-lo e ser específico
Você ouve música enquanto codifica? Se sim, você pode nos contar algumas faixas / artistas / performances?
Eu tenho uma ampla lista de trilhas selecionadas que escuto quando estou programando. De chiptunes da minha própria coleção, faixas modernas de Lukhash a liquid drum and bass entregues por Metrik, London Elektricity, Wilkinson, Grafix, Seba, Netsky, Logistics, High Contrast, Degs, Pendulum, State of Mind, Apex. , Eu posso continuar para sempre! Pela beleza da música em geral, ela ativa certas áreas do seu cérebro dependendo do que você deseja realizar.
Você usa algum método ou técnica como Agile, Scrum, Kanban, TDD? Se sim, por quê? Se não, por quê?
Um pouco de Kanban e mais TDD, como Jens Fudge ensinou
Você rastreia bugs? Se você fizer isso, o que você recomenda?
Sim definitivamente! E encorajo a todos a fazê-lo!
Eu uso vários sistemas, desde Jira, Github Issue tracker, Gitlab Issue tracker, Bitbucket Issue tracker. Acho que é importante, especialmente quando os bugs às vezes são reintroduzidos.
Isso já aconteceu mais de uma vez em algumas das pequenas equipes em que trabalhei. Sistemas de controle de origem como git, mercurial ou subversion são fundamentais junto com um sistema de rastreamento de problemas.
Você já teve uma entrevista técnica 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?
Seja você mesmo.
Um bom desenvolvedor de software:
Compartilha seus conhecimentos – ensinar é a chave para o crescimento e promoção de uma comunidade
Um mau desenvolvedor de software:
Tende a fazer tudo sozinho e não compartilha seus conhecimentos
iPhone, Android, outro – e por quê?
Eu tenho os dois, embora prefira o Android. Bem, isso tecnicamente não é verdade, já que estou brincando com postmarketOS, uma distro Linux completa para dispositivos móveis.
Para um desenvolvedor: PC vs Mac? Porque?
PC; Eu preciso de algo que eu mesmo possa estender e manter – Macs são apenas PCs caros em um shell diferente.
Qual é a única coisa pela qual você gostaria de ser lembrado?
Trazendo Delphi de volta ao top 3 de linguagens e ambientes de desenvolvimento respeitados 😊
Qual é o melhor filme de desenvolvedor / hacker / tecnologia / geek?
Tenho vários favoritos nesta categoria: Hackers de 1995, Operação Takedown, Antitruste, The Matrix, The Lawnmower Man, Wargames, Tron Legacy, Johnny Mnemonic.
Nenhum desenvolvedor deve ser visto sem:
Uma cópia do Delphi
Se um filme fosse feito sobre sua vida, quem você gostaria que fosse você?
Jonny Lee Miller
Você tem um site que as pessoas podem visitar? Em caso afirmativo, qual é?
Blog: https://code-kungfu.com
Site da empresa: https://gkon.dk
Se você usa o Twitter, qual é o seu identificador no Twitter?
@ B1tSmurf
Qual é o seu método preferido de contato com clientes em potencial?
Envie um e-mail e agende uma reunião online ou pessoalmente. Eu prefiro que as pessoas cheguem primeiro por algum tipo de texto.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition