A complexidade e o tamanho das aplicações que desenvolvemos tem crescido consideravelmente nas últimas décadas. Como não há evidências de que estamos ficando mais inteligentes (como desenvolvedores), nem que estamos ficando mais rápidos, então podemos atribuir nossa capacidade de atender as expectativas do mercado a utilização de novas e mais sofisticadas tecnologias.
[tweet]As novas tecnologias tem permitido aos desenvolvedores resolver mais facilmente os “problemas de ontem” ou ter capacidade de resolver os “problemas de hoje”.[/tweet] Por exemplo, no passado escrevíamos código e esperávamos até a noite para compilar uma aplicação e descobrir erros de sintaxe. Hoje, as IDEs utiliza, inteligência artificial para, além de identificar erros de sintaxe, tentar “descobrir” o que estávamos querendo escrever.
O advento da nuvem e das opções SaaS permitiram um novo salto de entrega. Hoje, podemos contratar barato serviços cognitivos que tornam nossas aplicações mais inteligentes. Podemos provisionar e contar com recursos computacionais que, há algum tempo, teriam custo proibitivo.
Hoje, como desenvolvedores, podemos pertencer a dois grupos distintos: consumidores e criadores de tecnologia. Não há demérito algum em pertencer a um grupo ou a outro.
Consumidores de tecnologia percebem menos a necessidade de entender conceitos como estruturas de dados e algoritmos. Geralmente, limitam análises a complexidade computacional e não a complexidade assintótica. Consumidores focam mais em “Systems Design” do que em “Computer Science”
Criadores são fixados em estruturas de dados e algoritmos. Analisam primeiro complexidade assintótica para, então, considerar complexidade computacional. Pensam mais em generalizações do que em especificidades. Criadores costumam ser especialistas.
Criadores têm necessidade de entender “como” as tecnologias funcionam. Consumidores precisam entender o “porquê” usar cada tecnologia. Ambos precisam saber, em certo nível, o “quando” usar um ou outro recurso.
Mesmo empresas reconhecidas por trabalharem com tecnologia de ponta são, frequentemente, muito mais consumidoras do que criadoras. Aliás, mesmo em empresas onde tecnologias são criadas, boa parte do esforço de desenvolvimento é relacionado com consumo.
Dentre os grupos, há distinções claras. Entretanto, há quem se posicione em uma área cinza. De qualquer forma, as bases são as mesmas.
Há mais vagas no mercado para consumidores do que para criadores. Criadores geralmente ganham mais. O grupo em que você irá se encaixar começa por uma decisão sua.
Em tempo, os questionamentos realizados em “Somos amadores remunerados?” são válidos tanto para criadores quanto para consumidores, pois permitem uma análise mais qualificada sobre “porquê” e “quando” considerar cada tecnologia. Mas, sem dúvidas, são mais relevantes para criadores.
Este post é uma “racionalização” de uma boa conversa com meu bom amigo Eder Ignatowicz