This is a hybrid position based out of our Johnston, IA office. What we're looking for:SHAZAM is looking for a
Software Engineer to help build and enhance
DigiHive™, our modern digital banking platform that unifies online and mobile banking into a single, intuitive experience. As a Software Engineer, you will be responsible for supporting the development, maintenance and improvement of software applications with minimal guidance from more experienced engineers. This position focuses on executing complex foundational engineering practices, writing clear and reliable code, assisting with troubleshooting and contributing to well-defined tasks throughout the software development lifecycle (SDLC).
What you'll do: - Write clean, reliable, scalable, and testable code using one or more core programming languages
- Design production-quality solutions with attention to maintainability, performance, and long-term value
- Participate in all phases of the SDLC: planning, design, development, testing, deployment, and maintenance
- Build and enhance features that support:
- Secure authentication and single sign on
- Real time balances and transaction history
- Money movement (ACH, transfers, mobile deposit, bill pay)
- Card controls and user profile management
- Alerts, notifications, and fraud prevention capabilities
- Diagnose, troubleshoot, and resolve moderately complex software issues
- Collaborate with product partners and cross-functional teams, clearly communicating technical details and tradeoffs
- Conduct code reviews and provide constructive feedback to peers and junior engineers
- Contribute to process and tooling improvements by identifying inefficiencies and proposing actionable solutions
- Research and evaluate new technologies, tools, and approaches to solve engineering challenges
- Create and maintain clear technical documentation for implemented features
- Participate in root cause analysis (RCA) and help improve system reliability, scalability, and monitoring
- Serve as a subject-matter expert for a specific application, subsystem, or process
- Participate in an on-call rotation with support and guidance
What you need:- Minimum of 3 years of professional software development experience and proficiency in Java
- Bachelor's degree in software engineering, computer science, or a relevant field preferred
- Familiarity with Spring Boot and Unix/Linux environments
- Previous experience with mobile build experience preferred
- Working knowledge of data structures, algorithms, and object-oriented design principles
- Familiarity with common software engineering practices including version control (Git), testing, and debugging
- Experience using modern development tools and collaboration platforms (e.g., Microsoft Teams).
- Strong problem-solving skills with the ability to connect complex concepts and design effective solutions
- Clear verbal and written communication skills, especially when discussing technical topics
- Self-motivated with a growth mindset and eagerness to learn new technologies
What's in it for you:- A mission-driven company with a strong sense of purpose
- A hybrid work environment that values flexibility and collaboration
- Opportunities for professional development and career growth
- A culture that values innovation, integrity, and community impact
- Excellent benefits:
- Health, dental, and vision insurance
- 401(k) retirement plan with company match
- Flexible spending and health savings accounts
- Life insurance and short- and long-term disability provided at no cost
- Time away from work - PTO, VTO, paid parental leave, and company holidays
- Educational assistance
Actual compensation is based on various factors, such as geographic location, experience, education, and/or skill level, and is finalized at the time of offer.