Participate in implementing the overall delivery process of a software application or service, including design, development, testing, deployment, production application support and maintenance with a focus on automation.
Collaborate to gather and review software requirements/user stories, provide estimates, create software design specifications and collaborate with engineers/architects to assess and test hardware and software interactions.
Execute a specific development methodology through application of various programming languages.
Create and execute automated test plans/strategies utilizing business requirements.
Collaborate with engineers/architects and clients to design and implement business requirements, validate outcomes against expected results, and produce associated reporting.
Support applications and solve configuration and environment issues.
Support the software deployment process.
Design, code, test, debug and document new and existing components to ensure that software meets business, quality and operational needs.
Align development teams to a shared technical direction and partners with those teams in elaborating the Solution and its interfaces.
Work with portfolio stakeholders, Solution and Enterprise Architects, to develop, analyze, split, and realize the implementation of enablers.
Build high quality code following unit testing and test-driven development.
Establish critical NFRs at the solution level, participate in the definition of others.
Drive and participate in code and document reviews, mentoring team in best practices.
Collaborate with peer organizations, dev ops, and support organizations on technical issues and provide guidance.
Interpret and translate business needs to technical requirements and accurate estimates.
Evaluate and recommend tools, technologies and processes to ensure the highest quality and performance is achieved.
Focus on scalability, security and availability of all applications and processes.
Contribute to technical roadmap and technical debt elimination, balancing time, resource, and quality constraints to achieve business and strategic goals and requirements.
Requirements
Requires a Bachelor’s degree, or foreign equivalent degree, in Computer Science, Information Systems, Electronic Engineering, or Computer Engineering
8 years of progressive, postbaccalaureate experience in the job offered or a related occupation designing, developing, and maintaining enterprise-level applications using Java/J2EE and Spring Framework such as Spring Boot, Spring Security, and Spring Data
Implementing micro services architecture for scalable and distributed systems
Developing, deploying, and managing event-driven systems using event streaming services for real-time data processing
Creating and managing search and indexing solutions using search engine technologies
Leveraging cloud web services for application hosting, monitoring, and scalability
Optimizing system performance and scalability while ensuring security compliance
Utilizing event streaming services for distributed messaging and stream processing
Designing and developing micro services, RESTful APIs, and event-driven architecture
Utilizing relational (SQL) and NoSQL databases
Tech Stack
Cloud
Distributed Systems
J2EE
Java
NoSQL
Spring
Spring Boot
SpringBoot
SQL
Benefits
Medical/Dental/Vision coverage
401(k) plan
Tuition reimbursement program
Paid Time Off and Holidays (based on date of hire, at least 23 days of vacation each year and 9 company-designated holidays)
Paid Parental Leave
Paid Caregiver Leave
Additional sick leave beyond what state and local law require may be available but is unprotected