Job Description:
Essential Functions:
- 25% Lead a team of software engineers in the design, development, and implementation of multiple applications.
- Performs and leads the detail technical design, coding, code review and testing of new applications and enhancements of existing applications.
- Serves as a subject matter expert for specified systems and their subsequent applications.
- Develop and/or analyze interface design documentation.
- Comply with hardware and software systems standards and procedures.
- Deliver large systems for tens of thousands of users.
- Ensures compliance to the dev/sec/ops practices and policies.
- Understanding of architectural practices and design.
- 25% Identifies gaps in requirements and solves problems for the supporting staff.
- Identifies sequencing of services and technologies that are integrated in later phases of the project.
- Leads the evaluation of risk and opportunity impacts to existing or proposed projects/programs and implements risk mitigation actions.
- Develops ways to improve performance and increase system availability.
- Provides recommendations to infuse new technology.
- Compile, assess, and report data results from software testing and analysis.
- 25% Supports the Project Manager as the technical team lead on the project. Estimates the technical costs of projects for clients and project managers.
- Confers with clients to identify requirements and determine desired outcomes to formulate the design of the system or offer alternatives.
- Demonstrated experience with front-end and back-end programing and integration frameworks and tools.
- Assist in the estimation of development of application features.
- 25% Leads software design and development teams.
- Identifies, analyzes, defines, and coordinates user, customer, and stakeholder needs and translates them into technical requirements.
- Manages technical resources (hardware, software, licenses, and services).
- Plans and leads transformation initiatives to new software architectures.
- Extend open-source libraries and systems as necessary to meet the needs of the team.
- Play a crucial role in product scoping and roadmap / architecture discussions. Continually evaluate emerging technologies to identify opportunities, trends, and best practices.
- Ensure code quality, deployment standards and practices.
- Mentoring junior developers.
Qualifications:
- To perform this job successfully, an individual must be able to perform each essential duty satisfactorily.
- The requirements listed below are representative of the knowledge, skill, and/or ability required.
- Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Education Level:
Education Details:
- Information Technology or Computer Science.
Experience:
- 8 years Software design and development, software test and evaluation, software requirements management.
In Lieu of Education:
- In lieu of a Bachelor's degree, an additional 4 years of relevant work experience is required in addition to the required work experience.
Preferred Qualifications:
Knowledge, Skills and Abilities:
- Works closely with Architects, Product Owners, Scrum Masters, and Value Stream Managers to provide insight into delivering business value and meeting objectives., Expert.
- Decomposes functional and technical requirements into project activities and tasks and provides conceptual design, prototype, and test cycles appropriate to a chosen technical solution., Expert.
- Identifies technical risks and develops mitigation strategies; introduces and recommends industry best practices and standards for the project., Expert.
- Evaluates and assists in the selection and procurement of hardware and software technologies and serves as a mentor for junior developers., Expert.
- Works with stakeholders as well as technical and analytical counterparts to define constraints and develop requirements and concept of operations documentation., Expert.
- Knowledge of cloud technologies ( e.g. AWS, Azure), Advanced.
- Knowledge of database technologies (e.g. cloud, SQL, Oracle, Mongo DB, PostgreSQL, etc.), Advanced.
- Fundamental knowledge of software engineers’ best practices, agile methodologies, CI/CD pipelines, Advanced.
- Knowledge of test-first practices including Test-Driven Development (TDD) for unit tests and Behavior-Driven Development (BDD) for automated acceptance tests, Advanced.
- Strong experience with Deployment/Continuous Integration/ Continuous Testing/ Continuous Delivery processes and tools and have expertise in CI/CD tools and framework, Advanced.
- Experience with deploying a global application and configuration management, Advanced.
- Reviewing the work of other developers and providing feedback, Expert.
- Ability to communicate technical requirements to all levels of expertise., Expert.
- Proficient in establishing and maintaining good working relationships., Advanced.
- Knowledge and understanding of software development life cycle (SDLC)., Expert.
- Proficient with integrating complex and/or existing systems., Expert.
- Knowledge of programming languages (e.g. JavaScript, C, Python, etc.)., Expert.
- Excellent communication skills both written and verbal., Expert.