Translate designs and wireframes into high quality code Design, build, and maintain high performance, reusable, and reliable Java code Ensure the best possible performance, quality, and responsiveness of the application Identify and correct bottlenecks and fix bugs Help maintain code quality, organization, and automatization