Provides consultation on complex projects and is considered to be the top-level contributor/specialist, responsible for initial design and development of new software or extensive software revisions, compiles and writes documentation of program development and subsequent revisions, annotating the code in the development and systems environments. Responsibilities Designs and develops technical solutions to complex business problems, which may include enterprise-level projects, data analysis solutions, etc. Responsible for initial design and development of new software or extensive software revisions Defines product requirements and creates high-level architectural specifications. Applies techniques of development, programming and data structuring to specific problems or requests Analyzes existing programs, corrects errors, tests the changes to ensure desired results are produced. Compiles and writes documentation of program development and subsequent revisions, annotating the code in the development and systems environments Works closely with the business owners on an Agile team to fully understand requirements, provide feedback, and request clarification as needed Perform applications support through coordination and collaboration with development and infrastructure teams. Tests applications using automated testing tools