Born out of frustration with the traditional cash register business, ShopKeep was designed by a retailer with a noble aim: to rescue independent business owners from the nightmare of archaic point of sale systems, and replace them with something beautiful, simple, and affordable. It turned out that by doing this, we were giving our fellow merchants a fighting chance against the big guys.
Today, our mission is simple:
empower independent business owners to dream big and to fight smart. We're doing this through our cloud-based architecture, amazing customer care, and intuitive software that delivers the data small business owners need to run smarter businesses.
At ShopKeep, we've been successful because of our awesome team that believes small businesses make up the heart of our communities.
About This Role
ShopKeep is looking for an Android Engineer to join a team that is revolutionizing how retailers and customers interact. Shopkeep is at the forefront of point of sale (POS System) technology, continuing to develop and distribute our Android app, which packages a cash register, business reporting tools and superior customer service into one compact and robust product.
For more than a century, clunky boxes called cash registers have taken up valuable counter space at bars, restaurants and coffee shops, and have served as a costly impediment to small business ownership. They are notorious for their lack of reliability, their shady supply chain and their DMV-like customer service.
This market is ripe for disruption, and Shopkeep continues to remain ahead of the game (that's where you come in). We are changing the way local businesses leverage technology. Our cloud-based system allows merchants to work offline, create in-depth sales and inventory analysis, and chuck the register for a visually pleasing, easy-to-use interface. Even better, our product is much less cash intensive for small businesses.
The ShopKeep Android Register is a complex Android application that relies on HTTP networking, data persistence and a highly customized user interface to deliver a responsive, stable and intuitive point of sale product.
As an Android engineer you are expected to take ownership of large features and lead the design to enhance, maintain, and improve this application.
How We Work
Our teams are independent, market-aligned and work across a broad set of technologies and skills to deliver end-to-end solutions. Teams are encouraged and empowered to build their products in a lean manner delivering as much customer value as early as possible. We are a Scrum shop with dedicated Product Owners who work closely with the team.
We also put heavy emphasis on learning and provide our team members with opportunities to learn every step of the way. Sending people to conferences of their choice, hosting tech talks and meetups, publishing technical newsletters, providing opportunities to move around teams, etc. are all ways that we ensure that our teams are always learning and growing.
Quality is paramount! Developers take testing and test automation seriously - tests are written at all levels - unit, integration and end-to-end. We even invest in Robotics to automate the credit card swipe!
Mobile teams follow Continuous Integration practices and frequently merge to master that ships with weekly or bi-weekly releases. These releases are rolled out to thousands of our customers in phased rollouts.
Backend teams practice a DevOps culture where they own their own services in all environments, including production. Teams are expected to build automated tests as they build their applications to ensure that it is safe to release software as seamlessly as possible, multiple times a day.
What You Will Do
Your primary responsibilities are to:
- Take ownership of large features
- Anticipate problems with features that you own
- Build new features and fix bugs
- Participate and often lead design conversations to improve our architecture
- Be opinionated in design, architecture and planning discussions
- Engage in considerate, but robust, PR reviews
- Work with Test Engineering to ensure we are continually shipping the most resilient POS on the market
- Mentor junior engineers through pair programming and coaching
- Give technical presentations
- Knowledge of Object Oriented design
- At least 3 years of Android application development in a professional environment or enough relevant experience
- At least 1 year of unit testing with Android
- Experience working with Java or Kotlin in a production environment
- A strong grasp of computer science fundamentals
- A bachelors degree in computer science and/or strong contributions to the coding community
- Experience with Agile development practices and test-driven development
- A good sense of what looks good / feels good to consumers, or how you would like to order your coffee in a perfect world
- Android apps in any App Store
- Experience working with mobile CI tools
- Working with non standard, complex, User Interface implementations
- Experience working with complex REST API
- Experience with Reactive Programming concepts or frameworks (e.g. Rx)
- Experience with multi-threaded, concurrent software design
- Health Insurance with Medical, Dental and Vision Benefits
- Life and Income Protection Insurance
- Employee Assistance Program (EAP)
- Enhanced Maternity/Paternity Benefits
- Discounts on Gym Memberships and Fitness Equipment
- Flexible Paid Time Off (PTO)
- Generous Referral Bonus Program for Technology Roles
- Pension Scheme
...and the bare necessities
- Lively and enriching Engineering culture
- Regularly scheduled hackathons, meetups and Tech Talks
- Opportunity to attend Engineering Conferences, thanks to our generous company conference budget
- Newsletters produced by Engineering teams
- Cross-office collaboration between our NYC and Belfast teams with the opportunity to travel to our different offices
- Regular team events, including Happy Hours and Game Nights
- Catered lunches
- Breakout area to play pool and relax
- Yoga classes
- Standing desks
We like CVs, but links to your Github profile, your personal projects, your Twitter, your blog, your open source contributions, and so forth will give us a better idea of who you are!
ShopKeep is an Equal Opportunity Employer
We are an Equal Opportunities Employer. We do not discriminate on grounds of religious belief or political opinion. Furthermore, we don't discriminate based on gender, gender identity, sexual orientation, race, nationality, or any other individual characteristics. We practice equality of opportunity in employment and select the best person for the job.
To demonstrate our commitment to equality of opportunity in employment we need to monitor the community background of our applicants and employees, as required by the Fair Employment and Treatment (NI) Order 1998. You are not obliged to answer the questions on this form and you will not suffer any penalty if you choose not to do so. Any information that you provide will remain confidential and will only be used for monitoring and reporting purposes.
If you answer the questions about your community background and gender you are obliged to do so truthfully, as it is a criminal offence under the Fair Employment (Monitoring) Regulations (NI) 1999 to knowingly give false answers to these questions.