Sr. Software Engineer - #1708

Job Description

Position Summary  

The Sr. Software Engineer will design, develop, document, test, deploy, monitor, and debug new and existing software systems and/or applications. The role will participate in the full development life cycle including requirements analysis and design.

Expected Duties: 

- Sr. Software Engineers will work on frameworks or algorithms that are used across product lines
- Expected to mentor lower-level peers and is seen as an informal lead
- The role will create and execute processes and procedures for the technical quality of products
- Sr. Software Engineers will create "big picture" architectural approaches for software design and implementation to guide the development team
- Responsible for ensuring security, performance, manageability, quality, and consistency of the software architecture across the system and providing technical guidance to development teams
- Expected to conduct research, gather information, interpret data, identify requirements, and create a solution

Qualifications: Knowledge, Skills, and Abilities

The individual should have complete knowledge and a full understanding of the area of specialization, principles, and practices within a professional discipline. The role will include work on problems of diverse scope where analysis of information requires evaluation of identifiable factors. Work is expected to be done independently through independent judgment. 

- Ability to assess unusual circumstances and uses sophisticated analytical and problem-solving techniques to identify the cause
- Ability to resolve and assess a wide range of issues in creative ways and suggest variations in approach
- Ability to devise solutions based on limited information and precedent and adapts existing approaches to resolve issues
- Ability to enhance relationships and networks with senior internal/external partners who are not familiar with the subject matter often requires persuasion
- Ability to enhance relationships and networks with senior internal/external partners who are not familiar with the subject matter often requires persuasion
- Bachelor’s degree and 6-8 years of related experience or equivalent work experience 
- 6+ years’ experience coding in Java and J2EE
- 4+ years of Front-End engineering experience coding with web-based frameworks and languages including Angular, Angular JS/CSS. 
- Demonstrated mastery of HTML, CSS, and ES6.
- Experience in front-end tooling workflows like NPM.
- Extensive knowledge in developing SPAs.
- Good understanding of DOM.
- Working knowledge of Cross Browser Compatibility issues.
- Strong problem-solving skills and knowledge of object-oriented design, data structures and algorithm design and complexity analysis. 
- Proven ability in implementing best/excellent practices and design patterns like observables, application flow control, event/error/AJAX handling.
- Knowledge of SQL and experience using one or more RDBMS. 
- Functional knowledge or hands on design experience with Web Services (REST, SOAP, etc.) is needed to be successful in this position. 
- Understanding of Kubernetes, Docker, CI / CD Pipelines. 
- Experience working in a fast-paced agile environment. 
- Demonstrated creative problem-solving and strong analytical skills.
- Experience in automated frontend testing (e.g., Jasmine).
- Strong collaboration and communication skills.
- Experience in Azure / AWS cloud development.

PREFERRED EXPERIENCE, QUALIFICATIONS AND SKILLS 

- Experience with non-relational data stores like Redis, Memcached, Elasticsearch 
- Familiarity with continuous integration and DevOps methodologies, best practices and tools such as Git, Azure DevOps, Jenkins, Terraform, Terragrunt etc. 
- Prior Experience in designing and developing distributed systems and multi-threaded applications. 
- Working experience with Spring Boot, Spring JPA / Hibernate and Spring Security. 
- Knowledge of Microservice architecture, design patterns.  
- Scripting languages – Python, JavaScript, Shell scripting preferred. 
- Experience mentoring junior software engineers in best practices within the team. 

- TIMELINE: Start Date is June 1, 2025
- This person needs to be available for team meetings at 9: 30 AM EST