Position Title: Senior Software Engineer
Employee Status: Full Time
Location: Omaha, NE
Purpose:
Seeking a Senior Software Engineer – Distributed Systems to join our dynamic ETG team. If you are an experienced software engineer with a passion for designing, developing, and maintaining high-performance applications in a modern, agile environment, please apply.
Responsibilities:
Design, develop, and maintain scalable software solutions using Java, Spring Boot, and Microservices architecture.
Implement high-quality code, including writing and performing unit tests using JUnit, Mockito, and related frameworks.
Build and optimize RESTful APIs for seamless integration across business services.
Develop front-end applications using modern JavaScript frameworks such as React or Angular.
Work within a DevOps/DevSecOps environment, ensuring CI/CD pipelines and containerized deployments (Docker, Kubernetes).
Collaborate with architects and software engineers to ensure adherence to best practices and design patterns.
Troubleshoot and resolve complex software issues, performing root cause analysis and implementing robust solutions.
Participate in agile scrum development cycles, providing input on design, estimates, and implementation strategies.
Mentor junior developers, fostering a culture of knowledge-sharing and technical excellence.
Work Requirements, Experience, Education, and Skills:
Bachelor’s degree in Computer Science, MIS, or related field (or equivalent experience).
7+ years of professional experience developing enterprise-level software applications.
Strong expertise in Java (Streams, Lambda, Predicates, etc.), Spring Boot, and Microservices.
Hands-on experience with React/Angular, Bootstrap/Material, HTML5, CSS3, and Node.js.
Proficiency in SQL and relational database management, with experience using JPA/Hibernate.
Solid understanding of OAuth2.0, OpenID Connect, API Gateways, and JWT tokens.
Proven track record of working in CI/CD and containerized environments (Docker, Kubernetes, Jenkins, GitLab CI/CD, etc.).
Experience in Agile/Scrum methodologies and Test-Driven Development (TDD).
Excellent problem-solving, communication, and collaboration skills.