Raise is the leading mobile payments and prepaid gift card platform where millions of consumers earn instant cash back and save money on purchases. The company has transformed traditionally simple pieces of plastic into one powerful payment mechanism that can be seamlessly used at 300,000+ retail locations nationwide.
As a marketplace with 4,000+ brands and 500 retail partners, Raise enables consumers to save money and instantly pay for in-store or online purchases at their favorite stores using their digital mobile wallet. In addition to offering value and convenience for consumers, Raise allows retailers to unlock a new, data-driven channel to activate targeted segments of the platform’s more than 2.5 million members.
Added to our suite of products is Slide, a revolutionary contactless payment app that saves members money everywhere they shop, and rZero, a custom approach to fraud prevention that can be applied to each unique customer scenario.
Since 2013, Raise has saved members more than $150 million. The company is based in Chicago and has received $147 million in funding from investors including Accel, Bessemer Venture Partners, New Enterprise Associates, and PayPal. Raise is available on both iOS and Android and at www.raise.com.
About the Position
Raise is looking for a Sr. Golang Software Engineer to join our Platform team. In this position, you will be responsible for maintaining, designing, implementing and upgrading the Golang software we use to maintain our cloud infrastructure and build, test, and deploy our microservices. At Raise, we embrace automation and infrastructure as code as a means of empowering each delivery team’s frictionless ownership of applications and services. The ideal candidate has a background in developing distributed applications and is familiar with cloud technologies.
A Sr. Golang Software Engineer on the Platform team should embrace the methodologies and ethos of the Platform team including:
- Automate Everything: we use Chef (provisioning, testing, and compliance), Packer (AMI building), Jenkins (CI/CD), and Terraform (IaC). We also do not hesitate to create custom in-house Golang software to serve our unique needs.
- Test Everything: we test our AMI with InSpec and our Golang pipelines with both unit tests and full feature/integration tests which spin up infrastructure to test each and every action. A Platform team member once said, "if it isn't tested, or if those tests don't run with each change to the code base, you don't really know it works".
- Strong Communication: we work as a team which requires clear communication of design, documentation of systems, culturalization of systems though talks and demos, and regular pairing.
- Customer First: we do not work in silos within the team and we do not work in a silo within the organization, we want to always make sure we are serving our customers first and this requires strong empathetic communication and support
- Agile: we work in sprints following a lightweight agile methodology (all our meetings have a well defined purpose and they must always deliver clear value)
In the following responsibilities, "Lead" means someone who not only pushes forward our technology, but also focuses on culturalizing that technology though docs, demos, training, design discussions, and architectural decision records (ADR) both within the Platform team and throughout the engineering organization.
- Lead our journey away from Jenkins CI/CD to our own Golang CI/CD pipelines using clean, extensible, and maintainable software.
- Lead in our internal initiatives focusing on automation of our processes where software makes more sense than open source configuration driven solutions.
- Assist the Platform manager in engaging with our customers, the engineers of Raise, to understand their needs and to turn these into well refined epics and stories.
- Assist in support activities such as triage, incident response, and on-call rotations.
- Pair with the rest of the Platform team to understand our infrastructure and it's maintenance at a high level. Specifics will be left to infrastructure engineers.
Skills and Qualifications
- 5+ years of engineering expertise, practicing software development professionally in a collaborative environment (e.g. Test-driven development (TDD) and paired programming) on a moderate to large codebase.
- 3+ years of production Golang experience and expert knowledge of the Golang language, standard library, and ecosystem.
- Ability to communicate technical concepts, possibilities and limitations to a non-technical audience.
- High attention to detail and constructive attitude in peer code reviews.
- Understanding of project management such as Agile and Scrum and have the ability to assist in creating epics, stories, and sprints.
- Ability to to drive technical decision making to quickly describe problems, gather information, identify potential solutions, and ultimately drive toward an agreed upon solution.
- Familiarity with leading cloud technologies like Amazon Web Services or Google Cloud Platform preferred
- Some experience with Kubernetes application development
- Familiarity with “infrastructure as code” and automation/configuration management tools such as Chef, Ansible, SaltStack, Puppet, or Terraform as well as the selection process around these tools
- Experience creating and maintaining automated CI/CD Pipelines with tools such as Jenkins is preferred
- Some experience with observability such as monitoring, logging, and tracing, as well as database schema design, query optimization, and administration is beneficial
Raise offers a comprehensive benefits package to all our employees, including:
- Medical, dental, and vision insurance
- 401(K) plan with discretionary company match
- Company-paid short-and-long-term disability
- Company-paid life insurance
- Pre-tax health flex spending and dependent care plan
- Flexible Paid Time Off Policy, including sick time, unlimited vacation, and Raise Gives Back time off for volunteering
- Pre-tax commuter program
- Paid parental leave
- Voluntary benefits, such as Pet Insurance and Identity Protection