Guest post

Move fast and break things

It’s one of the principles that has guided Facebook’s development process since its earliest days. In five short words it encapsulates a philosophy of rapid development, constant iteration, and the courage to leave the past behind. Of course, some might wonder why you couldn’t just stop at the “move fast” part. The truth is that breaking things is unavoidable.

Read on

Factoring out common technology

As we remember from elementary algebra, ab+ac = a(b+c). This is called factoring. We can break out the common factor a from both terms, so that we only need to mention it once, simplifying the expression and reducing the number of operations needed to compute it.

When coding we talk of refactoring, one of the central themes of which is breaking out code that exists in multiple places, doing essentially the same thing: Don’t repeat yourself! This is also known as the abstraction principle and is about facilitating code reuse.

Read on

Picking tech for your startup

When you’ve got an idea, and a team, and you’re raring to get started on hacking for a potential startup, a question that often comes up is, “well, what technology should we use?” (hopefully you’ve answered the necessary, “what problem are we solving and how are going to solve it” questions first).

The key issue is balancing newer components that might make you move more quickly, versus tried-and-true components that have more predictable performance and reliability. Here are a few things to consider when picking components:

Read on