1 pontos por GN⁺ 2024-04-22 | 1 comentários | Compartilhar no WhatsApp
  • O autor não conseguiu se adaptar bem à profissão de engenharia de software

    • Depois de entender em certo grau a lógica interna de uma base de código, o lado técnico ficava entediante, e ele queria fazer mais coisas e de outra forma
    • Tinha curiosidade sobre as decisões de design e seus objetivos mais amplos, mas ouvia que "pensava demais" ou que "se importava demais"
    • Não era apenas uma questão de talento e cargo não combinarem; no fundo, ele não concordava com a forma como esses lugares funcionavam e queria trabalhar para mudar isso, em vez de perpetuá-lo
  • Ao olhar as vagas de emprego de 2023, o autor perdeu as ilusões sobre o setor de engenharia de software

    • Na maioria dos casos, ficou claro que o código que o engenheiro acabaria escrevendo estava completamente dissociado dos problemas importantes da humanidade ou dos indivíduos
    • A cultura de startup está na linha de frente da política deste setor de "produzir mais código e fazer menos perguntas"
    • Startups em geral tentam conquistar usuários pagantes movimentando dinheiro de investidores, mas no fim o tempo dos engenheiros é desperdiçado e o capital de risco vai parar nas mãos de pessoas que já detêm bastante capital
    • Anúncios de vagas que tentam embalar isso como um esforço interessante e significativo são um insulto à inteligência
  • Empresas de tecnologia estabelecidas são organizacional e financeiramente diferentes das startups, mas culturalmente não são tão diferentes

    • O código escrito na FAANG pode de fato chegar aos usuários, mas torna-se mais sem sentido do que nunca o que um indivíduo pensa sobre qualquer aspecto da escrita de código
    • O engenheiro não é apenas uma engrenagem na máquina que cria produtos para automatizar os piores aspectos do capitalismo, mas também apenas um número, seja o tamanho da stack de backend, a pontuação em entrevistas técnicas ou a nota da avaliação de desempenho
    • Espera-se ainda que os engenheiros desejem mais esse trabalho vazio e humilhante, e questioná-lo é ainda mais reprimido
    • Programadores devem se concentrar apenas no como, quase nunca no quê e jamais no porquê
    • Para o raro macaco de código capaz e disposto a criticar o sistema, a mensagem é clara: deixe esses pensamentos do lado de fora
  • Essa mentalidade do mundo da tecnologia de fazer mais e perguntar menos pode produzir mais código, mas leva a um software pior

    • Mesmo quando o capital e outras forças fora do nosso controle poderiam, em teoria, permitir que fizéssemos software de modo sustentável, com impacto positivo no mundo ou utilidade prática, muitas vezes isso não acontece por simples inércia
    • Esse tipo de inércia permeia toda a stack tecnológica em que produtos socialmente inúteis são construídos
    • De linguagens, bibliotecas e frameworks até padrões de código, a tecnologia está infectada por novidade e truques que antecedem a inovação real e afligem toda a indústria
    • Não há motivo para exigir engenharia fora do convencional se ela não estiver resolvendo problemas fora do convencional
  • Os problemas de engenharia mais interessantes são os que surgem naturalmente em nossa sociedade

    • Em contraste com problemas em que o próprio avanço tecnológico é o objetivo, ou em que se tenta criar artificialmente demanda de mercado onde ela não existe
    • A necessidade social é o maior motor da inovação, e historicamente as conquistas mais revolucionárias da computação inicial foram realizadas para um bem maior
    • O autor quer que todos os meios, das linguagens e paradigmas de programação e da arquitetura até cada linha e sintaxe de código, sejam determinados pela razão de existir do sistema em construção
    • E deseja que essa razão reflita necessidades reais e preexistentes, não métricas de negócios vazias que existem apenas por existir

Opinião do GN⁺

  • Muitos engenheiros de software parecem sentir ceticismo em relação ao clima atual da indústria, que se concentra apenas no aprimoramento técnico ou no avanço da tecnologia em si. Concordo com a ideia de que é mais importante usar a tecnologia para resolver problemas sociais reais e gerar valor.
  • A inovação tecnológica em si também é importante, mas refletir sobre que impacto ela realmente causa no mundo parece ser um dos papéis importantes do engenheiro. Mais do que simplesmente escrever muito código rapidamente, parece necessário pensar sobre seu propósito e direção.
  • Os problemas da cultura de grandes empresas ou startups podem ser difíceis de mudar do ponto de vista de um engenheiro individual. Ainda assim, dependendo dos valores pessoais, pode ser significativo escolher a organização da qual fazer parte ou tentar resolver problemas de forma alternativa junto com pessoas próximas.
  • É preocupante que a lógica do capital tenha influência excessiva na definição da direção do desenvolvimento tecnológico. Parece necessário refletir sobre como a tecnologia pode contribuir para o consenso social e para o interesse público, e fazer um esforço consciente para avançar nessa direção.
  • Seria ótimo ver mais espaços ativos para que engenheiros como o autor, que questionam as práticas da indústria e buscam alternativas, possam se conectar e trocar ideias. Espero que cresça uma comunidade que trabalhe em conjunto para criar tecnologias sustentáveis e socialmente significativas.

1 comentários

 
GN⁺ 2024-04-22
Opinião do Hacker News

Em resumo, é o seguinte:

  • No mundo corporativo, em vez da elegância ou beleza do código, querem desenvolvedores que entreguem rapidamente funcionalidades alinhadas às necessidades do negócio. Se não gerar valor econômico para a empresa, o desenvolvedor é visto como passivo.
  • O desenvolvimento de software é, em grande parte, uma atividade econômica, e os desenvolvedores estão produzindo código para enriquecer acionistas e executivos. Eles não têm interesse no trabalho dos desenvolvedores nem em ver o desenvolvimento de software como arte ou artesanato.
  • Há muitos impostores infiltrados no setor. Também surgiram "papéis falsos", como product managers e scrum masters. Engenheiros competentes precisam segurar a mão de pessoas incompetentes para ajudá-las a experimentar criatividade, inovação, pesquisa, descoberta e engenharia.
  • Alguém que trabalhou por mais de 10 anos com desenvolvimento de software corporativo disse que agora só liga para o contracheque, que é absurdamente alto.
  • Programar em si dá energia, mas como profissão isso ocupa uma parte pequena do tempo. Em vez disso, o tempo é gasto com reuniões idiotas, planejamento e coisas do tipo. Depois de se aposentar, a pessoa pretende programar o que quiser pelo puro prazer.
  • Para trabalhar em projetos significativos, talvez seja preciso abrir mão do salário anual ou das stock options. Isso vale ainda mais se você trabalha em uma empresa de adtech ou em uma startup de IA.
  • Como solução, são sugeridos desenvolvimento independente, criar as próprias ideias e vender diretamente ao consumidor. Empreender também é uma forma.