Entrevista com Colin Walls

- por Sergio Prado

Categorias: Entrevistas Tags: , ,

Um tempo atrás eu postei a resenha de um livro bem inter­es­sante do Colin Walls, “Embed­ded Soft­ware The Works”. Entrei em con­tato com ele, que topou respon­der algu­mas per­gun­tas sobre a área de sis­temas embar­ca­dos. Segue nossa con­versa abaixo.

Colin, fale um pouco sobre você. Como você começou a tra­bal­har com sis­temas embar­ca­dos?
CW: Quando eu era cri­ança, eletrônica era meu hobby. Mais tarde me inter­es­sei por com­puta­dores e come­cei uma car­reira na área de soft­ware, me espe­cial­izando em sis­temas de con­t­role de tempo real. Tra­bal­har com sis­temas embar­ca­dos foi uma evolução natural.

O que você faz na Men­tor Graph­ics? Em que pro­je­tos tem tra­bal­hado ulti­ma­mente?
CW: Tenho tra­bal­hado na Men­tor Graph­ics por um bom tempo. Tra­bal­hava na Microtec, que foi adquirida no meio da década de 90. Come­cei desen­vol­vendo tra­bal­hos pura­mente téc­ni­cos como suporte e desen­volvi­mento. Mais tarde fui para o mar­ket­ing, aprovei­tando meu back­ground téc­nico. Sem­pre gostei de escr­ever e desco­bri tam­bém que gosto de palestrar. Hoje me sinto em casa quando estou palestrando. Nos últi­mos 2 anos, tenho me envolvido bas­tante com even­tos de mar­ket­ing online (Web Sem­i­nars), que são mais efe­tivos em trazer resultados.

Qual foi o maior desafio na sua car­reira?
CW: Eu acho que a decisão de tra­bal­har na Microtec foi um grande passo para mim. Eu estava deixando um emprego seguro para me jun­tar à uma start-up. No final, percebi que fiz a coisa certa.

Que fer­ra­men­tas você usa no seu dia-a-dia para geren­ciar ou desen­volver pro­je­tos?
CW: Eu não estou ati­va­mente envolvido em qual­quer tra­balho de desen­volvi­mento no momento. Se estivesse, ou quando estiver, nat­u­ral­mente vou escol­her as fer­ra­men­tas da Men­tor Graphics. :-)

O que você pode dizer sobre o futuro na área de Sis­temas Embar­ca­dos?
CW: Ler uma bola de cristal é sem­pre perigoso, já que novas tec­nolo­gias apare­cem e mudam o jogo. Mas algu­mas coisas são cer­tas. Sis­temas Embar­ca­dos estarão cada vez mais pre­sentes nas nos­sas vidas. Difi­cil­mente um dia se passa sem que eu ouça algo sobre um novo dis­pos­i­tivo eletrônico. Con­sumo de ener­gia con­tin­uará sendo uma pre­ocu­pação, já que questões ambi­en­tais são uma forte influên­cia. Pro­je­tos usando CPUs com múlti­p­los núcleos se tornarão mais comuns — provavel­mente padrão.

E sobre o cresci­mento do número de dis­pos­i­tivos com Linux embar­cado?
CW: Como exis­tem muitos pro­gra­madores que tra­bal­ham com apli­cações desk­top, parece coer­ente para desen­volve­dores de sis­temas embar­ca­dos tirarem van­tagem disso, e aproveitar toda a gama de dri­vers e apli­cações disponíveis. Por­tanto, o uso de Linux em apli­cações embar­cadas, onde restrições de memória e apli­cações de tempo real não são pri­or­i­dades, é com­preen­sível.  Acred­ito que ver­e­mos cada vez mais o uso de Android, que roda em cima de Linux, em várias apli­cações além de equipa­men­tos mobile.

O que você tem a dizer para novos engenheiros/desenvolvedores que estão começando a car­reira em sis­temas embar­ca­dos?
CW: O prin­ci­pal ponto é que eles pre­cisam saber pro­gra­mar. Grande parte do soft­ware para desk­top é desen­volvido através da reuti­liza­ção de com­po­nentes exis­tentes. Não existe nada de errado nisso, mas para sis­temas embar­ca­dos, prestar atenção no uso de recur­sos é essen­cial. Um desen­volve­dor de soft­ware embar­cado pre­cisa con­hecer C, e pelo menos saber ler Assem­bly, se não for capaz de cod­i­ficar neste nível.

Eu li “Embed­ded Sys­tems The Works” e gostei bas­tante. Existe algum plane­ja­mento para um novo livro?
CW: Obri­gado. Tem sido bem rece­bido e as ven­das tam­bém estão bem. E uma parte dos roy­al­ties de cada cópia ven­dida é rever­tida para uma insti­tu­ição de cari­dade, o que é bas­tante grat­i­f­i­cante. Escr­ever um livro con­some bas­tante tempo, o que infe­liz­mente não tenho neste momento. Entre­tanto, uma nova edição do “The Works” será pub­li­cado no ano que vem.

Se você fosse para uma ilha deserta, que lin­guagem de pro­gra­mação, arquite­tura de CPU e sis­tema opera­cional levaria?
CW: Não tenho certeza se desen­volve­ria soft­ware embar­cado em uma ilha deserta! De qual­quer forma, acred­ito que tenho algu­mas prefer­ên­cias. Acho que C seria a primeira opção de lin­guagem, ape­sar de achar que apren­der algo novo tam­bém seria inter­es­sante. Pro­gra­mar em uma lin­guagem de alto nível isola o pro­gra­mador da arquite­tura da CPU. De qual­quer forma, eu sem­pre gostei do 68000, então talvez levaria um Cold­fire. A escolha do sis­tema opera­cional depen­de­ria da apli­cação, mas um sólido RTOS como Nucleos seria uma escolha fácil.

Últi­mas palavras para nos­sos leitores…
CW: É muito fácil assumir que todo sis­tema embar­cado deva ser pro­je­tado com CPUs high-end de 32 ou 64 bits. Ape­sar de serem cer­ta­mente necessários para dis­pos­i­tivos mais com­plexos, podem ser “demais” para deter­mi­nadas apli­cações. Por isso, exis­tem ainda muitos dis­pos­i­tivos pro­je­ta­dos com 4, 8 ou 16 bits por aí. São geral­mente invisíveis, sem qual­quer tipo de inter­face. Entre­tanto, pro­gra­mar para eles pode trazer desafios bem interessantes.

O Colin pos­tou a entre­vista orig­i­nal em inglês no blog dele aqui.

Um abraço,

Ser­gio Prado

  • Marcelo

      Parabéns Sér­gio pela entre­vista! Muito inter­es­sante! =D

  • Matheus Gus­tavo

    Se você fosse para uma ilha deserta, que lin­guagem de pro­gra­mação, arquite­tura de CPU e sis­tema opera­cional levaria?
    Essa pra mim é a mel­hor per­gunta das entrevistas!

    • http://sergioprado.org ser­gio­prado

      E a resposta do Jack Ganssle foi a melhor! :)

      Um Abraço.

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.