Building a Startup in .NET Marcelo Calbucci Co-founder & CTO at EveryMove firstname.lastname@example.org @calbucci
About Me• CS• Microsoft (98-04) – Exchange & Bing• First Startup: Sampa (2005-09)• Seattle 2.0• TweepML• EveryMove
About EveryMove EveryMove is creating the equivalent of airlines miles for your health!
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
What is a Startup?“A startup is a company designed to search for a repeatable and scalable business model” - Steve Blank
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).
WARNING This presentation is an opinion!If you don’t like, have your own opinion.
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
The GoodC#/.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)
The BadC#/.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
Why I built my startup on .NET1. That’s what I’m really good fast at.2. Microsoft never let me down (at least on the Server & Tools division)
.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.
Startup Dream 10% Technology 90% Business "stuff"
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
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
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.
One last thought… It’s theExperience, Stu pid.