- Analyze, architect, design, engineer, develop, test (both Unit and Automated testing), and assist in the implementation of creative, innovative, and secure software applications, APIs, and web services according to business requirements and to solve business problems. Understand the holistic overview of systems including the underlying application infrastructure, associated data models, and internal interactions within a particular software domain. Perform software integration across domains, platforms, and environments.
- Identify and correct software defects, assist business end-users with system capabilities and research, perform technical system configuration, and identify software deficiencies and alternate solutions for software applications. Partner with vendors for defect resolution as needed. Independently resolve issues of a high complexity.
- Perform software development activities, research requests, and project management activities including planning, estimating, managing, communicating, and coordinating large software development projects and activities of high complexity for new software or enhancements to existing software. Collaborate with business end-users to define requirements and acceptance criteria for new features or systems and assist business end-users with navigation of IT processes as needed.
- High degree of expertise in the usage of tools used for software development (e.g., Visual Studio, Chrome Developer Tools, SQL Server Enterprise Manager, SSRS)
- High degree of knowledge of the principles and patterns of system design (e.g., MVC)
- Strongly skilled in object oriented design
- Strongly skilled in object relational mapping (ORM)
- Highly skilled in testing patterns (e.g., unit testing, inversion of control, dependency injection)
- Highly skilled with data analysis, test design, and test automation focusing on functional, security, performance and mobile testing.
- Strongly skilled in the development of web services (e.g., SOAP and REST)
- Strongly skilled in the use of code repository tools such as SVN and GitHub
- Strongly skilled in the use of Continuous Integration technology using Jenkins
- For developers in specialized areas, high degree of skill in additional technologies or toolsets may be used (e.g., Force.com, Eclipse, PeopleTools, XCode)
- Strong understanding of secure coding techniques and best practices
- Strong skill in software analysis, design, and problem resolution
- Strong understanding of web application architecture
- Strong understanding of the software development process
- Proven understanding of organizationally accepted technology standards
- Strong understanding of software development in a multi-platform environment such as Mac, Unix, and Microsoft
- High degree of understanding of hardware, storage, networking and other infrastructure and data components as it relates to software development
- High degree of understanding of organizationally approved project management methodologies (e.g. Agile/Scrum, Waterfall)
- Proven written and oral communication skills. Must be able to communicate and collaborate with a wide variety of audiences such as other software developers, engineers, architects, business analysts, software testers, management, and business stakeholders
- Proven ability to deliver high-quality projects on time and within scope
- Possesses well-developed motivational, professional, and leadership qualities
- Positive attitude with the ability to work in ever-changing environment
- Proven commitment to meeting organizational and departmental goals and objectives
- Strong analytical, statistical, and organizational skills with strong attention to detail
- Inquisitive and proactive with an ability to work independently and a desire to continuously learn new skills and technologies; takes initiative and is a solution seeker
- Thrives in a team environment and develops excellent relationships with others
Valid Through: 2019-11-12