Vivendo e aprendendo
Eu acredito que um bom profissional, independente da profissão, sabe sempre que pode melhorar mais, sabe que pode chegar a um nível mais elevado que o seu atual e sabe principalmente que faltam ainda muitas coisas pra ele aprender e se aperfeiçoar. Não conhecer ou ter domínio sobre determinado assunto, não significa que não sejamos bons profissionais e que não sejamos competentes, afinal sempre existirá algo para se aprender. Não existe o ápice, o topo ou o nível máximo na carreira de um profissional, isso é uma utopia e quem acredita que chegou a tal nível, demonstra precisar aprender mais do que qualquer um.
Na minha opinião, para uma pessoa ser considerada um bom profissional ela precisa ter principalmente 3 características, são elas: estudo, experiência e o famoso pensamento “out of the box“.
É claro, que existem outros fatores não menos importantes, como: bom relacionamento inter-pessoal, ambição, humildade, caráter, etc, mas que não citei, pois acredito que isso já deveria ser parte do cidadão, da pessoa e se não somos bons cidadãos, boas pessoas, dificilmente seremos um bom profissional.
Voltando aos 3 tópicos citados acima, irei falar um pouco da minha percepção sobre cada um desses ítens e consequentemente o porque de eu considerá-los os mais valiosos.
Estudo
Desde que eu me entendo por gente, escuto que para “ser alguém na vida” eu deveria estudar muito, já que o mercado profissional é muito concorrido e blá blá blá.. aquele papo de sempre, chato, mas que não deixa de ser uma enorme verdade. Só que além de termos o desejo de ser um “profissional bem posicionado no mercado”, acredito ser mais importante estudarmos para entendermos o porque das coisas, para nos questionarmos, para questionarmos outras pessoas, para darmos outras idéias e consequentemente sairmos da inércia de um padrão estabelecido.
Estudar não significa só ir para escola e passar com nota boa, como também não significa só ir para faculdade e ter o melhor CR da turma, é óbvio que isso tudo é importante, mas há muitas coisas além disso.
Estudar significa ter interesse pelo que estamos lendo e pesquisando, significa termos curiosidade sobre o motivo de como as coisas funcionam, significa termos sempre aquela anseio por novos conhecimentos para irmos além. Estudar está diretamente ligado a nossa aptidão e gosto por determinado assunto, pois no meu modo de ver é impossível estudar e se interessar por algo em que não se tenha prazer. Quem nunca viu uma penca de pessoas estudando para um concurso durante anos e não sendo aprovada? Quem não conhece pessoas que foram muito mal na escola e que hoje são bons profissionais? Quem não conhece pessoas que não fizeram faculdade e hoje são bons profissionais? E finalmente, quem não conhece pessoas que são formadas em outra área e hoje são bons profissionais em outras? Eu já vi pessoas que se enquadram em todas essas situações.
Estudar também, nesse caso, é o contrário de acomodação, afinal quem estuda, lê e se informa, nunca está acomodado, está sempre por dentro das novidades, está sempre trocando e compartilhando conhecimento e consequemente desempenhando melhor a sua atividade profissional.
Experiência
Esse é um fator determinante para nos tornamos um bom profissional, quanto mais bagagem tivermos, mais fácil será prever alguns problemas, mais fácil será identificar problemas e mais fácil será criar soluções para os problemas.
Uma pessoa que está começando agora, com talento, interessada e esforçada, pode ser uma pessoa muito boa de se trabalhar, de fazer parte da sua equipe, mas ela só será considerada como um profissional completo (completo != topo), quando ela adquirir determinada experiência em sua área de atuação profissional. Por exemplo: existem bons médicos recém-formados, que estudaram, se especializaram e que lêem bastante, mas que provavelmente demorariam mais a associar alguns sintomas a determinada patalogia, que um médico, com as mesmas virtudes, mas com mais experiência, talvez identificasse mais rápido. Isso se chama experiência, bagagem.
Sendo específico no mercado de desenvolvimento de software: quem nunca viu aquele cara que trocou a versão de uma API usada em um projeto (que funcionava!) e passou a ter enormes problemas na aplicação? A intenção desse cara foi boa, com toda certeza, mas nesse caso lhe faltou experiência para saber que a nova versão da API pode impactar diretamente questões de ambiente e infra-estrutura. Provavelmente um profissional mais experiente, não mudaria a versão de uma API que já funcionava e era estável, por uma versão mais atual, só porque é mais atual, ele faria isso caso houvesse um BOM motivo.
Não tem jeito, se existem dois profissionais com o mesmo nível de estudo e de habilidade e técnica, o que tem mais experiência vai acabar se sobressaindo, pois esse saberá lhe dar com situações mais críticas, situações que exigem um tempo de resposta mais rápido e situações que exigem uma análise mais profunda para detecção do problema ou para bolar uma solução.
Pensamento “out of the box“
Pensar de uma maneira “out of the box“, significa pensar em uma maneira de fazer algo fora dos padrões pré-estabelecidos, que poucas ou nenhuma pessoa pensaria da mesma forma, é ser criativo e imaginativo para criar e enxergar uma solução para um problema existente, é conseguir enxergar pra frente e pros lados.
Existem determinadas situações onde um problema requer uma solução “out of the box”, na indústria de software existem muitos casos em que uma solução “out of the box” foi usada para resolver determinado problema ou para criar determinado produto. Certa vez assisti a uma palestra do Guilherme Chapiewski onde ele (se eu não me engano) havia pensado em uma maneira de diminuir o tráfego (requests/responses) de comunicação do Twitter usando o protocolo XMPP, ao invés de apenas a sua API REST. Isso é pensar out of the box.
Não faltam exemplos sobre pensamentos “fora da caixa”, inclusive vários fora da indústria de software. Recentemente assisti um vídeo muito interessante sobre um projeto para o metrô de uma determinada cidade onde o trem não pararia. Esse vídeo pode ser visto aqui.
Por que eu estou dizendo isso tudo?
A idéia de publicar algo sobre o assunto surgiu essa semana, quando eu estava tentando resolver um problema pouco convencional reportado por um cliente.
Estamos dando suporte a algumas aplicações desenvolvidas por terceiros, portanto tudo fica mais difícil, e o erro reportado pelo cliente não conseguia ser reproduzido no meu ambiente de desenvolvimento, mas ao gerar um pacote para fazer o deploy no nosso ambiente de homologação interno, o mesmo erro que ocorria com o cliente, passou a ocorrer conosco.
O mais curioso é que o erro só acontecia em determinadas situações bem específicas MESMO, então toda possibilidade de identificação do erro ia por água baixo, pois não conseguiamos associar um erro ao outro, e a cada mudança nos valores das variáveis usadas para input no sistema, o erro não conseguia ser simulado novamente.
Até que um companheiro de trabalho começou a fazer perguntas que demonstravam toda sua experiência e um pensamento “out of the box” para enxergar o problema, eis o diálogo que tivemos:
- Qual arquitetura do SO do ambiente de desenvolvimento?
- 32 bits
- E de homologação?
- 32 também
- Qual JVM você tá usando em desenvolvimento?
- A da Sun
- E do ambiente de homologação é a da Sun também?
- Humm, não, é JRockit
- Experimenta mudar a do ambiente de homologação para Sun
Resumindo, mudei o ambiente de homologação para usar a JVM da Sun e o erro esquisito parou de ocorrer, a partir disso, conseguimos identificar que o problema estava ao realizar cálculos utilizando o tipo float, que não é o mais adequado para cálculos, mas que o código que já estava feito estava usando. O problema era no arredondamento do resultado do cálculo e de acordo com a arquitetura da JVM utilizada esse valor variava. Mudamos os tipos para BigDecimal e tiro e queda, problema resolvido, mesmo tendo JVM diferentes em ambientes diferentes.
O que se conclui é que o meu amigo teve uma sacada diferente para esse problema, conseguiu pensar de uma maneira “out of the box” e achar uma solução para o problema. Isso tudo baseado na sua experiência com linguagens de baixo nível, que sem dúvida lhe deu embasamento para pensar na razão da problema. Sem estudar, ele também não conseguiria ter essa percepção do problema.
E para você, quais são as principais características que determinam um bom profissional?
Se você gostou desse tópico, por favor considere deixar um comentário ou se inscreva no feed e tenha no futuro todos os tópicos entregues diretamente no seu agregador.






Um bom profissional é feito de nada menos que tudo isso. Mas pra se fazer um profissional assim, o mínimo necessário é paixão pelo que se faz. Pode-se ser um bom profissional sem amar o que se faz, mas os melhores com certeza não são assim. Outra coisa muito importante, que eu descobri da pior maneira, é que é preciso humildade, pra saber que se precisa evoluir sempre e que muitas vezes podemos estar errados.
E é aquela coisa, quanto mais eu estudo, mais vejo que há coisas ainda a aprender. O jeito é não desanimar ;)
Pelo contrário, nada de desanimar, só animar :)
Cara, eu sempre entro no seu blog mas quase nunca acho algum assunto que eu entenda!
Esse post é uma bela exceção, e concordo de cabo a rabo, principalmente quando você diz: “é impossível estudar e se interessar por algo em que não se tenha prazer.” Vivo isso, e vivo disso, em meu dia a dia!
O blog tá irado, e acho bacana você ter um direcionamento bem focado nos seus posts, o que podemos perceber quando você diz “completo != topo”. ehehehehe Essa é apenas para iniciados.
Parabéns ae e continue o bom trabalho. Um abraço cabanudo.
Valeu Pablito, seus comentários são valiosíssimos hehe :)