Friday, September 26, 2014

node.js => Go Lang

Farewell Node.js — Code adventures — Medium by TJ Holowaychuk
A story about reasons for switching to Go Lang, 
from one of most productive contributors to node.js, 
creator of Express web tool and many others used for node.js development

The Future of ExpressJS and Alternatives ♥ Scotch




Sails.js | Realtime MVC Framework for Node.js

Sails.js | Realtime MVC Framework for Node.js:

"The web framework of your dreams.
Built for developers by mermaids"
:)



"Sails is the most popular MVC framework for Node.js. It is designed for building practical, production-ready Node.js apps in a matter of weeks - not months."

ideas: 50 Cent's 50th Law

Robert Greene and 50 Cent's 50th Law - Business Insider:

"Most people think first of what they want to express or make, 

then find the audience for their idea.

You must work the opposite angle, thinking first of the public.
You need to keep your focus on their changing needs,
the trends that are washing through them. 



Beginning with their demand, you create the appropriate supply."


Stanford class: How to Start a Startup

How to Start a Startup:
"Everything we know about how to start a startup, for free, from some of the world experts.
CS183B is a class we’re teaching at Stanford. It’s designed to be a sort of one-class business course for people who want to start startups."
  • Lecture 1 - How to Start a Startup Sam Altman, President, Y Combinator Dustin Moskovitz,Cofounder, Facebook, Cofounder, Asana, Cofounder, Good Ventures 
    1. Idea 
      • "Mission"
      • "monopoly in small space, expand later"
      • "unpopular but right"
      • "need a market that will be big in 10 years"
      • "go after small but rapidly growing market, desperate for solution"
      • "why now"
      • "best to build something that you yourself need (or close customer)"
      • "idea needs to be easy to explain: clearly articulated vision with a small number of words"
      • best ideas are either very different or new from existing; "clones" with small difference usually fail
      • new ideas, potential co-founders
      • think "market first": "Beginning with their demand, you create the appropriate supply" (50 cent)
    2. Product
      • great idea => great product (service, etc.) => great company
      • great products are new to the world
      • making product "great" is most important; ignore everything else
      • make it as good as possible by taking with the users
      • "build something that users love"; talk with users
      • if people just "like" it is not enough
      • it is better to make something that only small number of users "love" that what large number of users just "like"
      • if you don't do this right, will probably fail; if you do this right, could make many other mistakes and still succeed 
      • find a small group of users and make what they really love
      • it is working if you get growth by word of mouth: people talk to their friends about what they love; this works for both enterprise and consumer products
      • if there is no "organic" growth in number of users, this is a big sign of trouble (product not good enough yet)
      • spending time on "growth" (sales/marketing) before having a great product is almost certainly wasted time
      • great products almost always win on the long run
      • start with something "simple"; it is much easier to make something simple great, then grow features later
      • "simple" is forcing you do one thing extremely well
      • "fanatical" care about quality and small details; quick responses to users feedback
      • recruit users manually, don't get random; you don't need many to start with, but you need those who give you feedback every day, improve to get them to love your product
      • listen closely to users
      • "feedback engine": show it to users => listen feedback => products decisions => repeat
      • ask the users what they like, and what they would pay, would they recommend it to their friends
      • software is great for fast feedback loop, could improve in hours
      • great founders don't put anyone between themselves and their users: do customer support yourself in early days
      • metrics: focus on growth (active users matter)
      • company will build whatever CEO decides to measure
    3. Team
    4. Execution
  • Lecture 2 - How to Start a Startup Sam Altman, President, Y Combinator
    1. Idea
    2. Product : "Make something people want" T-shirt :)
      • How to identify fast growth markets? This is one of big advantages students have, since they are the future customers, and they best know needs and preferences of their own generation. Older people need to guess about technologies that younger people are using, and younger people just need to look around and see what is needed. Follow the (young people's) instincts. 
      • How to deal with "burn out" as a founder? It sucks, and you keep going. Need to have a support network. Address challenges that are going wrong. 
      • Idea & Product need to be done right, nothing else could save you.
    3. Team
      • choosing co-founders
        • one of most important decisions for startups; conflicts leading to blow-ups
        • avoid choosing random people
        • best:  friends from college of working in same company for years
        • better to not have co-founder than bad choice; most successful startups have 2 or 3 co-founders
        • need "relentlessly resourceful": tough, decisive, calm, creative; the model is James Bond, more than an expert in a particular domain
        • at least one of co-founders has to be "technical", not managers
      • try not to hire
        • better to have less employees; stay small as long as you possibly can; early, hire only when you really need to
        • a cost of getting early hire wrong is very high
        • example airbnb, took 5 months interviewing first employee, only 2 people in the first year; list of cultural values ("would you take a job if you got only one year left to live?"); need people who believe in the company
        • culture is very important when company faces a crisis ("live in the office")
      • get the best people
        • very important and very hard; convincing that your mission is most important from what they are looking at
        • the best people know they should join "rocket ship"
        • spend 0% or 25% time on hiring 
        • "mediocre engineers do not build great companies"
        • best source for hiring: people that you already know
        • experience matters for some roles, and not for others
        • are they smart; do they get things done; do I spend a lot of time around them.
        • if you didn't work with somebody, work on a quick project together first
        • ask specifically about projects done in the past; call references, ask if the person in among top 5% of people, specifics
        • need good communication skills, determinations, risk taking attitude; "animal test", describe somebody as an animal; would you be comfortable reporting to such person
        • 10% of the company to first 10 employees
      • retaining employees
        • keep people happy and treat them fairly
        • praise people, take blame (learn management)
        • don't micromanage, delegate responsibility
        • "Autonomy", "Mastery", "Purpose" (Dan Pink)
      • fire fast
        • when almost every decision is wrong, problems
        • better for company and employee
        • avoid politics and negativity
        • smart people find role in company
        • pre-negotiate vest-in (i.e. 4 years)
    4. Execution
      • Most critical, can't outsource
      • founders define culture
      • CEO: vision, money, evangelize, hire, drive ("make sure the entire company executes")
      • Getting things done: focus & intensity
      • Focus
        • critical (what you are spending time on)
        • do only 2-3 most important things every day
        • say no, a lot
        • you get no credit for trying, only for getting things done
        • goals: a small number of overarching goals
        • communicate, keep company focused (34m)
      • Intensity