2016-09-16

This is a guest post by Carlos Herbert Hernandez.



A while back, I was ripping through Metal Gear Solid V: The Phantom Pain, the latest installment of Hideo Kojima’s legacy of masterpieces. (Check out the breathtaking trailer here if you haven’t heard of it.) At the time, I was a content manager for a literary content-based startup with no design or development team. Needless to say, I learned a lot about coding.

So most nights, I’d either stay up late playing through an hours-long mission in Metal Gear Solid V, or I’d stay up equally late learning how to build out templates or plugins to repair essential functionality on our backend.

Are you making the association yet? Good, because the first header’s coming…

Both Games and Jobs Are Rewards Systems—Enjoy the Addictive Element

To begin with the fun part: Metal Gear Solid V allows you to prepare for a mission by stationing recruits, artillery, and even animals in the mission location. During execution, you put all of this preparation to the test. All the time you’ve spent evaluating skills, collecting new artillery and personnel starts paying off as you begin to execute your mission objectives.

What of the reward? Well, did you see the trailer above? The game boasts amazing CGI, including a prologue that gets hearts thumping and leaves you temporarily speechless As you complete missions and continue to accumulate resources, you’re rewarded with more story, told in the same industry-leading CGI. (Vince Ingenito does a wonderful job of describing the experience for IGN here.)

This reward system was fine-tuned to keep even folks like me (who, at the time, had full-time work, graduate studies, and a wife to spend time with) glued to the television, sleep deprivation be darned. In comparison, coding may seem less exciting, but it actually relies on the same sort of addictive reward-based problem-solving element. Some nights, a glitch on my company’s website would keep me digging around for solutions long after midnight, and the prospect of finding out what the problem even was kept me going. And of course, any progress, no matter how incremental, felt as great as accumulating valuable resources.

But the Rewards Aren’t Always Immediately Obvious

Video games are set up to appeal with their obvious incremental rewards. Coding, on the other hand, isn’t always so generous with the instant gratification. During some of those late-night coding sessions, I’d realize how much time I wasted, convinced I’d made no progress. It’s easy to feel that, without a complete deliverable, there’s absolutely no reward to be gained from unsuccessful software development sprints or intensive coding sessions.

But, say you hit a wall with a plugin. Perhaps it’s been deprecated and patches are no longer flowing from the developer. Or perhaps your CMS requires an update and is no longer compatible with the plugin as a result. All those hours you’ve poured into it? They’re still valuable work. You’ve learned things. You now know something new about your app or site. You now have guidance on the feature set, and can communicate these new constraints to designers.

Think of it, if you will, as one of those much-lauded secrets that designers like to tuck away in games, like deliberately hidden extra modes or top-secret rooms. It takes a while to get there, but just because the journey is long doesn’t mean you’re not collecting knowledge along the way.

Your Mission, If You Choose to Accept It…

Think of your coding project as your big-picture video game, and your sprint (or whatever you call your coding session) as the mission within your game. Not only will this make the process more fun (you’ll feel like a superhero!) but it’ll help you stay on track.

You can even divide your sprint into four game-inspired stages: Prep, Level Up, Collect Items and Personnel, and then enjoy the resulting Cutscene (the part of the game where the action stops and a bit of storytelling takes place). For example, are you building checkout functionality? Try this:

Prep for it by choosing your location (Magento? Shopify? Paypal or Square API?).

Level Up as you discover what constraints may hinder buildouts.

Collect Items and Personnel by working with designers, content managers, and whoever else you need to get the UIs functional. Don’t forget to stay organized as you gather the goods—whether you’re using Trello or a spreadsheet or a classic pen-and-notebook combination.

Enjoy the resulting Cutscene when you demo your product as a team in its natural ecosystem (i.e., launching the webapp in an external browser, rolling the demo out on a mobile simulator).

When I get through a brutal mission in MGS V, I know I earned it. Sometimes, I don’t beat it until my fourth or fifth attempt. But knowing that I was able to reach my current mission tells me I can get through to the next one. And then I bask in the CGI cutscene, watching the incredibly mythology unfold in front of my eyes, feeling unstoppable and ready to move on to the next mission.

It’s the same way with your content-based web launch, or e-commerce site launch, or Saas rollout. Take a look back to the beginning of your current project: remember what you set out to do, and feel proud that you achieve it. What have you reaped? What were the “cutscenes” that fired you back up for another sprint?

Crunched for Time? You Can Always Leave Gamification to the Gamers

I get it. Why spend the time organizing your project into video game levels, when you could be spending the time getting even more work done? If you still want to gamify your workflow without doing the organizational legwork, here are three great tools that have free tiers:

Habitica.com is great for RPGers, and isn’t limited to just coding sessions. You can pretty much gamify your entire job, career, or even lifestyle with it.

Getbadges.io is perfect for your agile startup. Try the free account for yourself and then push for it at your startup by tallying up the hours ($$$) it can save.

Gamestarmechanic.com is primarily a platform for elementary to high school students, but it has a huge ecosystem, teaches your the elements of game design, and the built-in games are a SFW blast. Trust me, it’ll make you a better critical thinker in general, and you can then apply your new skills to coding.

Any users of the above and/or general gamifiers out there? Let me know how you like to apply it to your coding workflow. I’m always looking for ways to revise my own missions—I mean, projects.

Carlos Herbert Hernandez is a freelance content manager, copywriter, and technical writer at a startup in Denver, Colorado. Talk shop with him on Twitter @letitshine21.

The post Level Up Your Coding Workflow by Gamifying It appeared first on Welcome to the Official DreamHost Blog.

Show more