Comment les éditeurs de logiciels meurent (How Software Companies Die) – Orson Scott Card

Traduction par @Neirdan

L’environnement qui génère des programmeurs créatifs tue le management et le marketing – et vice versa.

La programmation est le Vrai Jeu. Ca vous consomme, corps et âme. Lorsque vous êtes concentré, rien d’autre n’a d’importance. Lorsque vous émergez, à la lumière du jour, vous allez peut être découvrir que vous avez 50 kilos de trop, que vos sous-vêtements ont plus de 3 ans, et au vu du nombre de boîtes de pizzas, c’est déjà le printemps. [NDT: longue métaphore pour l’hibernation]
Mais vous vous en foutez parce que votre programme tourne et que le code est rapide, intelligent et solide.

Vous avez gagné.

Vous savez que les gens vous considèrent comme un nerd. Et alors ? Ils ne sont pas des joueurs. Ils n’ont jamais lutté avec Windows ou boxé avec DOS. Pour eux, le C++ c’est du langage SMS –  pas un langage de programmation. Ils existent à peine. Comme les soldats ou les artistes, vous n’en avez cure de l’opinion des civils. Vous construisez quelque chose de complexe et d’élégant.
Ils ne le comprendront jamais.

Apiculture

Voici le secret sur lequel est basé tout éditeur de logiciel à succès : Vous pouvez domestiquer les développeurs de la même manière que les apiculteurs domestiquent les abeilles. Vous ne pouvez pas vraiment communiquer avec eux, mais vous pouvez les regrouper en un lieu, et lorsqu’ils ne regardent pas, collecter leur miel.

Vous empêchez les abeilles de vous piquer en leur donnant de l’argent. Plus d’argent qu’ils ne savent quoi en faire. Cette somme est moindre que ce que vous pourriez penser. Vous voyez, tous ces développeurs ont dans leur tête la voix de leurs pères demandant “Quand est-ce que tu vas devenir un adulte ?” Il vous suffit de les payer assez pour qu’ils puissent répondre (également dans leur tête) “Ta gueule papa, je gagne plus que toi.” En moyenne, c’est abordable.

Et vous les ferez rester dans la ruche en leur permettant de s’envoler avec d’autres codeurs. La seule personne dont les compliments importent est un autre développeur. Les programmeurs moins talentueux l’idolâtreront; ceux équivalent se défieront mutuellement; et si vous voulez un bon essaim, vous vous assurez d’avoir au moins un développeur de génie certifié qu’ils peuvent tous admirer, même s’il ne jette un oeil au code des autres que pour les railler.

C’est un Joueur, pense le programmeur junior. Il a regardé mon code. C’est suffisant.

Si un éditeur de logiciel propose une telle ruche, les développeurs abandonneront volontiers sommeil, amour, santé et des vêtements propres, pendant que la société garde le gros de l’argent.

Hors de Contrôle

Voici le problème qui finit par tuer une société après l’autre. Tous les éditeurs de logiciels à succès ont eu, comme personnalité dominante, un leader qui prenait soin des développeurs. Mais aucune compagnie ne peut garder un tel leader pour toujours. Soit il est débauché, ou il amène un management qui le renverra, ou il change et devient un manager lui même. D’une façon ou d’une autre, les marketeux finissent par avoir le contrôle.

Mais… contrôle de quoi ? Au lieu d’avoir des chaines de production d’employés, ils découvrent rapidement que leur produit est crée par des gens hautement imprédictibles, non coopératifs, éffrontés, et le pire de tout, moches, qui résistent à toute tentative de management. Donnez leur des horaires, habillez les en costard et ils deviennent réticents et se mettent à saboter le produit. Le pire de tout, c’est que vous sentez qu’ils se moquent de vous à chaque mot qui sort de leur bouche.

Enfumés

Le choc est quand même plus grand pour le codeur. Il découvre soudainement qu’une créature extraterrestre contrôle sa vie. Réunions, Plannings, Rapports. Et maintenant, quelqu’un demande qu’il PLANIFIE toute sa programmation et qu’il respecte le plan, sans améliorer, sans ajuster, et sans jamais, jamais toucher le code d’une autre équipe. Le pouilleux de jeune développeur qui l’adorait est maintenant son petit chef tyranique, une promotion obtenue parce qu’il a joué au golf avec un sphincter en costard.

La ruche a été dévastée. Les meilleurs devs s’en vont. Et les marketeux,  rassurés maintenant qu’ils sont entourés d’encravatés et qu’ils ont le tout sous contrôle, sont stupéfaits que chaque nouvelle itération de leur programme perd des parts de marché, alors que le code se déteriore et que les bugs prolifèrent.

Il faut changer le packaging. Ouais, c’est la solution.

==========================
How Software Companies Die
==========================
 - Orson Scott Card

The environment that nurtures creative programmers kills management and
marketing types - and vice versa.

Programming is the Great Game. It consumes you, body and soul. When
you're caught up in it, nothing else matters. When you emerge into
daylight, you might well discover that you're a hundred pounds
overweight, your underwear is older than the average first grader, and
judging from the number of pizza boxes lying around, it must be spring
already. But you don't care, because your program runs, and the code
is fast and clever and tight.

You won.

You're aware that some people think you're a nerd. So what? They're
not players. They've never jousted with Windows or gone hand to hand
with DOS. To them C++ is a decent grade, almost a B - not a language.
They barely exist. Like soldiers or artists, you don't care about the
opinions of civilians. You're building something intricate and fine.
They'll never understand it.

Beekeeping

Here's the secret that every successful software company is based on:
You can domesticate programmers the way beekeepers tame bees. You
can't exactly communicate with them, but you can get them to swarm in
one place and when they're not looking, you can carry off the honey.

You keep these bees from stinging by paying them money. More money
than they know what to do with.  But that's less than you might think.
You see, all these programmers keep hearing their fathers' voices in
their heads saying "When are you going to join the real world?" All
you have to pay them is enough money that they can answer (also in
their heads) "Jeez, Dad, I'm making more than you." On average, this
is cheap.

And you get them to stay in the hive by giving them other coders to
swarm with. The only person whose praise matters is another
programmer. Less-talented programmers will idolize them; evenly
matched ones will challenge and goad one another; and if you want to
get a good swarm, you make sure that you have at least one certified
genius coder that they can all look up to, even if he glances at other
people's code only long enough to sneer at it.

He's a Player, thinks the junior programmer. He looked at my code.
That is enough.

If a software company provides such a hive, the coders will give up
sleep, love, health, and clean laundry, while the company keeps the
bulk of the money.

Out of Control

Here's the problem that ends up killing company after company. All
successful software companies had, as their dominant personality, a
leader who nurtured programmers. But no company can keep such a leader
forever.  Either he cashes out, or he brings in management types who
end up driving him out, or he changes and becomes a management type
himself. One way or another, marketers get control.

But...control of what? Instead of finding assembly lines of productive
workers, they quickly discover that their product is produced by
utterly unpredictable, uncooperative, disobedient, and worst of all,
unattractive people who resist all attempts at management.  Put them
on a time clock, dress them in suits, and they become sullen and start
sabotaging the product. Worst of all, you can sense that they are
making fun of you with every word they say.

Smoked Out

The shock is greater for the coder, though. He suddenly finds that
alien creatures control his life. Meetings, Schedules, Reports. And
now someone demands that he PLAN all his programming and then stick to
the plan, never improving, never tweaking, and never, never touching
some other team's code.  The lousy young programmer who once worshiped
him is now his tyrannical boss, a position he got because he played
golf with some sphincter in a suit.

The hive has been ruined. The best coders leave. And the marketers,
comfortable now because they're surrounded by power neckties and they
have things under control, are baffled that each new iteration of
their software loses market share as the code bloats and the bugs
proliferate.

Got to get some better packaging. Yeah, that's it.

Server transfer.

I had to move the server from 1&1 to OVH (server) + Gandi (domain registrar) because of 1&1’s new prices policy.

It become actually cheaper to rent and manage a server than rent a shared host.

Those of you who use Summoner’s war stats tool will experience data loss, sorry for the inconvenience.

GMail ipv6 bouncing error – but ipv4 works

Intro you DGAF about:
I had this problem on my server recently, I spent some time scratching my head, checking every other tutorial and stackoverflow answer, here’s my checklist.
There are tons of tutorials on how to do each one of these things, so I won’t rewrite any of these.
In my case, it was on an OVH server.

  1. Server level: Check that the server actually has IPv6 installed and running.
  2. Server IP level: Check that there is a rDNS on your server. It has to be an IPv6 rDNS, not an IPv4 one.
  3. Server level: Check your hosts files
  4. DNS level: Check your SPF/PTR record.
    Here’s a simple one: "v=spf1 a mx ptr:yourdomain.com ~all"
    yourdomain.com must be your rDNS name.
  5. DNS level: Check that you have an AAAA record for your IPv6

That’s about it.
You do NOT need DKIM nor DMARC, a simple SPF/PTR record is enough to not be bounced or marked as spam.
Don’t forget to secure your mail server.

Banning users – multiple possibilities

So, I found out yesterday I was banned from Warframe when I didn’t play since last year, apparently because some cheating program automatically detected I cheated. Edit: Actually, someone tried to log into my account.
I also experienced how cheating really hurt a small MMO in alpha stage (Tree of Life).

It led me to a reflexion about how to treat cheaters, griefers and players using foul language.

There are a few questions to ask:
-Do you want to punish your players harshly or softly?
-What is your business model? Do you want to make money?

If you want to punish your players harshly, ban them.
If you want to punish them softly, shadowban them. Prevent them from interacting with legit players, by not letting them join the secured servers, by muting them, by making them invisible.

Regarding your business model:
-Monthly fee: player will keep playing if they are shadowbanned, they might just leave the game if they are banned, instead of restarting from 0, since they lost all the time they invested.
-Buy to play: If you want to make money, banning your players might lead to them rebuying the game to play again. But it means you have to make “ban waves” and not ban players straight away, which means your game is less secure for legit players.
-Free to play: If the cheating players are trying to bypass the need of buying from the game shop, banning them is the best, because they are stealing from you. Players’ frustration is very hard to manage on a F2P game, but this will be covered in another piece.

Inventory constraints

Inventory is a part of the gameplay, and limiting the player’s capability to transport items leads to making choices.
It’s commonly used in RPG, FPS and survival games

-Limitation by size
Diablo, Terraria, Resident evil (1, 2, 3)

-Different items sizes
Diablo

-Different items stacking sizes
Commonly, a stack of items is maxed at 250, for memory use reasons.

-Limitation by weight
Stalker, Eve online, XCom, Ultima online

-No limitation
Final fantasy

Player’s carrying capabilities increase with his progress:
-Bigger bags with more slots
-Higher strength allowing to carry more

the GamerGate Council exposed

We all remember the whole mess when MudnameMad wanted to create a council of leaders of GamerGate and the backlash that happened after. It was a common agreement that we were leaderless and that we don’t need any council. Everyone would keep an eye on Matt’s behavior and people got concerned when the “Agents of balance” thing popped up.
We were all glad it didn’t happen, because one of the strength of GamerGate is to be leaderless.

But what if there actually was a council? Continue reading the GamerGate Council exposed