[Remote] Software Engineer
Note: The job is a remote job and is open to candidates in USA. Blackhawk Network provides branded payment solutions, including gift cards, corporate payouts, rewards, and related technology, through a global platform serving businesses and consumers. The Software Engineer will design, develop, and maintain secure, scalable backend services and distributed systems for enterprise platforms and digital payment technologies. The role focuses on microservices, cloud infrastructure, data modeling, CI/CD, observability, secure development, and mentoring engineering team members.
Responsibilities
- Design, develop, and maintain backend services and distributed systems supporting Blackhawk Network’s enterprise platforms and digital payment technologies
- Support tool selection, platform architecture decisions, and the implementation of secure, scalable functionality to meet evolving engineering and business needs
- Build distributed microservices using modern programming languages and frameworks, including Java 17, Kotlin, and Spring Boot 3.x
- Integrate backend services using gRPC and Protocol Buffers to enable efficient service-to-service communication
- Apply Service-Oriented Architecture (SOA) and Event-Driven Architecture principles to build fault-tolerant and modular systems
- Collaborate with internal teams to evaluate and integrate third-party services with an emphasis on scalability, performance, and security
- Design and manage relational data models using PostgreSQL, ensuring ACID-compliant operations and leveraging ORM tools such as JOOQ and Hibernate
- Operate and scale applications in cloud environments (AWS), working with services including Redis, Elasticsearch, and DynamoDB
- Implement and maintain CI/CD pipelines (GitlabCi), containerize applications using Docker, and monitor services using Open Telemetry and similar observability tools
- Conduct secure development practices, including design reviews, threat modeling, and code audits to ensure high system integrity and compliance
- Mentor team members on coding standards and development best practices to promote quality, consistency, and maintainability across the engineering team
Skills
- Bachelor's degree or foreign equivalent in Computer Engineering, Computer Science, or related field
- 5 years of progressive experience as Software Engineer, Java Developer, or related occupation
- Must have at least 1 year of prior work experience in designing, implementing, and deploying software using Java 17 and Spring Boot 2.1 or higher in enterprise-grade systems
- Must have at least 1 year of prior work experience in applying industry-standard software design principles, including Design Patterns and SOLID Principles to ensure scalable and maintainable code
- Must have at least 1 year of prior work experience in software design and architecture: implementing Service-Oriented Architecture (SOA) and Structured Event-Driven Architecture (EDA) to build scalable, modular, and decoupled systems
- Must have at least 1 year of prior work experience in developing and maintaining applications using Object-Oriented Programming (OOP) and Aspect-Oriented Programming (AOP) to manage core logic and cross-cutting concerns such as logging and security
- Must have at least 1 year of prior work experience in designing database models and data solutions in relational database management systems (RDBMS) using SQL and ensuring ACID-compliant transactions and data consistency across enterprise applications
- Must have at least 1 year of prior work experience in mentoring software engineering team members by conducting code reviews, promoting best practices, and supporting technical growth and consistency within development teams
Benefits
- Position permits telecommuting: applicant may reside anywhere in U.S. and reports to Pleasanton, CA office
Company Overview
Company H1B Sponsorship