<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de desenvolvimento da Milfont Consulting, Client e Server-side &#187; Certificações</title>
	<atom:link href="http://www.milfont.org/tech/category/certificacoes/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.milfont.org/tech</link>
	<description>Blog da Comunidade Milfont Consulting, uma empresa especializada em desenvolvimento Web, principalmente Javascript, node.js e muito Javascript.</description>
	<lastBuildDate>Thu, 26 Jan 2012 11:30:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>A história do Jiujitsu como exemplo de empreendedorismo</title>
		<link>http://www.milfont.org/tech/2011/07/31/a-historia-do-jiujitsu-como-exemplo-de-empreendedorismo/</link>
		<comments>http://www.milfont.org/tech/2011/07/31/a-historia-do-jiujitsu-como-exemplo-de-empreendedorismo/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 05:14:35 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Certificações]]></category>
		<category><![CDATA[mercado]]></category>
		<category><![CDATA[empreendedorismo]]></category>
		<category><![CDATA[jiujitsu]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=1414</guid>
		<description><![CDATA[MMA ou Mixed Martial Arts é um negócio atual lucrativo que rende bilhões de dólares e criou um mercado gigantesco em volta. Lutadores, que outrora brigavam entre si nas praias cariocas, hoje são empresários de sucesso e alguns até parceiros. A história que todo mundo conhece e repete é aquela onde o Rórion Gracie levou [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.milfont.org/tech/2011/07/31/a-historia-do-jiujitsu-como-exemplo-de-empreendedorismo/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>MMA ou <a href="http://en.wikipedia.org/wiki/Mixed_martial_arts">Mixed Martial Arts</a> é um negócio atual lucrativo que rende bilhões de dólares e criou um mercado gigantesco em volta. Lutadores, que outrora brigavam entre si nas praias cariocas, hoje são empresários de sucesso e alguns até parceiros.</p>
<p>A história que todo mundo conhece e repete é aquela onde o <a href="http://pt.wikipedia.org/wiki/Rorion_Gracie">Rórion Gracie</a> levou aos USA a arte da família, cultivada e aperfeiçoada em solo brasileiro durantes décadas, o genuíno Jiujitsu Japonês que os próprios japoneses deixaram desaparecer.</p>
<p><a href="http://www.submarino.com.br/produto/1/21388280/carlos+gracie+:+o+criador+de+uma+dinastia?franq=170940"><img class="alignleft" title="Carlos Gracie" src="http://i.s8.com.br/images/books/cover_tn/img0/pq21388280.jpg" alt="" width="120" height="120" /></a>Só que a história vai um pouco mais além, esconde alguns segredos que foram revelados no livro da Reila Gracie, filha do lendário Carlos Gracie, criador dessa dinastia de lutadores e responsável por um mercado que não existiria sem ele.</p>
<p>Você pode estar me questionando nesse momento &#8211; se não leu esse livro &#8211; se esse mercado que existe foi uma consequência involuntária das ações do Carlos Gracie, na verdade foi proposital, pensada e arranjada. Vou tentar resumir um livro de mais de 400 páginas e traduzir como esse homem foi um empreendedor.</p>
<p>Carlos Gracie era o irmão mais velho, foi o primeiro a treinar sob a tutela do Conde Koma, um japonês radicado no Pará e membro da famosa Kodokan, escola criadora do Judô. Até meados da década de 50 do século 20, o judô era chamado ainda de jiujitsu em grande parte do mundo, porque o Judô na verdade foi a reunião de todos os estilos de Jiujitsu que se uniram na Kodokan.</p>
<p>Carlos Gracie na verdade aprendeu o Judo Kodokan, que na época não era como o esporte olímpico que conhecemos hoje, os lutadores dessa escola viajavam o mundo inteiro disseminando o &#8220;novo estilo&#8221; por meio de desafios no que ficou conhecido aqui no Brasil por vale-tudo. Carlos Gracie e seus outros 4 irmãos nunca treinaram um estilo de Jiujitsu tradicional japonês, eles foram alunos do <a href="http://www.milfont.org/gladiatorium/2008/a-verdadeira-historia-do-jiujitsu/">Jiujitsu Kodokan</a>, nomeado aos poucos para Judô.</p>
<p>Desde o início o Carlos vislumbrou um negócio duradouro, uma espécie de empresa-família em volta do Jiujitsu.</p>
<h2>Campeão da Família</h2>
<p>Toda empresa que se preze tem uma marca bem trabalhada. Carlos instituiu o papel de Campeão da Família, que começou com ele próprio. Para se ter uma idéia de como ele planejou tudo com olhos de um empreendedor que pensa nos negócios, veja como ele escolheu seu sucessor.</p>
<p>Para se dedicar aos negócios com mais afinco, Carlos tinha que escolher um de seus irmãos para o papel de campeão da família, por todas as declarações da época, <a href="http://www.bjjheroes.com/bjj-fighters/george-gracie-facts-and-bio">George Gracie</a> seria o mais indicado. Lutador talentoso e vitorioso de todos as lutas que o irmão marcou para ele. O problema é que George era metido a playboy, indisciplinado e desobediente. Tanto é que chegou a fazer lutas combinadas, algo que o irmão detestava e ía contra aquilo que estava construindo.</p>
<p>Veja bem, até nisso ele planejou com esmero, Carlos desde o início planejou vender o Jiujitsu como a melhor arte de combate já criada e sua família a que tinha o melhor jiujitsu, participar de lutas ensaiadas demoliria sua estratégia de fortalecer aquela marca.</p>
<p>Mas o pior do George era não obedecer o irmão, portanto Carlos escolheu o <a href="http://pt.wikipedia.org/wiki/H%C3%A9lio_Gracie">Hélio</a>, caçula que idolatrava o irmão mais velho. Hélio era o oposto de George, disciplina deveria ser seu sobrenome. Criou-se a lenda de que Hélio desenvolveu o Jiujitsu junto com o irmão, nada disso, Carlos planejou tudo com cuidado.</p>
<p>Geração após geração foi-se definindo o campeão da família. Esse papel de campeão além do Marketing vital para aquele negócio, tinha outra estratégia crucial. Para enfrentar o campeão, um desafiante teria que enfrentar um aluno menos graduado para provar seu valor, dessa forma eles poderiam avaliar como o sujeito lutava e se prepararem em cima das fraquezas com um treino direcionado. Não existia um estilo de luta Gracie, existia o estilo necessário para cada luta em particular, metricamente calculado com o que funcionava e muito bem treinado.</p>
<h2>O Estilo Gracie</h2>
<p>Se existe um meio onde se mais tem charlatão, esse meio é nas artes marciais, toda esquina tem um mestre que criou sua própria arte marcial aprendida de um japonês ou chinês que mantinha um segredo medieval. As Artes Marciais parece um pouco com outros campos, para se ter uma idéia de protocolo, alguns líderes de clã samurais sequer sabiam lutar, mantinham a liderança porque eram os responsáveis pelos documentos da escola, passada de pai pra filho.</p>
<p>É um negócio rentável, basta dizer que não pode lutar porque tem segredos que poderiam matar o adversário e viver um tempo enganando as pessoas enquanto toma dinheiro delas. Carlos desde o início foi prático quanto a isso.</p>
<p>Os Gracies nunca tiveram cerimônia para manter os nomes em japonês dos golpes, talvez sequer tenham aprendido. Não lembro se há menção no livro da Reila, mas há relatos de que um ex-aluno do Conde Koma afirmou na década de 30 ou 40 que os Carlos nunca chegou a ser faixa-preta pelas mãos do Conde. Isso não tem importância, na época não existia uma clara definição sobre faixas, o que importa é que ele aprendeu a lutar e aprendeu a enfrentar desafios. Ele poderia ser tratado como mais um empresário com superior incompleto que deixou a escola para criar um império.</p>
<p>Os Gracie mantiveram a luta de solo como foco do seu estilo porque em um desafio com poucas regras definidas toda luta vai para o chão e se você não domina, você é dominado com facilidade, estratégia boa para 5 irmãos franzinos.</p>
<p>Ele nunca admitiu, mas também nunca condenou as afirmações que eles desenvolveram a luta de chão que fez o Jiujitsu Gracie tão especial, eles não inventaram nenhum golpe,<a href="http://www.milfont.org/gladiatorium/2010/inventor-do-triangulo/"> nenhuma &#8220;alavanca&#8221;</a> como se mitificou.</p>
<p>A praticidade do Carlos sempre favoreceu o combate e as técnicas que funcionavam, qualquer outra coisa era deixado de lado, concentração total na vitória das lutas. Poderíamos até traçar um paralelo com certificações técnicas, a única certificação válida para Carlos era a prática, a que trouxesse vitórias.</p>
<h2>A Empresa</h2>
<p>A família chegou a ter várias academias frequentadas pela elite carioca, desde desembargadores, passando por senadores a presidentes da república. Até os infortúnios conspiravam a seu favor, como o caso quando foram presos por espancarem um desafeto e receberam um indulto do próprio Getúlio Vargas. Esse networking facilitava muito as coisas.</p>
<p>Os Gracies treinavam e mantinham os melhores alunos como se fossem membros da família, eles sabiam que nunca se tornariam o Campeão da Família, mas eram reconhecidos dentro da empresa e ganham muito bem, até porque era do interesse do Carlos que eles fossem muito bons para evitar ao máximo expor o campeão e ainda por cima serviam como o melhor &#8220;sparring&#8221; que existia e de graça.</p>
<p>Numa época que não existiam startups e nenhuma empresa colocava refrigerantes e puffs para seus &#8220;recursos&#8221;, Carlos levava seus alunos para morar consigo, frequentar sua chácara e ensinar em sua academia como um irmão Gracie. Isso é tratamento de sucesso com seu empregado, o resto é bobagem.</p>
<h2>O Negócio</h2>
<p>Frases bem trabalhadas e expressões como &#8220;Se você quer um braço quebrado contate Carlos Gracie neste número&#8221; eram constantemente veiculadas nos principais jornais da então capital do Brasil.</p>
<p>Carlos queria vender o Jiujitsu como a arte mais eficiente e sua família como possuidora do melhor Jiujitsu, dessa forma mesmo quando a família perdia para outro membro do Jiujitsu eles ainda se beneficiariam, já que apenas o Jiujitsu pode vencer o Jiujitsu e aquela derrota com o tempo desapareceria, como ocorreu com todas as derrotas dos Gracies.</p>
<p>Carlos se cercava de todas as nuances para fazer seu negócio prosperar, ele &#8220;inventou&#8221; até uma dieta que ficou conhecida como Dieta Gracie e clinicou como nutricionista por muitos anos quando nem existia essa profissão. Existe a teoria de que ele não inventou essa dieta, <a href="http://forum.portaldovt.com.br/forum/index.php?showtopic=80117">copiou de um médico argentino</a>. De qualquer forma ele pensou em tudo em volta do negócio Gracie, desde o estilo ao modo de vida que eles deveriam levar.</p>
<p>O negócio de vale-tudo passou por períodos de brilho e períodos de ostracismo, a família nunca &#8220;mudou de ramo&#8221;, apostou sempre no produto e souberam esperar o timing certo. Não dá para especular o que ocorreria se outro Gracie tivesse levado o modelo aos USA em outro momento, se fosse na época de Bruce Lee provavelmente ninguém teria dado bola, atores faziam mais sucesso do que artistas marciais. O Certo é que no momento que o Rórion levou o Jiujitsu Gracie para o celeiro do Show Business, o formato do negócio estava trabalhado por quase 80 anos.</p>
<p>Tanto que nos primeiros 3 show do UFC, seu irmão Royce, que nem era o Campeão da Família, sequer um dos melhores da família, venceu com tanta facilidade que parecia brincadeira de criança, muitos chegaram a duvidar da veracidade das lutas, tamanha a facilidade.</p>
<p>Os brasileiros são os maiores vitoriosos no contexto geral dentro desse esporte/negócio, porque o modelo e formato estava bem trabalhado por aqui pelos Gracies. Pena não termos empresários liderando as principais organizações de lutas, daí podemos comparar Carlos Gracie ao Barão de Mauá, empreendedores solitários em uma país não propício a empreendedorismo.</p>
<p>A família se desentendeu como em toda sucessão empresarial familiar, mas hoje todos aqueles que vivem do MMA devem agradecer a esse empreendedor. Filtrei alguns pontos importantes da visão que o Carlos Gracie teve para seu  negócio, mas a história é muito mais interessante do que esse resumo/review, deixei de fora alguns pontos polêmicos como seus mais de 20 filhos com diversas esposas, mas o legado do Carlos é maior do que alguns percalços que tenha provocado.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2011/07/31/a-historia-do-jiujitsu-como-exemplo-de-empreendedorismo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O Bonde do Scrum</title>
		<link>http://www.milfont.org/tech/2010/11/15/o-bonde-do-scrum/</link>
		<comments>http://www.milfont.org/tech/2010/11/15/o-bonde-do-scrum/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 12:56:36 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Certificações]]></category>
		<category><![CDATA[Maré de Agilidade]]></category>
		<category><![CDATA[maredeagilidade]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=1108</guid>
		<description><![CDATA[A mesa redonda no Maré de Agilidade Fortaleza 2010 trouxe a tona novamente a discussão sobre certificações. Chegamos a conclusão ao final que certificações é sem dúvidas o negócio mais rentável do mundo pelo custo/benefício. O problema é quando os traficantes souberem que dá mais dinheiro do que tráfico de drogas, não precisa ter grandes [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.milfont.org/tech/2010/11/15/o-bonde-do-scrum/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>A mesa redonda no <a href="http://www.maredeagilidade.com.br/eventos/fortaleza/11-2010/index.php">Maré de Agilidade Fortaleza 2010</a> trouxe a tona novamente a discussão sobre certificações. Chegamos a conclusão ao final que certificações é sem dúvidas o negócio mais rentável do mundo pelo custo/benefício.</p>
<p>O problema é quando os traficantes souberem que dá mais dinheiro do que tráfico de drogas, não precisa ter grandes conhecimentos para montar uma estrutura e ainda é legalizado. Vão descer os morros ao som de&#8230; <a href="http://letras.terra.com.br/cidinho-doca/941509/">Parapapapapapapapapa Paparapaparapapara clack bum Parapapapapapapapapa</a></p>
<p>Bonde do Yoshima já começou a invasão no Pedroso do Alemão <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img class="alignnone" title="Bonde do Scrum" src="http://lh4.ggpht.com/_ixVOzmHRw-A/TN8Wg3CFwJI/AAAAAAAAmqI/nnlRntWXRZ4/s640/DSC07638.JPG" alt="" width="640" height="480" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2010/11/15/o-bonde-do-scrum/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Retrabalho e prejuízo</title>
		<link>http://www.milfont.org/tech/2009/01/08/retrabalho-e-prejuizo/</link>
		<comments>http://www.milfont.org/tech/2009/01/08/retrabalho-e-prejuizo/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 15:17:07 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Certificações]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[domain driven design]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=488</guid>
		<description><![CDATA[Em todos os projetos que trabalhei até hoje no mercado local [Ceará] existem profissionais mais ou menos qualificados a partir de uma base mínima de qualidade que um profissional tem que possuir dentro do modelo &#8220;Enterprisey&#8221; &#8211; que estamos acostumados e que responde pela quase totalidade dos projetos de software. Essa base mínima eu proponho [...]]]></description>
			<content:encoded><![CDATA[<p>Em todos os projetos que trabalhei até hoje no mercado local [Ceará] existem profissionais mais ou menos qualificados a partir de uma base mínima de qualidade que um profissional tem que possuir dentro do modelo &#8220;Enterprisey&#8221; &#8211; que estamos acostumados e que responde pela quase totalidade dos projetos de software.</p>
<p>Essa base mínima eu proponho que seja &#8211; dentro do modelo exposto -  raciocínio lógico. O resto ele pode aprender.</p>
<p>Raciocínio lógico está ligado diretamente a noção de avaliar a situação, encontrar um padrão, investigar soluções existentes e implementar a solução, além claro de bom senso.</p>
<p>Não adianta pregarmos que os profissionais deveriam ser melhor escolhidos assim ou assado porque a realidade é que as empresas não tem como medir satisfatoriamente quem é ou não competente e mais cedo ou mais tarde você se deparará com indivíduos em sua equipe vindos por diversas nuances administrativas, seja aquele superqualificado cheio de títulos ou o primo do diretor da empresa.</p>
<p>Aonde quero chegar com essa história?</p>
<p>Precisamos avaliar os riscos necessários com bastante antecedência para que toda a equipe e consequentemente o projeto não sejam lesados e paguem o preço da incompetência às vezes de um único elemento. Parece óbvio? Acredite, não é!</p>
<p>Temos um projeto em um cliente &#8211; uma Alfândega &#8211; que precisamos refatorar todo o código criado por um determinado profissional com apenas dois ou três meses pronto. O projeto ainda está no início e já temos que refazer código.</p>
<p>Convenhamos, tudo bem que o código de meia hora atrás já é legado, mas código tão recente não deveria já ser refatorado sem mudança na lógica de negócio ou arquitetural. Algo muito errado aconteceu.</p>
<p>Mudanças não funcionais acontecem, surge um novo paradigma ou framework que reduz o tempo de desenvolvimento e convenientemente é adequado sua mudança, isso é comum durante a manutenção de um software já em produção com um meio século de uso &#8211; que em informática dura cerca de 4 ou 5 anos.</p>
<p>O nosso em questão não há motivos. Projeto novo, sem restrição ou adequação à &#8220;Arquitetura de Referência&#8221;, Frameworks de última milha na plataforma Java como JSF, Spring e Hibernate. Testes unitários &#8211; mas não TDD.</p>
<p>Como dito, separei um exemplo em código para demonstrar aonde quero chegar. Tem uma lógica bastante simples, existe um processo de apreensão de mercadorias na alfândega e liberação dessa mercadoria.</p>
<p>Há 3 tabelas que representam isso no modelo E/R: TB_DEVOLUCAO, TB_ITEM_APREENSAO, TB_ITEM_DEVOLUCAO. Segundo a lógica relacional, a TB_ITEM_DEVOLUCAO é uma tabela de junção entre a devolução e os itens apreendidos para indicar que item será devolvido.</p>
<p>Seguindo minha definição, um profissional com raciocínio lógico encontraria fácil a solução do mapeamento entre essas entidades apenas lendo a documentação, ele saberia que o <a href="http://www.hibernate.org">Hibernate</a> tem um mapeamento de <a href="http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/#entity-mapping-association-collections">OneToMany com Join Table Uni ou Bidirecional</a>.</p>
<p>Mas não, ele criou essa bizarrice:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@<span style="color: #003399;">Entity</span>
@Table<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;TB_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Devolucao <span style="color: #009900;">&#123;</span>
&nbsp;
	@OneToMany<span style="color: #009900;">&#40;</span>fetch<span style="color: #339933;">=</span>FetchType.<span style="color: #006633;">LAZY</span>, cascade<span style="color: #339933;">=</span>CascadeType.<span style="color: #006633;">ALL</span><span style="color: #009900;">&#41;</span>
	@JoinColumn<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>
	@Cascade<span style="color: #009900;">&#40;</span>org.<span style="color: #006633;">hibernate</span>.<span style="color: #006633;">annotations</span>.<span style="color: #006633;">CascadeType</span>.<span style="color: #006633;">DELETE_ORPHAN</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">private</span> List<span style="color: #339933;">&lt;</span>ItemDevolucao<span style="color: #339933;">&gt;</span> itensDevolucao <span style="color: #339933;">=</span> 
		<span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>ItemDevolucao<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
@<span style="color: #003399;">Entity</span>
@Table<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;TB_ITEM_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ItemDevolucao <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">//Para que essa entidade?</span>
&nbsp;
	@Id
	@GeneratedValue<span style="color: #009900;">&#40;</span>strategy <span style="color: #339933;">=</span> GenerationType.<span style="color: #006633;">IDENTITY</span><span style="color: #009900;">&#41;</span>
	@Column<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_DEVOLUCAO&quot;</span>, columnDefinition<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;NUMERIC&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Integer</span> codigo<span style="color: #339933;">;</span>
&nbsp;
	@OneToOne
	@JoinColumn<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_APREENSAO&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">private</span> ItemApreensao itemApreensao<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Esse profissional em questão é graduado em computação, tem mestrado em uma federal, certificação como arquiteto Java e diversas outras certificações e pasme, anos de experiência em projetos. Mas não tem o básico, raciocínio lógico. Não investiga e não sabe desenvolver software de qualidade.</p>
<p>O código em questão pode parecer bobagem até mas isso se repete em todo o código criado por esse profissional.</p>
<p>Um profissional responsável em refatorar o código com apenas curso técnico e uma mísera certificação de programador java refatorou assim [como deve ser]:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@<span style="color: #003399;">Entity</span>
@Table<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;TB_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Devolucao <span style="color: #009900;">&#123;</span>
&nbsp;
	@OneToMany<span style="color: #009900;">&#40;</span>fetch<span style="color: #339933;">=</span>FetchType.<span style="color: #006633;">LAZY</span>, cascade<span style="color: #339933;">=</span>CascadeType.<span style="color: #006633;">ALL</span><span style="color: #009900;">&#41;</span>
	@JoinTable<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;TB_ITEM_DEVOLUCAO&quot;</span>,
		joinColumns <span style="color: #339933;">=</span> @JoinColumn<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>,
		inverseJoinColumns <span style="color: #339933;">=</span> 
				@JoinColumn<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_APREENSAO&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#41;</span>
	@Cascade<span style="color: #009900;">&#40;</span>org.<span style="color: #006633;">hibernate</span>.<span style="color: #006633;">annotations</span>.<span style="color: #006633;">CascadeType</span>.<span style="color: #006633;">DELETE_ORPHAN</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">private</span> List<span style="color: #339933;">&lt;</span>ItemApreensao<span style="color: #339933;">&gt;</span> itensDevolvidos <span style="color: #339933;">=</span> 
				<span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>ItemApreensao<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Ad Hominem da minha parte? Tomar uma exceção pela regra? nada disso, eles são legião! Isso é meu cotidiano.</p>
<p>O prejuízo que esse profissional acarreta a todos os envolvidos é enorme e até difícil de ser mensurado porque envolve custos e humor da equipe que impacta em outros custos imperceptíveis na conta final que é a &#8220;fodisse&#8221; dos caras que tiveram que refatorar, ou seja, fizeram o seu e o trabalho alheio.</p>
<p>Ah, mas XP não prega o código coletivo? ir lá e consertar? Mas quebra o principal valor que é &#8220;Respeito&#8221;. Além do mais o projeto em questão seque o velho Cascata &#8211; mas culpa do cliente que exigiu ser assim, exigiu não, obriga.</p>
<p>Pela minha experiência de nada adianta você jogar um <a href="http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882">Clean Code</a> nas mãos dele e pedir para estudar, ele vai continuar escrevendo nmDesc em uma propriedade ou IRepository em uma Interface. Ele foi treinado assim e sem raciocínio lógico no máximo que voce vão conseguir é retreiná-lo para conseguir comer a banana por outro túnel.</p>
<p>Um projeto sem um líder técnico responsável com aptidão e experiência necessária aliado a método baseado em BDUF sem um processo restritivo [como TDD] com modelagem ultrapassada com papéis de analista de sistemas &#8220;UMLizados&#8221; deixa esse tipo de profissional cometer esses pecados e prejudicar a todos os envolvidos retrabalho desnecessário.</p>
<p>É fácil resolver isso? É! O problema maior é que não podemos simplesmente aceitar que &#8220;o cliente quer assim&#8221;, temos um dever ético com nossa profissão de não permitir que o paciente escolha como ele quer ser operado e ceder médicos que não tenham capacidade de operá-lo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/01/08/retrabalho-e-prejuizo/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>SCEA com design patterns errados</title>
		<link>http://www.milfont.org/tech/2008/10/28/scea-com-design-patterns-errados/</link>
		<comments>http://www.milfont.org/tech/2008/10/28/scea-com-design-patterns-errados/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 10:00:33 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Certificações]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JSE]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JCP]]></category>
		<category><![CDATA[JEE]]></category>
		<category><![CDATA[JSR]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[SUN]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=346</guid>
		<description><![CDATA[Once upon a time&#8230; &#8230; A comunidade em volta da JCP adotou a aberração proposta pela SUN chamada EJB e o mecanismo de persistência seria uma JSR especialista chamada JDO. JDO seria a solução deifnitiva onde não importaria se você usa um txt, um xml ou um Banco de dados parrudo. Com esse modelo de [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Once_upon_a_time">Once upon a time</a>&#8230;</p>
<p>&#8230; A comunidade em volta da JCP adotou a aberração proposta pela SUN chamada EJB e o mecanismo de persistência seria uma JSR especialista chamada <a href="http://java.sun.com/jdo/index.jsp">JDO</a>. JDO seria a solução deifnitiva onde não importaria se você usa um txt, um xml ou um Banco de dados parrudo.</p>
<p>Com esse modelo de desenvolvimento foi criado <a href="http://java.sun.com/blueprints/patterns/">um catálogo</a> de <a href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/">Design Patterns</a>[?] que serviria de &#8220;tábua dos 10 mandamentos&#8221; para a comunidade. Nasceu a prova de certificação em Arquiteto java com base nessa arquitetura.</p>
<p>Por fora da JCP uma turma se dedicou a criar uma forma de persistência específica para bancos de dados relacionais [Hibernate] onde não estavam preocupados se você guardava seus dados em um xml, queriam apenas resolver os problemas clássicos do mapeamento objeto-relacional. Outro pessoal jogava fora o modelo EJB e criava sua própria JEE [Spring] com técnicas e abordagens que surgiam como <a href="http://en.wikipedia.org/wiki/Inversion_of_control">IoC</a>, <a href="http://en.wikipedia.org/wiki/Dependency_injection">DI</a>, <a href="http://en.wikipedia.org/wiki/Aspect_programming">Aspect Programming</a>.</p>
<p>Com esse modelo de desenvolvimento, baseado sobretudo no conjunto de Design Patterns [<a href="http://martinfowler.com/eaaCatalog/">PoEAA</a>] da turma do <a href="http://martinfowler.com/">Fowler</a>, aposentaram o modelo da SUN apreciado pelos membros da JCP e redirecionaram o comitê para a aprovação de especificações copiadas desse outro modelo.</p>
<p>&#8230; <a href="http://en.wikipedia.org/wiki/Happy_ending">and they lived happily ever after</a>.</p>
<p>&#8230;</p>
<p>Opa, faltaram atualizar a prova de <a href="http://www.sun.com/training/certification/java/scea.xml">Arquiteto Enterprisey</a> para adequar aos Patterns corretos. Ainda leio na <a href="http://www.sun.com/training/catalog/courses/CX-310-052.xml">ementa da prova</a> no capítulo sobre Patterns:</p>
<ul>
<li>From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book &#8211; Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition and named using the names given in that book.</li>
<li>From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book &#8211; Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software and are named using the names given in that book.</li>
<li>From a list, select the benefits and drawbacks of a pattern drawn from the book &#8211; Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software.</li>
<li>From a list, select the benefits and drawbacks of a specified Core J2EE pattern drawn from the book – Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition.</li>
</ul>
<div>Aonde se lê: &#8220;Core J2EE Patterns&#8221;, troquem para Patterns of Enterprise Application Architecture (A.K.A  PofEAA). Sabemos que foi somente por desatenção do estagiário que ficou de atualizar a página, perdoamos esse erro primário, agora sim:</div>
<div>&#8230; <a href="http://en.wikipedia.org/wiki/Happy_ending">and they lived happily ever after</a>.</div>
<div> <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2008/10/28/scea-com-design-patterns-errados/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Marketing e Certificações</title>
		<link>http://www.milfont.org/tech/2008/05/27/marketing-e-certificacoes/</link>
		<comments>http://www.milfont.org/tech/2008/05/27/marketing-e-certificacoes/#comments</comments>
		<pubDate>Tue, 27 May 2008 12:20:38 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Certificações]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/2008/05/27/marketing-e-certificacoes/</guid>
		<description><![CDATA[Está ocorrendo uma discussão na lista Scrum-Brasil sobre o valor da certificação ScrumMaster, está bem interessante. Já escrevi muito sobre isso em posts passados. O Vinícius da ImproveIt escreveu sobre o assunto também. Resumindo minhas considerações eu tenho a certeza de que certificações são apenas um apelo comercial de marketing pessoal ou de diferenciamento em [...]]]></description>
			<content:encoded><![CDATA[<p>Está ocorrendo uma discussão na lista <a href="http://br.groups.yahoo.com/group/scrum-brasil/messages/864?threaded=1&amp;m=e&amp;var=1&amp;tidx=1">Scrum-Brasil</a> sobre o valor da certificação ScrumMaster, está bem interessante.</p>
<p>Já <a href="http://www.milfont.org/blog/archives/97">escrevi</a> <a href="http://www.milfont.org/blog/archives/101">muito</a> <a href="http://www.milfont.org/blog/archives/114">sobre</a> <a href="http://www.milfont.org/blog/archives/136">isso</a> em <a href="http://www.milfont.org/blog/archives/139">posts</a> passados. O Vinícius da <a href="http://blog.improveit.com.br/articles/2007/12/19/novos-rumos-em-2008">ImproveIt</a> <a href="http://blog.improveit.com.br/articles/2007/06/29/pelo-treinamento-mas-nao-pela-certificacao">escreveu</a> <a href="http://blog.improveit.com.br/articles/2008/04/22/fanfarr%C3%A3o-certification-process">sobre</a> o assunto também.</p>
<p>Resumindo minhas considerações eu tenho a certeza de que certificações são apenas um apelo comercial de marketing pessoal ou de diferenciamento em licitações. Para as empresas é muito cômodo contratar com parâmetros estáveis de análise de currículo como certificações e nível superior, mas não é seguro.</p>
<p>Sou da opinião do <a href="http://blog.fragmental.com.br/">Phillip Calçado</a> que não devemos promover as certificações além do que elas representam criando um efeito artificial sobre a realidade. Como não é seguro contratar alguem por causa da certificação, é dever moral e ético de profissionais trabalharem para evitar essa promoção das certificações como algo sério.</p>
<p>Concordo com o <a href="http://amagno.blogspot.com/">Alexandre Magno</a> de que é difícil entrar nas corporações sem um apelo &#8220;marketologico&#8221;, as certificações seria o cartão de visita para você passar da porta, mas o que tenho visto é depois que se senta de frente do CEO as certificações continuam como algo sério como se fosse realmente um diferencial, o que não é verdade.</p>
<p>Eu nunca dei muita bola para certificações, mas estou pensando seriamente em tirar algumas porque a IVIA (sócia do Tuangr onde trabalho) tem uma política de reembolsar os funcionários que se certificam. Isso é bom para a empresa que tem moeda para competir nas licitações e bom para os profissionais que entopem o currículo de graça com algo que o mercado erroneamente considera fundamental, fora isso não há motivo algum para alguém pagar caro por uma certificação.</p>
<p>[update 28/05/2008]</p>
<p>O Shoes <a href="http://blog.fragmental.com.br/2008/05/27/a-completa-irrelevancia-do-certified-scrum-master/">blogou sobre essa thread</a>.</p>
<p>[/update]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2008/05/27/marketing-e-certificacoes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

