Engenheiros de Software Deveriam Escrever

Durante o ensino fundamental, havia as crianças habilidosas em Matemática e as crianças habilidosas em Inglês. Tu eras classificado pela impressão das outras crianças sobre tua mestria em cada assunto.

Eu era uma criança habilidosa em Matemática. Desse modo, eu me dediquei principalmente a aprender Ciência da Computação na universidade e iniciei uma jornada para ser engenheiro de software. Apesar disto, no meu caminho, a distinção entre crianças habilidosas em Matemática e crianças habilidosas em Inglês nunca deixou de existir realmente. Se é que algo mudou, a distinção ficou mais acentuada. Os engenheiros que eu encontro hoje fogem da ideia de escrever um ensaio. E os escritores que eu encontro fogem da ideia de escrever código.

Que pena! Um engenheiro que escreve código deveria escrever ensaios também.

Engenheiros de software deveriam escrever pois escrever promove várias das mesmas habilidades requisitadas para programar. Uma capacidade importante nas duas disciplinas é a capacidade para pensar claramente. Os melhores engenheiros de software são ótimos escritores pois sua prosa é lógica e elegante como seus códigos.

Código e ensaios têm muito mais em comum. Ambos começam como uma tabula rasa e uma ideia, então terminam como um produto segmentado para uma audiência selecionada. O produto é uma sequência de declarações lógicas, amarradas em unidades modulares – sejam elas funções ou parágrafos. Como boa prosa, código bom é conciso. Código ruim desperdiça ciclos de CPU; ensaios ruins desperdiçam ciclos cerebrais.

Quando está fechando um produto finalizado, o engenheiro sente a mesma ansiedade que o escritor cansado. Como ensaios, software nunca aparenta estar pronto. Ele pressiona por mais tempo do engenheiro: uma outra funcionalidade a ser construída, um outro módulo que requer redecomposição. O engenheiro está preocupado que ele não seja a melhor representação de seu trabalho. Que seja. Entregue-o.

Engenheiros de software deveriam escrever pois nossa atividade é, crescentemente, colaborativa. Projetos de código aberto convidam participação global, enquanto projetos industriais frequentemente requerem um exército de engenheiros. (O Google Maps tem 1100 empregados de tempo integral!) Boa escrita, seja ela em um comentário no GitHub, revisão de código, ou documentação técnica, facilita uma comunicação clara e concisa para permitir que projetos como esses avancem.

Mesmo que um projeto não precise de comunicação, escrever sobre software em geral promove aprendizagem e discussões importantes. Nós não temos que aprender desde manuais técnicos e especificações do tipo RFC; graças aos tutoriais escritos por outros engenheiros. Em discussões técnicas, apenas um tanto de opinião pode ser encaixado em um tweet ou um comentário no Hacker News. O resto implora para ser direcionado a uma postagem de blog.

Falando sobre postagens em blog, coloque algum tempo nelas. Adquirir um bom estilo de escrita leva tempo. É natural escrever uma cópia desleixada de início e então melhorar a qualidade após muitas revisões. Se tu se sentes muito ocupado para blogar, sem assunto do qual falar, ou estarrecido sobre tua opinião estar em um arquivo público, dê ao “You Should Write Blogs” de Steve Yeggeâ dez minutos do teu tempo. Mesmo que ele não te convença, tu gostarás da leitura.

Engenheiros de software deveriam escrever pois eles podem, surpreendentemente, gostar de escrever. Muitos de nós são motivados pelo potencial do nosso software para causar um impacto, para fazer a diferença na vida das pessoas.

Do mesmo modo, escrever é um poderoso motor de impacto. A postagem de blog sobre gerência ajuda um gerente a revigorar a motivação do seu time. O tutorial em programação acende o interesse em ciência da computação de um estudante. O ensaio sobre dicas de carreira inspira um graduando a buscar uma nova rota de carreira.

Até se ninguém ler teus ensaios, escrever fará um impacto em ti. Escrever irá clarificar tua opinião em um assunto e fortalecer, ou mesmo enfraquecer tuas crenças. O mero processo de colocar pensamentos embaralhados em palavras concretas é importante.

Escrever oferece o mesmo senso de impacto que motiva um engenheiro a escrever software. Combine isso com como escrever promove capacidades usáveis na engenharia de software e facilita a colaboração, logo, repentinamente, escrever mostra-se como sendo uma atividade que recompensa suficientemente.

Até para as crianças habilidosas em matemática.


Licenças e Créditos

Tradução livre do texto “Software engineers should write” de autoria de Shubhro Saha. Todos os direitos do texto original reservados a Shubhro Saha. Direitos não-exclusivos de tradução cedidos a Anderson Nascimento Nunes.

Imagem destacada feita por Antonio Litterio e usada sob a licença CC BY-SA 3.0 sem modificações.

Traduzido com OmegaT.


Leituras relacionadas que eu indico ao leitor:

1. Boas, R. P. Can We Make Mathematics Intelligible? The American Mathematical Monthly 88, 727–731 (1981).
2. Hersh, R. Math Lingo vs. Plain English: Double Entendre. The American Mathematical Monthly 104, 48–51 (1997).

CC0 1.0 To the extent possible under law, Anderson N. Nunes has waived all copyright and related or neighboring rights to Engenheiros de Software Deveriam Escrever.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *