O que diferencia um do outro?
Efetividade ? (ou seja, tem problemas que só arquitetos resolvem, logo para aplicações simples faz sentido usar juniores....)
Produtividade? (ou seja, um arquiteto seria sempre 4x ou mais produtivo que um junior, logo sempre faz sentido se contratar sempre só arquitetos... )
Manutenabilidade ? (ou seja, a aplicação de um arquiteto é sempre mais manutenível - logo para aplicações simples que não evoluem faz sentido usar juniores).
Qualidade ? (ou seja, a aplicação de um arquiteto é sempre melhor... mas melhor em que aspecto? isto faz alguma diferença pro cliente?). Alguma outra?
Boa noite Alexandre,
A maturidade e experiência contam muito, ainda mais se tratando de algo tão pouco palpável.
Quanto melhor o Junior, mais “pilhado” ele é, assim, mais erros ele irá cometer por não medir os riscos do que está fazendo.
A experiência é fundamental para qualquer projeto. Não adianta perder tempo com soluções mirabolantes que no final das contas só aumentarão o custo. É preciso ter tato(maturidade) para saber onde deve e onde não deve aplicar esforços. Profissionais juniors não tem tanto conhecimento da plataforma, conhecem muito overview. Na prática, o overview não serve de muita coisa. Profissionais com maior senioridade rendem mais porque pensam e vêem o todo. Até quanto a política dentro das empresas. É preciso saber escutar, e falar na hora certa e com a pessoa certa. Energia deve ser gasta com eficiência senão... nada acontece.
Uma das grandes diferenças, e esse é o ponto que mais prezo é a capacidade de administrar restrições. Em todos os cenários possíveis e imagináveis temos diversas restrições e o que difere um profissional de outro é sua capacidade de se adaptar às restrições, sejam orçamentárias, técnicas, estratégicas. Esses são os diversos aspectos que diferenciam os profissionais mais experientes dos novatos, mas também, se não houvesse diferença estaríamos fritos!!!
MonkeyCoders
Duas empresas por onde passei tinham a idéia de ter macacos bem treinados para a construção de sistemas. Esse modelo funciona, mas precisa ter um ecossistema muito homogêneo para alcançar este objetivo, coisa que até então não vi. Neste caso levo em conta infra-estrutura, modelos de aplicações desenvolvidas, features suportadas. Ainda é preciso manter um time mais sênior para o desenvolvimento do que não adere ao que o time de MonkeyCoders produz. Existem diversos aspectos ruins nesse modelo, um deles é o turnover causado pelo pouco crescimento profissional.
Outra característica interessante é o trabalho de arquitetura necessário para viabilizar este modelo e geralmente precede sua implantação. Um agravante nestes casos é a pouca capacidade evolutiva. Nestes cenários, a quantidade de arquitetos é drasticamente reduzida, mas acredite, é uma situação sazonal. Periodicamente você contratará ou formará o time que evoluirá seu framework de trabalho.
--
Diogo A. Miranda
Desenvolvedor GIS
(11) 6325-6484
Oi Alexandre,
É uma questão de perfil. O arquiteto deve gostar de codificar, mas não só isso.
O arquiteto não é só um teórico. É o que eu chamo de "arquiteto astronauta", aquele que inventa as coisas lá do alto da sua torre de marfim, e manda os "pobres coitados" desenvolvedores codificarem. Acho que o arquiteto deve codificar sim, mas somente o suficiente para ajudar a equipe a evoluir nos conceitos da aplicação. Tão importante quanto a codificação é a revisão de código junto aos desenvolvedores, por exemplo.
O Yoshima e o Kumpera defenderam o arquiteto como posição no projeto, não como cargo. Na verdade, sugeriram que a posição pode até mesmo ser compartilhada pelo time. Acho que é possível, desde que o time tenha pessoas capazes de exercer essa posição. Nesse caso, você sequer precisa de alguém com o título de arquiteto, que muitas vezes deixa o profissional com o ego inchado demais...
Não acho que existam ultra-seniores. Existem seniores, e existem plenos. Na verdade, o que temos hoje no mercado são profissionais com o cargo de seniores, e que não são seniores de verdade. Três niveis devem ser suficientes. Acima disso, talvez precisemos buscar outros nomes, e não "desenvolvedor". Na verdade essa é uma questão dificil, definir níveis dentro de uma equipe.
Talvez o que você esteja chamando de arquiteto seja na verdade um
desenvolvedor sênior. Da mesma forma que o Rodrigo, eu não consigo ver
uma equipe com 5 arquitetos, pois tenho a mesma visão de que o arquiteto
é um cargo, não um nível hierárquico ou de conhecimento que está acima
do desenvolvedor sênior. Os níveis de conhecimento técnico de um
desenvolvedor sênior e um arquiteto são muito semelhantes. Talvez o
arquiteto abra um pouco mais seu o foco, dê um zoom out na sopa de
letrinhas de tecnologias que existem, mas em matéria de escrever código,
são muito semelhantes.
Onde eu trabalhava eram de 4 a 6 desenvolvedores. Todos com bom
experiência (e a palavra "sênior" no cargo). Não existia arquiteto,
apenas gerente funcional (o que carimbava férias, contratava, demitia, e
dava a cara pra bater para o diretor geral). Mas tecnicamente, todos
revezavam nas decisões arquiteturais, dependendo do envolvimento no
projeto. Muita coisa era discutida em reuniões técnicas, mas na prática
a gente tinha propriedade sobre alguns projetos, tinha um envolvimento
maior com os stakeholders de determinado projeto, então quem tinha essa
propriedade tomava as decisões arquiteturais, e os outros
desenvolvedores trabalhavam com aquilo em comum acordo.
[]s
Leo D
Mas tenho certeza que neste grupo não temos arquitetos dessa natureza ;-)
[]s
Leo D
Acredito nesse modelo de mentoring por incentivar os profissionais mais novos, mantendo um ciclo de crescimento.
Valorizar prata da casa é um diferencial para o mercado e o resultado é muito bom.
Alexandre,
O operacional obriga imersão assim o profissional fica submisso ao projeto onde está alocado não possibilitando render da melhor forma para a empresa.
A transição e acompanhamento de diversos projetos faz-se necessária para que a empresa consiga absorver o melhor do profissional, pois temos meios de identificar aspectos para unificação e equalização de conhecimento, na medida que conhecemos mais de um cenário.
Depende de cada empresa, mas lembre-se: toda escolha, uma renúncia.
De:
dotnetar...@googlegroups.com [mailto:dotnetar...@googlegroups.com] Em
nome de Alexandre Valente
Enviada em: segunda-feira, 3 de agosto de 2009 10:50
Para: dotnetar...@googlegroups.com
Assunto: [dotnetarchitects] Re: O que diferencia um arquiteto?
Oi Alex,
Na verdade você não vai encontrar tanta diferença em tarefas mais simples, você vai encontrar uma diferença relevante na medida que precisar de algo mais rebuscado.
De:
dotnetar...@googlegroups.com [mailto:dotnetar...@googlegroups.com] Em
nome de Alexandre Valente
Enviada em: segunda-feira, 3 de agosto de 2009 11:00
Para: dotnetar...@googlegroups.com
Assunto: [dotnetarchitects] Re: O que diferencia um arquiteto?
Mas então, o que estou querendo dizer é que a comparação não é a mesma. Na engenharia, o pedreiro e o engenheiro civil vão fazer a parede no mesmo tempo! No software não! A experiência e a criatividade fazem com que um arquiteto seja muito mais eficiente! Ou vc não acha que se tivese que fazer 20 telas de CRUD,um arquiteto não faria as 20, com mais qualidade, em 1/3 ou menos do tempo de um junior?
Oi Pessoal,
Na minha opinião não é o que “diferencia um arquiteto” e sim a responsabilidade do Arquiteto. Há uma subjetividade muito grande para determinar o que é o Arquiteto. Essa thread é uma conseqüência disso. J
Na prática a gente nunca consegue ter só arquiteto ou sênior em equipes. E lembrem-se, não existe uma fornada que diz: este nasceu arquiteto e esse não... J Temos que formar. O que estamos buscando são perfis profissionais, autoditadas, com boa formação, ...
O Alexandre citou, já que o arquiteto é mais rápido e produz melhor pq não usá-lo para toda construção? Fato, se financeiramente for melhor, OK. Mas na prática o arquiteto é mais rápido até um determinado ponto, existe trabalho repetitivo. Ah, e pq o trabalho repetitivo não é automatizado? Na prática não é assim que funciona. Para automatizar o custo aumenta absurdamente e não se paga em um projeto (geralmente!).
O arquiteto é mais que um braço, é um cabeça que precisa tomar decisões baseadas em uma série de variáveis temporais. Uma decisão pode significar redução em 10x, 20x o tempo de desenvolvimento e uma boa decisão hj pode ser uma péssima amanhã.
Acho que foi o Alexandre também que citou que o arquiteto pode fazer uma ferramenta para automatizar e fazer mais rápido, legal! E as outras 20 funcionalidades iguais? Pq não ser atacada por um Jr?? Custo muito mais baixo!!! Vejo que na prática existe um ganho absurdo de qualidade, produtividade em coisas que são feitas na “primeira vez” pelo arquiteto. Depois disso, o tempo apesar de mais rápido não compensa $$$$$.
Essa thread se encaixa para qq perfil L O que é um Jr para vcs? O que é um Pl para vcs? Ainda é muito subjetivo.....
Abs,
Fernando Bichara
De:
dotnetar...@googlegroups.com [mailto:dotnetar...@googlegroups.com] Em
nome de Alexandre Valente
Enviada em: segunda-feira, 3 de agosto de 2009 11:50
Para: dotnetar...@googlegroups.com
Assunto: [dotnetarchitects] Re: O que diferencia um arquiteto?
Oi Giovanni,
| Pessoal, Minha contribuição.... uma equipe composta apenas por Desenvolvedores Juniors não consegue fazer algo com real qualidade para mim isso é obvio, falta maturidade experiência, etc. Uma equipe composta só de "ultra seniors" no meu ver deve ser como um time com vários "Ronaldo fenomeno" provavelmente terá seus problemas pois cada um vai querer mostar que é melhor que o outro e eventualmente atritos podem ocorrer e até comprometer a entrega. Os 3 níveis de desenvolvedor deveriam ser bem mescaldos em uma boa equipe, onde os mais Seniors ajudariam a conduzir o desenvolvimento desenvolvendo as partes mais criticas do sistema, e os juniors cuidando das rotinas mais simples e ao mesmo tempo aprendendo com quem tem mais experiência. O problema é que quando os desenvolvedores atingem o nivel de "Senioridade" não querem mais desenvolver, muitos querem ser Arquitetos, Engenheiros, Gerentes de Projeto, querem cuidar do MS-Project e informar aos desenvolvedores menos experientes que o cronograma esta atrasado e que os Diagramas feitos no MS-Visio (de forma parcial) tem que virar um sistema completo do banco de dados até a interface de usuário, com tudo que tem direto. []´s Edmilson --- Em seg, 3/8/09, Marcel Castilho <marcel....@gmail.com> escreveu: |
|
--
Rodrigo Morais
Alexandre,
Do modo como vc colocou o primeiro trecho deste post fica parecendo que uma equipe de desenvolvimento pode ser composta de 3 programadores Júrior sem nenhum acompanhamento de alguém mais experiente, é claro que se vc colocar só gente sem expediência vai sair m@$%!a , agora, contratar 4 caras a R$ 45,00/hora para construir um sistema onde normalmente mais de 50% do trabalho é CRUD é desperdicar recursos concorda? Um "junior bom" não um "porra loca" que so sabe usar wizard que recebe em média R$ 25,00/hora mesclar uma equipe com 2 Seniors e 2 Juniors ou 1 Senior 1 Pleno e 2 Juniors, vc tem uma economia consideravel, sem falar que a qualidade será a mesma, pois o projeto será "tocado" pelos Seniors os
juniors trabalharão sob orientação e supervisão do que estão fazendo, e ao mesmo tempo estarão se formando para serem Plenos e Seniors.
Eu acredito que estamos, neste tópico, confundindo o papel do Arquiteto com a função do desenvolvedor Senior.
O Giovanni já falou no inicio da discussão "Arquiteto é outro bicho", não é desenvolvedore Senior.
=========================================================== |
|
"Oi Luiz Carlos,
Exatamente o meu ponto. Ou seja, não faz sentido usar juniores, já que a chance de se ter algo com problemas ou retrabalho é muito alta. "
|
==========================================================
[]´s
Edmilson
|
|
Data: Segunda-feira, 3 de Agosto de 2009, 10:09 |
|
|
|
|
|
|
|