Job Description
Summary
Designs, develops, and maintains Java/J2EE and Node.JS based applications in an Agile environment. Implements front-end solutions using JavaScript, Typescript, CSS, HTML, and Browser Developer. Performs DevOps, automated testing, and Continuous Delivery (CD) methodologies using Groovy and Jenkins. Performs troubleshooting and performance tuning, and provides production support and maintenance of existing Application Programming Interfaces (APIs). Uses business knowledge to translate the vision for divisional initiatives into business solutions by developing complex or multiple software applications and conducting studies of alternatives. Analyzes and recommends changes in project development policies, procedures, standards, and strategies to development experts and management.
Primary Responsibilities:
- Participates in architecture design teams.
- Defines and implements application level architecture.
- Develops applications on complex projects, components, and subsystems for the division.
- Recommends development testing tools and methodologies and reviews and validates test plans.
- Responsible for QA readiness of software deliverables.
- Develops comprehensive documentation for multiple applications or subsystems.
- Establishes full project life cycle plans for complex projects across multiple platforms.
- Responsible for meeting project goals on-time and on-budget.
- Advises on risk assessment and risk management strategies for projects.
- Plans and coordinates project schedules and assignments for multiple projects.
- Acts as a primary liaison for business units to resolve various project/technology issues.
- Provides technology solutions to daily issues and technical evaluation estimates on technology initiatives.
- Advises senior management on technical strategy.
- Mentors junior team members.
- Performs independent and complex technical and functional analysis for multiple projects supporting several divisional initiatives.
- Develops original and creative technical solutions to on-going development efforts.
Education and Experience:
Bachelor’s degree (or foreign education equivalent) in Computer Science, Computer Information Systems, Engineering, Information Technology, Information Systems, Mathematics, Physics, or a closely related field and five (5) years of experience as a Principal Software Engineer/Developer (or closely related occupation) designing and developing resilient full-stack Java, distributed, and event-driven applications.
Or, alternatively, Master’s degree (or foreign education equivalent) in Computer Science, Computer Information Systems, Engineering, Information Technology, Information Systems, Mathematics, Physics, or a closely related field and three (3) years of experience as a Principal Software Engineer/Developer (or closely related occupation) designing and developing resilient full-stack Java, distributed, and event-driven applications.
Skills and Knowledge:
Candidate must also possess:
- Demonstrated Expertise (“DE”) designing and developing high performant, persistent, and event-driven REST applications using JAVA EE, Angular, JavaScript, and Node JS.
- DE designing and developing Web applications and backend services according to Java EE design patterns, and Test Driven/Behavior Driven Development (TDD/BDD); writing tests using Karma, Selenium, Mocha, and Junit; and collaborating on the development of user stories according to Agile methodologies.
- DE re-platforming monolithic Web services to microservice architecture patterns in Cloud environment (Azure and Amazon Web Services (AWS)); configuring Application Programming Interface (API) gateway for microservices, routing, security, and aggregation processes; and configuring the auto-scaling and deployment of containerized services using container orchestration tools (Azure Kubernetes Service (AKS) and Elastic Kubernetes Service (EKS)).
- DE developing and maintaining Continuous Integration and Continuous Delivery (CI/CD) pipelines; and automating pipelines according to DevOps methodologies (source control, build tools, code analyses, and coverage) using Sonar and GitHub.
Skills
- Development
- Quality Assurance
- Software Engineering
- Strategic Thinking
- Team Collaboration