Job Description
Job Description
Midwest Tape | Hoopla
About us :
For over 30 years, Midwest Tape has served libraries and their patrons with unparalleled access to the best content available in the media world. Our digital offering, hoopla Digital, combines the media and library expertise of Midwest Tape with the latest in web and mobile technology, delivering an all-in-one experience to the library world. As hoopla continues to grow on a global scale, we are expanding our team.
At Midwest Tape, we know our people are the reason for our success. We value our employees and believe in empowering them to help them thrive. We offer competitive pay and benefits, a healthy work / life balance, and appreciation for a job well done.
- For local candidates within 60 miles of our Holland, OH headquarters this role is hybrid after 60-day orientation period.
- For candidates outside of local area, this role would be primarily remote. You will be required to come onsite for first week to onboard and as needed for dev conference and meetings.
- Must live in the following states to be considered : Ohio, Michigan, Indiana, Illinois, Tennessee, Texas, Colorado, Montana, Rhode Island, Florida, Massachusetts, Nevada.
- Must be able to work business hours of 8 : 30am-5 : 00pm EST in addition to occasional off-hours deployments or crisis resolution.
- We are currently unable to sponsor employment visas. All candidates must have authorization to work in the U.S. without current or future sponsorship.
Position Summary
The Senior Java Developer will be responsible for designing, developing, and delivering technical solutions for the eCommerce and Product Discovery team at Midwest Tape, with a primary focus on backend services built using Java . This role emphasizes modern architectural patterns, including microservices, event-driven design with Kafka, NoSQL databases like MongoDB, and ETL workflows.
The ideal candidate will collaborate effectively with cross-functional teams, possess a strong understanding of business requirements, communicate progress and challenges clearly, and contribute meaningfully to Agile sprints. This position emphasizes hands-on development, technical leadership, and continuous improvement in both engineering and operational efficiency. This role is ideal for developers who are passionate about problem-solving, technical design, and fostering a collaborative team environment while maintaining a strong focus on quality and delivery.
Primary Duties and Responsibilities
Solution Design and DevelopmentRe-architect existing PostgreSQL stored procedure logic into Java-based microservices that are scalable, testable, and easier to maintain, using a Kafka-driven, event-based ETL approach for decoupled data processing and system integration.Support core eCommerce workflows, with attention to performance, data integrity, and availability.Develop and optimize REST APIs to expose business logic.Understanding Business Context and SystemsDive deep into the business domain to understand existing systems and processes.Use this understanding to inform design decisions and improve technical delivery.Team CollaborationEngage with Product Owners, Engineers, and Agile Leaders to clarify requirements and address challenges.
Proactively reach out to team members to understand dependencies, resolve issues, and provide updates.Ownership and Problem-SolvingTake ownership of tasks, ensuring they are delivered end-to-end while resolving impediments independently or collaboratively.Address and resolve technical challenges efficiently, escalating only when necessary.Participation in Agile PracticesActively participate in Agile ceremonies, including sprint planning, daily stand-ups, and retrospectives.Collaborate in sprint planning to estimate work and deliverables.Code Quality and StandardsWrite high-quality, well-documented, and testable code following established patterns and standards.Perform code reviews to ensure adherence to best practices, design patterns, and team standards.Testing and Quality AssuranceWrite unit and integration tests, apply test-driven development (TDD) principles where appropriate, and ensure comprehensive test coverage across APIs, services, and data layers.Partner CollaborationOccasionally present solutions or assist in technical discussions during partner calls.Skills :
Technical SkillsStrong hands-on experience designing and deploying microservices in distributed systems using Spring Boot 3 and Spring Security.Experience implementing API authentication and authorization mechanisms such as OAuth 2.0, JWT, and role-based access control (RBAC) within Spring Security.Skilled in developing and maintaining RESTful APIs and GraphQL, with experience documenting APIs using Swagger / OpenAPI.Deep expertise in Apache Kafka and event-driven architectures, including building ETL-style data pipelines for integration and streaming.Solid understanding of relational databases, particularly PostgreSQL, with the ability to read, refactor, and optimize complex SQL; 5+ years working with NoSQL databases, especially MongoDB, including schema design, indexing, and performance tuning.Strong grasp of design patterns, SOLID principles, and engineering practices such as Test-Driven Development (TDD), Domain-Driven Design (DDD), and clean architecture.Proficient in writing unit and integration tests using JUnit, Mockito, and Spring Test frameworks, with CI / CD automation experience using GitHub Actions.Skilled in debugging, performance optimization, and using AI-assisted development tools (e.g., GitHub Copilot) as a core part of the development workflow.Proven ability to deliver in Agile, cross-functional teams, with effective communication skills and an ownership mindset.Soft SkillsAbility to take ownership of ambiguous initiatives and drive them to completion.
Effective communication skills to reach out for assistance, provide updates, and resolve blockers effectively.Willingness to learn unfamiliar tech stacks or parts of the codebase independently.Ability to follow existing patterns, processes, and standards without deviating unnecessarily.Tool ProficiencyFamiliarity with modern development tools such as Java IDEs (e.g., IntelliJ IDEA), Node.js editors (e.g., VS Code), database clients (e.g., pgAdmin, DataGrip, MongoDB Compass), and Kafka tooling including Confluent Kafka (Control Center, CLI, Schema Registry). Proficient with cloud platforms (e.g., AWS CLI, CloudWatch, S3), monitoring / observability tools (e.g., Datadog, Prometheus / Grafana), and team productivity platforms like JIRA and Confluence. Experience with AI-powered development tools (e.g., GitHub Copilot, Tabnine) .
Required Experience
7+ years of experience building and maintaining Java-based backend [KA5] systems, ideally with the latest Java versions (Java 21 preferred).Preferred Experience
Experience developing backend systems using Node.js.Able to work in an agile environment with a focus on continuous integration.Preferred Education
B.S., M.S., in software engineering, computer science, or related area or equivalent experience.Physical Requirements / Work Environment
The work environment characteristics and physical demands described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Ability to regularly sit for extended periods of time.Perform repetitive motion type tasks.Able to be physically present for meetings, presentations, and trainings.Ability to work on-site in a team environment.Benefits :
Medical, dental, & vision insurance401k + matchProfit sharingPaid vacation and personal timeFlex time10 paid holidaysCompany performance bonusHoliday bonusPaid time to volunteerTraining & career development opportunitiesAll qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.
#LI-Remote