É muito comum ouvir pessoas falando sobre a importância da criatividade no universo profissional. Existem blogs, palestras e muitos materiais que prometem nos ensinar a pensar fora da caixa. Mas você já se perguntou, para nós programadores, o que é estar dentro da caixa?
Olhando para dentro da caixa
O mundo é extremamente complexo e para lidarmos com isso, desenvolvemos a necessidade de dar nome às coisas, organizando tudo em categorias.
No entanto, em algum momento essa dinâmica foi intensificando ao ponto que os nomes deixaram de ser etiquetas para facilitar a referência a algo, e se tornaram caixas opacas se confundindo com a coisa em si.
Foi nessa loucura que começamos a nos reduzir aos nomes. Passamos a enxergar a nós mesmos e os outros como meros objetos. Locais de trabalho viraram sobrenome: Arnaldo da Empresa de 3 Letrinhas. Cargos viraram qualidades: CTO Bóris. Função virou identidade: Clóvis, o Programador.
O grande problema é que estes nomes e rótulos tem utilidade limitada, eles são como caixas que não se expandem e não são capazes de representar integralmente quem realmente somos.
Como saber se você está dentro da caixa?
Trazendo esta ideia para a área de TI, podemos perceber um sintoma dessa objetificação quando um programador se sente ofendido porque alguém falou mal da linguagem que ele usa ou quando ele sente raiva de alguém que criticou seu código.
Lembre-se: o código que você escreve não te define! Apenas sugere algo sobre o contexto no qual você o escreveu: condição, pressão, tempo, informação, humor, etc. Por exemplo: o código criado após uma boa noite de sono é completamente diferente do código criado em um final de semana virando noite correndo atrás do prazo.
De toda forma, por mais que haja um componente artístico na prática de programação, o propósito do código é resolver o problema do cliente. O valor que o código gera não está nas linhas escritas, mas na solução de um problema obtida com a execução do código.
Você pode se prejudicar por estar dentro da caixa?
Quando nos definimos apenas como programadores, nos limitamos! Ficamos reduzidos a uma mera função, projetamos a nossa identidade no que fazemos e não em quem somos. Ignoramos o fato de que somos pessoas multi-talentosas com habilidade de programar.
Cada vez mais a programação é um meio, uma ferramenta incrível para conseguir diversos fins. Isso significa que o mercado de tecnologia está se expandindo exponencialmente e permeando todos os outros mercados. Isso coloca as pessoas com habilidades de programar em uma posição estratégica para aproveitar as oportunidades que surgem.
Sempre que eu converso sobre esse assunto com a galera, alguem pergunta:
Tá Henrique, mas a nossa área muda tão rápido que mal damos conta de nos atualizar nas questões do código em si. Como conseguiremos perceber as oportunidades de geração de valor e riqueza?
É aí que está o desafio! Para sair da caixa que o mercado insiste em nos colocar, precisamos alinhar simultaneamente três questões fundamentais:
como você faz (nível prático);
o que você faz (nível tático);
porque você faz (nível estratégico).
Muitos programadores acabam se limitando a uma dessas questões. Mas como eu disse, o real desafio é se desenvolver nestes quesitos simultaneamente, pois uma coisa alimenta a outra. Observe:
1) Saber como programar é pré-requisito.
Dominar a linguagem e as ferramentas é essencial para realizarmos a atividade de programação.
2) Saber o que fazer é o meio de campo.
São as táticas que você cria e aplica para viabilizar a solução necessária para o problema, respeitando todas as restrições.
3) Saber porque fazer te dá “visão além do alcance”.
Exige entendimento do problema que você está resolvendo em múltiplos níveis, pois é impossível programar algo que você desconhece.
Como colocar tudo isso em prática?
Aprender a navegar por estas camadas sem me restringir foi e é essencial na minha carreira. Para mim, a verdadeira autonomia está na capacidade de conseguir visitar as caixas conforme meu interesse e necessidade, sem ter que me limitar a nenhuma delas.
Quando você desenvolve esta habilidade de alinhar as 3 camadas, você rapidamente estabelece um ciclo de produtividade que se retroalimenta conectando você cada vez mais com o valor que você gera. É essa mudança que desloca da vida de um executor de demandas para um se tornar um solucionador de problemas.
Ser um programador fora da caixa é um processo contínuo, que se for bem estruturado pode ser simples e trazer mudanças significativas para a sua carreira em TI.