why every programmer have to be dumb
At least, dumb for the companies hiring them. The old dream is still for sale out there: Build a "I do everything framework" and hire a bunch of dumb programmers - monkeys? - and you shall make money easily!
Just put some button pressers and a full featured enterprise system will be waiting on the other side of this "machine"!
C'mon, I thought this dream was over! We've had enough proofs that this doesn't work!
Why? Because a framework, system builder, code generator or what you may want to call this thing just can't do everything. And if you try to build this "monster" you will get yourself a hell of a problem:
- Your product will never be ready.
Or you think that "everything" has limits? Someone will always say: Hey, let's put this new feature right there... it's so small.... - Your product will not work well.
Bugs! Bugs! Bugs! I've never knew a team that has written enough tests building such a monster. Be prepared! If it's never ready, you will always be in a rush!
But ok, even if you manage to develop this "framework" and hire a bunch of monkeys to press its buttons, that's when the worst problem arise. (At least worst in my opinion)
With this "philosophy", you assume that you want to hire low level programmers that don't need to learn anything new besides how to use your full-fledged systems generator. And who the hell likes to work in a place like that?
You take from your employees all the joy of development, which is about creativity. All about putting your brain to work. And sooner or later, they will notice that and just quit. You will never be able to stablish a trustworthy relationship within your team as well as to motivate them.
How will you motivate a team by telling them they will learn a new framework that isn't used anywhere else in the world and that they will not improve their thinking?
They will become bored. And if not, man, I wouldn't like to have someone like that in my team.
The problem is that managers usually love the idea to build huge enterprise systems at low costs. And some consultants sell this idea quite well.
I prefer to have trustworthy people in my team. Provide an environment that promotes learning. Let their creativity flow. Only with this approach you will have a first class team of developers producing, happily, high quality enterprise systems.
That's the message for the companies out there: Software development IS a creative process. Promote learning. Let them create.
language change
Well, talking with some friends, I decided that, from now on, I shall only write in english on this blog.
Of course some of you may not like it. But I think it has more advantages than the other way around. I have some friends around the world, including people from the U.S., Spain, Italy, China, India and Australia. This way, they can also enjoy the content of this blog and help me improve it.
I will keep writing on the same subjects, so feel free to comment, as always. You may comment in the language you like more - hey, I can't read Japanese! - but english is highly preferable! ;)
Thanks and see you on my next post!
ruby on db2 a linux nightmare with a happy end
Although the title might look dramatic, it's pretty close to what I've been through.
I have set up a Ubuntu 64 bits on my laptop last week to do some tests with Ruby and DB2. Oh man, it is not complicated, is it? It shouldn't be, actually.
Too sad that I found this so late! It's a post from a friend, Antonio Cangiano, describing the most common problems you may find trying to set up this environment (Linux + Ruby + DB2). You will probably get it working the first time, if you read it word by word. But if not, here are some extra tips that I can share with you.
- If you installed Ruby using your distribution's package manager, remove all ruby packages completely. After that, install ruby exactly as described in Antonio's post, typing this in the console:
$ sudo apt-get install build-essential
$ sudo apt-get install ruby-full rubygems
After that, you may try again.
- Another problem I found was after getting the driver built. I have written a simple program to try the connection and got this message:
Failed to load IBM_DB Ruby Driver
The thing is that this error really means it was not able to find the file libdb2.so.1 in the /usr/lib directory. Issuing this command may settle things for you - it will create the missing symbolic link:
$ ln -s /opt/ibm/db2/V9.5/lib64/libdb2.so.1 /usr/lib
Good luck!
enquanto isso em portugal
Pois bem, saà do Rio hoje rumo a Madrid, com escala em Lisboa.
A essa hora já estaria por lá.... mas no momento estou no aeroporto de Lisboa esperando o próximo vôo, visto que perdi a conexão! Acontece até na europa! :p
Em teoria o embarque é daqui a 1h:30min...
Os portugueses são muito atenciosos btw!
Até a próxima!
eu odeio xml
Isso é um fato. Cada linha de XML que eu escrevo me faz pensar em formas de evita-las. E isso não é simples.
Ultimamente, desde o Java 5, tem se trocado o XML pelas annotations. Tá bom, fica bonitinho né? Até que fica. Em alguns casos, até mais organizado. O Hibernate desde a versão 3 faz uso das annotaions da JPA como alernativa ao seu XML de configuração. E esse sim é um belo caso de sucesso!
São apenas algumas anotações na classe para mapea-la e pronto, adeus xml! Mas como sempre, as anotações já estão sendo exageradas por aÃ. Basta decidir configurar uns 3 frameworks - e provavelmente dois deles são descenessários no seu projeto - usando anotações e as suas classes ficarão uma zona! E muito mais ilegÃveis que um arquivo XML!
As anotações são recursos muito poderosos e devem ser usadas de forma consciente. Use as que realmente valem a pena, como as que vou falar agora, que fazem parte da nova release do Spring framework, a 2.5 RC1.
software livre
Aqui no trabalho atualmente temos uma grande barreira com relação ao software livre. Pensei em escrever aqui alguma coisa sobre as barreiras que as empresas colocam quando o assunto é esse porém o Cleuton já fez isso, e ficou muito bom.
Vale a visita!
scea 5 beta
Hoje fiz a versão beta da nova prova de arquiteto da Sun e eis algumas impressões:
- É longa e cansativa... fato justificável se levar-mos em consideração o fato de ser uma prova em estado beta. Ela possui mais questões que a versão final. São 153 questões no total, em 4h e 30min.
como o spring me ajudou a manter o active record
Nesse primeiro post vou falar um pouco sobre meu novo trabalho. Na verdade, sobre um problema que encontramos lá.
Dentre diversas coisas que estamos fazendo, como migrações por exemplo, estou ajudando na elaboração da arquitetura que irá abrigar as novas aplicações desenvolvidas na empresa.