At IDR Solutions we have an excellent team of coders who work behind the scenes on our Java PDF Library and PDF to HTML5/SVG and Document Converter. Everyone of them has a specific role in the team and each specialize in a particular field such as Fonts, HTML5, PDF, and more.
My colleague Kieran previously looked at ‘What do role-play games have in common with software development?’ and I thought I’d look into it further as it wasn’t until recently, when playing MMORPG’s with friends in my spare time, that it occurred to me that the team work involved in being a coder is much like being a team to go on a raid in dungeons….
Join me as I take a tongue in cheek look at ‘What kind of Programmer RPG Class are you?’ And remember in some RPG’s you can be more than one class…
The Fighters are often the main class that appear in every MMORPG and are an excellent solo class.
Depending on what game you are playing they are often defined as a Warrior, Barbarian, Samurai, Berseker or Tank.
In game often the main advantage of the class is physical strength, and they are close-combat fighters usually filling the role of the primary tank, as they are able to both withstand and inflict fierce physical damage whilst keeping the enemy from getting to other characters.
Often fighters are the team leader – leading the team into battle, coordinating the attack and remaining cool, calm and collected despite being right at the center of the chaos.
In the real world quite often the ‘Fighter’ is the programmer that is capable of handling projects on their own or as part of the core of the development team, helping to push development forwards. Like their MMORPG counterpart they also draw the ‘enemy’s’ attention away from the rest of the team through taking customer inquiries and liasing with upper-management, or taking the flack for errors that their team has made for missed deadlines, etc.
Fighters also have a ability to learn an unfamiliar code base and work within it pretty quickly, often it might take other programmers weeks or months to learn to be able to effectively work on, however they only learn enough to work on the code and keep the other people in your team from being bogged down with code in certain situations, just like the Fighter class they are the front line fighters.
The Rogues class are the tricksters of MMORPG games. They are often defined as Spy, Thief’s, Rogues, Assassins or Ninjas.
Their most important ability is stealth (allowing them to fight on their own terms).
In games, the rogue character classes deal excellent melee damage and can excel at incapacitating their foes through stealthy attacks. Often they have unusual abilities which include lock-picking and the handling of poisons.
In the real world just like their MMO Counter part ‘Rogues’ are stealthy and often the ones that you don’t often see and you’re never quite sure if they’re there. Sometimes you have rescheduled your whole week so that you could spend all afternoon working on this really complex bug/feature but what you don’t realize is the rogue often fixes the bug before you have found them. Often you will find that there have been code commits, and the code issues have been fixed in record time.
Rogues often have to survive in the the most difficult of places, often through staying in the shadows and picking out important figures on the enemy’s side such as Generals.
In the real world a Rogue often is able to spot the bugs or issues that others cant find. They also scout ahead for the enemies, often you find that this type of programmer will scout ahead possibly in their spare time or late after work to fix the issues.
Mages (Magicians and Sorcerers)
Mages (Magicians and Sorcerers) in MMO’s draw their power from the mystical powers that courses through the universe, they are the master’s of magic and are maybe the most important class in MMORPG’s. They basically have wide variety of magic spells at their disposal and can often work in defensive and offensive spells roles. Often Mages can turn the tide of battle in tough situations..
In the real world, the Mage is the foundation of your team, Just like the MMO counterpart they can turn the tide pretty quickly. When something goes wrong with the code they will fix it fast so that it won’t break again thus solving the problem, however the fix is made without any concern for the code’s quality or maintainability. The Mage is often known as the duct tape programmer which Joel Spolsky previously wrote about on his blog.
In MMORPG’s Rangers/Hunters are the only class that use ranged weapons (bows, guns, or crossbows) as a primary source of damage, they hang back and choose their opponents carefully, strategically picking off the enemy one at a time.
Rangers/Hunters are very adept at surviving, and can scout ahead of the main group using scouting, tracking, and survival abilities making them excellent solo characters. Hunters avoid melee combat and often tame many varieties of beasts to serve as combat pets.
In the real world just like their MMORPG counter part, Rangers/Hunters take out their enemy strategically and carefully (strategically picking bugs and ensuring it doesn’t break the software) are not scared to explore new areas of technology and enjoy exploring/scouting ahead.
Whereas in the MMORPG where Rangers/Hunters scout ahead and formulate a plan for the team to take on the enemy in the real world often through scouting ahead they will have had an idea for a cool new feature and have a proof of concept for their team.
As a programmer they delve into the depths to get things done, like the hunter they are capable of surviving by adapting to their environment and dig into unfamiliar code-bases and problems.
Unlike the fighters, Rangers/Hunters in MMO have a deeper grasps of the territory and the ‘way of the land’, this is the same for their real world counterpart. They will have a deeper grasp of the code than the fighter. Often Rangers/Hunters are the quickest learners, and just like the hunter who you go to for reference for what lies ahead.
They are better at communicating what they found out and in the real world and are a great resource for other programmers to learn from if they are venturing into new territory.
The Paladins are warriors but unlike the fighter they are a hybrid class. They often act in a support role in MMORPG’s and can be a tank, or heal others. Paladins also provide group support through buffing abilities. Often they wear heavy plate armour and carry shields, their ability to heal means they are renowned for durability in combat. They can be quite talented in specialization and equipment selection.
Paladins are not great at taking on enemy’s on their own or for soloing quests, but they are great in a team.
The Paladin in the real world is just like their counter part, they are multi-skilled and act as the ‘hybrid class of programming. Often the Paladin fills multiple roles and does a passable job whilst working on multiple projects and code at the same time (possibly from a different types of code bases).
Paladins in the real world are sometimes testers, they help to support other programmers in their team through fixing issues (much like the way paladins heal others, without the fixes the software would be a buggy mess) and often can be involved at different stages in the project to help.
Engineers are often the most important part of every MMORPG party, they are the masters of mechanical mayhem. Engineers use machinery, explosives, elixirs, and all manner of hazardous gadgets. Often they are the backbone of the party by placing turrets to defend certain places, support their party with alchemical weaponry or a wide array of mines, bombs, and grenades. Often on Maps where you have to defend a base or castle often you will find an Engineer there making sure everything goes smoothly.
In the real world the Engineer is the System Architect, they created or wrote the code-base and often the code quality is of the highest order. Like the way an Engineer can defend a base perfectly and ensure everyone’s safety through a perfect defence, the real world counter part of the engineer will do a great job at coding the software and will test it to perfection.
Often in the the real world Engineers are the ones that are always pointing out bugs in everyone else’s work and are very hot on coding conventions and keeping the documentation up to scratch.
Engineers in the real world can handle anything and using their knowledge (or gadgetry in MMO world) can handle exceptional conditions, corner cases and also write maintainable code because just like in an MMO the base needs to maintainable by the rest of the party.
Hopefully you’ve enjoyed this tongue cheek look at ‘ What Kind of Programmer RPG Class are you?’
I hope you have found which class you are, are you one of the above?, a mixture? or are you a class that hasnt been listed? Let us know in the comments.