In my role with Ethicodes I’m designing a mobile game-type app for ethical and sustainable consumption. In my professional life, I’ve been a designer and programmer for web and mobile. That means I have the unique experience of having been on both the management / programmer table. The work I do for Ethicodes can’t be done alone, and I’ll admit, there are (many) elements of programming that are better left to the specialists. In my juggling of these two worlds, I’ve come across the paradox of social enterprise technology. Most often it comes down to money, understanding and respect. Here’s some advice from both sides of the table.
Part I: Tips for Social Entrepreneurs
- Enthusiasm is contagious, but not that contagious. You are the idea guys, we all understand that. You are doing what you are doing because of a love of something - sustainable energy, or poverty alleviation, or accessible education - but don’t expect everyone to share your enthusiasm. And more importantly, don’t expect technology professionals to do what they do for free. It’s true, if you find the right person, with the right values and skillset you can get a lot done for very little money. But understand that this is very rare.
- Know what you are talking about (or find someone who does). A viable app, website or product includes a lot of moving parts. It is your job to plan and research which of those parts are needed. For example, if you are creating a web product you’ll need to know what platforms you are working on (Web, iOS, Android, etc.), what language you are working in (C+, XHTML, Flash, Ruby, etc.), and how users interact with it (login through Facebook or Twitter, create an account, etc.) to name a few.
- Rome wasn’t built in a day. In some cases you’ll have a product that gets developed and launched and doesn’t change ever, but only if you work at Microsoft. As a social entrepreneur you’re probably going to look for agile or iterative development, meaning you decide on a basic goal for a beta product and expand out from there based on a constant feedback loop. Don’t begin a programming request with “and then fireworks shoot out of the screen.” Decide what kind of core you need and worry about the bells and whistles later.
- Respect talents and time (and expect the same). If you are talking to a programmer, it’s because they are better at programming than you are. Contrary to popular beliefs, they are not kids geeking out in their parents garage anymore. They have invested a massive amount of their lives, and usually a lot of education, getting to know code. They would also be happier spending your meeting time watching Futurama. In order to respect their time and talent, be specific about what you want out of meetings and how long you will be there. If you are talking to a back end Ruby programmer, it’s a waste of everyone’s time talking about the UI and CSS, or worse yet, monetization and business practices.
- Know who you are talking to and what they can do. Again, if you are talking to a Ruby programmer, have a basic grasp of what that means and stick to it. If you are unsure what different roles, languages or processes are or what might be needed, get a technical project manager or ask around. Great tech products are not made by one person anymore, that hasn’t happened since 1998. Jut because you’ve found one programmer doesn’t mean you should expect them to do everything. In most cases they can’t and in all cases, they don’t want to.
- Appeal to desire to do good, but make it clear that you understand what the kind of commitment entails. You are asking for a lot of results, for what is usually - in the early startup days - not a lot of money. There are oodles of private companies with squillions of dollars looking for great programmers. Sell yourself as a growth opportunity and most importantly as an opportunity to try all the cutting edge stuff they wouldn’t have the freedom to play with in a big organization.
- Stock options, student ‘samples’ and hack-a-thons are lame. It’s not 2000 anymore. Developers see right through stock options and internships. Anyone who was around for the boom can paper their walls with useless stock options, and anyone who is younger than that has been in high enough demand since high school that a job that offers only these are laughable. I’ve also noticed an alarming trend toward requiring sample code tests for job applications. Code quality is important and should be tested before a hire, and third party tests like those offered at CodeEval are totally valid. However, when you request a sample that does exactly what a piece of your product is supposed to do, it is highly suspect. The same goes for design—when you are looking for someone to redesign your website and you require a “test” that forces someone to redesign your website before they are even hired, we are all on to you. Hack-a-thons—which are sometimes interesting meetups of like-minded individual, are also quickly becoming shorthand for “write my code for free.”
- Don’t steal code. This seems obvious, but it needs to be said. If you are using other people’s work without attribution or share-alike permission, you are undermining the people you are relying on most. If there is a bit of code that you think would be useful or modifiable, you’ll get surprisingly positive results by writing to the author (yes, coders are ‘authors’) and asking if they want to work with you.
Stay tuned next week for the other side of the table—Tips for Developers. I’d love to hear from other management / developers about experiences, tips, and frustrations in the comments.
Gabe Scelta is the Innovation Director at Ethicodes and Research Associate at the Ethiopian Global Initiative. A fellow at the Emerge Venture Lab, Gabe’s deep knowledge of the technology industry keeps Ethicodes pushing the frontiers of the fair trade industry. He holds a master’s degree from the University of London’s School of Oriental and African Studies and a bachelor’s degree from Boston University. He lives in New York City.