Design, develop, and/or re engineer highly complex application components, and integrate software packages, programs, and reusable objects residing on multiple platforms Supports, maintains, and documents software functionality Analyzes code to find causes of errors and revises programs as needed Leads software design meetings and analyzes user needs to determine technica