Programação é um mundo fantástico… E mais fantástico ainda é a velocidade com que as novidades surgem e desaparecem… A pergunta é: até que ponto devemos nos atualizar a cada nova tecnologia que surge?
Se pensarmos em plataforma .NET, é impossível lembrar de cabeça todas as novidades apresentadas pela Microsoft nesses últimos tempos: WCF, WPF, Silverlight, Entity Framework, LINQ, ASP.NET MVC, etc, etc… É simplesmente impossível manter-se atualizado (com um bom nível de conhecimento, obviamente) em todas elas!
Pergunto novamente: Mas precisamos mesmo nos atualizar? Não, não precisamos. O principal objetivo de um desenvolvedor de software é entregar software para o cliente. Se hoje você desenvolve bons softwares, que agregam valor para seus clientes, e não faz uso das últimas novidades, não se culpe, você não está errado! Você não precisa re-programar todo seu sistema só porque dizem que o novo framework XPTO é bom! Programamos não para satisfazer nossos egos (afinal, quem não gosta de estar sempre atualizados, utilizando das melhores e mais modernas práticas?), mas sim para atender a necessidade do cliente. Se você já atende o seu cliente, não tem porquê mudar!
É a velha história do projeto perfeito e do projeto bom, onde todo projeto perfeito quer ser um projeto bom! O projeto perfeito nunca fica pronto, pois não dá tempo, seus desenvolvedores sempre querem o manter atualizado com as últimas novidades! Já o projeto bom, como o próprio nome diz, não é perfeito, não utiliza das últimas tecnologias de mercado, mas funciona, e o melhor, atende ao cliente!
Não estou dizendo que você não deva se atualizar. Claro que deve! Mas tudo isso deve ser feito de maneira cautelosa, estudada, e o mais importante: seu cliente não deve pagar por isso! Se algum framework promete ajudar no desenvolvimento e poupar futuras horas de desenvolvimento, faça testes, brinque, use e abuse dele, até ter certeza de que ele vai realmente lhe agregar valor, e que ele não vai ser um gargalo na hora do desenvolvimento.
Uma coisa que tem me chamado a atenção é o foco que as pessoas tem dado ao novo ASP.NET MVC, da Microsoft. As pessoas tem pulado de cabeça nessa novidade, sem nem pensar no impacto que isso vai ter sobre a equipe de desenvolvedores e sobre a qualidade do software que será desenvolvido. Será que os WebForms são tão ruins assim que merecem serem trocados de forma praticamente instantânea? Caso você ache que vale a pena trocar toda a experiência que sua equipe e investir horas de estudo nesse novo framework, pois o MVC vai lhe ajudar a escrever melhores softwares, siga em frente; caso contrário, não se sinta mal, continue usando WebForms e atendendo seu cliente da melhor maneira possível!
Não se esqueça da frase (da qual não me recordo o autor): Bons desenvolvedores DESENVOLVEM software. Ótimos desenvolvedores ENTREGAM software.
(Uma discussão do grupo .NET Architects me levou a escrever esse post)
Siga-me no twitter!
concordo. O ideal antes de aprender uma nova tecnologia talvez seja estudar, não somente o seu desenvolvimento, mas o seu impacto nos projetos que você desenvolve e (eu sou muito ligado nisso), se a tecnologia realmente vai se estabelecer.
Afinal, com a mesma velocidade que surgem, elas desaparecem, e é muito ruim dar manutenção num sistema deprecated.
Talvez o melhor seja não ser sempre a vanguarda da tecnologia. Esperar um tempo pra ver como o mercado reage a ela. Alguém que comprou um HD-DVD player, por exemplo, gastou muita grana e se fodeu.
Porém, em relação ao MVC da Microsoft, estou usando-o nos meus últimos projetos e ele me atende muito bem. Estou certo que o tempo que foi gasto treinando a equipe para programar em MVC vai ser recuperado (se já não foi), não só pela praticidade da tecnologia em si, mas por um problema que eu encontrei nos primeiros projetos que fiz na LabOne que era trechos de código de layout jogados no meio de camadas de negócios.
Mesmo que o MVC deixe de ser usado, com certeza as boas práticas permanecerão.
Parabéns, Maurolaaaaa!
Também concordo, tudo deve ser ponderado.
O grande problema esta em saber até quando não devemos usar as novidades e quando vamos realmente precisar usar as novidades!
Eu trabalhei em uma empresa pouco tempo atrás que desenvolvia dois softwares ainda no VB6, porém não estava mais sendo possível entregar melhorias ou evoluir as versões usando essa ferramenta, no caso acho que a empresa passou do ponto de aplicar as novidades. E começou a ter problemas pois os clientes começaram a pedir coisa que não era possível fazer. Ou melhor, fazer de uma maneira tranquila. E tivemos que correr para desenvolver em .Net.
Por isso acho que sempre devemos ponderar sempre, tentando antecipar o futuro… ou prevê-lo!
Realmente Mauricio, no nosso meio encontramos muitos profissionais/Gerentes TI,etc…, preocupados com a questão da atualização. Concordo com você, o que importa é termos padrões bem definidos e principalmente uma equipe de trabalho engajada. Eu nunca vi um cliente reclamar que o sistema que entreguei era escrito em VB6 e que ele não gostaria que fosse desta forma. Normalmente, quando encontramos alguma resitência, é relacionada a padrões definidos pela área de TI do cliente. (ex. tem que ser em 3 camadas , e servidor Linux, não pode ter registro local de DLL,….). Na verdade, o que acho mais preocupante é que existem empresas de Desenvolvimento de software, construindo aplicações do jeito antigo, ou seja, um monte de cadastro e parametrizações, complicações de instalação e muitas vezes, quebra das regras de segurança do cliente. Em resumo, o pessoal está esquecendo de um termo fundamental "intuitividade" / "facilidade de uso". O cliente que um sistema prático , com as funcionalidades que ele necessita!!
Bom, nao vou me estender mais, mas gostei bastante do teu POST Mauricio. Sobre o MVC, fiz alguns testes, mas acabei abandonando. É bacana a idéia, mas acredito que ainda devemos esperar um pouco.
Um forte abraço a todos!
Rodrigo Figueira
Na minha opinião devemos sim nos manter atualizados, porém ponderadamente. Como lider técnico eu sempre sugeria a equipe a divisão de tecnologias tipo grupo de estudo. Ex: Fulano vai estudar WCF, Ciclano Ajax, Beltrano, Linq. Estas pessoas estudam as tecnologias, elaboram apresentação PPT e exemplo. Definimos deadline e marcamos apresentação.
Com isso, o desenvolvedor estuda 1 tecnologia e aprende 3, 4 ou mais.
Estudar sozinho todas as novas tecnologias do mercado é inviável.
Sobre Asp.Net Mvc não me empolguei, pois o bom e velho formato me atende perfeitamente.
Uma questão corelacionada com essa que gostaria de levantar é: Por que Coordenadores e Gerentes não se atualizam como os Desenvolvedores ?
Percebo que existem muitos coordenadores e gerentes extremamente fracos que possuem tal cargo por amizade ou puxa-saquismo.
Abraço a todos,
Carlos Araujo
Já é difícil entregarmos os projetos nos prazos e ainda por cima sempre precisamos correr "por fora" atras das novidades. Poucas empresas dão valor e tempo na atualização tecnológica do profissional, sempre o profissional precisa "dar um jeito" pra se manter atualizado.
E desse modo que vamos nos distanciando de nossos amigos, familias e tornando nossas vidas mais tristes e estressadas….