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 conversando com Joe C. Hecht também muito conhecido como “TJoe”. Joe agora está digitando código nas alturas úmidas da Flórida, embora durante o curso da entrevista eu descobrisse que ele é um nativo do Texas que nasceu e foi criado a menos de cinco milhas de onde moro agora. O mundo do desenvolvimento é muito mais unido do que você jamais poderia imaginar!
Table of Contents
Oi Joe, é muito bom falar com você, obrigado por dedicar seu tempo
É uma ótima ideia! Como disse, fico muito feliz em participar.
Você é um nome muito conhecido na comunidade Delphi. Para os poucos que não o conhecem, qual seria o seu breve resumo de quem você é e o que faz?
Hired Gun Programmer – Have Delphi – Will Debug.
Qual (is) produto (s) da Embarcadero você usa a) mais b) regularmente?
RAD Studio! Eu uso Delphi e C ++ Builder. Tenho todas as versões já lançadas, instaladas e prontas para usar.
Recebo um bom número de clientes considerando uma atualização de versões legadas, querendo modernizar os aplicativos existentes e plataformas cruzadas para suportar macOS e plataformas móveis.
Sem dúvida, recomendo o RAD Studio como a melhor ferramenta de desenvolvimento de plataforma cruzada do planeta para realizar o trabalho. A Embarcadero realmente se empenhou em cruzar plataformas, tanto para os compiladores quanto para os controles visuais. Eles têm feito um trabalho incrível, em um mercado onde não existe outra ferramenta de comparação.
Como e / ou por que você se tornou um desenvolvedor?
Eu estava originalmente no ramo de impressão comercial. Quando o Apple Laserwriter foi disponibilizado pela primeira vez, precisávamos de um software de impressão personalizado para PC. Comecei com BASIC e rapidamente mudei para C. Já estava muito impressionado com os produtos Sidekick e Superkey da Borland, então, quando a Borland me enviou um e-mail sobre o Turbo Pascal, comecei imediatamente e nossa produtividade disparou. O resto é história. Nosso utilitário de editoração eletrônica TypeStudio ganhou um prêmio da PC Magazine e o desenvolvimento de software rapidamente se tornou muito mais bem-sucedido do que nosso negócio de impressão.
O que mais o ajudou a se tornar um desenvolvedor?
Meu trampolim de desenvolvimento veio com meu primeiro modem. Eu encontrei os fóruns da Borland Compuserve administrados por membros famosos do TeamB. Aprendi muito lendo as postagens e comecei a ajudar outras pessoas nos fóruns.
Acredito firmemente que investir um pouco de tempo lendo as respostas das postagens do fórum (mesmo aquelas em que você não está interessado) muitas vezes revela muitas joias de codificação ocultas ao longo do caminho. Os fóruns de discussão técnica são provavelmente a melhor maneira de encontrar boas respostas, já que respostas ruins geralmente são seguidas por respostas que apontam quaisquer falhas.
Você acha que algum dia deixará de ser um desenvolvedor? Em caso afirmativo, o que viria a seguir?
Se não fosse pelo RAD Studio, consideraria uma profissão diferente. Eu uso muitas ferramentas de desenvolvimento e compiladores diferentes, em várias plataformas. Para o desenvolvimento de longo prazo, seu IDE se torna sua casa, e RAD Studio é a única ferramenta que descobri que realmente torna a experiência geral de desenvolvimento extremamente agradável. Ele tem tudo que você precisa, é muito responsivo, bem pensado e altamente personalizável.
O que fez você começar a usar Delphi / C ++ Builder?
Comecei a escrever programas para Windows do zero usando Borland Pascal para Windows. Recebi minha primeira cópia do Delphi quando trabalhei na Borland. Foi uma experiência incrível testemunhar o primeiro ambiente de desenvolvimento visual de apontar e disparar sério. Foi incrivelmente rápido e mudou totalmente o paradigma de programação do Windows para RAD (desenvolvimento rápido de aplicativos). Por que usar qualquer outra coisa?
Comecei a usar o C ++ Builder na Borland, conforme foi desenvolvido. Estava décadas à frente de seu tempo (e ainda está). Eu também usei Kylix (a versão Linux C ++ Builder), que os programadores Linux ainda falam.
Se você pudesse dar algum conselho a um aluno que está considerando uma carreira como desenvolvedor de software, qual seria?
Tente não se “especializar demais” em uma determinada área. Hoje em dia, a especialização é algo para o coração, não uma carreira. O desenvolvimento de software se tornou uma indústria de evolução muito rápida, que rapidamente se ramifica para o uso da tecnologia mais recente. As ofertas de emprego geralmente listam dezenas de requisitos que exigem conjuntos de habilidades.
Torne-se conhecido em fóruns on-line e leia as postagens. Você aprenderá muito lendo as trocas postadas nas comunidades de desenvolvimento.
Tabs … ou espaços?
Spaces! Esta é uma pergunta sobre as práticas de formatação de código (facilitadas pelo excelente módulo de preenchimento de código do RAD Studio)?
Algumas regras-chave para o sucesso que tento seguir:
“Nunca então sem começo”. O bloqueio de código é fundamental para o rastreamento durante o processo de depuração e fornece uma boa camada para “clareza de código tarde da noite”.
“Nunca crie sem graça”. Vá em frente e escreva seu código de desalocação sempre que alocar um recurso. Você pode bloquear, mover, comentar, (ou o que quer que seja) mais tarde, apenas certifique-se de escrevê-lo. Se você mover o código de desalocação para longe, não é uma má ideia documentar no código de alocação onde ele foi colocado (e por quê).
Separe o código prolixo de cada “pensamento” no processo. Pode ser tão simples como adicionar uma linha em branco ou, de preferência, um comentário.
Qual foi o melhor dia que você já teve como desenvolvedor?
Acordei com muita febre, tendo um sonho em que resolvia um problema complexo que nos incomodava há anos. Eu codifiquei e a solução em meu sonho estava correta.
Qual é a pior coisa de ser um desenvolvedor?
Trabalhando naquele “outro” IDE (é claro)!
Arquitetar uma solução grande e, em seguida, codificá-la, apenas para descobrir que, no final, ela não funciona e requer uma abordagem totalmente diferente.
Qual é a dica de desenvolvimento mais legal que você conhece?
Se você for realmente cuidadoso, poderá escrever um código que seja quase exatamente portável em linguagem Pascal e outras linguagens baseadas em C (sem alguns pequenos rearranjos de sintaxe que podem ser automatizados). Eu transporto muitos códigos, em ambas as direções, de e para C e Pascal. Eu acho que a “compilação e execução” do Delphi é tão rápida que geralmente é mais rápido desenvolver código em Delphi e, em seguida, transportar o código Pascal para C para a entrega final.
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 prefiro programar em navios de cruzeiro!
Com exceção do meu tempo mais excelente no Scott’s Valley Campus da Borland, tenho trabalhado remotamente com sucesso desde 1985.
Eu uso laptops de última geração com telas grandes e pelo menos recursos de dois monitores. Tenho uma pequena pasta contendo dois Mac Mini que uso para servir VMs com ambientes de desenvolvimento, junto com uma pequena rede com fio e várias placas ARM, tablets e telefones para “desenvolvimento móvel” (sem trocadilhos).
Com um bom inversor de energia, codifiquei verões inteiros enquanto visitava o sistema do Parque Nacional dos EUA e duas vezes morei no meu barco com a família, codificando remotamente por mais de dois anos.
Conte-nos algo interessante que não sabemos.
O campus da Borland estava repleto de camaradagem animada e personagens coloridos.
Recebi o apelido de “Tjoe”, dado a mim por Bill “One Eye” Fisher.
Menções notáveis:
Anders “Se você seguir o que estou dizendo” Hejlsberg
“Lloyd at Large”
“Steve T”
“X”
“O Anders importado barato” (para diferenciar os dois Anders)
Lino “Hey Boss” Tadros (que na última contagem, agora é dono do antigo Borland Campus).
Se você pudesse usar uma varinha mágica de “consertar a indústria de tecnologia”, o que mudaria?
Coloque o Delphi nas salas de aula!
Eu recebo três desejos?
Privacidade, segurança e atualizações do computador são os grandes problemas. O Opt-In deve ser uma escolha, não uma regra. Solicitar o número do seu celular para receber algumas informações sobre o produto é pura maldade, e os bancos de dados que rastreiam cada respiração nossa devem ser apagados permanentemente.
Você já esteve no Vale do Silício? Se sim, como foi? Se não, você já quis?
Meu tempo em Scott’s Valley, no Borland Campus, proporcionou algumas das melhores lembranças de nossa família. As pessoas da Borland foram fantásticas para todos nós! O cenário era incomparável. Foi uma experiência verdadeiramente preciosa e um dos destaques de nossas vidas. Infelizmente, tivemos que sair devido a circunstâncias extraordinárias, mas voltamos algumas vezes para visitar nossos amigos e voltávamos em um piscar de olhos.
Você já conheceu alguma figura famosa / bem conhecida da tecnologia? Quem foi? Como foi?
Tive o grande prazer de conhecer, trabalhar e até mesmo me tornar amigo de alguns dos grandes nomes do setor.
Steve Teixeira, Lino Tadros, Danny Thorpe, Allen Bauer, David Intersimone , e não podemos esquecer todos os membros do “Borland TeamB”.
Anders Hejlsberg (o pai de Delphi) certamente vem à mente. Tínhamos um relacionamento muito casual (eu não trabalhava diretamente com ele), mas nos encontrávamos de vez em quando. Ele foi muito legal, genuíno e muito complacente (mesmo para as minhas perguntas idiotas do Delphi). Infelizmente, fui eu que abri a porta quando Bill Gates parou em uma limusine e levou Anders embora. Ele ainda me deve uma bandeira dinamarquesa de uma pequena aposta que perdeu. Eu pretendo coletar nessa bandeira algum dia.
Se você pudesse convencer alguém a considerar Delphi ou C ++ Builder, qual seria o seu método, como você o faria?
Poderia? Seria? Tento ativamente convencer as pessoas a usar Delphi e C ++ Builder, em todas as oportunidades.
Eu faço muito trabalho de API direto para clientes MSVC, então incluo o projeto RAD Studio com o trabalho. Os clientes olham para o projeto, perguntam sobre ele e frequentemente comentam sobre a aparência incrível do código de teste (em comparação). Eles parecem adorar os blocos de comentários inseridos pelo C ++ Builder quando você clica para adicionar um novo evento e também adoram a nomenclatura do evento. Está tudo muito limpo.
Em conferências, costumo deixar meu laptop aberto e trabalho em projetos do RAD Studio (mesmo em ambos os festivais Linux) e sempre recebo perguntas sobre o produto. Você pode se surpreender ao descobrir quantas pessoas do Linux que participam dessas conferências também programam no Windows. Eu fisguei alguns.
Convencer os programadores C ++ a dar uma olhada no C ++ Builder é muito fácil. Apenas mostre a eles o IDE! Os usuários do Visual Studio ficam constantemente surpresos com a velocidade e facilidade de usar um verdadeiro sistema de desenvolvimento RAD, e os programadores do Linux costumam admitir que têm uma VM do Windows disponível (então mostro a eles o FMX Linux). Funciona!
Os usuários do Delphi geralmente evitam o C ++, quando deveriam adotar a atualização. O mundo está repleto de ótimos códigos C que podem ser disponibilizados para o Delphi por meio da atualização.
Da mesma forma, há uma grande variedade de componentes escritos para Delphi que também funcionam no C ++ Builder.
Para mim, não é uma questão de Delphi OU C ++ Builder, mas sim de como melhor usá-los juntos.
Qual produto de tecnologia você gostaria de ter inventado / projetado e por quê?
O formato PDF (Portable Document File).
Tenho um profundo amor pelo desenvolvimento de software de tipografia, imagem e publicação.
O PDF é muito complicado e foi projetado principalmente como um formato somente leitura, com recursos de edição e conversão muito pobres. O “Portable Document Format” deve ser facilmente portátil para mais do que apenas visualização. A importação, edição e conversão de um PDF geralmente requer ferramentas muito especiais (como nosso produto UberPDF).
Se você pudesse viver sua vida novamente, ainda se tornaria um desenvolvedor? Porque?
Eu nasci para codificar!
Como uma criança pequena na década de 1960, quando a maioria das pessoas não sabia realmente o que era um computador, fui avaliada e disse que seria “um grande programador de computador”. Essa avaliação se tornou a piada da família – até que me tornei um grande programador de computador.
Quantos cafés você bebe por dia e é o suficiente?
Tjoe mudou recentemente para “uma xícara de chá, por favor – sem açúcar”.
Desisti totalmente do café, após décadas de “café colombiano sempre ligado, sempre fresco, disponível 24 horas por dia, 7 dias por semana”.
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?
Falcão da noite! Adoro programar à noite, no escuro. É legal, silencioso e o contraste da tela é excelente! O momento também funciona bem para meus clientes europeus.
Em sua carreira, você já “puxou a noite toda” para lidar com algo que absolutamente precisava ser feito?
Oh meu! Sim!!! Muitas vezes. Certa vez, registrei 121 horas em uma única semana para um cliente.
Descreva alguns dos melhores projetos que você fez como desenvolvedor.
Eu era um engenheiro chefe no 7º nível, projetando motores de jogos gráficos usados tanto pelo 7º Nível quanto pela Disney Interactive para vários títulos importantes, incluindo “Ace Ventura”, “Battle Beast”, a série “Adventures in Tuneland” de Howie Mandel, “Timon & Pumbaa’s Jungle Games ”, junto com vários títulos do Monte Python. Foi uma posição muito divertida e exigente. Quando estávamos sob pressão para lançar um título, trocávamos os papéis de codificadores para editores de áudio e vídeo e começávamos a trabalhar com o talento. Não era incomum trabalhar com alguém como David Gilmore do Pink Floyd ou Howie Mandel para criar uma trilha sonora. Os caras do Monte Python eram cut-ups na vida real (eles não precisavam de script – eles viviam a vida dessa forma).
Qual é a pergunta mais estúpida que você recebe (nenhuma dessas conta!)
Quando digo que “me especializo em programação gráfica”, muitas vezes me perguntam “Você faz camisetas?”.
Você faz orçamentos para trabalhar com clientes? Se o fizer, sem revelar nada que o incomode, que tipo de processo você usa?
Sim, costumo citar trabalhos para clientes.
O código necessário para concorrer a um emprego é direto ou requer pesquisa adicional, avaliação ou estudo de viabilidade.
Eu forneço um esboço para o cliente explicando o tempo mínimo e esperado necessário para as partes conhecidas do trabalho, recomendando limites para o tempo gasto em pesquisa e avaliação, e estabeleço limites “não prossiga mais” para casos envolvendo viabilidade desconhecida.
Estou muito adiantado sobre o que posso garantir, o que não posso garantir, a entrada e a saída pretendidas do trabalho, e me certifico de que nenhum recurso creep possa ser racionalizado de alguma forma como parte da oferta de trabalho existente.
Como você impede que clientes / gerentes de programa / gerentes sofram de ‘aumento de recursos’?
Eu encorajo o recurso de creep bem projetado! É assim que recursos excepcionais são feitos!
O desenvolvimento de software é frequentemente um processo artístico fluido, no qual você pinta soluções para os problemas que encontra. Essas soluções costumam se tornar excelentes peças de quebra-cabeça que podem fornecer resultados mais fáceis para recursos novos e interessantes para recomendar a um cliente.
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?
Primeiro, remova suas distrações e fique confortável.
Sempre começo meu dia de programação com uma pequena sessão de “aquecimento”, criando um projeto vazio e fazendo algum tipo de pequeno experimento, testando um novo componente ou brincando com um recurso IDE que desejo aprender.
Em seguida, examine sua próxima sessão de codificação (para ajudar a atualizar onde você está no processo), prepare qualquer pesquisa necessária para sua sessão e tente dividir a sessão em “etapas de conclusão” lógicas (onde você fará seus intervalos).
Ao codificar, se você se deparar com um problema difícil de resolver que requer reflexão, faça uma pausa (e pense casualmente sobre o problema e as soluções possíveis).
Finalmente, ao encerrar a sessão, sempre coloque uma linha de comentário, explicando onde você está parando, observe quaisquer questões pendentes, o que vem a seguir e sempre faça backup do seu trabalho!
Você ouve música enquanto codifica? Se sim, você pode nos contar algumas faixas / artistas / performances?
Não. Enquanto codifico, fico alheio ao que me rodeia. Posso codificar com força total no convés lotado de um navio de cruzeiro no Lido às 17h. Eu amo música, toco violão e prefiro rock clássico, jazz e blues. Artistas favoritos incluem Led Zeppelin, The Beatles, Diana Krall e praticamente qualquer pessoa que faça um cover de blues. Eu também gosto de polcas!
Você usa algum método ou técnica como Agile, Scrum, Kanban, TDD? Se sim, por quê? Se não, por quê?
Você sabia que o software TMS tem um excelente componente de quadro Kanban?
Kanban adota bem o desenvolvimento de software, é simples e fácil de implementar.
Além disso, as técnicas recomendadas discutidas no livro “Code Complete” de Steve McConnell, Microsoft Press, me serviram bem ao longo dos anos.
Você rastreia bugs? Se você fizer isso, o que você recomenda?
Com certeza eu rastreio bugs!
Sou da velha escola, então, a menos que o cliente tenha enviado um sistema de rastreamento, mantenho-o muito simples, usando (no máximo) um sistema de comentários de três camadas.
Comentários na parte superior de uma unidade, comentários na interface do código e nas seções de implementação e um arquivo bugs.txt contendo uma visão geral para rastreá-los.
Se as coisas ficarem complexas, posso usar um aplicativo de modelo Kanban que tenho.
Qual é o melhor conselho de programação que você recebeu?
De Anneke Leigh (Borland): “Não estude demais tentando aprender tudo – não é o que você sabe, mas o quão bem você pode usar seus recursos para encontrar uma resposta quando precisar”.
De Heather Lathum (Borland): Reserve alguns minutos para experimentar um componente Delphi todos os dias.
Qual foi a melhor pergunta que você já fez em uma entrevista e como você lidou com isso?
Perguntas capciosas da entrevista! Ofereço uma visão geral de como resolver o problema (sem descobrir a resposta exata). Se pressionado por uma resposta exata, explico que as respostas exatas funcionam e pergunto se eles estão prontos para iniciar o trabalho ou o ciclo de faturamento.
Você já teve uma entrevista técnica que foi super tranquila – em caso afirmativo, qual é o seu conselho para os outros? Se você teve uma entrevista desastrosa, o que deu errado e você precisa de um abraço?
Minha entrevista favorita foi na Borland! Foi perfeito em todos os níveis. Foi como um sonho que se tornou realidade.
O maior desastre foi para um grande contrato de depuração que foi filmado no quadro branco. Eu dei muitas informações sobre como exatamente iria resolver os diferentes problemas de codificação da empresa (eles usaram as soluções sem mim).
O próximo maior desastre foi em uma grande entrevista para um contrato que eu realmente queria e eles me queriam. Tive a aprovação esmagadora de todos, exceto um (o diretor). Talvez ela estivesse tendo um dia ruim, pois senti algumas vibrações negativas e atrito dela. Eu deveria ter tomado alguma iniciativa para mudar a maré, simplesmente por ter alguma interação adicional com ela, mas em vez disso, contei com a regra da maioria para o sucesso (e perdi).
Conselho: Não se vista demais, não distribua seus cartões e tente se identificar com qualquer pessoa que possa atrapalhar o seu sucesso.
Um bom desenvolvedor de software:
Grava um código claro e conciso, bem estruturado e fácil de entender.
Usa variáveis, procedimentos e argumentos bem nomeados.
Documenta o código que não é exatamente claro quanto à sua finalidade.
Está sempre procurando oportunidades futuras para alavancar o design do código em questão.
Um mau desenvolvedor de software:
Escreve código desleixado, confuso e mal estruturado que é difícil de entender.
Usa variáveis, procedimentos e argumentos curtos e com nomes criptografados.
Não deixa latitude para melhorias futuras.
iPhone, Android, outro – e por quê?
Eu tenho todos eles. Pessoalmente. Eu preferiria “outro”, embora seja dificilmente utilizável.
O iPhone é limitador, o Android é mais como viver no Velho Oeste.
Vivemos em uma época em que nossos telefones deveriam funcionar como um computador móvel seguro, que você pode conectar a um monitor e teclado de tamanho normal e usá-lo como área de trabalho.
O verdadeiro sistema operacional de desktop Microsoft Windows é capaz de rodar nesses minúsculos dispositivos ARM, mesmo rodando aplicativos x86 em modo de emulação, e pode fornecer uma experiência de usuário razoável na maioria dos casos. Eu usei isso.
Não deve ser surpresa que uma placa de 4 núcleos e 2 gigahertz com alguns GB de RAM possa realmente fornecer uma experiência de desktop razoavelmente boa.
Claro, uma pequena placa ARM não é um foguete em uma análise séria de números, mas nos dias de hoje, devemos ser capazes de descarregar facilmente enormes tarefas computacionais para a nuvem.
Enviei duas crianças para uma colagem com o Windows RT em tablets ARM. Funcionou muito bem e as crianças adoraram. Eu ainda possuo aqueles tablets e ainda faço um bom trabalho.
Um desktop Linux ajustado pode ser quase mágico no ARM.
É realmente uma pena que muito mais trabalho não tenha sido colocado no sistema Ubuntu Touch. O mundo realmente precisa de um ótimo sistema operacional móvel, onde a plataforma não seja “própria”.
Para um desenvolvedor: PC vs Mac? Porque?
O que, nenhuma opção de desktop Linux?
Eu sou principalmente um desenvolvedor Windows, gosto de Widows, mas não estou nada feliz com os rumos que o sistema operacional tomou.
O Mac faz um ótimo trabalho em servir VMs de todos os tipos, no entanto, não sou um grande fã do OSX.
A verdade? Eu executo o Linux como um host de desktop, executo o Windows em uma VM e acesso o OSX via VNC.
Qual é a única coisa pela qual você gostaria de ser lembrado?
Ajudar programadores e honestidade brutal.
Bom ou mau, não quero fazer mal e só desejo o bem que venha disso.
Perdi clientes devido a revisões de código usando minha caneta vermelha. Os clientes entendem a verdade, no entanto, tive alguns que realmente desejavam a validação de práticas inadequadas.
Qual é o melhor filme de desenvolvedor / hacker / tech / geek?
Gosto de documentários sobre história e ciência. Eu gostei do Stargate (tanto o filme quanto a série). Recebi uma jaqueta militar Stargate SG-1 de verdade e às vezes sou saudado quando a uso em público.
Nenhum desenvolvedor deve ser visto sem:
Delphi, Beyond Compare e NotePad ++. O que mais você realmente precisa?
Oh, C ++ Builder! Faça a atualização para o RAD Studio!
Se um filme fosse feito sobre sua vida, quem você gostaria que fosse você?
Glen Campbell ou Jimmy Page.
Você tem um livro, produto ou serviço que gostaria de mencionar?
Dalija Prasnikar [Embarcadero MVP] tem dois livros muito valiosos que todo programador Delphi deve possuir: “ Delphi Event-based and Asynchronous Programming ” e “ Delphi Memory Management for Classic and ARC Compilers ”.
“ Delphi Component Design ” de Danny Thorpe é obrigatório (mesmo para usuários do C ++ Builder). Mesmo se você não estiver projetando componentes, há muitas joias a serem encontradas no livro.
O livro “ Code Complete ” de Steve McConnell, Microsoft Press, me ajudou muito a aprender a projetar e formatar códigos de forma inteligente para minimizar bugs.
“ Beyond Compare ” da Scooter Software é um produto indispensável disponível para todas as plataformas de desktop que também se integra perfeitamente com o editor RAD Studio. Obtenha o produto completo e aprenda a usá-lo!
TMS Software [Embarcadero Technology Partner] fornece uma lista quase infinita de grandes componentes para RAD Studio. Os componentes são bem projetados, vêm com ótimo suporte e são atualizados com freqüência. Eles também têm um “passe de acesso total” que fornece a você tudo o que está no catálogo TMS. Diga a eles que TJoe mandou você!
Você tem um site que as pessoas podem visitar?
Qual é o seu método preferido de contato com clientes em potencial?
https://code4sale.com/email/JoeHecht/
Que entrevista excelente! Obrigado por falar comigo Joe.