Lecture: Keynote: Grinding, Farming, and Alliances
How words and ideas from casual gaming can make you a better programmer
If you play a game once in a while, you've levelled up in it. You've completed a quest, a mission, a level, or something. And you've been rewarded. Some of the mechanisms that are carefully coded into games are very similar to mechanisms that happen in our careers. In this talk I'll use the language of games (quests, loot) to talk about advancing and succeeding as a developer, however you define success.
Every game has a core mechanic: winning battles, solving puzzles, finding matches, or whatever. In the same way, being a software developer involves a lot of writing code. But our careers involve a lot of other activities, too. Sometimes it's not clear what the value of a meeting is, why you should join a committee or working group in your company or outside it, how social media can have relevance for a developer, why conferences are worthwhile, and so on. It's rare for people to spell out the benefits of any work activity explicitly. I will show some of those benefits using the concepts and language that are common across a variety of games today,
In a game, you have to make decisions on the fly as new information arises. You may have to communicate plans to other people, without authority to make them follow the plan, and you may have to choose a path without all the information you need to make the decision. Surely that sounds familiar to programmers?
If you've figured out some meta-play that works for you in a game you like, you can do the same for your software development career.