RSS

Qcon London 2009

1 Comment | This entry was posted on Mar 20 2009

qcon_logo_london_2009

After 4 months of no activity here (in my twitter I post more frequently), i’m posting some notes from Qcon London I attended this year.

Curiously, Qcon London began with a keynote from the scientist Tony Hoare (inventor of quicksort) that didn’t make me sleep. Hoare talked about the division between the academic practices and the commercial world doing many comparisons and little jokes regarding the “I’m a scientist, I’m a engineer” world.

Keith Braithwaite started his talk “Adopting agile is harder than you’d like but easier than you’d think” by comparing costs of a developer and hardware costs. Keith showed some statistics of how people improve productivity by using bigger monitors and how these hardware costs are related to the developer costs. According to him, if your company don’t gives you a big monitor, they are loosing money due to loss in productivity. Other comments he did were about pair programming where he defends its use in an all the time basis, saying that “choosing to work alone, is to choose have less quality in your code”. In a rant about Rockstars developers, Keith said that them should not be part of a team but hired as consultants or contractors instead. Finishing his talk, Keith presented some points to consider in order to know if agile methodology is working in your team which are: estimates converge, quality remains high over long periods and the team by itself find new approaches to work better.

“Web-oriented architecture” and his other talk “Transforming software architecture with Web as platform” by Dion Hinchcliffe predicts the obvious where most the applications will be web-based and web-oriented and still following the “always beta” philosophy because “the best products are never finished”. According to Dion, the web oriented architecture is strongly based on REST plus the use of mashups, integration and widgets. Dion said we are missing portability in our applications, so he believes that by using OPML to exchange data, we’ll be in the right way to the web-oriented architecture.

Martin Fowler, who doesn’t need presentations, in “3 years of real word ruby” gave us an overall idea of how ruby was introduced in the projects inside ThoughtWorks. Martin talked about how people were dealing with ruby, how the productivity was affected and many other considerations of using ruby for real world projects. According to Martin, there are 41 projects made with ruby. One thing Martin said, was how people felt when they need to go back to work with languages other than ruby. Not surprisingly (for me) most of the people didn’t want to go back to work with other languages, mostly because the easy of use of ruby. About ruby performance in the projects, Martin said “Ruby is slow, but that’s not the bottleneck in most of applications. The biggest cause for slowness nowadays is accessing database” . Regarding the tools to develop with ruby, once again, wasn’t any surprise for me. Nobody in the team feel the need for a IDE like Eclipse. All in all, nothing new for me in his talk, but it’s always good to hear from guys like Martin.

“Agility: possibilities at a personal level” by Linda Rising was a really weird talk. During 95% of its time, she talked about Caffeine and the way it affects a person’s health. It was for sure a nice talk and Linda definitely knows how to keep people’s attention. The message that she tried to present was that being agile can be (bad) the same way “caffeine” is for our health because being agile makes you feel energized, stimulated, addicted to work and makes work be a fun thing but our body and mind are not ready for such “energy”.

Joseph Pelrine in “Coaching self organizing teams” was about how to make people do things without telling them directly. It’s all a matter of achieving the right behavior which for Joseph is a function of people vs environment. Self organizing teams have a emergent behavior and are in general conditioned to the “first fit pattern match”. It means, they make decisions based in what they experienced. This kind of team needs diversity in terms of behavior in order to stimulate a evolving behavior as a team. A team is not just a bunch of people working together, they need “heat” to move and work better. According to Joseph, it’s near “chaos” when people do they best. To defend his idea, he states there are team “temperatures” to keep track:

  • burning, when the team is in a organized chaos where everything is done fast, synchronized and without errors. According to Joseph, although this is what every team manager wants this “temperature” only can be maintained for short periods because it can drive the team crazy.
  • cooking, when the team have everything fitting nicely and properly. Projections are made with realistic dates and everything flows to achieve a goal without help of the team manager.
  • stagnating, when people in the team starts procrastinating the tasks because they don’t realize the real value of it.
  • congealing, the team is lazy. They know they could do something better, but they are too lazy to do it.
  • solidifying, the team starts adding bureaucracy for everything just to procrastinate even more the tasks.

One important lesson from Joseph was if you want to change a team, you’ll need to stimulate the team’s network by creating confidence among the members of the team. How can you do that ? It’s like flirting with somebody , first it requires a real context to apply, it means, something to talk about, then you’ll need a good environment, it means the place where it will evolve the stimulation.

There`s still hope

0 Comments | This entry was posted on Nov 05 2008

Ok, this blog isn`t about politics and I`m also not into politics, but for the first time in my life I believe a politician can really make a “real change”. Not only changes in USA, but in all the countries and the way people see the USA.

Congratulations Barack Obama !

Why I have been away

3 Comments | This entry was posted on Oct 22 2008

For those you don`t know, when I attended RailsConf Europe, I came to Europe to make a live test in a job I was applying. As you know by my blog post, RailsConf Europe was great. I just wrote one post about it, but that week was incredible busy for me. I still have my notes from the second day of RailsConf, but I don`t know if I`d post them.

The fact is: I got approved (yaaayyy ). So I back to Brazil to start arranging documentation to apply for a work permit in Spain (Madrid City). Now I`m in Madrid, working in the company. This changes a lot of things in my life, but it`ll be an amazing experience for me in any field.

Here i`ll learn a new language (spanish), work and learn with amazing people like Pratik Naik, Xavier Noria e Raul Benito, play guitar hero in the company when stressed, attend nice conferences in Europe like Goruco, RubyConf and others, meet new people in the effervescent nightlife of Madrid…

One last thing: My google summer of project went live yesterday (October, 21) and everything is working fine. In case you want to check it out the URL is http://www.christmasfuture.org/.

Thanks,

ps: In the picture is the amazing new terminal of Madrid`s airport

Portal UCA

0 Comments | This entry was posted on Aug 20 2008

Portal UCA

Está quase pronto o Portal UCA ( um computador por aluno) o qual irá agregar os estudos de caso realizados durante o projeto piloto com o laptop XO.

Após o término do mesmo irei disponibilizar, em alusão ao portal, um estudo de caso de como foi desenvolvido, plugins utilizados, problemas enfrentados e demais questões enfrentadas no desenvolvimento para ajudar quem está iniciando no mundo Rails, pois é uma aplicação bem simples, mas que apresenta bons detalhes pra quem está recém se aventurando com Ruby on Rails.

Outra novidade: irei participar da minha primeira RailsConf e vai ser na europa, mais precisamente em Berlim. Para saber mais sobre a conferência acesse o link que está na minha barra lateral aqui do blog. Pretendo é claro fazer uma cobertura do que eu presenciar por lá, fiquem no aguardo.

Writing Opinionated Software

3 Comments | This entry was posted on Jul 28 2008

Sometimes I got myself thinking what makes a software have its own opinion and be considered “optioned software”. Would it be related to the language philosophy or to the programmer itself, or both of them?

People usually say Rails is a good example of optioned software. I can say I take part of the same opinion, but I’d like to take this point a little more further by not emphasizing only the software, but the programmer and how its culture could be incorporated (and not avoided) in the software it produces.

Out there, in the software market, when hiring people, companies usually claim they give plenty of room for people to innovate, share ideas and try new things and all that cool stuff we usually hear from Googles’s employees about independence and space to build your own skills and develop ideas within the job. But what we found most in the reality is the same copy & paste philosophy everywhere. The programmer usually don’t have time to try new things, because he is stuck with a pile of tedious tasks to complete and the deliverable is always behind schedule, which appears to be a endless cycle, project after project.

I believe, Ruby on Rails came to “save” the people from these kind of starving companies, which likes to hire young and “virgin” employees to mold them to the “Software Factory” style. Ruby on Rails lets the programmer surpass most of the tedious tasks, so it lets the programmer have free time to innovate in other areas of the software. It depends, of course, on the company philosophy, but when companies envise the real profit they can benefit from having a happy employee and tailoring the software for the user real needs, the companies will would like to have adopted the Ruby on Rails earlier.

Ok, but where the programmer opinion comes in ? I strongly believe by having more time to think, the programmer can not only fix issues, but can also suggest new features, test and present them very quickly and best of all, he also can earn more as people usually like to pay for what’s well done.

All in all, writing optioned software is not about yelling what’ s your favorite band, but it’s all about programming and being happy.  I am a happy programmer and you ??

[update 08-01] Thanks Soleone for your suggestion

RELEASED – “Rails 2.1 – What`s new ?” Book

2 Comments | This entry was posted on Jun 09 2008

Book Cover

The Book Rails 2.1 – What`s new ? Made by Carlos Brando and Tapajós was released last week. It was the very first book presenting Rails 2.1 and its new features, in Portuguese, and best of all, it was released free of charge ( like free beer).

But Carlos Brando and the Brazilian rails community were very upset because most Railers of the world couldn`t read portuguese so they couldn`t rejoice the book like us. So I and other fellows, lead by Carlos Brando got together to translate the book to english, so all people could read and use it.

I`m very proud of being part of this community that made the translation and reviewed it in less than 2 days. You can download the book here or from Carlos Brando blog.

I and these guys are who made this task possible, so please thanks us and if you like our work, please recommend us in in Working With Rails:

Rafael BarbosaRecommend
Made Introduction and chapter 1

Caike Souza – Twitter: @caike
Made Chapter 2

Pedro Pimentel (Myself) – Recommend
Made Chapters 3-8 and 10-13

Abraão CoelhoRecommend
Made Chapter 9

Ricardo S YasudaRecommend
Made Chapter 14

And last, but least, don`t forget to thanks and recommends the authors if you haven`t did yet.

Recommend Carlos Brando

Recommend Marcos Tapajos

More information about the original book can be found in Carlos Brando blog.

Download the book here

GSoC inicia oficialmente!

0 Comments | This entry was posted on May 26 2008

Google Summer of Code

Google Summer of Code começou oficialmente neste 26 de maio. Após um período de community bound, com os mentores e outros estudantes selecionados, tivemos a oportunidade de nos inteirarmos a respeito da Christmas Future, organização a qual vamos trabalhar em conjunto pelos próximos 3 meses.

Esse período de aproximação com a comunidade do Christmas Future serviu para definirmos melhor nosso objetivos. No meu caso, meu objetivo principal foi alterado, não sendo mais o desenvolvimento da funcionalidade de doação múltipla. Agora serei responsável pela implementação do motor de buscas do sistema de doações. Espera-se que a busca seja fácil de usar a ponto de facilitar e incentivar as doações através do sistema do Christmas Future.

O segundo objetivo a ser alcançado é a melhoria da interace com o usuário na parte sobre informações de projetos. Aqui espero poder aplicar as melhores técnicas de usabilidade possíveis. Isso é parte de meu segundo entregável, previsto para o final do evento em torno de final de agosto.

Boa sorte a todos que participam e para mim também ! eheheh

Google Summer of Code

1 Comment | This entry was posted on Apr 21 2008

Google Summer of Code

I have some good news for today. I’ve got accepted to participate in Google Summer of Code. I know many of you didn’t knew i was applying, but i thought it could be better to stay quiet, as last year attempt wasn’t successful even with my proposal being well done and focused. It was a proposal do include social interaction in the Moodle software.

This year i applied to Christmas Future Organization and for those who wants to know about it here is how they described themselves on GSoC website:

“Christmas Future is an NGO using technology to help alleviate extreme poverty through integrated community development. Through our open source donation engine called DonorTrust, we connect donors with on-the-ground implementing partners to add transparency and feedback to the development process. DonorTrust helps people to see that their choices impact the world. Our technology also allows people to give what amounts to an online gift card, which recipients can use to support development projects. Because DonorTrust is open-source, the development of this engine will help many NGOs to more effectively raise money for their good causes. “

My project’s purpose is to make easier the donation process using the future versions of the DonorTrust system, using the best practices in the world of the HCI ( human computer interaction)

Initially, i plan a research about the existing share tools and gift-cards (like the ones found at facebook). The interface definition came after, because the user interaction with the system will be my main focus.

Its easy of use will ensure the best user experience, acting transparently. To achieve this, we need a clean interface and take care to not abuse of ajax interaction, ensuring a smooth interaction and with guarantee to run everywhere.

This was excerpted from my proposal’s abstract, but I thought it would be good to share it here. Now it’s time to community bonding with my organization and do some hands on with their software.

I’d like to thanks Google who is funding my participation and also James Lee from Christmas Future who is going to be my mentor during the project.

Recomeçando

4 Comments | This entry was posted on Mar 22 2008

Como meu antigo servidor de blogs ficava muito tempo fora do ar e para aproveitar uma promoção do host netfirms, resolvi colocar em prática um blog de verdade, com um layout legal e que fosse versátil o bastante para além de publicar posts, também colocar meu currículo, portfólio e outras coisas que vierem a ser úteis.

A escola pelo wordpress inicialmente foi por causa do suporte nativo de wordpress da netfirms, mas o wordpress deles é bem antigo, então resolvi atualizar por conta própria e com alguns pequenos hacks consegui chegar no estado atual do blog, mas ainda falta configurar muita coisa.

Vou ver se consigo ainda migrar as postagens de meu antigo blog para cá.

Experiências

0 Comments | This entry was posted on Jan 20 2008

No tempo de nossos pais, bastávamos ter o ensino médio e já poderíamos ir atrás de empregos, e em geral, conseguiam-se bons empregos. O mundo mudou, e foram criados métodos de avaliação mais aprofundados dos candidatos a vagas de emprego. Hoje, temos que passar, em média, por 3 fases em qualquer processo de seleção para enfim sermos aceitos. Não basta ter no currículo um curso superior. As empresas também querem saber que línguas você domina, que cursos e certificações realizou, que resultados alcançou no passado, querem saber sua capacidade de abstração, sua adaptibilidade, enfim, uma lista imensa de critérios de avaliação.

Dentre destes critérios utilizados tenho comentários pessoais sobre 3 deles …

Saber um idioma além do idioma de Eça de Queiroz eu considero uma prioridade até mesmo para quem pensa em nunca sair do país para trabalhar. O inglês é praticamente pré-requisito mesmo em pequenas empresas. Por mais que não venhamos a fazer uso intenso do idioma durante o trabalho, o conhecimento de inglês técnico e de leitura é encarado como essencial, visto que em geral, o mundo da TI tem o inglês como seu principal meio de comunicação.

Um dos critérios de avaliação que mais me irritam são as certificações. Talvez por eu ter uma educação baseada em abstração e teoria, eu acredito que exigir uma certificação, é exigir um certificado de que você é capaz de copiar algo muito bem, além de servir para avaliadores de recursos humanos leigos em tecnologia terem uma forma de classificar o candidato baseando-se no seu número de certificações.

Um grande fator diferencial, que eu mesmo constatei, tem sido relatar vivências no exterior, sejam elas a negócios ou turismo. A bagagem cultural que trazemos em uma viagem é muito grande, e isso pode ser usado como um critério auxiliar e também como forma de mensurar a capacidade de abstração da pessoa (o conhecido CVP – coeficiente de viração própria). A tirinha do Dilbert acima ilustra a diferença entre ter um profissional com cultura e capacidade de abstração dentro da organização. Um bom exemplo de uso de abstração está no livro “A Arte da Guerra” de Sun Tzu, de onde foram trazidas técnicas do mundo da guerra para dentro do mundo corporativo.

Ressalto que as convicções aqui apresentadas são de minha autoria e baseadas em experiências pessoais. Não é objetivo generalizar o nível atual de avaliadores do mercado de TI. No entanto, creio que são dicas e alertas que podem ser úteis para muita gente.

:D