Design, develop, modify, test and debug complex applications and services using agile techniques including designing and using error handling, logging, APIs, code reuse, etc.
Ability and willingness to work as part of a team with an emphasis on agile methodologies and be accountable to that team on all aspects of a solution. May include mentoring staff and ensuring the team is working effectively.
May plan and execute third party software implementations and integrations with a focus on using APIs and reusing code.
Participate in change management procedures.
Provide and maintain software design documentation.
Document test plans and execute a variety of testing methods; coordinate automation with QA when possible.
Provide support and problem resolution of systems issues.
Coordinate support and releases with other IT Services areas and other business units.
Support and improve production systems as needed to ensure a good experience for users and efficient operations.
Help to identify opportunities and methods to improve systems and processes.
Bachelor's degree in Computer Science, Information Technology, or related field or equivalent experience.
Demonstrated experience developing and maintaining complex desktop applications.
Must have 5 years in-depth experience and be fully proficient with Microsoft C, .Net, & MFC
Must have a working knowledge of XML and SQL.
Demonstrated experience consuming web services.
Experience participating in and/or leading Agile teams using Scrum.
Working knowledge of desktop operating systems.
Demonstrated experience designing the components/implementation and integration of 3rd party systems.
Experience using source code management systems (Team Foundation Server, Git, SVN, etc.)
Demonstrated ability to prioritize projects and work on multiple projects concurrently.
Demonstrated experience with requirements gathering, analysis, and design for complex systems.
Demonstrated ability and willingness to take initiative toward resolving barriers to project completion.