I think Google Summer of Code is a fantastic program. A lot of these things happen and I regret not being born late enough to participate. On the other hand, I’ve been involved in the whole Internet thing since nearly the beginning. A dot-Com kid, so to speak. School of hard knocks, no mentoring needed here!
The mentors are amazing. They devote a ton of their time towards simply bettering people and software. There is a general passion for this. Before I saw GSoC at work, I thought it is just teaching.
Now I don’t think so.
Teaching implies something else, something completely different. Teaching is compulsory, in a class room with people who are obligated to be there. They may even love what they do. At least the small minority of people who are engaged in the class love it. These are the people who want to learn and compulsory education may not be enough. They need a mentor. Being a mentor means you can be selective and the minority becomes the majority.
In a business environment this is interesting. On one hand, someone in a mentoring position can be selective with astute students. On the other hand there is perceived favoritism that can cause issues. There are also people who desperately want to mentor and are either unqualified or force their knowledge on others.
This is totally where if I could make awesome infographics I would put up an infographic. Oh well.
Even if mentoring is awesome, it is very hard to balance the desire to help. There are categories of people. Those who are able to mentor, those who want to learn, the people who want to teach (incompetently and unnecessarily) and, the worst, the unteachable and the uninspired.
Help Vampires are the unteachable, just wanting to glean enough knowledge to complete their task at hand and then promptly throw it away. Then there are the uninspired who show up for a paycheck and hope through some sort of luck they maintain their job and maybe get promoted even though day-in and day-out they don’t learn anything. They don’t read relevant blogs or articles. They just are. They are like house plants. They oxygenate the air and may provide some decoration around the office. You don’t want to get rid of them, because they occupy a specific place.
I believe the unteachable can be taught better habits. I do not believe the uninspired are able to be trained in the same fashion. The help vampires should be put in a position of defined learning. Goals that must be accomplished and actually focusing on the permanent accrual of knowledge. This may place a burden on the business to start with, and certainly on those mentors, but in the end it keeps the mentors happier and will (ideally) create better skilled workers.
The uninspired simply need to see the benefit of getting better. I believe that the uninspired are usually quite smart but lack the particular fire that makes developers great. It’s just lighting a spark. This can be a challenge. Finding out what they are interested in. Forcing them to engage in the community. I believe Open Source projects do a very good job countering the lethargy.
Some component in any business can be posted to GitHub and maintained. The uninspired are the perfect candidates for this. It’s not about manipulating them, it’s about showing them the larger and more exciting ecosystem.
Investing in staff is crucial. It is necessary, unequivocally. To set a goal for anything less than the utmost quality means the business will not last. It will not endure competition.
Investments in staff is an investment any business should make. I’m always amazed at employers who dismiss sending employees to conferences. The cost of sending someone to a conference is largely negligible for an established business. Flight, hotel and the tickets are probably along the upper bounds of $1500-$2000. This is, for most developers, a small percentage of their salary. If after going to the conference they’re 5% more efficient, a great gain! 5% more enthusiastic? 5% more valuable? Well, that’s just an even better return on investment.
I heard this a while ago and it summarized my point in two simple sentences:
CFO asks his CEO, “What happens if we invest in developing our people and then they leave the company?”
CEO answers, “What happens if we don’t, and they stay?”