Olá pessoal,
Temos hoje mais de 200 membros no grupo. Peço que todos os 200+ leiam esta
mensagem até o fim.
O grupo está crescendo bastante. Iniciamos despretenciosamente em Outubro de
2008 e, seis meses depois, tivemos mais de 1700 mensagens trocadas só no
último mês. Temos recebidos mais membros, inclusive de outras comunidades, e
isso tem sido muito bom. Vejo que hoje somos um dos maiores grupos do país,
e um dos pouquíssimos que se encontra pessoalmente. Nunca pulamos uma única
reunião presencial, e temos recebido pessoas de todos os tipos para
compartilhar conhecimento nestas reuniões. As reuniões são gravadas, algo
inédito até onde sei, e permitem que os membros de fora de SP, onde o grupo
nasceu, possam ficar mais próximos, assistindo os vídeos. Na última reunião
fizemos uma experiência com Live Meeting, e os membros dos outros estados
puderam participar ativamente, e faremos de tudo para continuar com essa
prática. Temos um evento de tamanho razoável planejado para o mês que vem, e
uma revista em preparação. São dados impressionantes, e só confirmam o que
eu pensava quando tive a idéia de criar o grupo: o mercado estava carente de
um grupo de usuários como o que nos propusemos a ser.
É justamente por essa última frase que escrevo esta mensagem. Vou explicar.
Este é um grupo de arquitetura de software. A proposta do grupo é discutir
esse tema à exaustão (mesmo que muitos membros - eu incluído - não fiquem
exaustos, felizmente). Falamos de ORM, DI, OO, processo, testes, cloud
computing, mercado, entre outros assuntos igualmente interessantes. É um
diferencial deste grupo, já que estes assuntos são raramente abordados nos
outros grupos. Isso acontece porque o grupo é focado: somos um grupo de
arquitetura de software.
Por isso meu *primeiro pedido*: peço que vocês, membros deste grupo, foquem
nas questões pertinentes à arquitetura de software. Dúvidas técnicas podem
até ter lugar nas discussões do grupo, desde que tenham como pano de fundo a
arquitetura de software. Dúvidas estritamente técnicas devem ser
direcionadas a grupos focados nestas questões, como grupos que, inclusive,
compartilham membros com este grupo e nos apoiam, como os excelentes .Net
Raptors, e Codificando.Net. Há ainda o fórum MSDN, que é observado por
inúmeras pessoas da comunidade, MVPs e funcionários da própria Microsoft
(alguns fóruns tem um tempo de resposta extremamente baixo). Há ainda os
grupos de discussões específicos, como o grupo NHibernate Brasil.
Exemplos de discussões que não fazem tanto sentido em um grupo de
arquitetura:
1. Como fazer databinding com um gridview?
2. Como usar jQuery com textbox?
3. Como fazer um controller do ASP.Net MVC herdar de uma classe
específica?
Ainda assim, podemos tratar questões técnicas, como eu disse antes, mas sob
um pano de fundo de arquitetura. Seguindo as questões anteriores, as
seguintes questões são muito interessantes do ponto de vista arquitetural:
1. Como trabalhar escalabilidade se estou utilizando um gridview?
2. jQuery é uma boa opção em cenários de cloud computing, onde devo
buscar dados particionados de forma assíncrona com ajax?
3. Estou pensando em utilizar DI com meus controllers do ASP.Net MVC.
Como eu faria isso? O que vocês acham da idéia?
Vejam que as tecnologias são as mesmas, mas estamos tratando de aspectos de
arquitetura.
Esse primeiro pedido é para que membros focados em arquitetura não sejam
sobrecarregados com questões técnicas, que não estão buscando. Como eu
disse, há grupos e fóruns mais específicos para estas questões, onde os
membros destes grupos e fóruns estão mais motivados para responder este tipo
de questão do que os membros do .Net Architects.
O *segundo pedido* é para que todos nós evitemos postar perguntas que
exigiram uma consultoria completa. Não imagino que ninguém do grupo tenha
tempo de prestar uma consultoria completa em uma questão do grupo, e mais,
não imagino que isso seria possível. Este tipo de questão está pedindo para
receber respostas superficiais. Exemplos:
1. Questões que vem com 2 parágrafos de questionamento e 300 linhas de
código.
2. Questões do tipo: "Quero fazer um sistema com ASP.Net. Uso Dependency
Injection?"
No caso, a segunda pergunta poderia ser mais focada, e criaria uma thread
muito interessante. Ela não tem cenário, está muito superficial. Para
resolver esse problema um cenário poderia ser apresentado, junto de uma
opção (curta e explicativa), e solicitada a opinião do grupo. Dessa forma
todos ganham.
O *terceiro pedido* é que foquemos em arquitetura de software, e, se formos
abordar tecnologia, que seja .Net. O grupo se chama *.Net* Architects porque
a comunidade .Net precisa de um grupo destes. Outras comunidades possuem
seus grupos, alguns tão ou mais ativos do que este, e este é um grupo de
.Net. Ainda que uma solução com Rails, Java ou LISP seja útil, em pouco ela
acrescentaria a 99% do grupo, que simplesmente não vai se interessar. Nesse
caso, quem fala acaba falando sozinho.
Vejam bem, não estou pedindo para não citarmos outras linguagens ou
plataformas, mas apenas que, se fizermos, seja dentro de um contexto. Temos
tido excelentes contribuições de outras linguagens e plataformas, como é o
caso de quando tivemos a palestra do Akita e do Rafael Rosa sobre Rails, e
recentemente temos tido especialistas de outras linguagens, como o Philip
Calçado, participando do grupo. Acredito que essas contribuições ajudam
muito a todos os membros, e o mercado de desenvolvimento de software em si,
e, notem, estas pessoas sempre contribuem cientes de que este é um grupo de
.Net, nunca impondo sua plataforma/linguagem. Peço aos membro que vêm deste
background que *não se sintam* desconfortáveis com este pedido, já que o
objetivo não é esse. Acho sua participação importante, e acredito que tanto
a comunidade .Net quanto as outras ganham muito com o diálogo. Peço apenas
que as contribuições sejam focadas em arquitetura, e, se forem técnicas, que
sejam em uma linguagem/plataforma que os membros entendam. Ainda assim,
exemplos em outras linguagens são bem vindos, desde que contextualizados. O
que não deve aparecer aqui são contribuições vazias, do tipo:
- Faz com Ruby
porque em nada acrescentam. Já se fosse:
- Em Ruby há a opção de trabalhar esta questão da forma X. Em C# isso pode
ser feito da forma tal tal tal...
Seria algo mais aplicável à realidade dos membros do grupo.
Tenho recebido contatos de muitos membros do grupo reclamando destas
questões. Alguns chegaram a pedir que o grupo tivesse a participação
restrita, ou tivesse suas questões moderadas. Sinceramente, não sinto que
esta é a solução ideal neste momento, acredito no bom senso de todos. Ainda
assim, não descarto essa opção caso membros isolados insistam em ignorar a
vontade da maioria, que, neste cenário, faz muito sentido.
Os pedidos que faço aqui são para que mantenhamos o grupo focado em um alto
nível de discussão, que seja compreensível e interessante a todos os
membros. Sinto que este é um dos grupos mais interessantes do país (eu diria
que é O mais interessante, mas como fui eu quem criou o grupo essa é uma
opinião altamente contaminada). Os pedidos são para que possamos vê-lo
crescer com qualidade, algo que, acredito, todos querem, mas que é difícil.
Como sempre, feedbacks sobre estas propostas são bem vindos. Tudo neste
grupo foi decidido na base da votação, até o seu próprio nome. Fiquem a
vontade para criticar o que exponho aqui, e propor soluções alternativas.
[]'s
Giovanni Bassi
Microsoft MVP, MCSD, MCPD, CSM
Arquiteto de software
http://www.giovannibassi.com