index.md (3134B)
1 --- 2 title: "On Confidence and Real-Time Strategy Games" 3 date: 2011-06-30T00:00:00+00:00 4 draft: false 5 canonical_url: https://www.viget.com/articles/on-confidence-and-real-time-strategy-games/ 6 --- 7 8 I want to talk about confidence and how it applies to being a successful 9 developer. But before I do that, I want to talk about 10 *[Z](https://en.wikipedia.org/wiki/Z_(video_game))*, a real-time 11 strategy game from the mid-'90s. 12 13 {{<dither 256px-Z_The_Bitmap_Brothers.PNG "" "inline">}}Battle-hardened robot cowboy Cmdr. Zod sprays bullets amid explosions on the cover of āZā by The Bitmap Brothers.{{</dither>}} 14 15 In other popular RTSes of the time, like *Warcraft* and *Command and 16 Conquer*, you collected `/(gold|Tiberium|Vespene gas)/` and used it to 17 build units with which to smite your enemies. Z was different: no 18 resources, only territories that were held by either you or your 19 opponent. The more territories you held, the more factories you had 20 *and* the faster each of your factories was able to manufacture units. 21 22 If you spent a lot of time playing a Blizzard RTS (and of course you 23 did), your instinct is to spend the first portion of a match fortifying 24 your base and amassing an army, after which you head out in search of 25 your enemy. Try this strategy in Z, though, and by the time you put 26 together a respectable force, your opponent has three times as many 27 units and the game is all but decided. Instead, the winning strategy is 28 to expand early and often, defending your territories as best you can 29 before pushing forward. 30 31 ## So What 32 33 As developers, our confidence comes from the code we've written and the 34 successes we've had. When we find ourselves in unfamiliar territory 35 (such as a new technology or problem domain), our instinct is to act 36 like a Starcraft player --- keep a low profile, build two (ALWAYS TWO) 37 barracks, and code away until we have something we're confident in. This 38 will get you pretty far against the Zerg swarm, but it's a losing 39 strategy in the realm of software development: the rest of the team 40 isn't waiting around for you to find your comfort zone. They're making 41 decisions in your absence, and they very likely aren't the same 42 decisions you'd make. Your lack of confidence leads to poor 43 implementation which leads to less confidence, from both your team and 44 yourself. 45 46 Instead, I contend that real-world development is closer to Z than it is 47 to Starcraft: show confidence early (despite lacking total understanding 48 of the problem) and your teammates and clients will be inclined to trust 49 your technical leadership, leading to better technical decisions and a 50 better product, giving you more confidence and your team all the more 51 reason to follow your advice. Just as territories lead to units lead to 52 more territories, confidence leads to good code leads to more 53 confidence. 54 55 **In short:** *display* confidence at the beginning of a project so that 56 you can *have* confidence when it really counts. 57 58 Do you agree? I'd love to hear your thoughts. Best comment gets [my 59 personal copy of Z](http://www.flickr.com/photos/deisinger/5888230612) 60 from 1996. You're on your own for the Windows 95 box.