Tuesday, July 4, 2017

24 Principles Running a Small Startup


  1. Properly advertise yourself. i.e.: Telling people what you do on your front page.
  2. Do not make your website looks corporate. People like to work with people, playful people, definitely not corporate. Probably put your happy photo at your website.
  3. Get money up front especially running consultancy firm. i.e.: Someone asks for a project and you quote them $15 per hour with an estimated 300 hours = $34,500. If they pay upfront, the rate is cheaper which is $100 x 300 hours = $30,000. Saving $4,500! This kinds of discount attract people to pay upfront. Another tip on running consultancy is always transparent by sharing timesheet with you customer.
  4. Always try to make a friend. i.e.: Small talk like where you from? Do you have any kids?
  5. Create core value for your team. i.e.: Practice Transparency, Pursue Excellence, Foster Education, Create Fun.
  6.  Be trustworthy, honest and humble.
  7. All business is based on systems.
  8. Hire a part-time project manager by delegate scheduling, reporting, meeting notes, clients arrangement to him.
  9. Hang out outside of work with your employee. i.e.: dinner together, having fun activities like team building.
  10. Hire people who fit your core values in point 5.
  11. Empower people. Don't try to manage your friend, as long as customer expectation meet is okay.
  12. Surround yourself with people you can hide or contractor.
  13. Join a support group. i.e.: business networking group or CEO group.
  14. Create a tradition. i.e.: whisky Wednesday, every Friday go lunch together.  
  15. Don't be afraid to apologize to your customers.
  16. It is okay to lose money on a transaction, just let your customer know about it. i.e.: Sending a client email. I just want to let you know that this task we estimate 10 hours, but it took us 20 hours. We told you only 10 hours, so we are going to bill you 10 hours. Sometimes, the customer just asks to the bill. Probably you can offer to split the cost.
  17. Seriously follow up. i.e.: Sending a short email to ask how thing going and anything can you help.
  18. Communicate with your customer more than your competitor. i.e.: 5 minutes on the new feature from your developer built.
  19. You can, but doesn't mean you should do it. Constantly look for things you can delegate.  
  20. Don't be afraid to take on more than you can handle.
  21. When a customer comes to you with a different job, you don't say - This is not what we do, we can't help you! Probably you can refer to other company and get reference fee. 
  22. Give more compliments. No body work well with criticize. This is a way you motivate people.
  23. Take a calculated risk. If your business is not moving, you might do something creative.
  24. Giving equity to co-founder or employee. A good book to read is "Slicing Pie" where it teach you calculating a theoretical value of your company, what do to when a founder leaves a company, how to handle equity when you have fire someone.

Create Scala Project using SBT and Jar using sbt-assembly


  1. Download and install SBT - http://www.scala-sbt.org/download.html
  2. Create SBT Scala Project by running this command - sbt new sbt/scala-seed.g8
  3. When prompted for the project name, type HelloWorld. This will create a new project under a directory named HelloWorld.
  4. Run the sample application by access HelloWorld folder, type sbt, compile and run.
  5. Add sbt-assembly as a dependency in project/assembly.sbt
    addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.5")
  6. Type assembly.
  7. Now you'll have an awesome new assembly task which will compile your project, run your tests, and then pack your class files and all your dependencies into a single JAR file: target/scala_X.X.X/projectname-assembly-X.X.X.jar.
  8. Type java -jar target/scala_X.X.X/projectname-assembly-X.X.X.jar to run the program.
References: