Post on 08-Aug-2015
transcript
BUILDING A Software Development Team
KHURRAM VIRANI JAKE HIRSCH-ALLEN
KHURRAM VIRANI @viranik
PARTNER Functional Imperative @func_i www.functionalimperative.com
INSTRUCTOR Bitmaker Labs @bitmakerlabs www.bitmakerlabs.com
JAKE HIRSCH-ALLEN @jakehirschallen
PARTNER Functional Imperative @func_i www.functionalimperative.com
DIRECTOR BD - OODA Technologies @oodatech www.ooda.ca
SPM Incentives for Global Health @HealthImpact www.healthimpactfund.org
DEMAND
INDEED.COM Job Trends
"Software Is Eating The World”Marc Andreessen, Aug 2011 Buy A 10x Software Developer: Its The Best Investment You Can Make… Venkatesh Rao, April 2016
TORONTO
TORONTO IS #8 Top 20 Startup Ecosystems Startup Genome Report 2012
SR. DEVELOPER
80K 100K
TORONTO: SALARIES JR. DEVELOPER (NEW CS GRAD)
50K 60K
The Struggle
SFO YYZ
AND DETERMINING FIT
HIRING
THE GENERALIST
THE SPECIALIST
FRAMEWORK Developer
APPLICATION Developer
VS
"Should I hire a Rails developer for my Django project?"
Depends...
Q:
"Finding Great Developers"Joel Spolsky, 2006
Great developers already have jobs Go where they hang out
INTERVIEWING
(MOSTLY TECHNICAL)
Real World Example: ① Transcript ② Online Portfolio (apps, twitter, blog, github)
③ 30m technical phone screen ④ Code challenge (1-2hr homework)
⑤ 3h on-site technical interview ⑥ Pair programming with Sr. Dev
(on-site half-day session)
INTERVIEWING JUNIORS / NEW GRADS
Jr. Ruby on Rails Developer:
TECHNICAL REQUIREMENTS
WHITEBOARD: FIZZ BUZZ
WHY CAN'T PROGRAMMERS.. PROGRAM? http://www.codinghorror.com/blog/2007/02/why-cant-programmers program.html FIZZ BUZZ TEST http://c2.com/cgi/wiki?FizzBuzzTest
Write a program that prints the numbers from 1 to 100. But for multiples of three print “fizz” instead of the number and for the multiples of five print “buzz”. For numbers which are multiples of both three and five print “fizzbuzz”.
Have more of your Sr.Devs interview them
Conversational approach.
More focus on past experience than writing FizzBuzz
Discuss design patterns they like and solve architecture problems, instead of SQL statements
INTERVIEWING SR. DEVELOPER
COMMON QUESTIONS
① But no one on my team (yet) is technical enough to conduct a technical interview…What then?
② Should I hire a developer that knows language/framework X when we use language/framework Y?
Eg: Python/Django <==> Ruby/Rails
MORE THAN JUST A FOOSBALL TABLE
CULTURE
DEVELOPERS ARE CREATIVE Artists don't work 9 to 5
DEVELOPERS AS PRODUCT DRIVERS esp. when the company IS the product
lunch together
LUNCH
TOGETHER
REMOTE TALENT NO, NOT “OFFSHORING”
"Stop whining and start hiring
remote workers"
"Why We (Still) Believe in Working Remotely"
① Don't want to relocate ② Don't need to relocate ③ "My spouse is going to med school" ④ Productivity: "most of our remote
developers work longer hours than our in-office devs."
⑤ Collaborative workspaces ⑥ Forces better communication ⑦ Not widely adopted (yet)
WHY?
Works super well with collaborative workspaces. Search online for remote full time positions today and you won't find much. ... But in a few years almost everyone will be doing it and it will be a no brainer.*
REMOTE TALENT
REMOTE TALE How?
EQUITY FOR WHEN $$ IS
JUST NOT ENOUGH
EQUITY Very heavily debated topic.
① Fairness > %
② Vesting
③ Slices
④ Shotgun clause
⑤ Equity ! = Currency
⑥ Dilution / Valuation !%#&
CONCLUSION
① High Demand: YYZ losing talent to SFO
② Remote talent & distributed teams => Future!
③ Startups: seek generalists
④ Established companies: seek both generalists & specialists
⑤ Technical interviews are very important
⑥ Go where the talent is
⑦ Culture is important to attract and retain talent
⑧ Give vesting equity to your founding team
REFERENCES Further Reading
http://alittlebitofjake.wordpress.com/2012/04/16/buy-a-10x-software-developer-its-the-best-investment-you-can-make/
http://techcrunch.com/2012/11/20/startup-genome-ranks-the-worlds-top-startup-ecosystems-silicon-
valley-tel-aviv-l-a-lead-the-way/
http://blog.stackoverflow.com/2013/02/why-we-still-believe-in-working-remotely/
http://www.joelonsoftware.com/articles/FindingGreatDevelopers.html
http://37signals.com/svn/posts/3064-stop-whining-and-start-hiring-remote-workers
http://online.wsj.com/article/SB10001424053111903480904576512250915629460.html http://justinjackson.ca/why-distributed-teams-are-more-effective/
http://answers.onstartups.com/questions/6949/forming-a-new-software-startup-how-do-i-allocate-ownership-fairly/23326#23326
REFERENCES Further Reading
http://foundrs.com/ http://www.andrew.cmu.edu/user/fd0n/35%20Founders%27%20Pie%20Calculator.htm http://berkonomics.com/?p=1214 http://billpayne.com/2011/02/14/startup-valuations-the-dave-berkus-method.html http://medstars.com/images/docs/modified_berkus_method.pdf http://www.bothsidesofthetable.com/2011/10/14/understanding-how-dilution-affects-you-at-a-startup/
QUESTIONS?
FIN.