Applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software that provide business capabilities, solutions, and/or product suites. Provides systems life cycle management (e.g., analyses, technical requirements, design, coding, testing, implementation of systems and applications software, etc.) to ensure delivery of technical solutions is on time and within budget. Researches and supports the integration of emerging technologies. Provides knowledge and support for applications' development, integration, and maintenance. Develops program logic for new applications or analyzes and modifies logic in existing applications. Analyzes requirements, tests, and integrates application components. Ensures that system improvements are successfully implemented. May focus on web/internet applications specifically, using a variety of languages and platforms. Defines application complexity drivers, estimates development efforts, creates milestones and/or timelines, and tracks progress towards completion. Provides specific functional expertise that is theoretical and conceptual in nature. This expertise is typically acquired through a combination of university education and experience within a field. May have responsibility for supervising others in the capacity of a “player coach” but primary focus is individual expertise. Particularly at higher levels, sophisticated subject matter expertise is a requirement for success. Applies in-depth conceptual and practical knowledge in own job discipline and basic knowledge of related job disciplines. Solves complex problems related to own job discipline by taking a new perspective on existing solutions. Builds consensus. Regularly acts as a resource for colleagues with less experience. Works independently, receives minimal guidance.