Understand the current applications and technical architecture and provide technical and programming support Work with users, contractors, and technical personnel to meet project milestones Stay abreast of new technologies and methods to optimize development process Advanced understanding of modern software development methodologies