Software Engineer (Java / Microservices)
Role details
Job location
Tech stack
Job description
We are seeking a Senior Software Engineer to design, develop, and support scalable, enterprise-grade software solutions in a production environment. This role requires deep expertise in Java-based microservices architecture, distributed systems, and cloud-native application development. The ideal candidate is a hands-on technical leader who can build high-quality software, mentor junior engineers, drive architectural decisions, and collaborate across cross-functional teams to deliver reliable, secure, and high-performing applications., Software Development
- Design, develop, test, and maintain enterprise-level software applications and distributed systems.
- Write clean, scalable, and well-documented code following engineering standards and best practices.
- Build reusable components, libraries, and services that support multiple teams and applications.
- Develop RESTful APIs and event-driven services using modern software engineering principles.
- Participate in architecture discussions and contribute to long-term technical strategy.
Microservices & Cloud Architecture
- Design and implement scalable microservices using Java and Spring Boot.
- Develop event-driven applications utilizing Kafka messaging.
- Build cloud-native applications leveraging containerization and orchestration technologies.
- Design solutions with high availability, resiliency, scalability, and performance in mind.
- Optimize applications for latency, throughput, and reliability.
Production Support & Reliability
- Provide production support for enterprise applications.
- Perform root cause analysis for production incidents and implement long-term corrective actions.
- Troubleshoot application, infrastructure, and integration issues across distributed environments.
- Manage technical debt and continuously improve system stability and maintainability.
- Monitor application health and proactively identify opportunities for optimization.
System Integration
- Develop and maintain RESTful APIs and service integrations.
- Build event-driven architectures utilizing Kafka.
- Integrate applications with relational and NoSQL databases.
- Ensure seamless communication between enterprise systems.
DevOps & Automation
- Support CI/CD pipelines and automated deployment processes.
- Collaborate with DevOps teams to improve software delivery workflows.
- Utilize Git-based version control and modern deployment practices.
- Promote infrastructure automation and continuous integration best practices.
Quality Engineering
- Develop automated unit, integration, and functional tests.
- Ensure software quality through code reviews, testing, and static code analysis.
- Promote engineering best practices and coding standards.
- Mentor junior engineers on software craftsmanship and quality.
Collaboration & Leadership
- Partner with architects, product managers, QA, DevOps, and business stakeholders.
- Provide technical mentorship and guidance to junior developers.
- Participate in Agile ceremonies including sprint planning, stand-ups, retrospectives, and backlog refinement.
- Drive continuous improvement initiatives across engineering teams., * Java Development
- Spring Boot
- Microservices Architecture
- Kafka
- Production Support
- Distributed Systems
- REST APIs
- Cloud Computing (AWS/Azure)
- Kubernetes
- Docker
- PostgreSQL
- Redis
- MongoDB
- CI/CD
- GitHub Actions
- Git
- Maven
- Agile/Scrum
- DevOps
- Test Automation
- Root Cause Analysis
- Performance Optimization
- System Scalability
- Software Architecture
- Object-Oriented Design
- Technical Leadership
- Code Reviews
- Mentoring
- Secure Software Development, * Java
- Spring Boot Microservices
- Kafka
- Production Support
Nice-to-Have Skills
- PostgreSQL
- Kubernetes
- Redis
- Git
- GitHub Actions
- Maven
- JUnit
- Agile/Scrum
Requirements
This position requires strong experience with Java, Spring Boot, Microservices, Kafka, and Production Support, along with a passion for engineering excellence, automation, and continuous improvement., * Bachelor''s degree in Computer Science, Information Technology, Software Engineering, or related technical field (or equivalent professional experience).
- 7+ years of experience designing, developing, and supporting enterprise software applications.
- Strong experience developing Java applications in production environments.
- Experience building scalable Microservices using Spring Boot.
- Hands-on experience supporting production systems and resolving production incidents.
- Strong understanding of object-oriented programming and software design principles.
- Experience working within Agile development environments., * Java (required)
- Python
- C#
- JavaScript / TypeScript
Frameworks
- Spring
- Spring Boot
- FastAPI
Microservices & APIs
- Microservices Architecture
- REST APIs
- GraphQL
- Event-Driven Architecture
- Kafka
Cloud & Infrastructure
- Kubernetes
- Docker
- AWS or Azure
Databases
- PostgreSQL
- MongoDB
- Redis
DevOps & CI/CD
- Git
- GitHub
- GitHub Actions
- Azure DevOps
- Maven
Testing & Quality
- JUnit
- Selenium
- Cypress
- Playwright
- Cucumber
- PyTest
- TestNG
- Postman
- SonarQube
- WireMock / Mockito / Moq, * Master''s degree in Computer Science or related technical discipline.
- Experience designing highly available distributed systems.
- Experience with cloud-native architectures.
- Strong background in application performance tuning and scalability.
- Experience mentoring engineers and leading technical initiatives.
Benefits & conditions
Competitive weekly pay! Potential opportunities for overtime Opportunities to get OSHA 10 certified Earn money for referrals! Ask your recruiter to learn more. Comprehensive medical benefits Dental, vision benefits 401(k) retirement plan and much more!