how to start a tech company
DESCRIPTION
Want to build your own startup or software consulting company, but don't know how to get started? Join McGill Alumni Alex Dergachev and Suzanne Kennedy for a talk on taking the entrepreneurship path and getting your business up and running. We'll discuss the pros and cons of consulting vs. doing a startup, the benefits of open source, how to succeed financially, and how to get involved in Montreal's tech community. Alex and Suzanne graduated from McGill University in 2007 and started Evolving Web, a company specializing in open source web development. Over the last five years, Evolving Web has used frameworks including Ruby on Rails, Drupal, and Backbone.js and has built enterprise-level projects for clients like McGill University, Travelocity and A&E Television Networks.TRANSCRIPT
STARTING A TECH COMPANYDrupal Consulting, Development, and Training
evolvingweb.ca | @evolvingweb
ABOUT US
ABOUT US
• Started doing web development 2005/06
• First projects: mcgillexchange.com, vconf.ca
• Founded Evolving Web in 2007
• Started using Drupal in 2008
• Recent projects: McGill, Travelocity, GoC
WHAT WE DO
DRUPAL EXPERTS Develop and Maintained Drupal Modules,
Implement Large-Scale Drupal Projects
MATURE DEV PROCESSTesting, Configuration Management, Cloud Deployment,
Performance, Failover, Monitoring, Version Control
PROJECT MANAGEMENTAgile Methodology, Iterative Development, Knowledge Transfer,
Customized Project Management Workflow
TRAINING PROGRAMWe do Drupal training, you should come!
evolvingweb.ca/training
RECENT PROJECTS
TRAVELOCITY CMSMultilingual, Integration with Proprietary E-Commerce,
Cloud Deployment, Custom SEO Strategy
MCGILL ADMISSIONS PORTALComplex Multi-step Form UI, Admin Workflow
MCGILL COURSE CALENDARAdvanced Search UI, Multisite Architecture, Knowledge Transfer
A&E TELEVISION NETWORKCustom UI for Content Producers, Social Media Integration,
Quiz UI for Engagement Platform, Customized Analytics
DRUPAL SUNOnline Feed Reader, One-page JS App, Advanced Search, Responsive Design
WHY START A TECH COMPANY?
• You get to work for yourself
• You get to learn new stuff all the time
• It’s good for your career
GETTING YOUR BUSINESS STARTED
STEP 1: CONSULTING VS. PRODUCT
Product
• You get to define the product
• You make the mistakes
Consulting
• Get experience
• Learn from your clients’ mistakes
STEP 2: YOUR IDEA
• Probably not as valuable/original as you think
• Don’t keep your ideas secret
• Refine and iterate your idea
• Don’t ignore people with the same idea
STEP 3: FIND A CO-FOUNDER
You’re probably not good at everything, so find a co-founder with complimentary skills:
• Startup Drinks
• Notman House Events
• Starupifier
• Hacking Health
STEP 4: MAKE IT OFFICIAL
Sole proprietorship
• Really easy to set up
• One tax return
Incorporation
• Only slightly harder to set up
• You have to do a separate tax return
• Easier to get certain loans, contracts with big companies
STEP 5: MONEY, MONEY, MONEY
Before you start making money:
• Get a good accountant
• Register for a GST/QST account
• Keep all your receipts
STEP 6: FINANCING
• Bootstrap by doing consulting
• Grants for young entrepreneurs (Desjardins)
• Lots of tax credits in Quebec (R&D)
• Yes Montreal
• Keep your expenses low (you’re a student!)
STEP 7: HIRING YOUR FIRST EMPLOYEE
• Work with freelancers
• Know what you need them to do
• Get time estimates
• Document everything
TECHNOLOGY CONSULTING
BUILD YOUR PORTFOLIO
It’s important to create a strong portfolio:
• Do good work for free
• Turn away clients who you don’t want in your portfolio
• Do personal projects that show what you can do
SELECTING CLIENTS
Don’t take on just any project. Be picky!
• Does the project fit with your technology niche?
• Does the client share your values?
• Is the project interesting to you?
• Will the project be successful?
• Don’t try and build a facebook-linkedin clone
• If something sounds unreasonable, don’t be afraid to say no
• http://theoatmeal.com/comics/websites_stop
MANAGING EXPECTATIONS
ESTIMATION & PROJECT SCOPING
• Try not to estimate too much at once (break up work into smaller pieces)
• Estimation requires experience, you will underestimate everything at first
• Lots of extraneous factors
BOOKS ABOUT ESTIMATION
• The Mythical Man Month
• Making Things Happen
• Pragmatic Programmer
• Code Complete
NEGOTIATION & PRICING
• Use a contract, but keep it simple
• Don’t charge too little just to get a project
• Don’t negotiate with people who are way more aggressive than you
TECHNOLOGY
BENEFITS OF OPEN SOURCE
• Be part of an open source community
• Collaborate with others, write better code
• You get to use code that other people write
OPEN SOURCE CULTURE
• Share your ideas
• Share your code
• Share your business plan
• Prompt others to share with you
SHARE YOUR CODE!
FOLLOW BEST PRACTICES
• Documentation
• Version Control
• Use an Issue Tracker
USE THE RIGHT TECHNOLOGY
• Use the right tool for the job
• Use technologies that you know
• Don’t use really obscure technologies
DON’T NEGLECT....
MARKETING
• Social Media
• Your LinkedIn Account
• Get Business Cards
• Go to Conferences & Present
• Start Now!
DESIGN
• It’s important!
• People don’t know what your code looks like, they see the design
WRITING
• Emails, marketing material, blog posts, grant proposals, project proposals
• Good writing makes you sound professional & experienced
TECH COMMUNITY
NETWORKING ADVICE
• Everyone is a potential partner, client, customer, or recruit
• You will probably work with people who you meet at McGill
• Learn how to talk about your business idea and how to ask good questions
NETWORKING EVENTS
• New Tech Demo• Startup Drinks• Starupifier• CleanTech• Girl Geek Events• Hacking Health
• JS Meetup• Python Meetup• PHP Quebec• Drupal Meetup• Open Data
TECH VENUES
• Notman House (notman.org)
• Station C (station-c.com)
• The SAT (sat.qc.ca)
• RPM Montreal (rpm.startupcentre.ca)
RESOURCES
• http://montrealtechwatch.com
• http://nextmontreal.com
• http://mtlnewtech.tumblr.com (calendar)
WORDS OF WISDOM
• Avoid burn-out, stay healthy
• Don’t waste time, be critical of what you spend time on
• Parallelize your efforts. Don’t put all your energy into one project.
Drupal Consulting, Development, and Trainingevolvingweb.ca | @evolvingweb