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
TORONTO:
SALARIES
JR. DEVELOPER   SR. DEVELOPER
(NEW CS GRAD)


50K             80K
60K             100K
Big
Challenge
YYZ   SFO
HIRING
     AND
DETERMINING FIT
THE          THE
GENERALIST   SPECIALIST
FRAMEWORK
Developer
            VS
       APPLICATION
                 Developer
Q:
"Should I hire a Rails
developer for my Django
project?"

Depends...
"Finding Great
Developers"Joel Spolsky, 2006
Great developers
already have
jobs
Go where they
hang out
INTERVIEWING
(MOSTLY TECHNICAL)
INTERVIEWING JUNIORS /
NEW GRADS
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)
TECHNICAL REQUIREMENTS
Jr. Ruby on Rails Developer:
Technical
Questions
Some examples
WHITEBOARD: FIZZ BUZZ
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”.



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
INTERVIEWING SENIOR
DEVELOPERS
More emphasis on Portfolio

Conversational approach

Solve Architecture problems

Soft skills more important
WHITEBOARD: PARKING LOT
Model the software system that would be used to operate
and manage a parking lot that is used for both public and
private parking. Tickets can be purchased and rates can
change…



Remember, Conversation:


“Why are you doing it this way?”
“Have you considered this?”
“What if X happens?”
WHITEBOARD: CHAT

Model the architecture to build out facebook chat. What
open source technologies would you leverage?




Remember, Conversation:


“Why are you doing it this way?”
“Have you considered this?”
“What if X happens?”
Q:
”What if we don’t have anyone
technical on the team to
conduct tech interviews?"

Find some...
Reference
Checks
Are old school
CULTURE
 MORE THAN JUST
A FOOSBALL TABLE
DEVELOPERS ARE
CREATIVE
Artists don't work 9 to 5
DEVELOPERS AS
PRODUCT DRIVERS
esp. when the company IS the
product
LUNCH
   lunch
TOGETHER
    together
REMOTE
TALENT
NO, NOT
“OFFSHORING”
"Why We (Still)        "Stop whining
Believe in Working    and start hiring
Remotely"            remote workers"
WHY?
①  Don't want to relocate
②  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)
REMOTE TALE
The Technology Is There …
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 generalist, application developers
④  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/
FIN.
QUESTIONS?



             Presentation Designed by

Building a Software Development Team - MaRS Best Practices