Regarding Coding and Product Development

  • Less is more in many cases, since # of bugs is proportional to # of non-whitespaced lines. However, this does not mean you should use tertiary operators everywhere. (regarding LOC)
  • It is more important to minimize debug time than minimize CPU time, unless the trade off is significant.  
  • It is more important to minimize long term operational burden than minimize short-term costs. 
  • Limit the scope to reduce error or margin.
  • Above is a tradeoff with code reuse, which should be prioritized.
  • Readable code is more important than saving a few lines of code.
  • Saving a few ms off your code is not necessary if it makes your code harder to debug.
  • There is no right answer in which platform is better. It all comes down to what developers can make of it. To attract developers, however, you will need to be the better platform. Example: I love Android's intent system and its ability to run background services, but hated it when devs cannot efficiently write their background services and batteries gets sucked. (regarding platform choices)
  • Always surprise your user. Make every pixel touchable. Keep in mind that it is the little things that make you stand out.
  • Always check for possible null-pointers and edge cases.
  • Ship decisions, not code.
  • You are have not shipped if it is not fast.
  • OOP is good and necessary, but write low level code that provides minimal possible states when possible.
  • Favor composition over inheritance, when it makes sense of course. 
  • Emoticons are part of your comments. 
  • What is a software architect.
  • How to evaluate a programmer. (Personally, I am log(n) and n for most and n^2 for some)
  • Be nice

Regarding Life

  • Life is what you make of it.
  • Do what you fear the most.
  • Stay Hungry, Stay foolish.
  • Be Nice. Be Happy.