What are the design patterns programmers should know to work at big companies? | Hacker News Reader