How to be a good IT professional

Você pode ver este post em português também.

I’ll continue below this post of Elton Luís Minetto, complementing your ideas about everything I learned on IT environments. Here we go:

  1. Graduate yourself. I know people that leave the graduation behind and are going well, and I can garantee that this kind of people is rare. Different from @eminetto, I joined to the graduation at 2004 with some experience on IT (I started at 1997). And even tought the graduation expanded (better, it did try and applied) knowledge on fields which I had never heard before, and it was really valuable;
  2. Know the business target. Spend some hours of your week following the work of the people that orbitate your systems. Yes, stop to hunt bits and bytes and try to understand the ecosystem around them;
  3. Do the good, the best can be done later. Stop to spend time (and resources) to deliver that piece of software (or a change, or that model, or even that architecture, etcetera.) in a great degree of details. Reach the required goal. If you did it, deliver it. You can organize yourself to, at intervals of time, review your work and fits it to the current necessity (ok, I admit I’m still looking then this item 100% of the time…);
  4. Fall in love with your work. Nowadays I believe that is the only way to make us to think if we can do something that we already do, better. Look for more details about the programming language you are using. Learn more about the database systems. Learn about standards (seriously, there are standards for many things in software and use them helps a lot!). Learn more about the business to which your software meets;
  5. Serve the man, not to machines. This small excerpt of the vow of the engineer says a lot to me. I’m a GNU/Linux user since 2001, but I offered a lot of support for MS-Windows, I taught classes about MS-Office, I managed several MS-Windows servers, I used MS-Windows a lot. I’ve programmed with Clipper, C, Delphi, C#, ASP.NET, ASP, and nowadays I’m a PHP programmer. I’ve worked with Progress, MS-SQL Server, and nowadays I’m currently working with Oracle and MySQL. I’ve integrated systems with EDI (come on!!), today the fashion is Web services and REST. The way (technology) is important, but don’t forget the purpose, objectives and requirements that must be met. For the customer, is what matters;
  6. Documentation is, definitely, important. When your boss (or yourself) needs to make a presentation or discuss an integration, new features, boundaries, processes, etc.. with people who have no knowledge about your code, you will agree with me. Unfortunately, nowadays, the pain is the only way that I see to make someone understand this…

OK, that’s it. I suggest, so insistent, that you read the post from Elton. There are ideas there that I just tried to keep there, avoiding repetitions.

See you! 😉

Como ser um bom profissional de TI

You are able to see this post in english too.

Continuarei abaixo este post do Elton Luís Minetto, complementando às idéias dadas por ele tudo que aprendi na área de TI. Vamos lá:

  1. Estude. Conheço pessoas que deixaram a graduação de lado e se deram bem, e posso garantir que este tipo de caso é raríssimo. Diferente do @eminetto, pude ingressar na graduação em 2004 com uma certa bagagem em TI (iniciei em 1997). E ainda assim a graduação expandiu (melhor, me fez experimentar e aplicar) conhecimentos em áreas que nunca tinha ouvido falar, o que foi extremamente válido;
  2. Conheça o negócio. Gaste algumas horas na semana acompanhando o trabalho das pessoas que orbitam seus sistemas. Sim, pare de escovar bits e procure entender o ecossistema à sua volta;
  3. Faça o bom, o ótimo pode ser alcançado mais tarde. Livre-se de gastar tempo (e recursos) para entregar aquele software (ou uma mudança nele, ou aqueles modelos, ou aquela arquitetura, etc.) em grau de detalhe absurdo. Atinja o objetivo requerido. Se conseguiu, entregue. Você pode se organizar para que, de tempos em tempos, revise seu trabalho e adeque-o à realidade atual (ok, admito ainda busco seguir este item 100% do tempo…);
  4. Apaixone-se pelo que faz. Hoje em dia acredito que é a única forma de fazer-nos pensar se podemos fazer algo que já fazemos, melhor. Procure conhecer mais detalhes sobre a linguagem de programação que está usando. Aprenda mais sobre banco de dados. Aprenda sobre padrões (sério, há padrões para muitas coisas em software e ajudam muito!). Aprenda mais sobre o tema ao qual seu software atende;
  5. Sirva ao homem, não às máquinas. Este pequeno trecho do juramento do engenheiro diz muito. Sou usuário GNU/Linux desde 2001, mas já dei muito suporte à MS-Windows, ministrei turmas de de MS-Office, administrei servidores MS-Windows diversos, usei muito MS-Windows. Já programei em Clipper, C, Delphi, C#, ASP.NET, ASP, e hoje estou em PHP. Já trabalhei com Progress, MS-SQL Server, hoje trabalho com Oracle e MySQL. Já integrei sistemas via EDI (aaffff…), hoje a moda é Webservices e REST. O meio (tecnologia) é importante, mas não se esqueça do propósito, dos objetivos e requisitos que precisam ser atendidos. Para o cliente, é o que importa;
  6. Documentação é, definitivamente, importante. No dia em que seu chefe (ou você mesmo) precisar realizar uma apresentação, ou discutir integrações, novas funcionalidades, limites, processos, etc. com pessoas que nada têm a ver com seu código, vai concordar comigo. Infelizmente, e até hoje, a dor é a única forma que eu vejo para fazer alguém entender isso…

OK, é isso. Sugiro, de forma insistente, que leia o post do Elton. Existem idéias ali que tentei manter só ali, evitando repetições.

Até! 😉