A única coisa que todo engenheiro de software deve saber

Sou um grande Steve Yegge por isso foi uma grande honra ter Steve Yegge em um podcast recente do Stack Overflow. Uma coisa que eu não poderia ter previsto, no entanto, foi um tema específico da experiência de Steve no Google e na Amazon, que continuou aparecendo várias vezes:

Se houvesse algo que eu pudesse ensinar a todos os engenheiros, seria o seguinte como comercializar.

Não como digitar, não como escrever, não como projetar uma linguagem de programação, mas marketing.

Isso é doloroso para os desenvolvedores ouvirem, porque nós adoramos código. Mas todo esse código brilhante é totalmente irrelevante até que o senhor o faça:

  1. pessoas entender o que o senhor está fazendo
  2. as pessoas se tornam interessadas no que o senhor está fazendo
  3. as pessoas ficam entusiasmadas com o que o senhor está fazendo

Isso, em poucas palavras, é marketing. O fato de o senhor ser um profissional de marketing não significa necessariamente significa necessariamente que o senhor é um fuinha do marketing. É claro que as duas coisas estão altamente correlacionadas, mas, em sua essência, o marketing é pouco mais do que um curso de nível intermediário sobre comunicação humana fundamental. Não é algo que nós, programadores, tenhamos historicamente, não são tão bons em.

É por isso que até mesmo os programadores mais exigentes devem prestar atenção em pessoas como o Seth Godin. Steve estava se referindo ao marketing no sentido mais amplo e atemporal de fazer com que outras pessoas se interessem por suas ideias.

Depois de ouvir Steve mencionar isso várias vezes em nosso podcast – e de ter visto sua palestra relacionada Como ignorar o marketing e se tornar irrelevante em duas etapas fáceis De repente, percebi por que estava tão fascinado por dois livros específicos que descobri recentemente. Livros aos quais sempre me referi, repetidamente, durante o desenvolvimento do Stack Overflow.

Não consegui largar esses dois livros em formato pequeno do falecido Paul Arden. Adivinhe o que o Sr. Arden fazia para viver? É isso mesmo, ele era diretor executivo de criação da Saatchi & Saatchi – uma empresa de publicidade.

Eu estava lendo livros sujos. Marketing livros. Por opção, inclusive. Fico um pouco envergonhado em admitir isso, porque esses são exatamente os tipos de livros de negócios que eu costumo zombar das outras pessoas por lerem. Mas, ao ler esses livros, percebi que muito do que fazemos no Stack Overflow não tem nada a ver com o quanto nosso código é incrível – e tudo a ver com marketing.

Somos todos desenvolvedores de software aqui, portanto, deixe-me colocar isso em termos que os programadores entendam: Dungeons & Dragons estatísticas de personagens. O senhor sabe, os clássicos.

Estatísticas de personagens de RPG: STR DEX CON INT WIS CHA

Se o senhor for um programador e quiser melhorar em seu trabalho a cada anoo senhor pode pensar que o atributo de caráter mais importante a ser desenvolvido é codificação. Vamos chamar isso de INT. Portanto, ao final de muitos anos de trabalho, o senhor terá um resultado parecido com este:

str 6
dex 9
con 12
int 51
wis 13
chr 4

OK, o senhor é um programador genial que pode codificar em círculos ao redor de todos os outros. Mas o o senhor talvez nunca envie nenhum de seus códigos por motivos que o senhor não controla. Isso é uma ilusão. O senhor pode controlar quando, como e onde seu código é enviado. O senhor provavelmente gastou muito tempo criando seu código e e não tempo suficiente como um defensor de seu código. O senhor explicou às pessoas o que seu código faz, por que ele é legal e importante? O senhor ofereceu motivos pelos quais seu código tornará a vida delas melhor, pelo menos de alguma forma? O senhor facilitou para as pessoas encontrarem e usarem seu código?

Acredito que a maioria dos programadores estará mais bem servida em sua carreira profissional se buscarem o desenvolvimento de personagens mais nessa linha:

str 16
dex 14
con 15
int 18
wis 16
chr 17

Às vezes, o senhor se torna um programador melhor ao optar por não programar. Concordo com Steve: se eu pudesse ensinar uma coisa aos meus colegas engenheiros de software, seria como comercializar a si mesmos, seu código e seu projeto.