Pular para o conteúdo principal

Mestrado Finalizado

É com muito prazer que no dia 25/06/2010 (apesar da sonolenta participação da nossa seleção contra Portugal) meu mestrado finalmente teve sua última avaliação. Chegando assim em favorável resultado final. Além de agradecer por tudo que passou, o que eu mais queria aqui era contar um pouco como foram esses 3 anos 3 meses e 18 dias de pesquisa.
Com certeza você não vai achar nada disso nos meus artigos =P

Meu mestrado era uma incógnita desde o princípio. Apesar de muita gente esperar que eu fosse fazer algo do gênero, eu não tinha tal intenção. Tinha acabado de me formar e a Intacto estava indo muito bem e demandando muito esforço. Porém, no dia 07/03/2007 o senhor Alê fez sua defesa do mestrado e eu estava lá. Sua apresentação apresentou o universo da computação ubíqua, o que me deixou bastante animado. O projeto dele apresentava um middleware que focava na integração entre dispositivos baseando-se na adaptabilidade de serviços. O nome desse treco era UbiquitOS e me chamou muito a atenção. Toda essa idéia de usar dispositivos do ambiente e trocar serviços de maneira inteligente era o tipo de coisa que eu estava buscando.

Durante a apresentação milhões de idéias já começaram a pipocar na minha cabeça, mas uma foi mais forte. Uma das limitações do middleware era que ele só se comunicava usando Java. Tendo sido meu TG em redes e tendo alguma experiência de mercado pensei: "Opa, bora jogar SOA nessa parada". No mesmo dia já negociei com a Carla Castanho e com o Alê e eles gostaram da idéia (ou pareceram gostar).

Quase isso, mas com muitos artigos pra embasar a idéia.

Foi então que entrei como aluno especial no mestrado e nasceu o grupo UnBiquitous. Éramos 3 Doutores (Carla Castanho, Ricardo Jacobi e Pedro Berger), 1 Mestre (Alexandre Gomes), Eu e dois alunos de TG (Estevão Passarinho e Humphrey Fonseca). Durante o 1º ano pesquisamos bastante e nossos trabalhos geraram até uma melhoria no middleware. O Passarinho foi o responsável por colocá-lo para suportar diversas tecnologias de rede (pois antes era fixado em bluetooth). Este primeiro ano me rendeu a proposta do meu trabalho. Tudo me levava a crer que era só criar um protocolo que fizesse o meio de campo entre os dispositivos e o software. Cheguei inclusive a alterar o middleware para falar uma princípio deste protocolo, que por convencimento do Bassani, era baseado em JSON (levando a uma solução mais leve). Por isso minha proposta de mestrado era: "Um protocolo SOA de alto nível para arquitetura de redes ubíquas". Pois eu realmente acreditava que este era um problema de rede.

No segundo ano eu já era aluno efetivo do mestrado. Avancei bastante no desenvolvimento do middleware e consegui chegar a uma versão estável que foi publicada no google.code. Porém as pesquisas e conversas com a Alba Melo me levaram a crer que eu precisava de uma arquitetura em cima disso tudo, além disso aquele meu protocolo era na realidade um conjunto de protocolos. Isso garantiu a minha qualificação que ficou com o título de "DSOA: uma arquitetura orientada a serviços para o contexto de computação ubíqua".
Fica a pergunta no final: O que eu faço com isso mesmo?

O terceiro ano foi pesado na escrita de artigos, revisões, mais pesquisa e ajustes, tanto nos textos como no código. Todo esse trabalho foi compensado com uma publicação no GPC2010 e no LNCS. Mas o ponto mais importante disso tudo foi voltar a me atentar na importância das aplicações no projeto. Foi finalizada a implementação do middleware em duas versões. Foi construído o protótipo de uma aplicação e foram realizados muitos testes.

Mas o que eu mais queria apresentar aqui era algo que não fica registrado em nenhum artigo, repositório ou dissertação. É aceitar que na pesquisa muita coisa muda. O projeto nasceu acreditando que o problema estava na rede e que um protocolo resolveria tudo, no meio vimos que uma arquitetura seria a solução e por fim que o conjunto de tudo era importante, mas o mais importante eram as aplicações. Isso então levou ao título final do trabalho "Um conjunto de soluções para a construção de aplicativos de computação ubiqua".

É claro que neste meio tempo tivemos muitas outras coisas e muita ajuda. Mas isto deixaria este post muito maior do que já está. Por isso vou terminar com a reprodução do agradecimento da dissertação.

Um trabalho como este não chega ao ponto de ser aceito por uma banca de mestrado sem ter tido a colaboração de muitas pessoas. Apesar de o autor do trabalho ser apenas um, o esforço de muitas pessoas foi desprendido para que se chegasse ao resultado apresentado, e com sucesso. Agradecer a todos que participaram deste processo é abrir brechas a falha de esquecer alguém muito importante. Apesar da dificuldade da tarefa me arrisco aqui agradecer a aqueles que colaboraram.

Primeiramente gostaria de agradecer a Deus que me deu forças, inspiração e energia para superar três anos, três meses, 18 dias e mais de 1000 horas de empenho neste projeto. Agradeço também por ter colocado pessoas muito especiais em meu caminho e ter me agraciado com bons frutos ao longo do tempo.

Agradeço à minha mãe, meu pai e meus irmãos que por mais que tenham visto um pouco de loucura na computação ubíqua não minimizaram os incentivos nesta minha empreitada.

Deixo meu agradecimento especial a Pah (Paloma Braga) que mais que companheira e revisora foi minha co-autora, assessora de marketing e injetora de energia ao longo de todo este trabalho.

Agradeço aos professores Ricardo Jacobi e Carla Castanho que apostaram em um aluno (na época) desconhecido para orientar nos caminhos nebulosos da computação ubíqua. Ao senhor Alê (Alexandre Gomes) que confiou a mim esta tarefa importante de dar prosseguimento em seu trabalho. Contei também com a colaboração de muitos professores como Jõao Gondim e Pedro Berger que compartilharam conversas, opiniões, e conhecimentos de suma importância ao longo do trabalho. Agradeço em especial a professora Alba Melo que me acompanha desde os tempos de graduação, sempre me auxiliando com dicas importantes nas pesquisas que desenvolvi e ao professor Mário Dantas que não só compartilhou idéias junto ao grupo como aceitou ser um dos validadores deste trabalho.

Muitos foram aqueles que botaram a mão na massa e deixaram a sua marca não só espiritual mais codificada no uOS. Fica então registrado um grande obrigado aos senhores Passarote (Estevão Passarinho), Lucas Lins, Lucas Quintella, Beatriz Marília e Marcelo Bassani que deixaram a marca de seus esforços nos fontes deste trabalho. Fica também a aposta nos senhores Carlos Botelho, Lucio Scartezini, Lucas Pessoa e Bruno Zumba que se dispuseram a continuar nesta nossa linha de pesquisa.

Fica também meu obrigado ao pessoal da família 13 e da Intacto pelo apoio dado ao longo desta empreitada. Em especial ao Carlitos que foi meu incentivador (e desertor) de engajar no mestrado, e me auxiliou nos momentos de aperto. Também fica o obrigado a equipe do Karmonitor que dividiu o laboratório comigo nestes últimos nove meses e se mostraram ótimos companheiros.

Por fim a Rosa e o Daniel da secretaria que salvaram muitas barras e deslizes meus e as ``guardetes'' dentre muitos outros que deixaram a marca de seus esforços neste trabalho. Aos citados e muitos outros que por acaso eu venha a ter esquecido o meu muito obrigado.

PS: Assim que sair a publicação da dissertação colocarei o link aqui.


EDIT [04/08/2010]: Minha dissertação pode ser encontrada aqui.

Postagens mais visitadas deste blog

TDD como ferramenta de aprendizado

Na penúltima sessão do DojoBrasilia surgiu a seguinte questão: Será que o TDD não atrapalha no aprendizado de novas tecnologias?  A grande questão girava em torno de que o respeito estrito as regras ao TDD tornariam o aprendizado lento e enviesado. Isso por que você estaria focado em passar o teste o que estaria limitando sua velocidade no aprendizado na tecnologia, bem como a visão do objetivo final. Caso do dojoBrasília No caso da sessão que levantou a questão acho que o principal sentimento de "lentidão" se deve a grande carga de tecnologias novas que estavam envolvidas. Escolhemos iniciar um problema conhecido em não uma, mas várias tecnologias ( Backbone.js , Undescore , CoffeeScript , Jasmine , etc). Ao final da sessão a sensação de pouco avanço era justificada pelo tempo gasto compreendendo as tecnologias em questão. A sessão seguinte não obteve o avanço que muitos esperavam. Mas nela podemos ver como o uso de TDD compensou. Tínhamos apenas 4 cas

De Híbrido a 100% remoto - o caso da bxblue

A bx nasceu como uma empresa remota. Durante os primeiros 18 meses, os três fundadores --  eu, Guga e Roberto -- trabalhamos de nossas casas. Passado esse período inicial de maturação da idéia, nosso time começou a crescer, e acabamos optando por seguir um modelo híbrido. Nele tecnologia e marketing permaneceram remotos porém nosso time de atendimento e vendas ficou atrelado ao nosso escritório. Mas, como em muitas outras empresa, isso mudou nas últimas três semanas. Depois de tantos anos, nos tornamos uma empresa 100% remota. O O grande incentivo veio da situação que vivemos no mundo atualmente. Tendo o isolamento social como uma medida necessária a todos que tem o privilégio de poder fazê-lo, era nossa responsabilidade fazer tal mudança. Pois minha intenção aqui é contar um pouco tem sido essas 3 semanas que marcam o começo de um período que a ainda tem muito pela frente. Porque Híbrido? Antes, deixe-me explicar por que escolhemos o caminho de ser uma empresa híbrida, tendo na

Formando pessoas desenvolvedoras na bxblue

Eu sempre fui apaixonado por ensinar. Trabalho com a formação e ensino desde 2003, indo desde o ensino das bases de computação até lecionar em cursos de pós-graduação. Estar no dia-a-dia com pessoas que estão no começo da carreira é um mix de satisfação e desafio. Satisfação por você ter a oportunidade de contribuir com um pedacinho tão especial da história daquela que será uma pessoa desenvolvedora no futuro. Desafiadora pelo fato de precisarmos nos despir de aprendizados já superados em nossas mentes e nos esforçamos por enxergar novamente pelos olhos de quem ainda não tem a mesma vivência que você. Por onde passei, eu sempre acreditei que um bom equilíbrio entre profissionais experientes e em formação é a melhor combinação para um time de tecnologia. Isso é benéfico não apenas para a retenção, como também é estímulo para uma cultura de aprendizado e humildade. Cultura essa que favorece o compartilhamento e interação não apenas entre quem faz o software, mas também as demais áreas da