Entrevista com Michael Barr
- por Sergio Prado
Na semana passada entrevistei por e-mail Michael Barr, presidente da Netrino, empresa que oferece consultoria e treinamento na área de sistemas embarcados.
Ele foi durante um bom tempo editor-chefe da revista Embedded System Programming do site Embedded.com, e já escreveu três livros, dentre eles um que sempre recomendo a todos que estão iniciando na área: Programming Embedded Systems in C and C++. Segue nossa conversa traduzida abaixo.
ENTREVISTA EM PORTUGUÊS
Mike, fale um pouco sobre você. Como você começou a trabalhar com sistemas embarcados?
MB: Quando estava me formando em engenharia elétrica, descobri interesse em Ciências da Computação, fiz alguns cursos de programação, e comecei estagiando como desenvolvedor de software. Escrever software interfaceando com o hardware foi meu primeiro amor (conheci minha esposa anos depois!). Só depois de conseguir um emprego nesta área que descobri que o trabalho era chamado de desenvolvimento de software embarcado.
O que você faz na Netrino?
MB: Eu fundei a Netrino em 1999. A empresa fornece serviços de engenharia, consultoria e treinamento, com foco em desenvolvimento de firmware e hardware. Gasto grande parte do meu tempo desenvolvendo três atividades: dando cursos como o Embedded Software Boot Camp, prestando consultoria para gerentes e diretores de engenharia em questões de arquitetura e processos, e trabalhando em questões jurídicas como um perito técnico.
Como foi ser o editor-chefe da revista online Embedded System Programming?
MB: Comecei como editor acidentalmente depois de um encontro com o antigo editor da revista na época, Lindsey Vereen. Apesar de sempre ter apresentado um perfil mais técnico do que um editor, eu realmente gostei do meu trabalho lá. Olhando pra trás, eu provavelmente aprendi até 3x mais sobre desenvolvimento de software embarcado como um editor, do que o que aprendi em projetos no meu dia-a-dia. Isso porque a natureza deste trabalho forçou a me expor todo mês a dezenas de boas idéias.
Que ferramentas você usa no dia-a-dia para gerenciar e/ou desenvolver software para sistemas embarcados?
MB: Apesar de trabalharmos com diferentes famílias de processadores, a Netrino na maioria das vezes usa compiladores C/C++ e debuggers JTAG da IAR Systems.
O que você tem a dizer sobre o futuro dos sistemas embarcados?
MB: O futuro é brilhante para os desenvolvedores de sistemas embarcados. Com os custos por MHz cada vez menores (assim como menor consumo de energia), novas aplicações continuam aparecendo a preços bem acessíveis. O mundo esta fabricando 10 bilhões de novos processadores todo ano, e 98% destes vão para sistemas embarcados. A grande maioria são microcontroladores de baixo custo e capacidade limitada de memória, que precisam ser programados eficientemente em C, e talvez C++.
O que você tem a dizer para os engenheiros que estão começando a carreira em sistemas embarcados?
MB: Certifiquem-se de ler o que encontrarem gratuitamente no site da Netrino, assim como nos arquivos da revista Embedded System Programming no Embedded.com. Desta forma, você evita ter de reinventar a roda.
Programming Embedded Systems in C and C++ é o livro que costumo indicar para quem quer aprender sobre desenvolvimento de software embarcado. Você tem planos para novos livros?
MB: Até agora eu escrevi um total de 3 livros. Este que você mencionou foi publicado em 1999 (e atualizado para a segunda edição em 2006). Meu segundo livro foi o Embedded Systems Dictionary, onde fui co-autor junto com o Jack Ganssle in 2003. Finalmente, em 2009, eu publiquei o Embedded C Coding Standard.
Se você fosse para uma ilha deserta, que linguagem de programação, arquitetura de CPU e sistema operacional levaria?
MB: Linguagem C, e a arquitetura da CPU não importaria tanto, desde que eu pudesse programar em C. E levaria o MicroC/OS-III como sistema operacional?
Você vai estar no ESC Brazil 2011?
MB: Eu adoraria. Quando vai ser?
Em maio de 2011, quem sabe nos vemos por lá! Suas últimas palavras para nossos leitores…
MB: O mundo precisa de mais entusiastas como vocês! Continuem lutando pela qualidade do software embarcado.
ENTREVISTA EM INGLÊS
Mike, tell me a little bit about yourself. How do you start working with embedded systems?
MB: While earning my undergraduate degree in electrical engineering, I discovered an interest in computer science, took elective programming courses, and found an internship writing software. Writing software close to the hardware interface was my first love (I met my wife years later!). Only after getting a job doing this, did I discover the work was called embedded software development.
What do you do at Netrino?
MB: I founded Netrino in 1999. The company provides engineering design services, consulting, and training all focused on hardware and firmware design. I spend the bulk of my time doing three things: teaching courses like our Embedded Software Boot Camp, consulting with engineering managers and directors on architecture and process issues, and working in the legal system as a technical expert witness.
How was to be the Editor-in-Chief of Embedded Systems Programming magazine?
MB: I got my start as an editor accidentally and entirely as the result of a chance meeting with the former editor of that magazine, Lindsey Vereen. Though I was always more of a technologist than an editor, I did enjoy my role there. In hindsight, I probably learned 3x as much about writing good embedded software by working as an editor than I did by working on real projects. That’s because the nature of this work forced me to be exposed to dozens of great ideas every month.
Which tools do you use in your day-to-day basis to manage and/or develop embedded systems?
MB: Though we target a large range of processor families, Netrino mostly uses C/C++ compilers and JTAG debuggers from IAR Systems.
What can you say about the future in embedded systems?
MB: The future is bright for embedded systems developers. As the price of computing power decreases (as well as the amount of power required), new applications continue to emerge at every price point. The world is now making over 10 billion new processors each year and 98% of them are going into embedded systems. The vast majority of these are low cost, memory-constrained microcontrollers that must be programmed efficiently, in C and perhaps C++.
What do you have to say for the new engineers/developers that are beginning the career on embedded systems. Any tips or tricks?
MB: Make sure you read everything you can find for free at Netrino’s website as well as in the magazine archives at Embedded.com. That way, you can avoid reinventing the wheel.
Programming Embedded Systems in C and C++ is the first book I recommend for anyone looking for a material about C/C++ for Embedded Systems. Do you have plans for another book?
MB: I have written a total of three books so far. The one you mention was first published in 1999 (and later updated to its 2nd edition in 2006). My second book was the Embedded Systems Dictionary, which I co-wrote with Jack Ganssle in 2003. Finally, in 2009, I published the Embedded C Coding Standard.
If you would go to a desert island, which programming language, CPU architecture and operational system would you take with you?
MB: Programming Language: C, CPU Architecture: doesn’t much matter (so long as I can program in C) and Operating System: MicroC/OS-III.
Are you going to be at ESC Brazil 2011?
MB: I would love to. When is it?
It will be on May/2011. I am looking forward to see you there! Last words for our readers…
MB: The world needs more great technologists like you! Keep fighting the good fight for embedded software quality.
Um abraço,
Sergio Prado