Maravilhas do Mundo Moderno…

•March 24, 2009 • Leave a Comment

Resposta a um artigo postado na Slashdot.org—

“I actually remember being told by management in a much previouser place to hook up our internet to the unsecured cafe wireless below us because no one could work until the ISP reconnected us (didn’t pay the bills). They must’ve got one hell of a shock as 20 or so machines all started connecting out to the mail server through their wireless via one tablet PC dangling down below through an office window via the Ethernet to get the best connection possible.

And yeah, “management” (far too classy a word for these people) knew exactly what they were doing.”

17 de Marco – St. Patrick’s Day

•March 18, 2009 • Leave a Comment

Ontem foi comemorado aqui em Nova Iorque, o dia de St. Patrick.

Ou tambem conhecido como o dia dos Irlandeses….

Fundo religioso, mostra de Fe, e liberacao pra beber ate cair.

A 5 Avenida fica completamente fechada por uma 40 ruas, desde o Bryant Park ate proximo da 79th.

E um monte de gente bebendo ate cair…

Vou tentar colocar algumas fotos.

Abracos

Voltando a ativa

•February 23, 2009 • 1 Comment

Nossa.. quase um ano sem postar nada.. que vergonha! Vou tentar manter o blog mais ativo de agora em diante. Pra comecar,vamos inicar uma discucao….rsrs

Recentemente, tive o “privilegio” de ter que dar manutencao em um software de iBanking.  Uma maravilha!  

Por algum motivo incompreensivel, o desenvolvedorr/arquiteto decidiu utilizar praticamente TODOS os Design Patterns imaginaveis.

E ai? Sempre achei que Design Patterns(MVC, DI, etc) serviam para atacar um problema especifico, de forma bem definida, e nao simplesmente colocar tudo junto para ficar bonito….

Comentarios sao bem vindos.

Pontualidade Americana!

•March 27, 2008 • Leave a Comment

Estava eu e um amigo, indo para uma cidade proxima de Nova York, em New Jersey, chamada Union para vermos um apartamento lá.

O trajeto foi o seguinte : Metro da 125 até o WTC, pegar o PATH Train até Newark e daí pular pro NJ Transit na Linha Raritan até Union…Ufa!

Chegamos em Newark, nosso trem para Union só partia em 30 min, então fomos almoçar.

Paramos num Burger King próximo à estação de trem de Newark, por volta das 10:55.

Chegamos até o caixa e fizemos nosso pedido….

Detalhe, aqui é muito comum está redes servirem café da manhã.

Para nossa surpresa, a atendente falou que ainda estava no menu de café da manhã, e que não poderia nos servir hamburgeres!

Perguntamos quando entraria o almoço.. ela disse, 11:00.

Incrível não? rsrsrs.. dissemos que esperaríamos 5 minutos e pediriamos e fomos nos sentar.  Conversamos um pouco, deu 11:00 e fomos novamente pedir.

Daí sim fomos atendidos no menu de almoço!

Tem certas coisas que só se tem aqui!!! rsrsrs

Alta Tecnologia!

•March 19, 2008 • Leave a Comment

Incrivel o que uma economia estavel(ou nao muito ultimamente, e so ver o caso do Bear Sterns, banco de investimento americano que quebrou nesta semana aqui em NY) faz com a area de sistemas.

Ainda existem sistemas escritos em VB 6!!!! E o pior de tudo e que temos que dar manutencao nele, pois o banco nao acredita que o investimento nisto seja necessario!!!

Incrivel nao? rsrsrs…

NYC – Parte 2

•February 28, 2008 • 1 Comment

Bem, estou na cama do meu quarto em NYC, escrevendo este post.

É engraçado, como as coisas vão acontecendo e como o mundo é pequeno. Uma mulher que está trabalhando comigo, no projeto de Credit trabalho e conhece o marido da tia da minha esposa(ufa! rsrs)….

Finalmente hoje foi criado meu login/senha e consegui começar a ver algumas coisas do sistema. A começar pela otimização de uma Stored Proc de 52(!!!) páginas…rsrsrs

Ai , ai.. muito trabalho pela frente. Amanhã tenho que fazer o Anti-Drug Test, obrigatório aqui para quem está em instituições financeiras.

Espero conseguir logo o acesso ao servidor de código fonte para começar a me preparar e situar em como as coisas estão estruturadas…

Por sinal, para os escovadores de bits de plantão… olha só essa pérola que encontrei hoje quando abri uma página asp aleatóriamente… um if verificando se era um login específico para executar algo!!!!

Bem, vou preparar algo para jantar, amanhã se der continuo o relato.

NYC

•February 26, 2008 • 2 Comments

Bem, já comecei por aqui.

Infelizmente não estou tendo muito tempo pra atualizar o blog, mas aqui seguem algumas fotos!

Times Square

5:01 Developer(Artigo extraído da MSDN Magazine)

•January 14, 2008 • 2 Comments

Este artigo está em concordância com muitos profissionais que trabalho….infelizmente.

A recent discussion  in the blogosphere stirred my interest more than usual. The term “5:01 Developer” was used disparagingly to refer to a kind of developer who basically turns off his brain at 5:01 P.M. and heads home. Many developers took umbrage at this term and began to defend their positions by declaring how many hours per day they work. Others suggested terms like “uninspired developers,” and there were those who rejected labels of any kind.

To me, the label “5:01 Developer” has nothing to do with time on the job or hours logged. It refers to the lack of passion. Labels or not, I believe that to really excel in the field of software—or any field, for that matter—requires a high degree of passion/inspiration/concern/commitment/enthusiasm/excitement. Your job might involve turning a crank or designing a great new crank that will take the world by storm, but if you want to succeed—whether you’re compared to your peers or not—then passion can go a long way.

I’m lousy with wood. Seriously, I’m not handy. If I attempted to use a power saw, I would very likely hurt myself. More importantly, I have no passion for woodworking. I enjoy looking at other people’s work and can appreciate the effort to a point, but if I were forced to make my living creating things with wood, I’d certainly be punching out at 5:01. This lack of satisfaction creates the anti-craftsman, who is just slapping two pieces of wood together and hoping the chair won’t break. And a sense of craftsmanship is just as important as passion for a job. There’s a big difference in semantics between the word “job” and the word “craft.” Craftspeople begin as apprentices, learning alongside a master, working their way through as journeymen. When software is built by a craftsman—a person with passion, talent, and a sense of stewardship—you can tell right away. A software steward takes personal responsibility for another person’s affairs; in the case of software, this is the user’s experience from install to run.

I posted my thoughts on this topic on my blog, and, as is common on blogs, the real gems were not in my own post but in the comments of others. Max Pool nailed it immediately when he said:

Some people, when asked what they do for a living, say, “I AM a software developer,” and proudly interlace their persona with their career. This simple reply tells a lot about the amount of passion that someone carries with them every day.

Paul Brazelton shared his thoughts on balance:

I’m a father, a runner, a rower, an environmentalist, a human being, and, yes, a programmer. I’m a lifelong learner, and I love to learn everything, not just programming languages. I love technology, but there are so many other things in this world to love, and we have such a short amount of time.

Clearly, passion, craftsmanship, and stewardship should be part of a larger work ethic for any software engineer (or tester, or manager). Sometimes folks blame their lack of passion on the number of years on the job, or the kind of work, or the quality of the tools. Undoubtedly, when the tools get in the way, the work suffers. I’m particularly excited about software right now because it’s becoming easier and easier to get more done faster than before.

I think what keeps things fresh for me when working as a developer are the choices. Not only is there always something new coming out, but there’s always better techniques, new thinking, even new people exploring classic technologies. In the coming months, I’m going to dig into IronRuby and the flood of new Dynamic Languages being enabled by the CLR. I’m going to look at Model-View-Controller (MVC) Web Frameworks running on ASP.NET and at code generation tools to create whole administration sites auto-magically. I’m creating games for my Xbox® and plug-ins for my Media Center. I’m even going to hack my old Ceiva Digital Picture Frame if it kills me. Of course, all this work will happen after work. Does it make me a better developer or just obsessed? Probably a little of both.

Can this kind of passion (or obsession) be taught? Should it be? I don’t know if I’m a craftsman or just a geek. I do know that I’m still having fun, but I still take pride in my work, and I’m learning something new every day. If you don’t have a passion for your craft, why are you doing it? I can’t imagine walking into my job every day and not finding something to like about it. The basic question is do you care about your craft? Perhaps not about your job, but at least about your craft. James Curran feels this pain:

As a 5:01 Coder, I must protest—I am passionate about my CRAFT, just not about my DAY JOB. (My train ride home is spent on a laptop, working on an open-source project.)

Ultimately it’s about finding your passion—and figuring out how to keep it.

Pérolas….

•January 11, 2008 • Leave a Comment

Pra aliviar a semana e nos preparar para a que segue!

Pérola 1                       Pérola 2                                   Pérola 3

Geração de Código Fonte… Vale a pena?

•January 8, 2008 • 1 Comment

Durante 7 anos , trabalhei e ajudei a fundar uma empresa de prestação de serviços(desenvolvimento) para a mercado segurador.

Nosso carro chefe, e único produto por sinal, chamava-se Superkit.

Era um produto revolucionário para sua época: ele gerava código fonte para cálculo e regras de negócios de produtos de seguros!  Conquistamos até um prêmio no IV SIAS, na frente de empresas como a IBM, Xerox, etc.

Entretanto, nos últimos anos de trabalho e atualmente no meu novo desafio, me questiono se gerar fonte realmente vale a pena. 

Normalmente quando estamos escrevendo um gerador de fonte, acabamos por abrir mão de conceitos e fazemos escolhas que posteriormente torna a manutenção deste sistema algo extremamente complexo, eliminado a premissa de que o gerador facilita o trabalho.

Pontos a serem avaliados :

  • O código gerado por um sistema dificilmente será tão ótimo quanto o código gerado por um desenvolvedor.
  • A interdependência gerada pelo gerador de código e o resto do sistema acaba se tornando um impecílio a novos desenvolvimentos, pois nos limitamos ao o que o gerador pode suprir.
  • Normalmente o código gerado será de difícil acompanhamento e manutenção, poissua premissa é que não seja feita manutenção através do fonte diretamente, apenas através da ferramenta geradora.
  • O custo de desenvolviemnto e manutenção destas ferramentas é normalmente muito maior do que o do desenvolvimento direto e futura manutenção do sistema final, sem falar que tendo como objetivo final atender uma demanda de negócio, o tempo de entrega é um fator importante a se pensar

A geração de código tem sua utilidade, na confecção de código “boilerplate”, ou seja, códigos repetitivos e que não exijam grande engenharia ou análise para sua execução.  Aí sim temos um grande aliado na geração de fontes.

A curto prazo, a geração de código pode ser encantador, mas a longo prazo acabamos por nos afundar em uma armadilha que nos restringe mais do que nos ajuda.

Somando todos estes pontos mais a minha experiência direta em desenvolvimento e manutenção de uma ferramenta de geraçõa de código, hoje minha posição é de NÃO.