SlideShare ist ein Scribd-Unternehmen logo
1 von 36
development

 THE OPEN STACK!
       Open Stack vs. C#/.Net Platform!
    Focused only on building Web based Startups!


Speaker!                                                   This Talk:!
           Bryan Starbuck!                                 !   Video: <Coming>!
           CEO & Co-Founder – Stealth mode startup!        !   Slides:
           - Former CEO of TalentSpring (Acquired 2010)!       www.slideshare.net/BryanStarbuck/presentations!
           - Former Engineering Managed!
           Linked-In: Linkedin.com/in/bryanstarbuck!
           !
                                                                                              March 21st, 2012!
MSFTees often do Well in Startups!
     MSFTees have Great RAW Potential in Startups:!
     !     Microsoft interviews find great characteristics for startup people: Strong
           drive, intelligent, great computer science fundamentals, face problems
           head-on, strong passion for building products and businesses.!
     !
     The Reason for this Talk:!
     !     In my many lunches with MSFTees wanting to join startups, they are
           often surprised by many things in this talk!
     !     Some MSFTees are always looking at the startup space. !
           !   A healthy company with 9-year average MSFT employment results in 1,000
               people leaving Microsoft every year (@ 90k employees)!
     !     I want MSFTee to Startup transitions to happen as smooth as
           possible!



Slide 2!                             bryanstarbuck.tumblr.com!
Ex-Microsoftee Founded Startups!
   Microsoft Founders of Startups (Acquired, IPOed, or Significant revenue):!
   !       Jonathan Sposato @ Picnik: ACQUIRED!
   !       Dan Shapiro @ SparkBuy.com (Shell) ACQUIRED!                                                       Rev, Acquisition or Market Cap
   !       Mike Matthew @ All Stars Directory ACQUIRED!                                                       Amount:!
   !       TA McCann @ Gist.com (Exchange) ACQUIRED!
                                                                                                               $1+ billion:                    3!
   !
                                                                                                                                        !



           Joe Giordano @ PayScale!                                                                                                         Companies!
   !       Rich Barton @ Zillow & Expedia IPOed!
   !       Mike Slade @ Starwave ACQUIRED!                                                                    $100+ million:        !          6!
   !       Kevin Merritt @ Socrata!
                                                                                                                                            Companies!

   !       Jordan Schwartz @ Pathable (MSN)!                                                                   $30+ million:    !             Many!
   !       Bill Bryant @ Qpass, Visio, Mixxer, etc.!
   !       Hadi Partovi @ Tellme Networks & iLike ACQUIRED!
   !                                                                                                          IPOed!

                                                                                                                            5!
           Alex Castro @ Delve Networks (Shell) ACQUIRED!
   !       Rob Glaser @ Real Networks IPOed!
   !       Gabe Newell @ Valve!
   !       Alex St. John @ WildTangent!                                                                                  Companies!
   !       Bryan Starbuck @ TalentSpring (Shell) ACQUIRED!
Slide 3! are often confidential and anonymized.
 Numbers                                         Some information came from people in the companies listed!
                                                             bryanstarbuck.tumblr.com!
Deciding is a BUSINESS Decision!
           Open Stack vs. C#/.Net Platform!


           How many startups Decide:!
           !   Cost to run the company 

               (Often head-count costs)!

           !   Speed to market!

           !   No disadvantage competing with competitors!

Slide 4!                    bryanstarbuck.tumblr.com!
Engineering is VERY Expensive!
      Assumptions: Startup Engineer Salary $80k / year               !
                    Cost to Run company is: 60% of Engineers salary 

                    (This is true BEFORE adding big sales teams or marketing costs. Pre-launch and often post-launch for non-VC funded companies)!




              BLACK is just direct engineer salaries.                 BLUE is average cost to run the company, pre-big marketing & sales!


  Important Take Away:!
  !        Engineering COSTS are often the BIGGEST factor!                                                  !       Competitors can win with smarter
  !        Engineering WASTE will KILL!                                                                             engineering cost structure!
Slide 5!                                                       bryanstarbuck.tumblr.com!
Visualize the problem of Costs!
     Scenario #1: Churning Marketing pages of a Website:!
     (For SEO, improving Conversion rate, or expanding Marketing information)!
                               !                                        !
     !                    $6k to $10k!                                 $0k!
     !                 Requires Dev to Change!            Marketing changes w/o Devs!
     If it requires touching code to change the marketing pages of a website, it can take 1-dev
     month in a year of normal changes!




     Scenario #2: Many vs Few dev-days to create each page:!
     !
     If a startup normally wants to add 20 web pages per month (settings, etc.). What is the cost
     per month?!
                  1/2 Pages per day!                                     3 Pages per day!
                             !                                                       !

                 $15.8k for 20 pages!                                  $2,640 for 20 pages!
                     Inefficient Startup!                                      Efficient Startup!

Slide 6!                                   bryanstarbuck.tumblr.com!
Benefits of the!
           .NET Platform!

Slide 7!       bryanstarbuck.tumblr.com!
.NET: Incredible DEBUGGER!
     Big Strengths in the .NET Stack:!


      1     The Open Stack does NOT have a debugger nearly as incredible!




Slide 8!                             bryanstarbuck.tumblr.com!
Platform is Smaller & Less Redudancies!
     Big Strengths in the .NET Stack:!


      2     The Open Stack has a long-tail of versions of a COMPONENT for each part of the
            stack, all varying in quality and levels of support!




Slide 9!                             bryanstarbuck.tumblr.com!
Linux Servers require Time to Learn!
     Big Strengths in the .NET Stack:!


      3     Windows server is simple to configure. Linux server takes an investment to learn!




Slide 10!                            bryanstarbuck.tumblr.com!
Microsoft has great .NET Local Engineers!
     Big Strengths in the .NET Stack:!


      4      Lots of .NET engineers locally. Microsoft contains some great engineering talent!




     !      GREAT Engineers are always hard to find!

     !      Some MSFTees (~5% ?) can work without salary
            for 6-months to a year!

     !      Enough to scale for quite a while!

     !
Slide 11!                             bryanstarbuck.tumblr.com!
Zero worry about IP ownership!
     Big Strengths in the .NET Stack:!


      5      No worries on IP ownership!




     !      This normally isn’t a problem for startups, but
            this is valuable in some cases!

                                    IP & Open Source!
                       !   Almost never a problem!       !   Adjustments inside OS
                       !   If running on the server,         componets are often not critical
                           doesn’t require disclosing        IP!
                           (aka “Redistributable”)!      !   Much less problematic than most
                       !   Startups use OS                   MSFTees realize!
                           components, but APIs          !   Not a problem during acquisition!
                           bridge across them!
                                                         !   Many more reasons…!
Slide 12!                             bryanstarbuck.tumblr.com!
Great for DESKTOP Applications!
     Big Strengths in the .NET Stack:!


      6      Great for Windows Desktop Apps!




     !      This talk is focused on Website startups!

     !      It is hard to beat .NET for Windows Apps!




Slide 13!                            bryanstarbuck.tumblr.com!
Benefits of the!
            “Open Stack”!

Slide 14!       bryanstarbuck.tumblr.com!
Definition of “Open Stack”!
                 “Open Stack” ≠ “Open Source”!
                 “Open Stack” ≠ “Linux Operating System”!
     !
     Definitions:!
     “.NET Stack”: Components across this stack generally interop together via the CLR,
     Windows OS COM or ASP.NET generally!
     !
     “Open Stack”: Uses interop across components preferred and common in the open
     community. (GEM dependencies, apt-get, Rails dir structure, GEMs for API integration,
     and sometimes linux OS constructs)!
     !
     !      Some components run on Windows OS perfectly (and without Cygwin)!
     !      Some require Linux (or Cygwin on Windows)!
     !      Some talk about running on Windows, but production level quality isn’t available!
     !      Some purely require Linux (or full Cygwin)!




Slide 15!                               bryanstarbuck.tumblr.com!
The Philosophy – of Open Stack !
            in the MSFT Office Team!               I moved to WINDOWS Team!


                 “!The OFFICE team
                    has a SHARED
                     CODE team  !
                                              “!   I now work with the
                                                     Windows team’s
                                                  SHARED CODE team   !
                                    ”!                                   ”!
      “! The OPEN STACK is the
       SHARED CODE team for the
       WORLD of open developers                                    !”!
                      DRY = Don’t Repeat Yourself       !
Slide 16!                        bryanstarbuck.tumblr.com!
Tour the Stack!
     High Level View:!

 External Services!                                                Code Base!

     Marketing!                        Ajax	
                    Blog (Wordpress)	
         Forums (PHPBB)	
  
     (Growth)	
               Fast Web Layout	
                  Workflow (vTiger)	
            CMS (Drupal)	
  
   Sales - CRM	
                      GEMs	
                      Cross-Site Auth	
  
        Billing	
                                                                       BUS (RabbitMQ)	
  
   Email & SMS	
                                                                              Hadoop	
  
                                                                                         Automated Testing:
 Cloud Hosting Services	
                 MVC	
                                              Blackbox	
  
                                                                                         Automated Testing:
                               Rails Dir Structure	
                                      Browser Based	
  

   Localization	
             Package Distribution Systems	
                        Linux OS Support	
  
    Deployment	
              DB Debugger (PHPMyAdmin)	
            NoSQL Database	
              KeyPair DB	
  
   IT Monitoring	
            Relational Database	
  
                                                                                        And	
  Much	
  More	
  
Slide 17!                                  bryanstarbuck.tumblr.com!
Work ABOVE the open stack!
               Writing Code in 2002!                                Writing Code in 2012!

                                                               Your Specific VALUE-ADD!
                                                                Code you have to write	
  




            Your Specific VALUE-ADD!
                       !
             Code you have to write	
  
                                                                    Open Stack!
                                                                           !
                                                               (World Shared Code team)!




               Language Libraries	
                                 Language Libraries	
  
                    Language	
                                           Language	
  
Slide 18!                               bryanstarbuck.tumblr.com!
MVC and Creating Pages!
     Goal: Devs can create 3 pages per day, and not ½ page per day!          MVC & 

     (Goal for 20 web pages is $2.6k instead of $15.8k)!                  Page Creation	
  
     !
     This is why Ruby on Rails is used so Heavily:!
     !      Create Schema: I want a STUDENT record, a PARENT record, a SCHOOL record,
            and a TEARCHER record.!
     !      It Auto-magically creates the work in the database!
     !      It Auto-magically creates the work in the OBJECT MODEL!
     !      It Auto-magically creates the work in the WEB PAGES!      Create Student Page	
  
                                                                        Edit Student Page	
  
                                       Teacher Pages	
                   View Student Page	
  
                                                                         Life of Students Page	
  



                                           School Pages	
  




Slide 19!                               bryanstarbuck.tumblr.com!
Ruby GEMs !
     !      ½ BILLION downloaded!
     !      A HUGE stack inside just GEMs!                                        GEMs	
  
     !      Are there more GEMs than MSFT SDEs?!
     !      Get them on your server is easy. Type “gem install devise”!
     !      GEMs can let you:!
            !    Site Login, Cross-site Auth!
            !    Turn addresses into Lat/Long city, state, zip!
            !    Pack and unpack ZIP files!                           The Winner is Determined by:!

            !    Create PDF files!
            !    Security ACLs!                                            By the Size 

            !    Create images programatically!
                                                                       of the Ecosystem!
            !    And 36,075 more tasks!




Slide 20!                                bryanstarbuck.tumblr.com!
Tour the Behavior: NON Open Stack!
    Welcome New Hire. Your first 3 tasks are: 1) website CREATE ACCOUNT, 2)
    Create Account with Facebook / Twitter / Google+, 3) Security ACL pages to
                                   Accounts	
  




                               CREATE ACCOUNT is now finished                   !
                          “!
                                                                                              Manager of non-Open


                                                              2 weeks of coding!”!              Stack company!




                                 I completed Cross-Site Facebook Create

     New Hire Engineer!
                           “!        Account, with authentication code!
                                                                                    ”!
            “!
    With non-Open Stack                                         2 more weeks of coding!
        Background!


                                Security ACL pages to user accounts
                           “!             is now complete.           !
                                                                                      ”!
                                                                    2 more weeks of coding!




Slide 21!                               bryanstarbuck.tumblr.com!
Tour the Behavior: Open Stack!
    Welcome New Hire. Your first 3 tasks are: 1) website CREATE ACCOUNT, 2)
    Create Account with Facebook / Twitter / Google+, 3) Security ACL pages to
                      Accounts. How long will it take you?	
  




                         It will take me 6 weeks, 2 weeks each               !            Dev Lead Mentor!

                        “!                                                    ”!
                                                                                                 !

                                                                                       In Open Stack company!

                                                                    5 minutes later!




                            Are we the first website on the PLANET to create this
                            Create Account functionality? Install the DEVISE GEM

            “!
 University New Hire!
                          accomplish CREATE ACCOUNT. Install the OmniAuth GEM
                             for FACEBOOK. Install the CANCAN GEM for ACLs 	
  



                                                 !
                        “!
                                 I’m DONE
                                                          ”!
                                 After 8 hours on first day!




Slide 22!                               bryanstarbuck.tumblr.com!
A challenge with NON-OS to OS Hires!
     If we hire you, we need to worry and plan for a 12-month RAMP UP period.	
  




                                                                                       Dev Lead Mentor!
                         I can learn a new computer language
                        “!
                                                                                              !

                                                                                    In Open Stack company!
                        (ruby on rails) quickly. It will only take
                         me FOUR weeks to learn a language
                                and it’s language library           !
                                                                          ”!
 Experienced NON-Open


            “!
   Stack interviewee!




                        We have three problems with expectations not matching:!
                        1)  Learning a wide range of OPEN STACK will take 6 to
                             12 months!
                        2)  I need to heavily mentor for him to use the OPEN
                             STACK instead of writing from scratch!
                        3)  BigCo hires and has 12-month transition times.
                             SmallCo needs productivity sooner!
Slide 23!                               bryanstarbuck.tumblr.com!
Building a
             Startup!

Slide 24!     bryanstarbuck.tumblr.com!
Let’s Build a Startup WITHOUT Code!
     Our Startup Will:!
     !      B2C for Consumers to SEARCH FOR HOTELs. Vertical Search engine for Hotels !
     !      B2B for Hotel (businesses) to learn how we send them LEADS from customers!
     !      Marketing web pages marketing to Hotel Business customers on why to buy LEADs!
     !      WORKFLOW for 70 employees in a hotel have CRM over leads!

             Vertical Search Engine!
                                                   Marketing Pages!          CRM Workflow!




Slide 25!                              bryanstarbuck.tumblr.com!
Drupal – Your Homepage & Marketing!
     ZERO Code for your “Logged Out” Website:!
     !      Your Home Page. Paste in HTML into editor without writing code!
     !      Gives you TOOLBARS and SIDE NAVIGATION PANELS!
     !      Great for your marketing pages: How it Works, Features, Testimonials, About Us,
            Contact Us, Privacy Policy.!
     !      Great for: SEO, Lead Forms!
     !      My first startup spent ~4 months of a dev creating out “logged out website”!
     !      Then we replaced it with Drupal for $3k (~8 days dev salary)!
                                                                                 Marketing Pages!


     !      Let marketing “CHURN” away much faster without needing 

            any time from devs.!




Slide 26!                               bryanstarbuck.tumblr.com!
SOLR – Powering your Vertical Search!
     Many sites do a “Search” and show results: (Yelp, Kayak, Google Search, etc.)!
     !      It supports FULL TEXT SEARCH. It includes “Stemming” (“Running” = “Ran” = “Run”)!
     !      It includes full BOOLEAN SEARCH – “MP3 Player” AND (“Nike” OR “Reebok”)!
     !      It supports: FACET Search, or Search Criteria!
            !    Price between $40 and $100.00!
            !    Includes POOL!                                       Vertical Search Engine!
            !    Staying 4 days!
     !      Includes Geo-Location Search: !
            !    Within 21 miles of…!
            !    98023, or!
            !    Mercer Island, wa!
            !    123 Main Street, Redmond, wa!
            !    King County, wa!
            !    Vancouver, BC, Canada!
     !      Database SHARDING for multi-database spanning!
     !      Supports 100s of Terabytes to search!
     !      Supports SEMANTIC SEARCH and custom search!
Slide 27!                               bryanstarbuck.tumblr.com!
“Workflow” – is the Value-Add in Many Startups!
     70 Hotel Employees need to work with your data:!
     !      vTiger gives you the benefit from SugarCRM (tens of millions invested), which is a
            clone of SalesForce CRM.!
     !      vTiger is open source and FREE. !
     !      Each Employee needs a SEPARATE ACCOUNT with ACL Security. Included.!
     !      Each data type (Customer, Hotel, Room, etc.) has their own CREATE page, EDIT
            page, READ page, VIEW LIST page, etc.!
     !      Full View Reports module.!
     !      Full APIs for Read/Write of the data.!
     !      Much, much more. Clone of SalesForce…!                                CRM Workflow!




Slide 28!                                bryanstarbuck.tumblr.com!
Your Application!
        Drupal!                 Devise!                                                MemCache!
        Marketing	
        Create Account GEM	
                                     Speed of Serving Pages	
  


    Wordpress!               Omni-Auth!                                              PHPMyAdmin!
             Blog	
        Facebook Login GEM	
                                      Database Debugging	
  

       PHPBB!
            Forums	
           CanCan!                                                     vTiger!
                           ACL Security in RoR	
                                           WorkFlow	
  

        SOLR!
     Vertical Search	
         ZenDesk!
                           Database Debugging	
  
            Chef!
      Deployment	
             Recurly!
                                WorkFlow	
  


                              SendGrid!                         Twillio!
                           Database Debugging	
            Database Debugging	
  


                            ExactTarget!                 Google Analytics!
                                WorkFlow	
                      WorkFlow	
  




Slide 29!                                bryanstarbuck.tumblr.com!
Summary!


Slide 30!    bryanstarbuck.tumblr.com!
Summary!
     Focus on Business Goals when Selecting:!
     !      Reducing Costs – and almost engineering costs!
     !      Speed to market!



    .NET Platform:!                                       OPEN STACK:!
    !       Hiring great Microsoft Talent!                !    Bigger Stack: No engineering costs rewrite
    !       No need to learn the OPEN STACK!                   what already exists!
    !       Incredible DEBUGGER!                          !    Get business value often without writing
                                                               code!
    !       Great for Windows Applications!
                                                          !    Open platform integrates with platforms
    !       Absolute Zero worries on IP!                       from SalesForce, Google, Facebook and
    !       Multi-Threaded CLR matches Java                    non-Microsoft companies!
            and beats Ruby, Python, etc.!




Slide 31!                                    bryanstarbuck.tumblr.com!
THE END!
            Thanks for Listening!



Slide 32!         bryanstarbuck.tumblr.com!
Person #1’s Feedback (1 of 2)!
                                      The following feedback was from an experienced startup person, and often ex-MSFTee!
 II spent many years working on the .NET stack at <Profitable seattle startup at ~$15m to $30m in revenues> (as technical co-founder, architect, etc). I have over 15 years experience on the MSFT stack, from VB3 to
 VS 2010.!
 !
 Last summer, I built a new site using .NET + Entity Framework + ASP.NET MVC3 + Azure. That went nowhere for various reasons, and I started over. (I'll probably push that code to Github at some point)!
 !
 I am working on a new site (since November) that is a bit past prototype phase. I built this on Rails 3.2 + ActiveRecord + Heroku. I also evaluated NodeJS and Python/Django as alternatives. I went with Rails because
 it was more mature than NodeJS, and seemed more vibrant for web development than Django.!
 !
 Here are some answers to your questions:!
 !
 Strengths of .net & C# stack:!
 Debugging is far superior in .NET than it is in Rails. !
 Intellisense works better in C# than in Rails.!
 BizSpark gave me a free copy of VS 2010 and Office.!
 SQL Azure is well designed and functions as I'd expect it to !
 Functional programming is quite clean in .NET.!
 I have confidence that upgrading major versions of .NET and windows will be relatively smooth. I have never had major issues with .NET stack upgrades (maybe a little from 1.1->2, but that wasn't a big deal)!
 NuGet is a great idea.!
 ASP.NET MVC is a huge improvement over webforms.!
 !
 Issues with .net & C# stack:!
 !
 BizSpark Application Process!
 BizSpark initially rejected me because I didn't have a website (??!) or a business setup. There was all this "get listed in a directory" stuff that was absurd when you are just a dev trying to hack around. It's like they don't
 understand how this works sometimes. In the end, I reapplied, made up a company name, and put up a fake site on Google Sites. But it took me weeks. I should have been able to signup in 10 minutes.!
 !
 Azure!
 I chose Azure because I wanted to learn it. I thought it would mean I could spend less time dealing with the OS. That promise was not fulfilled, and I actually spent far more time than necessary.!
 !
 With BizSpark, there was a 3 month free window. That was not enough time, it should've been at least a year. They should have an always-free window for small apps. I spent way too much time fighting Azure. !
 !
 Azure is very challenging to get up and running (keep in mind this was last August/September). It was not mature back then, but I had lots of issues deploying.!
 Here are two examples, that I ended up posting on SO. There were many more that I just struggled through. I calculate at least 2 weeks of a 2 month project on deployment issues. !
 http://stackoverflow.com/questions/7487285/windows-azure-with-multiple-sites-in-one-role-not-transforming-2nd-web-debug-con!
 http://stackoverflow.com/questions/7592043/web-deploy-error-with-azure!
 http://stackoverflow.com/questions/4483670/how-to-speed-up-azure-deployment-from-visual-studio-2010!
 !
 SOLR!
 I chose SOLR and SOLR.NET for my search. I actually hacked up a way to host SOLR on Azure but it was painful and probably wouldn't have worked long term. Wiring up SOLR.NET to my framework took me over a
 week. I guess they probably don't want you to use SOLR. !
 !
 Dependency Injection / Static Typing !
 Dependency Injection frameworks such as Ninject or Castle do not fulfil their promise - you have to write a lot of configuration code to get them to work. Your app code gets simplified but not much. And it isn't
 completely tooled up for all scenarios. Here's a small example, not a big deal, but just annoying stuff like this slows you down:!
 !
 http://stackoverflow.com/questions/7586075/using-ninject-with-custom-webviewpage-type!
 !
 I had to write huge amounts of configuration code in xml files or in constructors.!
 !
 Entity Framework!
 Entity Framework is not easy to customize. I often use a schema that has an internal ID key for joins, and a natural key that is either a string or a GUID for external use. This was incredibly painful in Entity Framework !

Slide 33!                                                                             bryanstarbuck.tumblr.com!
Person #1’s Feedback (2 of 2)!
                                         The following feedback was from an experienced startup person, and often ex-MSFTee!
Open Source!
The open source community is anemic. I needed an OAuth library, and the most popular one was http://www.dotnetopenauth.net/, which is a spaghetti nightmare. There are some other ones with better designs, but they
aren't done. They are also all just object libraries, with poor integration into ASP.NET. Similar cases with User authentication, !
!
Powershell!
The verbosity of Powershell just makes it hard to use and remember stuff. It's always secondary to GUI stuff and so you usually end up using GUI tools for many management tasks, which is bad.!
!
Strengths of open stack stack:!
Heroku / AWS!
Compared to Azure, heroku was a dream. I deploy in < 1 minute. Staging + production just work. Zero upfront costs forever. Super fast. Lives on AWS so I can drop down to AWS when necessary. Great ecosystem:
WebSOLR, AirBrake, New Relic, SendGrid. Just plug and play. !
!
Rails!
Rails/ActiveRecord is optimized for quick prototyping. It is so awesome to write a few lines of code and it just works. You focus on the product, not on the stack. !
!
Rubygems.org / Github!
I was able to add a ton of features quickly to my site with almost no work. Some great gems: Devise, Omniauth, Delayed_Job, Paperclip. Someone has usually been through some basic problem and there's almost always
a gem that gets me past the basic stuff.!
!
RSpec!
RSpec is a great advancement over unit test platforms. I love it and actually enjoy writing tests now. There is a .NET version called NSpec, but i've not tried that. It doesn't seem as popular. !
!
CLI Based Efficiency!
Everything is a shell script, which starts of slower but is so much faster in the long term!
!
The source code!
I love that I can just look at the source code, in the gem lib directory, on my own computer, step through it, fork it on github, change it. It gives me a great sense of peace and confidence. I don't really know why. !
!
Issues with open stack stack:!
Anti-windows bias!
I tried to get Ruby/Node working on Windows. It "kind of" works but you struggle more than you should. Core gems usually work, but there are often setup scripts written as bash scripts that haven't been ported. Ruby is
the worst at this, NodeJS is nearly as bad. here's a NodeJS example:!
https://github.com/maccman/hem/issues/23!
!
Testing to IE requires a VM which means you basically don't bother, and curse it afterwards when stuff breaks.!
!
Linux is buggy for development / desktop!
I ended up dual booting my windows laptop to Linux Mint. Linux Mint is ok. Battery life is poorer than Mac/PC laptops. Installing basic software with apt-get can be ponderous and scary. My touchpad randomly stops
working.!
!
Dynamic Language Clobbering / Errors!
Every once in a while, you will be working and just get some completely bizarre error. It is usually because two gems are clobbering each other in a global namespace. Stacktraces are nearly useless in this case, unless
you understand !
!
Syntax!
Ruby blocks are a weird thing. The code just looks messy. There are some weird spacing bugs that you have to figure out.!
!
CoffeeScript got dumped into Rails 3.1 as the default JS syntax. It's a little impure because it sits on top of Javsacript. So you can't ever forget you are in javascript. I struggled with it for a while, I'm not really sure it's
much better, but you are forced to learn it if you have any NodeJS components because it's what everyone uses.!
!
Poor documentation!
I tried to initially learn Rails via reading documentation, because that's how I used to do it on msdn. Big mistake. You have to just go write some code and ignore the nonsensical syntax of Rails for a while. Hard to do for
 Slide 34!
C# devs who often want to learn the whole thing bottoms-up.!                            bryanstarbuck.tumblr.com!
Person #2’s Feedback!
                                 The following feedback was from an experienced startup person, and often ex-MSFTee!
Strengths of .net & C# stack:!
Great support in Visual Studio - a fantastic IDE for editing .NET programs with Intellisense.!
BizSpark!
SQL Server!
Many good .NET developers in the local area!
Rapid innovation in the language / platform - LINQ, lambda expressions, async, ... Java is far behind on many of these!
LINQ - a simply brilliant addition to the language!
ASP.NET MVC - embracing the best of what the rest of the world is doing and making it their own!
Efficient Garbage Collection tuned to server or client makes GC a non-issue for 99.9% of uses!
NuGET package manager and a rapidly growing package library to pick from!
Moves by Microsoft to be more transparent in the design and development process (NuGet, ASP.NET MVC, EF, WebAPI, CQRS guidance)!
Strong-typing (aka having a choice of types instead of being forced to use just one dynamic type)!
You can use Reflector to look inside any code you don't understand!
You can mix in open source components wherever you like and there are many excellent third party open-source components for .NET, e.g. nHibernate, Autofac ...!
You can learn from reading the code in the many great .NET libraries and applications including many recent Microsoft releases like ASP.NET MVC, Orchard CMS, ...!
!
Issues with .net & C# stack:!
Microsoft technologies and documentation tend to be designed for the 'happy path', e.g. WCF. Makes for great demos but the reality of getting them to work reliably in production is hard.!
Microsoft puts security obstacles at every layer (that most people turn off) making it tough to configure even simple things (e.g. CAS, permissions on servers, ...).!
!
Strengths of open stack stack:!
You don't need Reflector to look inside code!
Easier to replace code you don't like!
Always free (except for support, of course)!
Strong community around many popular packages!
!
Issues with open stack stack:!
Fragmentation - you go somewhere to work and they have their own hacked version of some core feature in library X!
Figuring out which libraries and which forks of those libraries are the best ones to use!
Libraries that nobody is maintaining any more!
!
Challenges MSFTees often have in the transition:!
Lack of awareness of the latest Microsoft .NET technologies, e.g. there are developers at MSFT who haven't even used LINQ!!!!
Lack of awareness of the many great open-source libraries for .NET!
Lack of awareness of modern software practices, e.g. IOC containers!
Lack of awareness of databases besides SQL Server, especially highly-scalable ones like MongoDB, and non-RDBMS like graph DBs etc.!
Thinking that Microsoft's library for X is the best one when there are much better free ones available!
Trying to use Outlook and Exchange instead of switching to Google Apps!
!
Great Solutions to that transition:!
Before you leave, start learning! !
Never stop learning new stuff.!
It's cheaper to learn new stuff while you still have a paid job and healthcare! !
Try nHibernate, MongoDB, SignalR, jQuery, Angular.js, Autofac, Node.js, …!

Slide 35!                                                                 bryanstarbuck.tumblr.com!
Person #3’s Feedback!
                      The following feedback was from an experienced startup person, and often ex-MSFTee!
     Strengths of .net & C# stack:!
     Great for Windows? I'm not sure I've done anything in .Net and C# that couldn't have been just as easily or more easily
     done with other technology except when it comes to programming for Windows.!
     !
     !
     Issues with .net & C# stack:!
     Portability (barring the Mono discussion). In many cases, it's also not the fastest way to build a solution. And some great
     OSS uses other languages and frameworks.!
     !
     !
     Strengths of open stack stack:!
     Frequently updated as long as projects aren't abandoned. Awesome to have so much available. And it's awesome to be
     able to give back.!
      !
     !
     Issues with open stack stack:!
     Sometimes frequently-updated can cause pain. Progress and bug fixes are dependent on contributors meaning anything
     can happen.!
     !
     !
     Challenges MSFTees often have in the transition:!
     Realizing that success at MS != success in a startup. Different skills, values, and behaviors are needed. Also, it's hard to
     not have a paycheck and insurance and office furniture and ...!
     !
     !
     Great Solutions to that transition:!
     Hacking it! Craigslist, Ramen, etc. OSS, mentors, community like STS, etc!



Slide 36!                                         bryanstarbuck.tumblr.com!

Weitere ähnliche Inhalte

Ähnlich wie Open Stack vs .NET Platform for Startups

Startup Funding Options - From Kickstarter to Venture Capital - Dreamforce 20...
Startup Funding Options - From Kickstarter to Venture Capital - Dreamforce 20...Startup Funding Options - From Kickstarter to Venture Capital - Dreamforce 20...
Startup Funding Options - From Kickstarter to Venture Capital - Dreamforce 20...Salesforce Partners
 
What Is Web 2.0 April 2006 Fraser Valley Technology Network
What Is Web 2.0 April 2006 Fraser Valley Technology NetworkWhat Is Web 2.0 April 2006 Fraser Valley Technology Network
What Is Web 2.0 April 2006 Fraser Valley Technology Networktroyangrignon
 
Lessons Learned From Asia
Lessons Learned From AsiaLessons Learned From Asia
Lessons Learned From AsiaBenjamin Joffe
 
Become a Startup Employee from a Big Company
Become a Startup Employee from a Big CompanyBecome a Startup Employee from a Big Company
Become a Startup Employee from a Big CompanyBryan Starbuck
 
Rethinking Digital: The Evolution of Mobile & Its Impact on Web Strategies
Rethinking Digital: The Evolution of Mobile & Its Impact on Web StrategiesRethinking Digital: The Evolution of Mobile & Its Impact on Web Strategies
Rethinking Digital: The Evolution of Mobile & Its Impact on Web StrategiesPyxl
 
48 west mobile presentation v final
48 west mobile presentation v final48 west mobile presentation v final
48 west mobile presentation v finalBrian Winter
 
Leverage web technology in a mobile world
Leverage web technology in a mobile worldLeverage web technology in a mobile world
Leverage web technology in a mobile worldDieter Blomme
 
Holiday Prep: The Essential Science of Landing Pages
Holiday Prep: The Essential Science of Landing PagesHoliday Prep: The Essential Science of Landing Pages
Holiday Prep: The Essential Science of Landing PagesTrada
 
A geek sifts through the bullshit
A geek sifts through the bullshitA geek sifts through the bullshit
A geek sifts through the bullshitWebstock
 
Teaching in the new digitized world - how will digital change what and most i...
Teaching in the new digitized world - how will digital change what and most i...Teaching in the new digitized world - how will digital change what and most i...
Teaching in the new digitized world - how will digital change what and most i...Antti Mäki
 
Switch gadgets Summative (motivating and leading attention)
Switch gadgets Summative (motivating and leading attention)Switch gadgets Summative (motivating and leading attention)
Switch gadgets Summative (motivating and leading attention)badmaths
 
The secret sauce of super successful entrepreneurs
The secret sauce of super successful entrepreneursThe secret sauce of super successful entrepreneurs
The secret sauce of super successful entrepreneursElaine Chen
 
Smartphone latest market information
Smartphone latest market informationSmartphone latest market information
Smartphone latest market information01Booster
 
Hax: Disruption Through Hardware
Hax: Disruption Through HardwareHax: Disruption Through Hardware
Hax: Disruption Through HardwareHAX
 
Introduction to Innovation Works
Introduction to Innovation WorksIntroduction to Innovation Works
Introduction to Innovation WorksInnovation Works
 
Introduction to Innovation Works
Introduction to Innovation WorksIntroduction to Innovation Works
Introduction to Innovation WorksChris Evdemon
 
Mobile Tools & Browscap - Adapting to Mobile
Mobile Tools & Browscap - Adapting to MobileMobile Tools & Browscap - Adapting to Mobile
Mobile Tools & Browscap - Adapting to MobileCI&T
 

Ähnlich wie Open Stack vs .NET Platform for Startups (20)

FgmBizPlanDraft
FgmBizPlanDraftFgmBizPlanDraft
FgmBizPlanDraft
 
Think Different, in Finance
Think Different, in FinanceThink Different, in Finance
Think Different, in Finance
 
Startup Funding Options - From Kickstarter to Venture Capital - Dreamforce 20...
Startup Funding Options - From Kickstarter to Venture Capital - Dreamforce 20...Startup Funding Options - From Kickstarter to Venture Capital - Dreamforce 20...
Startup Funding Options - From Kickstarter to Venture Capital - Dreamforce 20...
 
What Is Web 2.0 April 2006 Fraser Valley Technology Network
What Is Web 2.0 April 2006 Fraser Valley Technology NetworkWhat Is Web 2.0 April 2006 Fraser Valley Technology Network
What Is Web 2.0 April 2006 Fraser Valley Technology Network
 
Lessons Learned From Asia
Lessons Learned From AsiaLessons Learned From Asia
Lessons Learned From Asia
 
Become a Startup Employee from a Big Company
Become a Startup Employee from a Big CompanyBecome a Startup Employee from a Big Company
Become a Startup Employee from a Big Company
 
Rethinking Digital: The Evolution of Mobile & Its Impact on Web Strategies
Rethinking Digital: The Evolution of Mobile & Its Impact on Web StrategiesRethinking Digital: The Evolution of Mobile & Its Impact on Web Strategies
Rethinking Digital: The Evolution of Mobile & Its Impact on Web Strategies
 
48 west mobile presentation v final
48 west mobile presentation v final48 west mobile presentation v final
48 west mobile presentation v final
 
Leverage web technology in a mobile world
Leverage web technology in a mobile worldLeverage web technology in a mobile world
Leverage web technology in a mobile world
 
Holiday Prep: The Essential Science of Landing Pages
Holiday Prep: The Essential Science of Landing PagesHoliday Prep: The Essential Science of Landing Pages
Holiday Prep: The Essential Science of Landing Pages
 
A geek sifts through the bullshit
A geek sifts through the bullshitA geek sifts through the bullshit
A geek sifts through the bullshit
 
Teaching in the new digitized world - how will digital change what and most i...
Teaching in the new digitized world - how will digital change what and most i...Teaching in the new digitized world - how will digital change what and most i...
Teaching in the new digitized world - how will digital change what and most i...
 
Switch gadgets Summative (motivating and leading attention)
Switch gadgets Summative (motivating and leading attention)Switch gadgets Summative (motivating and leading attention)
Switch gadgets Summative (motivating and leading attention)
 
The secret sauce of super successful entrepreneurs
The secret sauce of super successful entrepreneursThe secret sauce of super successful entrepreneurs
The secret sauce of super successful entrepreneurs
 
Smartphone latest market information
Smartphone latest market informationSmartphone latest market information
Smartphone latest market information
 
Hax: Disruption Through Hardware
Hax: Disruption Through HardwareHax: Disruption Through Hardware
Hax: Disruption Through Hardware
 
Introduction to Innovation Works
Introduction to Innovation WorksIntroduction to Innovation Works
Introduction to Innovation Works
 
Introduction to Innovation Works
Introduction to Innovation WorksIntroduction to Innovation Works
Introduction to Innovation Works
 
Rethinking Innovation
Rethinking InnovationRethinking Innovation
Rethinking Innovation
 
Mobile Tools & Browscap - Adapting to Mobile
Mobile Tools & Browscap - Adapting to MobileMobile Tools & Browscap - Adapting to Mobile
Mobile Tools & Browscap - Adapting to Mobile
 

Mehr von Bryan Starbuck

Crypto-Currency - Strategic Review v3
Crypto-Currency  - Strategic Review  v3Crypto-Currency  - Strategic Review  v3
Crypto-Currency - Strategic Review v3Bryan Starbuck
 
Cloud Privacy & Security compliance
Cloud Privacy & Security complianceCloud Privacy & Security compliance
Cloud Privacy & Security complianceBryan Starbuck
 
WhiteHat showcase of building WealthFlex
WhiteHat showcase of building WealthFlex WhiteHat showcase of building WealthFlex
WhiteHat showcase of building WealthFlex Bryan Starbuck
 
Breaking the Catch-22 raising capital
Breaking the Catch-22 raising capitalBreaking the Catch-22 raising capital
Breaking the Catch-22 raising capitalBryan Starbuck
 
Bryan Starbuck's Customer Acquisition methodology for Startups
Bryan Starbuck's Customer Acquisition methodology for StartupsBryan Starbuck's Customer Acquisition methodology for Startups
Bryan Starbuck's Customer Acquisition methodology for StartupsBryan Starbuck
 
Raising Capital for a Startup
Raising Capital for a StartupRaising Capital for a Startup
Raising Capital for a StartupBryan Starbuck
 
Building CRYPTO-CURRENCY Startups
Building CRYPTO-CURRENCY StartupsBuilding CRYPTO-CURRENCY Startups
Building CRYPTO-CURRENCY StartupsBryan Starbuck
 
Building DUE DILIGENCE material for startups raising capital
Building DUE DILIGENCE material for startups raising capitalBuilding DUE DILIGENCE material for startups raising capital
Building DUE DILIGENCE material for startups raising capitalBryan Starbuck
 
Lean Startups - for UW MBA program
Lean Startups - for UW MBA programLean Startups - for UW MBA program
Lean Startups - for UW MBA programBryan Starbuck
 
Customer Acquisition for Startups
Customer Acquisition for StartupsCustomer Acquisition for Startups
Customer Acquisition for StartupsBryan Starbuck
 
MBA talk for Univ of Washington (Startups from the Trenches)
MBA talk for Univ of Washington (Startups from the Trenches)MBA talk for Univ of Washington (Startups from the Trenches)
MBA talk for Univ of Washington (Startups from the Trenches)Bryan Starbuck
 
Financial Modeling for Startups
Financial Modeling for StartupsFinancial Modeling for Startups
Financial Modeling for StartupsBryan Starbuck
 
Raising capital (for startups)
Raising capital (for startups)Raising capital (for startups)
Raising capital (for startups)Bryan Starbuck
 
Marketing and Sales strategies for Startups
Marketing and Sales strategies for StartupsMarketing and Sales strategies for Startups
Marketing and Sales strategies for StartupsBryan Starbuck
 
Startup FUND RAISING to raise capital
Startup FUND RAISING to raise capitalStartup FUND RAISING to raise capital
Startup FUND RAISING to raise capitalBryan Starbuck
 
Startup Fund raising and raising capital
Startup Fund raising and raising capitalStartup Fund raising and raising capital
Startup Fund raising and raising capitalBryan Starbuck
 
Validating a Startup business model
Validating a Startup business modelValidating a Startup business model
Validating a Startup business modelBryan Starbuck
 

Mehr von Bryan Starbuck (20)

USD Project Interview
USD Project InterviewUSD Project Interview
USD Project Interview
 
Crypto-Currency - Strategic Review v3
Crypto-Currency  - Strategic Review  v3Crypto-Currency  - Strategic Review  v3
Crypto-Currency - Strategic Review v3
 
Cloud Privacy & Security compliance
Cloud Privacy & Security complianceCloud Privacy & Security compliance
Cloud Privacy & Security compliance
 
WhiteHat showcase of building WealthFlex
WhiteHat showcase of building WealthFlex WhiteHat showcase of building WealthFlex
WhiteHat showcase of building WealthFlex
 
Breaking the Catch-22 raising capital
Breaking the Catch-22 raising capitalBreaking the Catch-22 raising capital
Breaking the Catch-22 raising capital
 
Startup CTO Role v3
Startup CTO Role v3Startup CTO Role v3
Startup CTO Role v3
 
Bryan Starbuck's Customer Acquisition methodology for Startups
Bryan Starbuck's Customer Acquisition methodology for StartupsBryan Starbuck's Customer Acquisition methodology for Startups
Bryan Starbuck's Customer Acquisition methodology for Startups
 
Raising Capital for a Startup
Raising Capital for a StartupRaising Capital for a Startup
Raising Capital for a Startup
 
Building CRYPTO-CURRENCY Startups
Building CRYPTO-CURRENCY StartupsBuilding CRYPTO-CURRENCY Startups
Building CRYPTO-CURRENCY Startups
 
Building DUE DILIGENCE material for startups raising capital
Building DUE DILIGENCE material for startups raising capitalBuilding DUE DILIGENCE material for startups raising capital
Building DUE DILIGENCE material for startups raising capital
 
Lean Startups - for UW MBA program
Lean Startups - for UW MBA programLean Startups - for UW MBA program
Lean Startups - for UW MBA program
 
Customer Acquisition for Startups
Customer Acquisition for StartupsCustomer Acquisition for Startups
Customer Acquisition for Startups
 
MBA talk for Univ of Washington (Startups from the Trenches)
MBA talk for Univ of Washington (Startups from the Trenches)MBA talk for Univ of Washington (Startups from the Trenches)
MBA talk for Univ of Washington (Startups from the Trenches)
 
Financial Modeling for Startups
Financial Modeling for StartupsFinancial Modeling for Startups
Financial Modeling for Startups
 
Raising capital (for startups)
Raising capital (for startups)Raising capital (for startups)
Raising capital (for startups)
 
About SPARKON
About SPARKONAbout SPARKON
About SPARKON
 
Marketing and Sales strategies for Startups
Marketing and Sales strategies for StartupsMarketing and Sales strategies for Startups
Marketing and Sales strategies for Startups
 
Startup FUND RAISING to raise capital
Startup FUND RAISING to raise capitalStartup FUND RAISING to raise capital
Startup FUND RAISING to raise capital
 
Startup Fund raising and raising capital
Startup Fund raising and raising capitalStartup Fund raising and raising capital
Startup Fund raising and raising capital
 
Validating a Startup business model
Validating a Startup business modelValidating a Startup business model
Validating a Startup business model
 

Kürzlich hochgeladen

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 

Kürzlich hochgeladen (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 

Open Stack vs .NET Platform for Startups

  • 1. development THE OPEN STACK! Open Stack vs. C#/.Net Platform! Focused only on building Web based Startups! Speaker! This Talk:! Bryan Starbuck! ! Video: <Coming>! CEO & Co-Founder – Stealth mode startup! ! Slides: - Former CEO of TalentSpring (Acquired 2010)! www.slideshare.net/BryanStarbuck/presentations! - Former Engineering Managed! Linked-In: Linkedin.com/in/bryanstarbuck! ! March 21st, 2012!
  • 2. MSFTees often do Well in Startups! MSFTees have Great RAW Potential in Startups:! ! Microsoft interviews find great characteristics for startup people: Strong drive, intelligent, great computer science fundamentals, face problems head-on, strong passion for building products and businesses.! ! The Reason for this Talk:! ! In my many lunches with MSFTees wanting to join startups, they are often surprised by many things in this talk! ! Some MSFTees are always looking at the startup space. ! ! A healthy company with 9-year average MSFT employment results in 1,000 people leaving Microsoft every year (@ 90k employees)! ! I want MSFTee to Startup transitions to happen as smooth as possible! Slide 2! bryanstarbuck.tumblr.com!
  • 3. Ex-Microsoftee Founded Startups! Microsoft Founders of Startups (Acquired, IPOed, or Significant revenue):! ! Jonathan Sposato @ Picnik: ACQUIRED! ! Dan Shapiro @ SparkBuy.com (Shell) ACQUIRED! Rev, Acquisition or Market Cap ! Mike Matthew @ All Stars Directory ACQUIRED! Amount:! ! TA McCann @ Gist.com (Exchange) ACQUIRED! $1+ billion: 3! ! ! Joe Giordano @ PayScale! Companies! ! Rich Barton @ Zillow & Expedia IPOed! ! Mike Slade @ Starwave ACQUIRED! $100+ million: ! 6! ! Kevin Merritt @ Socrata! Companies! ! Jordan Schwartz @ Pathable (MSN)! $30+ million: ! Many! ! Bill Bryant @ Qpass, Visio, Mixxer, etc.! ! Hadi Partovi @ Tellme Networks & iLike ACQUIRED! ! IPOed! 5! Alex Castro @ Delve Networks (Shell) ACQUIRED! ! Rob Glaser @ Real Networks IPOed! ! Gabe Newell @ Valve! ! Alex St. John @ WildTangent! Companies! ! Bryan Starbuck @ TalentSpring (Shell) ACQUIRED! Slide 3! are often confidential and anonymized. Numbers Some information came from people in the companies listed! bryanstarbuck.tumblr.com!
  • 4. Deciding is a BUSINESS Decision! Open Stack vs. C#/.Net Platform! How many startups Decide:! ! Cost to run the company 
 (Often head-count costs)! ! Speed to market! ! No disadvantage competing with competitors! Slide 4! bryanstarbuck.tumblr.com!
  • 5. Engineering is VERY Expensive! Assumptions: Startup Engineer Salary $80k / year ! Cost to Run company is: 60% of Engineers salary 
 (This is true BEFORE adding big sales teams or marketing costs. Pre-launch and often post-launch for non-VC funded companies)! BLACK is just direct engineer salaries. BLUE is average cost to run the company, pre-big marketing & sales! Important Take Away:! ! Engineering COSTS are often the BIGGEST factor! ! Competitors can win with smarter ! Engineering WASTE will KILL! engineering cost structure! Slide 5! bryanstarbuck.tumblr.com!
  • 6. Visualize the problem of Costs! Scenario #1: Churning Marketing pages of a Website:! (For SEO, improving Conversion rate, or expanding Marketing information)! ! ! ! $6k to $10k! $0k! ! Requires Dev to Change! Marketing changes w/o Devs! If it requires touching code to change the marketing pages of a website, it can take 1-dev month in a year of normal changes! Scenario #2: Many vs Few dev-days to create each page:! ! If a startup normally wants to add 20 web pages per month (settings, etc.). What is the cost per month?! 1/2 Pages per day! 3 Pages per day! ! ! $15.8k for 20 pages! $2,640 for 20 pages! Inefficient Startup! Efficient Startup! Slide 6! bryanstarbuck.tumblr.com!
  • 7. Benefits of the! .NET Platform! Slide 7! bryanstarbuck.tumblr.com!
  • 8. .NET: Incredible DEBUGGER! Big Strengths in the .NET Stack:! 1 The Open Stack does NOT have a debugger nearly as incredible! Slide 8! bryanstarbuck.tumblr.com!
  • 9. Platform is Smaller & Less Redudancies! Big Strengths in the .NET Stack:! 2 The Open Stack has a long-tail of versions of a COMPONENT for each part of the stack, all varying in quality and levels of support! Slide 9! bryanstarbuck.tumblr.com!
  • 10. Linux Servers require Time to Learn! Big Strengths in the .NET Stack:! 3 Windows server is simple to configure. Linux server takes an investment to learn! Slide 10! bryanstarbuck.tumblr.com!
  • 11. Microsoft has great .NET Local Engineers! Big Strengths in the .NET Stack:! 4 Lots of .NET engineers locally. Microsoft contains some great engineering talent! ! GREAT Engineers are always hard to find! ! Some MSFTees (~5% ?) can work without salary for 6-months to a year! ! Enough to scale for quite a while! ! Slide 11! bryanstarbuck.tumblr.com!
  • 12. Zero worry about IP ownership! Big Strengths in the .NET Stack:! 5 No worries on IP ownership! ! This normally isn’t a problem for startups, but this is valuable in some cases! IP & Open Source! !   Almost never a problem! !   Adjustments inside OS !   If running on the server, componets are often not critical doesn’t require disclosing IP! (aka “Redistributable”)! !   Much less problematic than most !   Startups use OS MSFTees realize! components, but APIs !   Not a problem during acquisition! bridge across them! !   Many more reasons…! Slide 12! bryanstarbuck.tumblr.com!
  • 13. Great for DESKTOP Applications! Big Strengths in the .NET Stack:! 6 Great for Windows Desktop Apps! ! This talk is focused on Website startups! ! It is hard to beat .NET for Windows Apps! Slide 13! bryanstarbuck.tumblr.com!
  • 14. Benefits of the! “Open Stack”! Slide 14! bryanstarbuck.tumblr.com!
  • 15. Definition of “Open Stack”! “Open Stack” ≠ “Open Source”! “Open Stack” ≠ “Linux Operating System”! ! Definitions:! “.NET Stack”: Components across this stack generally interop together via the CLR, Windows OS COM or ASP.NET generally! ! “Open Stack”: Uses interop across components preferred and common in the open community. (GEM dependencies, apt-get, Rails dir structure, GEMs for API integration, and sometimes linux OS constructs)! ! ! Some components run on Windows OS perfectly (and without Cygwin)! ! Some require Linux (or Cygwin on Windows)! ! Some talk about running on Windows, but production level quality isn’t available! ! Some purely require Linux (or full Cygwin)! Slide 15! bryanstarbuck.tumblr.com!
  • 16. The Philosophy – of Open Stack ! in the MSFT Office Team! I moved to WINDOWS Team! “!The OFFICE team has a SHARED CODE team ! “! I now work with the Windows team’s SHARED CODE team ! ”! ”! “! The OPEN STACK is the SHARED CODE team for the WORLD of open developers !”! DRY = Don’t Repeat Yourself ! Slide 16! bryanstarbuck.tumblr.com!
  • 17. Tour the Stack! High Level View:! External Services! Code Base! Marketing! Ajax   Blog (Wordpress)   Forums (PHPBB)   (Growth)   Fast Web Layout   Workflow (vTiger)   CMS (Drupal)   Sales - CRM   GEMs   Cross-Site Auth   Billing   BUS (RabbitMQ)   Email & SMS   Hadoop   Automated Testing: Cloud Hosting Services   MVC   Blackbox   Automated Testing: Rails Dir Structure   Browser Based   Localization   Package Distribution Systems   Linux OS Support   Deployment   DB Debugger (PHPMyAdmin)   NoSQL Database   KeyPair DB   IT Monitoring   Relational Database   And  Much  More   Slide 17! bryanstarbuck.tumblr.com!
  • 18. Work ABOVE the open stack! Writing Code in 2002! Writing Code in 2012! Your Specific VALUE-ADD! Code you have to write   Your Specific VALUE-ADD! ! Code you have to write   Open Stack! ! (World Shared Code team)! Language Libraries   Language Libraries   Language   Language   Slide 18! bryanstarbuck.tumblr.com!
  • 19. MVC and Creating Pages! Goal: Devs can create 3 pages per day, and not ½ page per day! MVC & 
 (Goal for 20 web pages is $2.6k instead of $15.8k)! Page Creation   ! This is why Ruby on Rails is used so Heavily:! ! Create Schema: I want a STUDENT record, a PARENT record, a SCHOOL record, and a TEARCHER record.! ! It Auto-magically creates the work in the database! ! It Auto-magically creates the work in the OBJECT MODEL! ! It Auto-magically creates the work in the WEB PAGES! Create Student Page   Edit Student Page   Teacher Pages   View Student Page   Life of Students Page   School Pages   Slide 19! bryanstarbuck.tumblr.com!
  • 20. Ruby GEMs ! ! ½ BILLION downloaded! ! A HUGE stack inside just GEMs! GEMs   ! Are there more GEMs than MSFT SDEs?! ! Get them on your server is easy. Type “gem install devise”! ! GEMs can let you:! ! Site Login, Cross-site Auth! ! Turn addresses into Lat/Long city, state, zip! ! Pack and unpack ZIP files! The Winner is Determined by:! ! Create PDF files! ! Security ACLs! By the Size 
 ! Create images programatically! of the Ecosystem! ! And 36,075 more tasks! Slide 20! bryanstarbuck.tumblr.com!
  • 21. Tour the Behavior: NON Open Stack! Welcome New Hire. Your first 3 tasks are: 1) website CREATE ACCOUNT, 2) Create Account with Facebook / Twitter / Google+, 3) Security ACL pages to Accounts   CREATE ACCOUNT is now finished ! “! Manager of non-Open 2 weeks of coding!”! Stack company! I completed Cross-Site Facebook Create New Hire Engineer! “! Account, with authentication code! ”! “! With non-Open Stack 2 more weeks of coding! Background! Security ACL pages to user accounts “! is now complete. ! ”! 2 more weeks of coding! Slide 21! bryanstarbuck.tumblr.com!
  • 22. Tour the Behavior: Open Stack! Welcome New Hire. Your first 3 tasks are: 1) website CREATE ACCOUNT, 2) Create Account with Facebook / Twitter / Google+, 3) Security ACL pages to Accounts. How long will it take you?   It will take me 6 weeks, 2 weeks each ! Dev Lead Mentor! “! ”! ! In Open Stack company! 5 minutes later! Are we the first website on the PLANET to create this Create Account functionality? Install the DEVISE GEM “! University New Hire! accomplish CREATE ACCOUNT. Install the OmniAuth GEM for FACEBOOK. Install the CANCAN GEM for ACLs   ! “! I’m DONE ”! After 8 hours on first day! Slide 22! bryanstarbuck.tumblr.com!
  • 23. A challenge with NON-OS to OS Hires! If we hire you, we need to worry and plan for a 12-month RAMP UP period.   Dev Lead Mentor! I can learn a new computer language “! ! In Open Stack company! (ruby on rails) quickly. It will only take me FOUR weeks to learn a language and it’s language library ! ”! Experienced NON-Open “! Stack interviewee! We have three problems with expectations not matching:! 1)  Learning a wide range of OPEN STACK will take 6 to 12 months! 2)  I need to heavily mentor for him to use the OPEN STACK instead of writing from scratch! 3)  BigCo hires and has 12-month transition times. SmallCo needs productivity sooner! Slide 23! bryanstarbuck.tumblr.com!
  • 24. Building a Startup! Slide 24! bryanstarbuck.tumblr.com!
  • 25. Let’s Build a Startup WITHOUT Code! Our Startup Will:! ! B2C for Consumers to SEARCH FOR HOTELs. Vertical Search engine for Hotels ! ! B2B for Hotel (businesses) to learn how we send them LEADS from customers! ! Marketing web pages marketing to Hotel Business customers on why to buy LEADs! ! WORKFLOW for 70 employees in a hotel have CRM over leads! Vertical Search Engine! Marketing Pages! CRM Workflow! Slide 25! bryanstarbuck.tumblr.com!
  • 26. Drupal – Your Homepage & Marketing! ZERO Code for your “Logged Out” Website:! ! Your Home Page. Paste in HTML into editor without writing code! ! Gives you TOOLBARS and SIDE NAVIGATION PANELS! ! Great for your marketing pages: How it Works, Features, Testimonials, About Us, Contact Us, Privacy Policy.! ! Great for: SEO, Lead Forms! ! My first startup spent ~4 months of a dev creating out “logged out website”! ! Then we replaced it with Drupal for $3k (~8 days dev salary)! Marketing Pages! ! Let marketing “CHURN” away much faster without needing 
 any time from devs.! Slide 26! bryanstarbuck.tumblr.com!
  • 27. SOLR – Powering your Vertical Search! Many sites do a “Search” and show results: (Yelp, Kayak, Google Search, etc.)! ! It supports FULL TEXT SEARCH. It includes “Stemming” (“Running” = “Ran” = “Run”)! ! It includes full BOOLEAN SEARCH – “MP3 Player” AND (“Nike” OR “Reebok”)! ! It supports: FACET Search, or Search Criteria! ! Price between $40 and $100.00! ! Includes POOL! Vertical Search Engine! ! Staying 4 days! ! Includes Geo-Location Search: ! ! Within 21 miles of…! ! 98023, or! ! Mercer Island, wa! ! 123 Main Street, Redmond, wa! ! King County, wa! ! Vancouver, BC, Canada! ! Database SHARDING for multi-database spanning! ! Supports 100s of Terabytes to search! ! Supports SEMANTIC SEARCH and custom search! Slide 27! bryanstarbuck.tumblr.com!
  • 28. “Workflow” – is the Value-Add in Many Startups! 70 Hotel Employees need to work with your data:! ! vTiger gives you the benefit from SugarCRM (tens of millions invested), which is a clone of SalesForce CRM.! ! vTiger is open source and FREE. ! ! Each Employee needs a SEPARATE ACCOUNT with ACL Security. Included.! ! Each data type (Customer, Hotel, Room, etc.) has their own CREATE page, EDIT page, READ page, VIEW LIST page, etc.! ! Full View Reports module.! ! Full APIs for Read/Write of the data.! ! Much, much more. Clone of SalesForce…! CRM Workflow! Slide 28! bryanstarbuck.tumblr.com!
  • 29. Your Application! Drupal! Devise! MemCache! Marketing   Create Account GEM   Speed of Serving Pages   Wordpress! Omni-Auth! PHPMyAdmin! Blog   Facebook Login GEM   Database Debugging   PHPBB! Forums   CanCan! vTiger! ACL Security in RoR   WorkFlow   SOLR! Vertical Search   ZenDesk! Database Debugging   Chef! Deployment   Recurly! WorkFlow   SendGrid! Twillio! Database Debugging   Database Debugging   ExactTarget! Google Analytics! WorkFlow   WorkFlow   Slide 29! bryanstarbuck.tumblr.com!
  • 30. Summary! Slide 30! bryanstarbuck.tumblr.com!
  • 31. Summary! Focus on Business Goals when Selecting:! ! Reducing Costs – and almost engineering costs! ! Speed to market! .NET Platform:! OPEN STACK:! ! Hiring great Microsoft Talent! ! Bigger Stack: No engineering costs rewrite ! No need to learn the OPEN STACK! what already exists! ! Incredible DEBUGGER! ! Get business value often without writing code! ! Great for Windows Applications! ! Open platform integrates with platforms ! Absolute Zero worries on IP! from SalesForce, Google, Facebook and ! Multi-Threaded CLR matches Java non-Microsoft companies! and beats Ruby, Python, etc.! Slide 31! bryanstarbuck.tumblr.com!
  • 32. THE END! Thanks for Listening! Slide 32! bryanstarbuck.tumblr.com!
  • 33. Person #1’s Feedback (1 of 2)! The following feedback was from an experienced startup person, and often ex-MSFTee! II spent many years working on the .NET stack at <Profitable seattle startup at ~$15m to $30m in revenues> (as technical co-founder, architect, etc). I have over 15 years experience on the MSFT stack, from VB3 to VS 2010.! ! Last summer, I built a new site using .NET + Entity Framework + ASP.NET MVC3 + Azure. That went nowhere for various reasons, and I started over. (I'll probably push that code to Github at some point)! ! I am working on a new site (since November) that is a bit past prototype phase. I built this on Rails 3.2 + ActiveRecord + Heroku. I also evaluated NodeJS and Python/Django as alternatives. I went with Rails because it was more mature than NodeJS, and seemed more vibrant for web development than Django.! ! Here are some answers to your questions:! ! Strengths of .net & C# stack:! Debugging is far superior in .NET than it is in Rails. ! Intellisense works better in C# than in Rails.! BizSpark gave me a free copy of VS 2010 and Office.! SQL Azure is well designed and functions as I'd expect it to ! Functional programming is quite clean in .NET.! I have confidence that upgrading major versions of .NET and windows will be relatively smooth. I have never had major issues with .NET stack upgrades (maybe a little from 1.1->2, but that wasn't a big deal)! NuGet is a great idea.! ASP.NET MVC is a huge improvement over webforms.! ! Issues with .net & C# stack:! ! BizSpark Application Process! BizSpark initially rejected me because I didn't have a website (??!) or a business setup. There was all this "get listed in a directory" stuff that was absurd when you are just a dev trying to hack around. It's like they don't understand how this works sometimes. In the end, I reapplied, made up a company name, and put up a fake site on Google Sites. But it took me weeks. I should have been able to signup in 10 minutes.! ! Azure! I chose Azure because I wanted to learn it. I thought it would mean I could spend less time dealing with the OS. That promise was not fulfilled, and I actually spent far more time than necessary.! ! With BizSpark, there was a 3 month free window. That was not enough time, it should've been at least a year. They should have an always-free window for small apps. I spent way too much time fighting Azure. ! ! Azure is very challenging to get up and running (keep in mind this was last August/September). It was not mature back then, but I had lots of issues deploying.! Here are two examples, that I ended up posting on SO. There were many more that I just struggled through. I calculate at least 2 weeks of a 2 month project on deployment issues. ! http://stackoverflow.com/questions/7487285/windows-azure-with-multiple-sites-in-one-role-not-transforming-2nd-web-debug-con! http://stackoverflow.com/questions/7592043/web-deploy-error-with-azure! http://stackoverflow.com/questions/4483670/how-to-speed-up-azure-deployment-from-visual-studio-2010! ! SOLR! I chose SOLR and SOLR.NET for my search. I actually hacked up a way to host SOLR on Azure but it was painful and probably wouldn't have worked long term. Wiring up SOLR.NET to my framework took me over a week. I guess they probably don't want you to use SOLR. ! ! Dependency Injection / Static Typing ! Dependency Injection frameworks such as Ninject or Castle do not fulfil their promise - you have to write a lot of configuration code to get them to work. Your app code gets simplified but not much. And it isn't completely tooled up for all scenarios. Here's a small example, not a big deal, but just annoying stuff like this slows you down:! ! http://stackoverflow.com/questions/7586075/using-ninject-with-custom-webviewpage-type! ! I had to write huge amounts of configuration code in xml files or in constructors.! ! Entity Framework! Entity Framework is not easy to customize. I often use a schema that has an internal ID key for joins, and a natural key that is either a string or a GUID for external use. This was incredibly painful in Entity Framework ! Slide 33! bryanstarbuck.tumblr.com!
  • 34. Person #1’s Feedback (2 of 2)! The following feedback was from an experienced startup person, and often ex-MSFTee! Open Source! The open source community is anemic. I needed an OAuth library, and the most popular one was http://www.dotnetopenauth.net/, which is a spaghetti nightmare. There are some other ones with better designs, but they aren't done. They are also all just object libraries, with poor integration into ASP.NET. Similar cases with User authentication, ! ! Powershell! The verbosity of Powershell just makes it hard to use and remember stuff. It's always secondary to GUI stuff and so you usually end up using GUI tools for many management tasks, which is bad.! ! Strengths of open stack stack:! Heroku / AWS! Compared to Azure, heroku was a dream. I deploy in < 1 minute. Staging + production just work. Zero upfront costs forever. Super fast. Lives on AWS so I can drop down to AWS when necessary. Great ecosystem: WebSOLR, AirBrake, New Relic, SendGrid. Just plug and play. ! ! Rails! Rails/ActiveRecord is optimized for quick prototyping. It is so awesome to write a few lines of code and it just works. You focus on the product, not on the stack. ! ! Rubygems.org / Github! I was able to add a ton of features quickly to my site with almost no work. Some great gems: Devise, Omniauth, Delayed_Job, Paperclip. Someone has usually been through some basic problem and there's almost always a gem that gets me past the basic stuff.! ! RSpec! RSpec is a great advancement over unit test platforms. I love it and actually enjoy writing tests now. There is a .NET version called NSpec, but i've not tried that. It doesn't seem as popular. ! ! CLI Based Efficiency! Everything is a shell script, which starts of slower but is so much faster in the long term! ! The source code! I love that I can just look at the source code, in the gem lib directory, on my own computer, step through it, fork it on github, change it. It gives me a great sense of peace and confidence. I don't really know why. ! ! Issues with open stack stack:! Anti-windows bias! I tried to get Ruby/Node working on Windows. It "kind of" works but you struggle more than you should. Core gems usually work, but there are often setup scripts written as bash scripts that haven't been ported. Ruby is the worst at this, NodeJS is nearly as bad. here's a NodeJS example:! https://github.com/maccman/hem/issues/23! ! Testing to IE requires a VM which means you basically don't bother, and curse it afterwards when stuff breaks.! ! Linux is buggy for development / desktop! I ended up dual booting my windows laptop to Linux Mint. Linux Mint is ok. Battery life is poorer than Mac/PC laptops. Installing basic software with apt-get can be ponderous and scary. My touchpad randomly stops working.! ! Dynamic Language Clobbering / Errors! Every once in a while, you will be working and just get some completely bizarre error. It is usually because two gems are clobbering each other in a global namespace. Stacktraces are nearly useless in this case, unless you understand ! ! Syntax! Ruby blocks are a weird thing. The code just looks messy. There are some weird spacing bugs that you have to figure out.! ! CoffeeScript got dumped into Rails 3.1 as the default JS syntax. It's a little impure because it sits on top of Javsacript. So you can't ever forget you are in javascript. I struggled with it for a while, I'm not really sure it's much better, but you are forced to learn it if you have any NodeJS components because it's what everyone uses.! ! Poor documentation! I tried to initially learn Rails via reading documentation, because that's how I used to do it on msdn. Big mistake. You have to just go write some code and ignore the nonsensical syntax of Rails for a while. Hard to do for Slide 34! C# devs who often want to learn the whole thing bottoms-up.! bryanstarbuck.tumblr.com!
  • 35. Person #2’s Feedback! The following feedback was from an experienced startup person, and often ex-MSFTee! Strengths of .net & C# stack:! Great support in Visual Studio - a fantastic IDE for editing .NET programs with Intellisense.! BizSpark! SQL Server! Many good .NET developers in the local area! Rapid innovation in the language / platform - LINQ, lambda expressions, async, ... Java is far behind on many of these! LINQ - a simply brilliant addition to the language! ASP.NET MVC - embracing the best of what the rest of the world is doing and making it their own! Efficient Garbage Collection tuned to server or client makes GC a non-issue for 99.9% of uses! NuGET package manager and a rapidly growing package library to pick from! Moves by Microsoft to be more transparent in the design and development process (NuGet, ASP.NET MVC, EF, WebAPI, CQRS guidance)! Strong-typing (aka having a choice of types instead of being forced to use just one dynamic type)! You can use Reflector to look inside any code you don't understand! You can mix in open source components wherever you like and there are many excellent third party open-source components for .NET, e.g. nHibernate, Autofac ...! You can learn from reading the code in the many great .NET libraries and applications including many recent Microsoft releases like ASP.NET MVC, Orchard CMS, ...! ! Issues with .net & C# stack:! Microsoft technologies and documentation tend to be designed for the 'happy path', e.g. WCF. Makes for great demos but the reality of getting them to work reliably in production is hard.! Microsoft puts security obstacles at every layer (that most people turn off) making it tough to configure even simple things (e.g. CAS, permissions on servers, ...).! ! Strengths of open stack stack:! You don't need Reflector to look inside code! Easier to replace code you don't like! Always free (except for support, of course)! Strong community around many popular packages! ! Issues with open stack stack:! Fragmentation - you go somewhere to work and they have their own hacked version of some core feature in library X! Figuring out which libraries and which forks of those libraries are the best ones to use! Libraries that nobody is maintaining any more! ! Challenges MSFTees often have in the transition:! Lack of awareness of the latest Microsoft .NET technologies, e.g. there are developers at MSFT who haven't even used LINQ!!!! Lack of awareness of the many great open-source libraries for .NET! Lack of awareness of modern software practices, e.g. IOC containers! Lack of awareness of databases besides SQL Server, especially highly-scalable ones like MongoDB, and non-RDBMS like graph DBs etc.! Thinking that Microsoft's library for X is the best one when there are much better free ones available! Trying to use Outlook and Exchange instead of switching to Google Apps! ! Great Solutions to that transition:! Before you leave, start learning! ! Never stop learning new stuff.! It's cheaper to learn new stuff while you still have a paid job and healthcare! ! Try nHibernate, MongoDB, SignalR, jQuery, Angular.js, Autofac, Node.js, …! Slide 35! bryanstarbuck.tumblr.com!
  • 36. Person #3’s Feedback! The following feedback was from an experienced startup person, and often ex-MSFTee! Strengths of .net & C# stack:! Great for Windows? I'm not sure I've done anything in .Net and C# that couldn't have been just as easily or more easily done with other technology except when it comes to programming for Windows.! ! ! Issues with .net & C# stack:! Portability (barring the Mono discussion). In many cases, it's also not the fastest way to build a solution. And some great OSS uses other languages and frameworks.! ! ! Strengths of open stack stack:! Frequently updated as long as projects aren't abandoned. Awesome to have so much available. And it's awesome to be able to give back.! ! ! Issues with open stack stack:! Sometimes frequently-updated can cause pain. Progress and bug fixes are dependent on contributors meaning anything can happen.! ! ! Challenges MSFTees often have in the transition:! Realizing that success at MS != success in a startup. Different skills, values, and behaviors are needed. Also, it's hard to not have a paycheck and insurance and office furniture and ...! ! ! Great Solutions to that transition:! Hacking it! Craigslist, Ramen, etc. OSS, mentors, community like STS, etc! Slide 36! bryanstarbuck.tumblr.com!