- Write reusable, testable, and efficient code - Solid understanding of Computer Science fundamentals including algorithms and data structures - Produce detailed specifications - Troubleshoot, test and maintain the core product application and databa