Hacker News new | past | comments | ask | show | jobs | submit login
Dungeons and Developers (dungeonsanddevelopers.com)
210 points by flipstewart on Sept 11, 2013 | hide | past | favorite | 65 comments



It's very cool, but some complaints:

- I shouldn't have to know advanced database management to do AJAX or user authentication. Seems like a dependency bug.

- The tree emphasizes jQuery effects to an odd degree (three levels) and it doesn't depend on JS mastery. Seems obscure and out of place.

- There's too much specificity in a lot of the descriptions and links. I'd focus less on tools and more on skills. For example, instead of "You can use frameworks like Ember.js,...", say "you can build a complete, highly interactive SPA". Instead of "You can use mod_rewrite", say "You are comfortable deploying, configuring, and maintaining high-traffic sites in a complex environment." The User Testing and Prototypes skills are much better in this regard.

- I'm not sure I love the Web Development Mastery skill, because I'm not sure what it captures besides "I checked off all the other boxes".

Edit: removed use of "just" that makes it sound more critical than I meant it.


> "The tree emphasizes jQuery effects to an odd degree (three levels) and it doesn't depend on JS mastery."

Do you find that use of jQuery requires a mastery of JavaScript? There was a time when I could use jQuery(especially jQuery plugins) but didn't have a clue about how to do very basic things with JavaScript.


I shouldn't have said "mastery"; I just meant that you should have to check the JS box first. I agree you can use jQuery without a strong fundamental knowledge of JS. So fair point.

The description for the first level of JS Frameworks and Libraries is "you can tap into libraries like jQuery". So it's really saying is that jQuery requires JS, but you can use jQuery Effects without knowing jQuery. Also, there's no way you could get to level 3 of jQuery Effects tree (writing your own effects) without at least knowing some JS [1]. So pretty sure there's a bug in there.

But that's probably way too much pedantry about a skill tree that's just for fun. Onto the actually interesting question of how well you can know jQuery without knowing JS. I think it works like this: if you know how to use jQuery, ipso facto you can use JS at least as well. If you're just doing some pattern-matched jQuery stuff, that's cool, but it's also pattern-matched JS stuff, because, well, that's what you're writing in. The more advanced you are at JS, the more advanced you're capable of being in jQuery. There's no way you're going to be able to, say, write your own plugins are build complicated stuff without knowing the language you're writing it in. [2]

It's also probably worth noting that once you know JS really well, learning your way around jQuery is almost trivial. So I posit that trying to learn jQuery without learning JS is a Bad Idea.

[1] I guess that's a general issue with skill trees. B requires A as a prerequisite, but the tree doesn't capture that B level 2 requires A level 2.

[2] I confess this not an argument from experience and that I could be wrong; I'd love to hear stories to the contrary. I had the misfortune of learning JS in the bad old days before jQuery and friends. But I believe it both because it makes a priori sense and also because of the large number of SO jQuery questions where the OP's issue is really that they don't know JS.


There should be a Javascript tree to this too.

Unless you mean web designers, not web developers?


Where's the Canvas\HTML5 game made achievement?

For that matter, where's the rest of the server administration tree? It could branch, with helpdesk administration into enterprise desktop support, with network administration into BGP routing, and with corporate server administration into enterprise server administration.


Had the same complaints. It's cool, but I definitely qualify for a whole slew of skills that this doesn't cover that would have brought me to different results. And I agree about the JavaScript factor. For example, Node.js has opened up the back end in very unique ways for many programmers _of JavaScript skill_.


Order doesn't matter as long as it's effcient. If you just know jquery not javascript, that's ok if you can complete complex front-end jobs too, you can master Javascript after/while you got/get shit done. Everything else is premature optimization.


Agree with the dependency bug and the jquery effects.

Disagree that the specificity is bad. If someone doesn't already have the skill, the specificity helps. I'd suggest something like "Can build complete highly interactive SPAs with frameworks like Ember.js..."


It's a little dogmatic in places. For example, stored procedures and custom functions to improve database performance are a perfectly legitimate approach, but not the only one, and it comes with limitations as well as benefits. :P

Also, way to totally omit NoSQL data stores and automated testing. Selenium anyone? no one? bah.


Content aside, I love the idea of visualizing various skills and their relationships in this World of Warcraft - like style! Nicely done.

Khan Academy could be taking notes and inspiration to replace their current Knowledge Map:

https://www.khanacademy.org/exercisedashboard

Perhaps this would be a little over the top with gamification, but it could be cute to have a character sheet for every student with their level, experience points, skills and talent specs listed out in tabs. It's fun to look at Online Education as being essentially an MMORPG.


>t's fun to look at Online Education as being essentially an MMORPG.

Hell yeah!

>have a character sheet for every student with their level, experience points, skills and talent specs listed out in tabs

Isn't that one of the goals of Khan Academy? Because I remember them saying that they were against grades and that every student deserved a specialized reprot of their skills abilities projects etc


MOOC → MMORPG, not a big difference, but a huge impact. Education should be more fun, less hostile/prison.


Not a skill tree, but this reminds me of the challenge map from http://hacker.org.

EDIT: To add, the intent of the challenge map is that many of the challenges build directly or indirectly on past challenges. Basic crypto challenges (by basic, I mean simple substitution ciphers) to simple XOR ciphers with increasing levels of difficulty (intended, sometimes there are shortcuts the designer didn't perceive). Programming challenges using their own esoteric languages or solving problems with potential exponential algorithms (until you figure out the shortcuts) and the like.


Definitely recommend this site, it was a big influence in my early programming days, I found it way more interesting than Project Euler.


Agreed. I didn't get too far in Project Euler myself before finding other programming problems to solve. Logging in I only solved 4, apparently. Which doesn't seem right, maybe I accidentally created a second account, I've done that a few times.

The main issue was, though I have a math degree, there was no way it would appeal to most of my friends when we'd turn these sorts of things into a (mostly) friendly competition. Hacker.org hit just the right buttons to keep a few of them interested long enough to even plough through the problems they didn't enjoy just to make progress.


Things seem aimed a bit more at designers than developers. If it was to be more developer-centric it would definitely need some references to things like GoF patterns, dependency injection, code reuse, testing/testability, loose coupling, etc. Someone could have a perfect score on this and potentially be terrible, even at web development specifically. If someone had a perfect score on the programmers competency matrix, however, they would be a sure thing.

http://sijinjoseph.com/programmer-competency-matrix/

The best sort of skill tree is one where it is hard enough that you cannot make it down every path in the time that it takes to play the game (in this case a career). Someone needs to create a new competency matrix with a broader scope.


Dungeons and web developers.


Sometimes I wonder if I still count as a developer because I don't do web tech.


Yes. Oh god yes. Don't let the HN world get you down, there's more out there than HTML and Javascript.


return(false);


Dungeons and world-of-webcraft developers. I slew my own personal WoW demon in '08 and this site, using the same skill tooltip-style as WoW, brings back memories :/


Further observation: not one mention of maintenance or architecture, critical for all nontrivial or non 'fire and forget' projects ... very much reflects the fact that this was built by a web agency, whose culture centers around disposable, prettified projects with easily invoiceable deadlines.


I hope they do more "classes". Different trees for different kinds of devs.


What if a company implemented this in their workplace?

They would have different classes for general positions in the company, and you could get a skill by passing a rigorous test. Each skill point would get you a raise. You get promotions or change roles based on your class specialization and level.

I know, I know, it'd be a disaster. But maybe there could be lower stakes at hand to encourage employees to learn new skills, like cashing in XP for little perks.


We did. Not tying it to raises but rather the opposite, as a move to get away from more knowledge=more pay. Raises are based on contribution to the business, the gamification puts some fun stuff around self-improvement without tying it to money. Seems ok so far.


Interesting. Do you use some kind of visualization framework for the skills, similar to this website? I'm asking because I'd like to implementing gamification for new hires at my workplace.


Ya - it looks a lot like this website actually. Its a good way to visualise it.


I don't agree that'd be a disaster, I personally like the idea or at least something similar.

Essentially it's about basing promotions & pay based off meritocracy. There could be concerns about the Peter Principle [0] but at a high level, it appeals to me to work in an environment where people can "prove" they have the skills, instead of talking the talk or simply being the oldest employee.

[0] https://en.wikipedia.org/wiki/Peter_Principle


The fact that you can point to some credential that asserts that you learned something doesn't speak to your ability to actually use it effectively[1], much less achieve business objectives by using it.

Also, the people who you believe have been promoted by virtue of being the "oldest employee" may actually possess skills that you are unaware of -- perhaps even skills you are unaware are useful and important. Speaking as someone who has been around the block but prefers to work as an individual contributor rather than a manager, I have observed any number of important skills that are prevalent among effective managers that most technical folks start out unaware of. Risk assessment skills -- which are often based in having enough experience with both successful and failed projects -- are a good example. Another is the willingness to take responsibility for what often seem like nonsensical decisions that have to be made due to business or practical constraints. The latter is something that virtually no one likes to do, but often needs to be done in real life.[2] I could go on indefinitely, but I hope a couple of examples will suffice for now.

[1] http://31.media.tumblr.com/tumblr_lh0blbt3bs1qz8yeno1_400.jp...

[2] I was too slow to pick up on this lesson in real life until I saw the way Tom Hanks told Gary Sinise he was being dropped from the mission in the movie Apollo 13. In the time since, this has been a useful observation about how managers can be more effective when they don't try to do whatever will make you like them the most (which is typically a negative trait in a manager).


Take any D&D-inspired RPG character creation system and tell your spouse or life partner "You do me, I'll do you and then we'll compare!"

Now say again "It wouldn't be a disaster."


jQuery Effects is a pre-req for the ultimate (Web Development Mastery) but jQuery Effects does not arrow into the ultimate. Instead, Web Design Mastery, which is a pre-req for jQuery Effects, does. This appears to be a bug. You could resolve it by moving WDM up a level and moving jQuery Effects into its current position.


Very cute and nice but the categories are too broad in name and narrow in focus "Server administration" = Apache setup etc.


Nice idea - though it's a pity that it's so web dev centered.


Very interesting concept, but it is very limited currently. I'd like to see some other 'classes'.

A class for Ops/DevOps, and for Technical Management for instance


If this is the skill tree, is doing a startup a raid?


Nah, the better analogy is forming a guild. The raid is every time there's a fire you have to put out because a key customer is unhappy or you aren't making enough money and need to pivot or your landlord kicks you out or you go for VC funding.

...I can't believe I bothered to write this.


Bravo.


Myself: http://www.dungeonsanddevelopers.com/#_a2b2cde3hijklm2nopqxy...

This is actually an interesting way to display credentials. You could potentially put this up as supplementary on your LinkedIn profile or something along those lines.


I find it intriguing how close yours was to what I came up with quick for myself (http://www.dungeonsanddevelopers.com/#_a2b2c2de3hi2jklmnopqx...).

I wonder what percentage of web developers on HN fall into the same broad category.


Aww. I guess not knowing stored procedures prevents me from obtaining Web Development mastery. Fair enough, I suppose.


Yeah, there should be a step before that involves joins, using composite primary keys and foreign key constraints, views ... just some things that I would say are a step above "I wrote a model file and my ORM issued the appropriate DDLs"


And also from being able to use AJAX, apparently.


That one got me to. I'm capable of writing a stored procedure - it's hardly challenging if you program and know RDBMS, I just dislike spreading business logic into my data layer.


I love this! I think there's some real mileage in something like this realised a little better. For example:

- Let users upload their own portraits

- Sort out the skill dependencies to be more logical. Why do the 3 levels of jQuery effects not depend on JS mastery for example?

- Less emphasis on specific tools and more on types of skill, as pointed out by some other commenters

- Let us pick classes, perhaps with two components to the class, e.g. "Frontend ranger", "Devops Paladin", "Database barbarian", "Data Scientist High Elf" etc.

- Sort out the ugly looking pushState url to something cleaner that people would be proud to link to


Really nice !

But Server Side programming should have more levels...


Agreed, on both points. Fun and awesome design. Since I have so few skills on the left side of this talent sheet, I really appreciate how polished it looks.

I was a little sad that our framework benchmarks [1] and/or a "server-side performance" talent category were missing. :)

[1] http://www.techempower.com/benchmarks/


This is fun! Great work.

One small suggestion: consider using replaceState instead of pushState, pressing the back button just removes one skill point when it should probably leave the site (or at least remove all skill points).


This is fun as a "what don't I know" test. I think we all know of some professional software developers who wouldn't pass the advanced database talent. I might be one!


Any MMORPG player would tell you that a build tree decreases flexibilty and annihilates creativity as only 2 or 3 major "build trees" end up being viable.


Stylish, Sizzlin, Crafty, Nimble, Beefcake, XXL Knapsack, Mindweaver, Mindreader, Artistic, Conjurer, Stewardship, Spectral Guide.... From Dungeons and Developers


Spaces in your names should be encoded/decoded as %20.


This is pretty cool but shows up how unrealistic talent trees are in real life. Will be a pretty good idea for a customised CV in game industry, though... :-P


I really enjoy this, but I think it might not have enough levels. I'm level 28 according to the tree, but I certainly don't feel like a 28.


Should be able to "Save and Share" my profile

Really nice work


All the changed are in the URL, you can just copy and share it.


But what if I gain a new skill? The URL won't update if I have posted it somewhere.


Exactly


All of the data is stored in the URL, so you can share it.


It would be pretty awesome if they created a fully editable/customizable version of this talent tree. I would totally pay for it.


Too much awesomeness in one page. Now, needs to make a real game out of it. The web developer shaman and their enemy, the mighty IE6.


You should add security in there somewhere!


Back button is broken in Firefox 23.0


Yeah, same with chrome. looks like every skill you clicked on created an entry in the browser's history. Not sure why they did the UX like that; it's very annoying.


This is awesome, but makes no sense without:

     * Business Skills
     * Social Skills
     * Mastery of a Start-up
     * Entrepreneur Skills
     * Organizational Skills ($ and PM)
     * Marketing Skills (most importantly)
Unfortunately I know that I mastered all of these topics on site already more or less, but not the mentioned ones.


I enjoy the subtleties. Leveling deployment adds dexterity and fortitude :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: