Linguagem boa é a que paga as contas. Sabe por quê? Porque a relação de trabalho é assimétrica, e quem escolhe a linguagem é quem detém o capital. O trabalhador, na condição de vulnerabilidade econômica, irá na direção da empregabilidade.
Mas não é tão simples assim. Explico.
Trabalhar somente para pagar as contas é algo que não traz satisfação. Somos gente, queremos participar de algo maior. Esse é o 1o ponto.
Por sorte, a TI permite atuar em empresas diferentes, boas ou ruins, com propósitos melhores ou piores.Nesse cenário, nem importa a linguagem.
Por outro lado, a escolha da linguagem é estratégica, é uma das que mais pode impactar o futuro de um software, e pode limitar ou habilitar uma determina ação de negócios. Mas, entre as que dominam o mercado brasileiro (C#, Java e JavaScript), a diferença é muito pequena.
Além disso, em geral a pessoa não pode atuar na escolha da linguagem, em geral isso vem como decisão corporativa, muitas vezes tomada por pessoas que sequer tem conhecimento técnico para realizar essa decisão. Quem entra nessas empresas não pode escolher nada.
E mais, a pessoa foca a carreira dela em algumas poucas linguagens, e isso vem da demanda de mercado. De que adianta se Rust é a melhor opção em um cenário, se a pessoa não conhece Rust e vai levar meses até ficar produtiva. A opção de Rust, pra essa pessoa, sequer existe.
Para a empresa não é muito diferente. Mal existem profissionais de Rust no mercado brasileiro. Iniciar um projeto em Rust pode ser tecnicamente positivo, mas do ponto de vista de contratação (um desafio cada vez maior) é uma decisão muito complicada. Software é feito por gente.
Quase ninguém vai pedir demissão porque queria trabalhar com uma linguagem que a empresa não quer usar. Pessoas do mundo real tem conta pra pagar, então, linguagem boa é a que paga as contas, pq boletos não se pagam sozinhos.
Dizer que linguagem boa não é a que paga as contas, mas que há outro fator mais importante, é falar de uma posição insensível e com muito privilégio, que a pessoa sequer percebe.
Isso fica claro se você considerar uma pessoa pobre, que está querendo entrar na TI para melhorar de vida. Eu sempre vou recomendar C#, Java ou JavaScript. É onde a pessoa pode se empregar e mudar a vida dela.
Qualquer outra é sofrer mais pra arranjar emprego, e o começo como junior é sempre difícil. Quero ver argumentar com essa pessoa que linguagem boa não é a que paga as contas.
Quem acha isso é o mesmo tipo de gente que acha que todo mundo que trabalha com TI tem que saber inglês.
Dito tudo isso, você pode, e deve, causar impactos positivos no seu ambiente de trabalho. Idealmente achará um local que te faça querendo fazer isso. E, em geral, nada tem a ver com a linguagem.
Sejamos mais sensíveis às realidades de quem é diferente da gente.
E bora parar de discutir linguagem. O mercado é grande o suficiente, tem algo bom pra todo mundo. Live and let live.
Essa é uma thread sobre as novidades do #MSBuild. Cada tuite terá uma das novidades que achei mais interessantes pra devs. Vem junto, tem muita coisa legal!
Azure API Management agora suporta websockets (em preview), e dá pra aplicar políticas nas conexões. Mas não todas, pq nem todas fazem sentido. docs.microsoft.com/en-us/azure/ap…
Mais de uma década atrás eu vi uma empresa gigantesca bater na mesa o contrato de um projeto fechado de software que estava atrasado e que ela tinha com uma consultoria. Essa história explica um dos motivos pq a Lambda3 até hoje foge de contratos assim. Explico...
A tal empresa gigante tinha muito dinheiro e muitos andares de um prédio em uma grande capital brasileira. Ela usava seu tamanho pra impor contratos leoninos aos fornecedores. Os fornecedores pequenos quebravam, os grandes, em sua soberba, se achavam mais espertos que o cliente.
Um certo dia passo por um andar cheio de gente aparentemente muito ocupada. Pergunto o que era e me explicaram. Uma grande consultoria multinacional estava trabalhando de graça há dois anos naquele andar. Era o andar inteiro pra ela.
"O principal desafio de TI não é técnico, é de negócios" é uma frase que vem cada vez mais sendo repetida.
Sim, entender o negócio é importante, mas de longe não é o principal desafio. Segue a thread, vou explicar.
Não vou nunca argumentar para diminuir o desafio de negócios na tecnologia. Ele existe, é inegável. O foco aqui serão os desafios técnicos, que estamos ainda muito longe de resolver, e esses sim, os principais.
Nossa área é carente de pessoas preparadas para entregar software bem feito. Temos problemas de falta de gente, e as pessoas com frequência não tem todo o conhecimento necessário para lidar com os desafios que lhes são apresentados.
Sinto muito pelos meus amigos que trabalham com UX, pq a implementação do #pix pelos bancos, digitais ou tradicionais, está toda mal feita. Nem os modernosos fizeram um bom trabalho. É tanta coisa mal feita, que se eu não conhecesse como a linguiça é feita ficaria surpreso. 🤦♂️
Sabe a chave aleatória, gigante? Tem banco que não deixa você copiar com o celular. Você tem que copiar na mão pra outro lugar. Sério isso? 🤦♂️
E banco que não reconhece a chave já cadastrada e testada em outro banco? Só pq coloquei um `+` no email, algo que está de acordo com a RFC que define endereços de email. Erraram na regex de validação. Erro primário, amador, exemplo de clara falta de testes. 🤦♂️
Quer descobrir os melhores lugares pra trabalhar na TI? Procure quem usa agilidade de verdade, quem exige a escrita de testes, quem tem uma política clara de inclusão (e meios pra denúncia anônima de abusos). Fuja de empresas em que gerentes de projeto têm muito poder. Fio.
Mais palpável: a empresa busca diversidade na contratação, respeita as pessoas pelo que elas são, e as incentiva a serem elas mesmas no ambiente de trabalho. Se esforça por usar linguagem neutra de gênero.
Pergunte se a empresa já teve conflito com clientes (internos ou externos) por assédio. Se disser que não teve, está mentindo. Daí pergunte como ela lidou. Ela ficou do lado do lucro ou dos funcionários?
"O Giovanni pega pesado nas opiniões."
Não amigas e amigos, eu tenho mais de duas décadas nesse mercado. Não tenho mais tempo ou paciência pra quem não quer fazer um trabalho bem feito.
Quer fazer pela metade, sem agilidade, com cover your ass? Tá falando com o cara errado.
Além disso, respeito profundamente meus clientes. Não seria profissional da minha parte entregar nada menos do que todo o profissionalismo que desenvolvi ao longo desses anos. Ou não pedir o mesmo a quem trabalha comigo.
Tem muito lugar que faz assim, quem quer o fácil vá pra lá.
Isso não significa virar noites e gritar com funcionários. Isso não é profissional. Nossa área precisa de seriedade e compreensão do que significam prazos e escopos de um projeto de software. Quem grita é amador, nada profissional. Uma vergonha à nossa área.