- Um desenvolvedor que havia parado de escrever e de manter atividades online por meses por causa do medo decide parar com a autocensura e confessar deficiências técnicas e pessoais que não conseguia admitir até então
- Admite que não entendeu o conceito de polimorfismo (polymorphism) por mais de 10 anos, que perdeu a prática em SQL e que implantou a maior parte do código sem testes automatizados
- Ao tentar acompanhar a mudança de stack da empresa, interrompeu o aprendizado de C# e Blazor; continua amando Ruby, mas sem conseguir usá-lo profissionalmente; e sente o peso psicológico de saber que gestores e colegas leem seu blog
- Relata a experiência de sofrer cyberbullying após enviar um PR escrito com IA, além de opiniões francas sobre trabalho remoto e sobre a desnecessidade de processos de desenvolvimento personalizados dentro da organização
- Termina com a decisão de deixar o medo de lado e seguir com aprendizado contínuo e escrita pública sem mais autocensura
Começo: o que levou à decisão de parar com o medo e a autocensura
- Desde abril, houve um período em que o medo era tão grande que ele não conseguia publicar nada, e cortou completamente redes sociais, agregadores de notícias e fóruns
- Sentiu que não dava mais para continuar assim e decidiu voltar a escrever, superando o medo
- Passou muito tempo escondendo suas lacunas por não querer expor fundamentos fracos, mas acabou percebendo que muitos desenvolvedores trabalham com falhas de conhecimento parecidas
- Seu modo de aprender até aqui se parecia com um slime mold que cresce de forma desproporcional só nas áreas usadas, enquanto o conhecimento não utilizado secava por completo
- Recentemente voltou a preencher os fundamentos e, ao reorganizar o que aprende em texto e fala, começou a se firmar a sensação de admitir com leveza que “não sabe”
- Ao sentir na prática que dá para reaprender a base, surgiu a convicção de que nunca é tarde
O período em que não entendeu polimorfismo por mais de 10 anos
- Desde 2012 achava que escrevia código orientado a objetos, mas acabou admitindo para si mesmo que até cerca de um ano atrás ainda não entendia polimorfismo de verdade
- Enfrentou a realidade de que o código que escreveu até aqui era, mais do que orientado a objetos, mais próximo de programação estruturada
- Nunca havia pensado em substituir condicionais por classes para mudar o design
- Ao ler textos de Sandi Metz e materiais de Martin Fowler, finalmente entendeu o conceito, e ficou claro o quanto havia deixado passar
-
Por que era difícil expor isso
- Pesava admitir que alguém que participava de entrevistas avaliando conceitos de orientação a objetos na verdade não sabia polimorfismo
- Isso também escancarava como, no início da carreira, o foco esteve mais em ferramentas do que em princípios, e como havia muitos fundamentos perdidos por não ter formação em CS
A experiência de esquecer SQL
- No passado, houve claramente uma fase em que, acompanhando livros de SQL e fazendo exercícios, escrevia JOINs e subqueries com fluência
- Como passou a atuar principalmente em frontend e deixou de usar SQL por completo, percebeu em algum momento que uma habilidade inteira havia simplesmente desaparecido da cabeça
- As queries básicas ainda vêm à mente, mas para explicar a diferença entre left join e outer join, precisaria abrir a documentação de novo
-
Por que era difícil admitir isso
- Quando era mais jovem, acreditava que, mesmo depois de anos, fatos e habilidades voltariam à memória com apenas uma pequena pista
- Agora sentiu na prática que essa capacidade já não se mantém igual, e que a primeira habilidade a sair inteira da memória foi SQL
- Não foi fácil escrever publicamente sobre envelhecer e sobre a mudança no funcionamento da memória
A realidade de ter desenvolvido sem testes automatizados
- Admite que mais de 95% do código colocado em produção até hoje roda sem testes automatizados
- No começo da carreira, nem tinha contato com o conceito de testes, e na época de Ember era difícil usar bem as ferramentas de teste
- Mais recentemente, por lidar muito com código legado, não conseguiu dedicar tempo suficiente ao trabalho preparatório para tornar o código testável
- Só conseguiu incluir testes em subsistemas novos
-
Por que era difícil expor isso
- Sentia que essa confissão era o fato mais devastador para a carreira
- Pelo padrão do Uncle Bob, código em produção sem testes poderia ser visto como uma postura antiética, e foi assustador encarar a distância entre esse padrão e sua realidade
- Parecia muito provável que, se isso se tornasse público, fosse prejudicado em processos seletivos, o que o levou até a adiar o próprio registro do processo de aprendizado
Por que não conseguiu aprender Blazor
- Quando a empresa decidiu migrar de Angular para Blazor, ele era a única pessoa do time sem experiência com C#, então começou a estudar às pressas para acompanhar
- Alguns meses depois, a decisão de migração foi revertida, e a motivação para estudar desapareceu por completo; ele não terminou o livro e parou
- C# e .NET nunca foram linguagens que quisesse usar em side projects; ficou evidente que estava estudando isso exclusivamente por trabalho
-
Por que era difícil escrever isso
- Em um texto anterior, havia prometido explicitamente escrever uma continuação, e foi ficando cada vez mais desconfortável escrever outros textos sem cumprir essa promessa
- Como os textos sobre Blazor tiveram alta audiência, temia que admitir a mudança de direção parecesse uma derrota
A vontade de usar mais Ruby
- Ruby continua sendo a linguagem mais confortável e divertida para ele, e é a escolha natural em exemplos, open source, katas e hackathons
- Mas, desde 2013, não recebeu salário por trabalhar com Ruby nem uma única vez, e no trabalho usa linguagens como TypeScript
- Como gosta muito dos colegas com quem trabalhou em várias empresas, precisou continuar fazendo a escolha de ceder na linguagem para escolher as pessoas
- Gostaria de dedicar noites e fins de semana a Ruby, mas outras obrigações e metas de estudo seguem ocupando esse espaço, e quase nunca sobra tempo suficiente para usar Ruby como gostaria
-
Por que era difícil revelar isso
- Seu gerente e o CTO leem o blog, então tinha medo de que dizer que queria usar mais Ruby fosse interpretado como um sinal de saída da empresa
- Também não queria parecer alguém tentando empurrar no trabalho uma linguagem com a qual a empresa não está acostumada
Cyberbullying ainda machuca na vida adulta
- Depois de enviar um pequeno patch gerado com LLM para um projeto open source e compartilhar a experiência em um fórum online,
enfrentou uma enxurrada de ataques pessoais como incompetente, nojento e ameaçador
- Os ataques ultrapassaram o site e se estenderam a outros sites, e-mail, SMS e ligações, trazendo uma sensação concreta de insegurança
- Pediu ao administrador do fórum que removesse seu nome real, mas, em vez disso, mais PII foi adicionada ao perfil,
e ainda se viu diante da situação de ficar marcado permanentemente com uma frase falsa dizendo que ele inventou a história dos contatos externos
- No fim, não teve alternativa a não ser desativar a conta e abandonar o site
-
Por que era difícil escrever isso
- O assédio, que durou vários dias, foi a experiência online mais tóxica que já viveu, e os efeitos ainda permanecem
- Continua existindo o medo de que, ao tornar isso público, os agressores apareçam de novo
- Também foi ficando ainda mais difícil falar sobre isso por imaginar que as informações falsas deixadas no perfil poderiam prejudicar sua empregabilidade
A ideia de que um time de SaaS não precisa de um “processo especial”
- A indústria de software já conta há décadas com processos refinados,
e abordagens como Agile, Lean, Kanban e XP já existem como estruturas validadas
- Foi se consolidando naturalmente a visão de que a capacidade limitada da empresa deveria ser usada no desenvolvimento do produto, e não na invenção de um novo processo
-
Por que era difícil falar disso
- Ao escrever, ele sempre tenta partir de temas que conhece bem, e neste caso o gatilho havia sido um processo customizado de desenvolvimento de software proposto por um colega da mesma empresa
- Parecia haver o risco de o texto soar como uma crítica pública a uma pessoa específica ou à sua ideia
- Ele admira em autores como Kent Beck e Martin Fowler a capacidade de explicar formas melhores de colaboração sem mirar frontalmente em colegas que erraram
- Sentindo que ainda não tem esse equilíbrio, hesitou em escrever
Como o trabalho remoto atrapalha a colaboração na prática
- O trabalho remoto resolve muitos problemas, mas continua difícil afastar a sensação de que o desenvolvimento de software em si funciona melhor quando as pessoas estão juntas no mesmo espaço
- Chamadas de vídeo são uma forma de comunicação de baixa largura de banda e baixa sensorialidade, e a perda de percepção periférica dificulta notar quando um colega está com problemas
- Pedir ajuda também fica mais oneroso, e formas espaciais de pensar, como quadro branco e sticky notes, se quebram com facilidade em ferramentas online
- Conflitos se agravam mais rápido por causa da facilidade de transformar a pessoa do outro lado da tela em um inimigo
-
Por que era difícil escrever isso
- Depois da covid, a empresa virou totalmente remota, e isso permitiu construir uma vida com 27 acres de terra e até vacas leiteiras para a família
- Como sua estrutura de vida hoje torna difícil se mudar para a cidade, dizer que não prefere trabalho remoto
parecia passar uma impressão ruim tanto no emprego atual quanto em qualquer vaga remota futura
Planos daqui para frente
- Sente que este texto foi um primeiro passo para voltar a superar o medo,
e planeja continuar estudando os fundamentos e registrando tudo o que aprender sem esconder nada
- Também orienta pessoas com experiências parecidas, quem queira ajudar e quem esteja curioso pelo próximo texto a acompanhar as novidades por Mastodon, RSS e mailing list
1 comentários
Comentários do Hacker News
Eu também prefiro trabalhar no escritório, mas isso não significa defender RTO (volta ao escritório). É só o meu jeito.
Parece que a ansiedade e a síndrome do impostor no setor deixam as pessoas mais agressivas. Acho que, se todos fossem mais sinceros, ficaria mais fácil.
E, para confessar, nunca escrevi nada mais complexo que Fibonacci em Lisp ou Haskell. Meu cérebro simplesmente não funciona desse jeito
Mas o texto original apresenta a própria experiência como se fosse uma verdade objetiva e generalizável. Especialmente a narração em segunda pessoa soou arrogante.
A forma como se fala é tão importante quanto o conteúdo. Em temas sensíveis como trabalho remoto, é preciso ter cuidado com a forma de se expressar.
Eu também precisei trabalhar remotamente por questões de saúde na família, então o tom do texto me pareceu leviano e isso me irritou.
No fim, antes de dizer que as pessoas estão exagerando, é melhor refletir primeiro sobre o impacto das próprias palavras
Em vez de conversas de corredor, resolvíamos problemas no chat da equipe, e todo mundo ajudava ativamente.
Hoje, dá até a sensação de que usamos pior as ferramentas
Com menos espaços para falar anonimamente, surgiu uma cultura em que é difícil falar com liberdade
Se desse errado, bastava ir até a mesa ao lado e resolver; agora, se dá errado, simplesmente acaba ali
Por isso, as pessoas acabaram culpando o trabalho remoto pela solidão
Agora há mais gente socialmente ajustada, então são mais fracos em comunicação assíncrona
Como a densidade de sinais não verbais é menor, também há menos pistas sociais
Muitos desenvolvedores estão seguindo trajetórias de carreira, e não o interesse.
Reaprendi SQL três vezes. Como a tecnologia muda o tempo todo, não dá para lembrar de tudo.
O importante não é a sintaxe, e sim a capacidade de resolver problemas e colaborar.
Acho difícil que a IA substitua isso
Existe um efeito contagioso de concentração. Um espaço de trabalho compartilhado aumenta a produtividade
A porta é a melhor ferramenta para regular colaboração e concentração.
É um sinal muito mais claro do que o status “away” online
Obrigar outras pessoas a irem ao escritório para preservar a concentração de alguém é desumano
Talvez não seja que o trabalho remoto seja ruim, e sim que a pessoa trabalhou em uma empresa com estrutura de suporte ruim
Eu também digo “não sei” com frequência. Isso é uma característica de pessoas com alta inteligência emocional
Enquanto fazia live coding em Kotlin, entrei em pânico porque não consegui lembrar da sintaxe de switch.
Percebi que até uma linguagem usada todos os dias pode ser esquecida rapidamente
Os conceitos ficam por muito tempo, mas a sintaxe detalhada some rápido
Mas, na prática, o clima é de que é difícil até falar dessa ansiedade.
Eu também gosto de escrever código com Claude, mas ao mesmo tempo sinto medo.
Se somos a geração que melhor entende a natureza das mudanças que estão por vir, então precisamos discutir isso
O problema é que isso pode acabar aumentando só a produtividade de pessoas sem habilidade
Mas, se as empresas começarem a usar IA no papel de gerente, haverá menos espaço para desenvolvedores humanos.
Precisamos começar desde já a nos preparar para migrar para papéis como consultor de eficiência com IA