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 Converter. Each of them has a specific role in the team and each specializes 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 teamwork 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 in more than one class…
The Fighters are often the main class that appears in every MMORPG and is an excellent solo class.
Depending on what game you are playing they are often defined as a Warrior, Barbarian, Samurai, Berseker, or Tank.
In the 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 liaising with upper-management, or taking the flack for errors that their team has made for missed deadlines, etc.
Fighters also have the ability to learn an unfamiliar codebase 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 Counterpart ‘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 has been code commits, and the code issues have been fixed in record time.
Rogues often have to survive in 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 can’t 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 MMOs draw their power from the mystical powers that courses through the universe, they are the masters of magic and are maybe the most important class in MMORPGs. They basically have a 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 uses 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 counterpart, Rangers/Hunters take out their enemy strategically and carefully (strategically picking bugs and ensuring it doesn’t break the software) is 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 grasp of the territory and the ‘way of the land, this is the same for their real-world counterparts. 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 MMORPGs and can be a tank, or heal others. Paladins also provide group support through buffing abilities. Often they wear heavy plate armor 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 enemies on their own or for soloing quests, but they are great in a team.
The Paladin in the real world is just like their counterpart, 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 different types of codebases).
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 defense, the real-world counterpart of the engineer will do a great job at coding the software and will test it to perfection.
Often in 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 in, are you one of the above? a mixture? or are you a class that hasn’t been listed? Let us know in the comments.