Entrevista com Jack Ganssle
- por Sergio Prado
Aproveitei a vinda de Jack Ganssle ao Brasil para o II Workshop Projetando Sistemas Embarcados e fiz uma entrevista curta mas muito bem humorada. Confiram a versão original em inglês abaixo e logo em seguida a versão traduzida.
ENTREVISTA EM INGLÊS
Jack, tell me a little bit about yourself. How did you end up working with embedded systems?
JG: Well, I was always a geek, from long before anyone used that term. I was into ham radio in high school. My dad worked at a small space company as a mechanical engineer, and we kids were required to sweep up and clean the building – for free. But I was allowed to keep any parts the engineers in the lab had dropped on the floor, so built a nice collection of ICs and other parts. At 16 I got a job as an electronics technician, and while I was in college the company decided to build a product with a microprocessor. I was the only person who knew digital and programming, so was promoted to engineer. That was in 1972, working with the first 8 bit processor, the 8008. Before long we were building a lot of embedded products, and I was running the digital engineering/programming group. We worked insane hours but had a lot of fun!
Nowdays, what do you do for living?
JG: Mostly annoy my wife! I write about this field, and do a lot of lectures about it. And I do some kinds of consulting – for instance, advise companies about their embedded challenges. I get to look at a lot of new products and talk to some really smart engineers.
What was the biggest challenge in your carreer?
JG: Making payroll. In the 80s and 90s I started a company that provided development tools, and it was very stressful at times coming up with the cash each week to pay all of the employees. But we always did. Today I find it challenging to keep up with all of the new products and ideas that come out each day. But it’s a lot of fun to do so.
In your opinion, what is the number one source of bugs in embedded systems?
JG: I really believe most bugs come from engineers not thinking deeply enough about their code. We shouldn’t start coding till we know exactly what we want to do, and then we should review our work very carefully before starting testing. It’s just too tempting to fire up the debugger instead of thinking deeply.
I know you love sailing! Between a big shark following your boat in the deep sea and a scary global variable in your code, which one would ou choose?
JG: I’ll take the shark any day!
What do you have to say for the new engineers/developers that are beginning the carreer on embedded systems. Any tips or tricks?
JG: Sure – save money every week. Bad times always come, and you want to have a financial cushion. Also, check out Mike Ficco’s book “What Every Engineer Should Know About Career Management” It’s important that we actively manage our careers. Stay involved and constantly learn new things.
What can you say about the future in embedded systems?
JG: Embedded systems have only been around for 40 years. We can’t even dream what will come. I do expect, perhaps in my lifetime, robots that build robots. And the robots will do all of our manual labor. I wonder if money will have any value when labor is all done by the robots?
I love your books! Do you have any plan for others?
JG: Thanks. I have a few ideas, but just don’t have the time for a book project right now.
If you would go to a desert island, which programming language, CPU architecture and operational system would you carry? :)
JG: Hmmm. A desert island means very little power. I’d have to wire a couple of coconuts in series, so might bring a TI MSP430, which is a 16 bit machine that runs on almost no power. C, of course, and, if money were no object, a nice certified RTOS like Integrity.
Last words for our readers…
JG: The most important thing is to have fun. You’ll spend decades doing this; there’s nothing sadder than a person who is miserable in their job.
ENTREVISTA EM PORTUGUÊS
Jack, fale um pouco sobre você. Como você começou a trabalhar com sistemas embarcados?
JG: Bem, sempre fui um geek, muito antes de alguém ter usado o termo. Comecei a mexer com radioamadorismo no ensino médio. Meu pai trabalhou em uma pequena empresa aeroespacial como engenheiro mecânico, e nós crianças precisávamos varrer e limpar o prédio – de graça. Mas me deixavam pegar qualquer coisa que os engenheiros do laboratório jogavam fora, então montei uma coleção legal de circuitos integrados e outras peças. Aos 16 anos consegui um emprego como técnico eletrônico, e quando estava na faculdade a empresa decidiu montar um produto com um microprocessador. Eu era a única pessoa que sabia eletrônica digital e programação, então fui promovido a engenheiro. Isso foi em 1972, trabalhando com o primeiro processador de 8 bits, o 8008. Não muito tempo depois estávamos desenvolvendo diversos produtos embarcados, e eu era o responsável pelo grupo de engenharia e programação. Trabalhamos que nem loucos mas foi muito divertido!
E o que você faz hoje em dia?
JG: Basicamente fico perturbando minha esposa! Eu escrevo sobre a área, e também apresento bastante palestras. Dou alguns tipos de consultoria – por exemplo, aconselho empresas sobre seus desafios na área de sistemas embarcados. Eu dou uma olhada em um monte de novos produtos e troco experiências com alguns engenheiros bem espertos.
Qual foi o maior desafio na sua carreira?
JG: Gerenciar a folha de pagamento. Nos anos 80 e 90 eu iniciei uma empresa que fornecia ferramentas de desenvolvimento, e era muito estressante ter dinheiro toda semana para pagar os funcionários. Mas nós sempre conseguíamos. Hoje eu acho desafiador acompanhar os novos produtos e idéias que aparecem todos os dias. E é também muito divertido.
Na sua opinião, qual a causa número um de bugs em sistemas embarcados?
JG: Eu realmente acredito que a maioria dos bugs vem do fato dos engenheiros não pensarem o suficiente sobre o código que estão desenvolvendo. Nós não devemos começar a codificar enquanto não soubermos exatamente o que queremos fazer, e então nós devemos revisar atentamente o trabalho antes de começar a testar. É muito tentador iniciar o debugger ao invés de pensar mais profundamente sobre o problema.
Eu sei que você adora navegar! Entre um grande tubarão seguindo seu barco em mar aberto e uma assustadora variável global no código, qual você escolheria?
JG: O tubarão, sempre!
O que você tem a dizer para os engenheiros que estão iniciando a carreira em sistemas embarcados. Alguma dica?
JG: Claro – guarde dinheiro toda semana. Tempos ruins sempre aparecem, e você quer ter uma segurança financeira. Além disso, dê uma olhada no livro de Mike Ficco “What Every Engineer Should Know About Career Management“. É importante gerenciar ativamente sua carreira. Se envolva e aprenda coisas novas.
O que você pode dizer sobre o futuro em sistemas embarcados?
JG: Sistemas embarcados são recentes e estão por aí em torno de 40 anos. Nem em sonhos conseguimos prever o que esta por vir. Eu espero, talvez enquanto estiver vivo, ver robôs que constroem robôs. E robôs irão fazer todo nosso trabalho manual. Será que o dinheiro terá algum valor quando todo trabalho for feito por robôs?
Eu amo seus livros! Você tem algum plano para outros?
JG: Obrigado. Eu tenho algumas idéias, mas por enquanto não tenho tempo para um novo projeto.
Se você fosse para uma ilha deserta, que linguagem de programação, arquitetura de CPU e sistema operacional levaria? :)
JG: Hmmm. Uma ilha deserta significa muito pouca energia. Eu precisaria ligar alguns cocos em série, e então levar o MSP430 da TI, que é uma CPU de 16 bits que roda quase que sem energia. Linguagem C, é claro, e se dinheiro não fosse problema, um bom RTOS certificado como o Integrity.
Últimas palavras para nossos leitores…
JG: A coisa mais importante na vida é se divertir. Você irá passar décadas fazendo isso, e não existe coisa pior no mundo do que alguém infeliz no que faz.
Obrigado Jack!
Um abraço,
Sergio Prado