A discussion about technology, transparency, and trade equality with industry leaders, social entrepreneurs, and hopefully, you.
Contributing Authors
Recent Tweets @bitofgood
Posts tagged "developer"

pizza

This is part two of “Pizza, Beer & Stock Options Don’t Cut It Anymore: Technologists and Social Entrepreneurs” - part I is here

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 II: Tips for Developers

  • No Eye Rolling. Sometimes opportunity is about showing up. We understand everyone from your grandmother to your boss is asking you to fix something. But please be open to the possibilities and try to leave the jaded personality at home. It takes a certain type of person to be a programmer—some say it is a cynic’s exterior over an incurable optimist inside—after all, it is your job to constantly find ways to break your own code, with the expectation that there is a way to make it logically perfect eventually. I suspect the social entrepreneur is the exact opposite—incurably optimistic on the outside (we can fix the world!), with a constant cynicism on the inside (because the world needs fixing badly).
  • Consultation Fees. An interview is not a consultation. Everyone understands you are in high demand, and your time is valuable (at least they do if they read the above). However a 1/3 of a total standard consulting fee should be business and overhead related. That means $50 of your $150 fee is there to account for this initial meeting, as well as computer upkeep, and the time it takes to invoice clients. I recently had a very talented developer request a consultation fee before even discussing their skills. They were off the list immediately, but a little further research revealed their skillset wasn’t the greatest—which could have been a costly mistake for me. On the other hand, if they had agreed to an initial discussion, they would have gotten the opportunity to convince me otherwise.
  • Understand business etiquette. As a programmer you have a lot of wiggle room as far as business attire goes. In fact, I frequently feel like the older the t-shirt I wear, the more I am assumed to be a talented programmer. Very few people expect you to show up in a suit (and if the above is true, it might actually work against you). So when I say business etiquette, I am not primarily talking about attire (though sweatpants might not be the best idea). Despite what you learned from your brilliant CS professor, some basic social and conversational skills are necessary. Texting and muttering during a meeting are not looked upon favorably by anyone. Inability to manage your own schedule and terse, incongruous and borderline rude emails (despite a footer that says “sent from my iPhone”) are also not working in your favor. You will need to be able to work with other people in some capacity for the rest of your life regardless of how talented you are.
  • Be clear about your skills. We all know you can learn as you go along, and too often that is what must happen as new technologies and languages arrive. Hiring managers should understand this. That said, be clear about what you know now versus what you can learn. When I worked at LiveJournal, all the programmers had to learn BML (Brad’s Markup Language - which only existed in Brad Fitzpatrick’s work). Obviously, no one came to the company knowing how to do this (aside from Brad of course) and all of them learned. However, there are always going to be programmers who know Ruby, C+, and all of the main languages better than you. Managers just want to know what they are signing up for in the skills department, so be honest and clear about what you know now and what you would be happy to learn in the future.
  • Invest in future employers. You undoubtably will come across social entrepreneurs who are hoping that you can “share their vision.” Sometimes this means working at a discount or being available for questions when otherwise you would not. You shouldn’t do all of their work for free or let them stomp all over you. Make this clear from the start, but also let them know how interested and invested you are in their vision. Try “I {am;am not} really into the goal of {fixing the world;helping the poor;educating children} so I {can help;cannot help}. However I think it would be a good business decision if you hired {me;a specialist;a team} to do x, y, and z.” Knowing your investment level from the start will help them gauge how much they can lean on you when the going gets tough, and will prevent any misunderstandings for both sides.
  • Don’t steal ideas. This should be another obvious one, but isn’t. You may have the CS talent to bring an idea to fruition with little help. However, social entrepreneurs likewise have talents that you don’t have, usually business and field-specific ones. They also (hopefully) had legal agreements, copyrights, and precedent over an idea long before they brought you in on a project. It is a much better option for both of you to work together for a common goal than get into messy legal battles later.
  • Agree on Baby Steps. Entrepreneurs want a perfect product, and often don’t yet have the backing or technical process-knowledge to make it bulletproof. And you might not be sold on their product or time commitment. A good way to start off is to both agree to a minimum viable product - meaning the smallest commitment you as a programmer can get a way with while still testing some of their business and usability assumptions. It might be as simple as a programming diagram, a series of mobile web pages or a pong-level app (free of fancy graphics or complex engagements).Taking a small first step will help everyone figure out if they work well with one another and how on board everyone is. After that, you can throw in the towel or figure out the next small step.

Just like last timeI’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.


Related articles

Enhanced by Zemanta

English: pizza) Polski: pizza

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.


Related articles

Enhanced by Zemanta