MageHero – Awesome Magento Developers
If you don’t know what MageHero is and you are a developer working with Magento, go check it out first then come back to read the rest of this post. If you are a merchant or recruiter, I would recommend you wait for now. The site is very much a work in progress and isn’t really ready for you as an audience yet (I have no doubt that one day it will be one of your first stops when looking for a developer to hire. That day just isn’t here yet).
At the original launch of the site, it was nothing more than just a page that would list Magento developers to whom Kalen Jordan could refer people to. He had a simple problem and started with a simple solution. Like many of us, he is constantly getting requests for help with someone’s Magento storefront that don’t necessarily fall into the “Go talk to Agency X” group but are more of the “my buddy John has a few spare hours where he can help you out” type. So he setup a quick and dirty site that would allow people to register themselves by logging in using their Github account. Once he approves them, he can then add those people to the list.
Then there was trouble…
What Kalen soon realized was that this wasn’t going to scale. I’m sure he expected to get somewhere around a dozen freelancers sign-up with their availability listed. Instead, the community at large barged in the door (at the time of this writing, there are about 180 developers ranging from freelance, to agency, to end merchant developers signed up with the site being less than 2 weeks old). One person doing manual review was not going to work. So how to move forward?
Let’s get the community to help. This is actually a pretty good idea. However, there are some things that should be ironed out first. Who gets to vote? What is the criteria used for voting? How do you keep the list from being a “good ol’ boys club” listing only a few well-known developers?
Let’s take those one at a time and see how Kalen has approached it.
Who gets to vote? / How do you keep out the spammers?
This one is a moving target. Initially it was anyone with 2 or more votes. Currently, it is anyone with 4 or more votes. There is good reason for this change. Since nearly everyone who joins gets a single vote from Kalen shortly after they join, this would only require each person to get just one more vote. That’s a pretty thin margin that might allow someone voting access that could wreck the entire system. By requiring 4 votes it helps improve the odds that voting members are really deserving of that right. I’ll come back to the issue of voting a little later as I have some concerns on it.
What is the criteria used for voting?
Initially, this was pretty vague. I think somewhat intentionally so as Kalen was trying to let the community help form the site. However, there is now a suggested description for voting criteria. I say suggested as the voting system is still opinion based. Voting is not (not do I think it ever will be) policed. However, as each vote is publicly viewable, you should consider your votes as endorsements of the person you are voting for.
How do you keep the list from being a “good ol’ boys club”?
This one is a bit tougher to solve. It involves a great deal of trust in the community. I haven’t seen anything specifically done by Kalen to make sure this doesn’t happen, so only time will tell if does or not. However, my money is on it not happening. What I know and have seen of the Magento community is that it is doing its best to help each other. From the great Alan Storm and his blog posts that have taught and inspired most of us, to the unbeatable Marius Strajeru answering questions on Stack Exchange so fast that it has led to a site determined to help others know if he is awake or sleeping (as the only time others are able to get an answer in faster than Marius is when he is asleep).
To infinity and beyond
So where is the site headed? I’m not quite sure. I don’t know that even Kalen knows (if he does, he hasn’t shared anything that I’ve seen on it). Some of his short-term plans are visible through Github issues. These include the ability to post updates (per Kalen: “basically updates on what you’re working on – pretty much what we all use twitter for currently.”) and some potential monetization opportunities. Whatever the case, I think MageHero is here to stay (and that’s a good thing)
So if I haven’t gotten into trouble with some people based on my interpretations above, I suppose this is the part where I might step on some toes. I won’t apologize for this if I do as Kalen has been pretty vocal in asking for feedback. I’m not saying that my way is the right way. I may not even be proposing alternatives. All I’m trying to do is point out potential problem spots as I see them.
Back to voting
I’ve cover some of this above, but I think it bears reiterating some. There is risk of really good developers joining and never receiving any votes. The risk comes from these developers not being the type that “toot their own horn”. They write great code and can get the job done. However, because they tend to keep to themselves on Twitter, etc they fly under the radar of the rest of the community. Is this wrong? Certainly not! Some people just don’t care for the limelight. That doesn’t mean they should not be able to be on the list. In fact, I could argue it might be likely they are more talented than some on the list with a lot of votes. How do you solve this problem? I don’t have a good solution to the voting issue. However, I think Kalen is on the right track. Making the number of votes less visible helps to remove the popularity contest aspect as it is not immediately clear that one person is higher than another (and I don’t think that was the original intent anyway. The intent was to list quality developers.) Instead you see groupings. You have group A which has achieved enough votes to be a voter, you have group B that has at least 1 vote, and then you have group C which are those that have no votes. Likely those in group C have only recently joined and will shortly be part of group B (or weeded out as spam accounts). This gives you a much more flat list. With some of the plans Kalen has for providing ways for people to get more votes, I think those that are less vocal will have some equal footing with the rest of the community.
While this is the issue that lead to my original complaint against a voting system, it was not meant to say I don’t want to participant. Over the course of my career I think I have done a pretty good job of trying to stand up for those that work under me or with me but are less vocal than I am. That’s all I’m trying to do here. I care about the Magento developer community as a whole – those that are at the top, as well as those that are the silent warriors building awesome sites for merchants but content to focus on writing code.