• Must have solid coding skills • Understand design pattern well • Reliable • Attention to details • Able to communicate clearly and honestly • Must provide sample code to illustrate coding styles