Best Practices for Implementing an External Recruiting Partnership
Building a Startup in .NET
1. Building a Startup in .NET
Marcelo Calbucci
Co-founder & CTO at EveryMove
marcelo@calbucci.com
@calbucci
2. About Me
• CS
• Microsoft (98-04) – Exchange & Bing
• First Startup: Sampa (2005-09)
• Seattle 2.0
• TweepML
• EveryMove
3. About EveryMove
EveryMove is creating the equivalent
of airlines miles for your health!
4. Dot Net Startup meetup
• Geeks + Startups = Tech Entrepreneurs
• Second Tuesday of every month
• The Easy (South Lake Union)
• 200+ members (10 weeks)
• Next event:
– Scott Guthrie (VP of Server & Tools @ Microsoft)
– May 8 – 6pm
• www.dotnetstartup.com
• http://groups.google.com/group/dotnetstartup
5. What is a Startup?
“A startup is a company designed
to search for a repeatable and
scalable business model”
- Steve Blank
7. A few Painful Truths
• Technology (almost) never makes a
business successful
• Faster, better, cleaner, easier, cheaper are
rat races
• The best tool for the job is the one you
know (unless your tool sucks).
8. WARNING
This presentation is an opinion!
If you don’t like, have your own opinion.
9. When should you use…
• Objective-C: You know when
• JavaScript: On the client
• Ruby on Rails: When you know Ruby
• Python: When you know Python
• Java: When you know Java
• C#/.NET: When you know C#/.NET
• PHP: Never!* * Unless you really need to
10. Seattle Startups on .NET
• Cheezburger Network • DNA Response
• BuddyTV • Greenvelope
• Buddy Platform • Lighter Capital
• PayScale • Limeade
• EveryMove • Synapse
• Appature • Wishpot
• Intentional Software • All 11 TechStars
• Judy’s Book Kinect startups
11. The Good
C#/.NET Ruby/Python
• Best tools • “Exciting”
• Crazy awesome • Amazing amount of open
debuggers & profilers source extensions &
libraries
• No big compatibilities
• “Easy” to learn
issues
• Modern syntaxes &
• Fast evolving language Convention over
• Massive number of Configuration
developers (& growing) • Shorter TTL (time-to-
• Highly scalable launch)
12. The Bad
C#/.NET Ruby/Python
• Perceived as costly ($) • Library mismatch
• Not as “sexy” (equivalent of DLL-hell)
• Relative lack of open • Many libraries &
source libraries and extensions of poor quality
extensions. / abandoned
• More expensive hosting • Tools not as evolved
costs. • Hard to find talent
• Too many tie-ins to
Windows / SQL / AD
13. Why I built my startup on .NET
1. That’s what I’m really good fast at.
2. Microsoft never let me down (at least on
the Server & Tools division)
14. .NET sucks at…
• Lines of codes, keystrokes, behavior out of the
box
– MVC improved it significantly
– Razor took to a whole new level (eliminated RoR
advantage)
• Purity vs. Practicality
long myValue;
if(!myDictionary.TryGet(myKey, out myValue))
return 0;
return myValue;
• Lack of many “expected” utilities: HTML
Parser, simple image
manipulation, JSON*, OAuth, W3C Log
parser, structured error logging, POP /
IMAP3, DNS Client*, Email Server, MIME
Parser, etc.
16. Startup Reality
Development
Server Operations
Data Managemenent
Analytics
Revenue Strategy
Billing Management
Recruiting
Design & UX
Sales Prospecting
Biz-Dev
Contract Negotiations
Advertising Management
PR
Events & Tradeshows
Other Stuff
Fund Raising
Board & Advisors Meetings
Strategy Discussions
Accounting
17. What we use…
• .NET 4 / MVC 3 / Razor / jQuery / Highcharts /
HTML 5 / CSS 3
– Waiting to Migrate to MVC 4 once it RCs.
• Mercurial / Kiln (moving to Github on the next 6-
months)
• Jira (Agile/Kanban) / Confluence (Wiki)
• TeamCity, NUnit & Moq
• AWS S3
• SoftLayer (Dedicated Servers & Cloud)
• SQL 2008
• ReSharper
18. What’s the Startup CTO role?
When EveryMove is successful, how will shareholders and team
members attribute me the share of success?
1. Build the first pieces to get it going.
2. Hire the best
developers, designers, product
managers, and managers to build the
best product.
3. Define the product vision, bridging
business requirements and technology
capabilities.