Carreira Dev

27 fev, 2013

Você devia estudar menos código e mais meteorologia

Publicidade

Você consulta a situação climática quantas vezes por dia? Você muda sua rotina por causa da informação climática? Você confia na previsão do tempo?

Ouço constantemente desenvolvedores negligenciando o design achando que é a parte mais fraca de um projeto web; ouço os programadores back-end tendo a mesma visão em relação ao front-end; ouço tanto designers quanto front-ends achando o mesmo do back-end, e o comercial achando que tudo diz respeito a eles. Desenvolvedores que estufam o peito para dizer que só sabem programação e que o resto é com o Arturzinho, que fica na outra sala.

Esse sentimento é muito comum e faz parte do nosso cotidiano, quando reclamamos da limpeza das ruas, mas jogamos guimbas de cigarro e chicletes no chão, quando reclamamos que o motorista de ônibus não para no sinal, mas quando estamos dirigindo não paramos corretamente em vagas, sinais nem colocamos as setas para fazer as curvas. Não pretendo dar uma lição de moral na vida de ninguém, nem analisar sociologicamente a vida das pessoas, mas o “dedar” a culpa e as responsabilidades para o próximo em nossa vida pessoal impacta bastante quando começamos a vida profissional. E eu percebo três pontos que levam à isso:

Você foi freelancer muito tempo

Quando trabalhamos com freela, temos um input muito bem definido, e por mais que às vezes haja ruído quanto à expectativa de recebimento, também existe um output pontual. O trabalho de freelancer na maioria dos casos funciona através do taylorismo. E em outras palavras, cada um é responsável apenas pela sua função, se especializando e se concentrando no seu campo de atuação. No taylorismo qualquer influência em outra área é vista de forma negativa, pois atrapalha o processo de produção em tempo reduzido. Para ter uma ideia, o taylorismo não aprova qualquer contribuição de um profissional para a melhoria da empresa, fluxo ou do produto, pois faz o profissional ser mais importante para a empresa do que ele deveria ser ao exercer apenas aquela única e especializada função.

O desenvolvedor freelancer na maioria dos casos recebe o projeto para codificar um layout já aprovado e definido. Não participando do processo de criação nem concepção do projeto, sendo assim, ele é contratado simplesmente para apertar o parafuso. Em muitos outros casos, com o front-end finalizado, o projeto vai para outro freela fazer o back-end, onde o dois freelas acabam nem se relacionando.

Esse estilo de trabalho dá a pessoa com a sensação de autossuficiência, em que qualquer deslize ao longo do projeto não é dividido entre os setores e sim direcionado a um único setor, onde por motivos contratuais e financeiros, foge da alçada tentar resolver. Em diversos casos, tornam-se profissionais que levam essa postura para empresas, separando setores como funções em fábrica, onde designers desenham e devs desenvolvem. Essa postura além de gerar mal estar entre os setores e falta de confiança e cooperatividade entre os empregados, gera um gargalo na criação do projeto, pois acabamos mais esperando o outro terminar de aparafusar para começarem a martelar.

Você não ter habilidades sociais

Tudo bem você não gostar de pessoas; ser o famoso antissocial. Porém, um produto é criado por pessoas, não por máquinas. A partir do momento que você prefere ficar o dia todo ouvindo sua música, em outra sintonia, desenvolvendo, evitando discussões e sugestões, você abdica de colaborar 100% para o sucesso de uma aplicação. Tal postura acaba impondo a outra área ter que tomar a dianteira do projeto e sucateando a importância da sua área em tomada de decisões. Ser sociável não quer dizer ser amigo, ir à casa das pessoas jogar videogame, colocar o nome do seu chefe no seu filho… Nada disso! Mas você precisa ser participativo. Mais do que isso: ser importante! Uma frase que sempre utilizo para motivar desenvolvedores nas empresas é:

Nós não nascemos para codificar; nascemos para inventar. Código é apenas uma pequena parte disso.

Você trabalha com péssimos profissionais

Existe uma máxima em futebol que diz que um bom time começa com um bom goleiro. Um arqueiro de qualidade é capaz de passar segurança para seus zagueiros, fazendo ocupar melhores posições no momento defensivo; assim os laterais ficam mais confiantes para apoiar o ataque, descentralizando a marcação do outro time, fazendo o apoio do meio-campo ser mais ofensivo e consequentemente o ataque ganha força para marcar gols. O problema é quando você não confia no outro setor.  Um atacante que não confia no meio-campo acaba voltando muito e ficando longe da área para um possível ataque; um meio-campo que não confia nos zagueiros não vão muito para frente, isolando o atacante no jogo; laterais que não confiam na parte defensiva têm medo de subir e acabam presos em seu próprio campo; por fim, zagueiros que não confiam em goleiros acabam expostos para o outro time e sujeitos a falhas.

É exatamente assim que funciona uma empresa e um projeto. Muitas vezes você tem péssimas experiências com outras áreas, então passa a se concentrar apenas na sua tarefa, ocorrendo o que foi citado no item acima de habilidades sociais. Ao invés de tentar ajudar o outro a evoluir; ao invés de tentar compensar o ponto fraco do outro com a sua especialidade, ocorre o famoso “dedar”, que é ficar sempre culpando os outros pelo fracasso ou não perfeição de uma aplicação. Com o tempo você mesmo passa a não se dedicar 100% na sua tarefa desmotivado como um time que está para ser rebaixado.

Meteorologia neles!

Vamos parar um pouco de  focar apenas em código e vamos aprender um pouco mais sobre a importância da previsão do tempo. Para isso, colarei um trecho de um texto que explica sobre a importância da previsão do tempo:

A Importância da Previsão Meteorológica – Indústria, Comércio, Navegação e Agricultura

A previsão de nebulosidade, visibilidade e condições de vento nos aeroportos são necessárias para planejar a decolagem e aterrissagem. Certas condições meteorológicas perigosas podem aparecer durante voos a níveis altos, como a turbulência em ar limpo e gelo que ocorrem no interior das nuvens convectivas. As previsões destes fenômenos são fornecidas sob a forma de “cartas de tempo significativo”, como parte da documentação de voo para a tripulação. Também são úteis aos aviões informações a respeito da temperatura e vento, as quais podem levar a variações significativas no combustível necessário para uma determinada rota.

A previsão para a navegação também se faz importante para que a tripulação e a carga cheguem ao seu destino. Previsões de tempestades, chuvas, ventos, formação de gelo, etc., auxiliam na determinação da melhor rota para o navio. A previsão meteorológica também é utilizada para que o tempo gasto na viagem seja o mínimo, sendo esta mais econômica.

Muitos aspectos da indústria, comércio e agricultura são sensíveis ao tempo. As observações meteorológicas são valiosas por permitirem vários tipos de serviços de avisos nestas áreas. As influências do tempo nesses setores acabam interferindo no transporte de cargas, na execução de serviços, previsão de consumo, épocas de plantio e colheita, etc.

Todos os aspectos do tempo podem ser importantes para as mais diversas áreas, tanto para a previsão de lucros como para a proteção de bens e pessoas. A previsão também pode ser útil para o Turismo, onde o tempo indica quais os melhores locais a serem visitados nas condições de tempo presente e futuro.

http://www.iag.usp.br/siae98/meteorologia/previsao.htm

Viram como a previsão do tempo é mais importante do que pensávamos? Não é apenas o cara da televisão informando se poderemos ir à praia amanhã ou não (desculpa se na sua cidade não tem praia; eu moro no Rio de Janeiro). Ela é responsável por muitas variáveis: vale lembrar que o Jorge que vende guarda-chuva na rua como autônomo passa a dobrar o valor do seu produto de acordo com o tempo, sendo R$5,00 para nublado com chances de chuva e R$ 10,00 para tempo chuvoso; enquanto dias de sol e sem previsão de chuva eles nem levam para rua esses produtos.

Você cria um produto, você é parte dele

Proponho que vocês deixem de bradar se autodenominando “desenvolvedor front-end” e comecem a adotar uma nova política: desenvolvedor de produto. Assim, vocês demonstrarão uma visão holística e não só do ponto de vista de front-end. Não esperem mais um projeto chegar ao código para ser útil. Participe de todas as discussões possíveis de produto, auxilie o designer “DE PRODUTO” na prototipagem, dando insumos de interações, sugerindo referências que podem ser adotadas, fazendo considerações sobre como algumas ideias podem afetar na performance, na escalabilidade e até mesmo na implementação. Isso, meus amigos, é ser útil e de fato agregar em produto.

Deixo claro que a ideia não é você passar a ser um faz tudo. Lembre-se que eu citei o exemplo do time de futebol, onde por mais que haja uma confiança mútua, cada um tem sua especialidade. Mas você não vê um zagueiro fazer gol? Você não vê um lateral batendo falta? Você não vê um atacante tirando a bola em um escanteio? E um técnico adora quando um jogador joga para o time, e não pensando em sua própria carreira, ou até mesmo o goleiro que corre para o atacante para dar a dica de qual canto ele deve bater o pênalti, por conhecer melhor o goleiro do outro time. No ponto de vista corporativo, existe um termo japonês para isso, chama-se “Kaizen”, conceito fundamental na criação das práticas “lean”.

Hoje melhor do que ontem, amanhã melhor do que hoje!

Para o Kaizen, é sempre possível fazer melhor, nenhum dia deve passar sem que alguma melhoria tenha sido implantada – seja ela na estrutura da empresa ou no indivíduo. Sua metodologia traz resultados concretos, tanto qualitativamente, quanto quantitativamente, em um curto espaço de tempo e a um baixo custo (que, consequentemente, aumenta a lucratividade), apoiados na sinergia gerada por uma equipe reunida para alcançar metas estabelecidas pela direção da empresa.

http://pt.wikipedia.org/wiki/Kaizen

Um ponto que eu gosto de conversar com meus amigos é que a idade chegará um dia, e por mais que nesse mundo sempre haja exceções, o ápice da carreira como desenvolvedor será no máximo ate os 35 anos. Para terem uma ideia, a faixa entre 21 a 35 anos corresponde a 67% dos profissionais de TI. Por isso, você que sonha alto, precisa ser valorizado enquanto profissional, não só pela sua habilidade em lógica e código, e sim por agregar valor ao produto, saber reconhecer oportunidades e falhas de um produto, saber interagir sua especialidade com outras, assim como o piloto de avião faz com a torre de comunicação. Isso sem dúvida fará a empresa (alguma empresa) reconhecer você como um profissional valioso e lhe dará mais poder na empresa, onde sua tarefa provavelmente se tornará reconhecer etapas críticas na construção de um projeto, melhor forma de gerenciar talentos na equipe, gerar motivações, gerenciar problemas, definir novas linhas de atuação, incentivar e gerenciar inovação, isso fará de você um excelente gestor, um excelente coordenador, um excelente diretor, um excelente presidente.

É valioso ter um profissional especializado em performance no time, é fantástico eu ter um monstro de JS no time, é sexy eu ter um visual designer e um arquiteto de informação de outro planeta no meu time, mas isso não faz eu ter um time. Um time é feito com uma criação conjunta, e uma criação conjunta é feita através de um time. Por isso, tire um dia por semana para NÃO visitar fóruns de front-nd, para NÃO explorar hashtags de código, para NÃO abrir o seu github. Tire esse dia para começar cedo sabendo qual a previsão do tempo para hoje e como você pode usar isso para valorizar o seu time e o seu produto.