TenTen offers a SmartBeacon that can be installed in vending machines to allow them to go online. We offer both a consumer facing app that let’s users do things like collect stamps for free drinks, and a back-office solution for vending machine operators that helps with operations, like seeing what’s currently in stock in the machine and route planning for refilling.
A collaborative environment
This isn’t a place for lone wolf coders, who want to spend all their time working on their own tasks independent of others. While there will certainly be plenty of time for deep work, we also highly value collaboration with others. As an engineer, the most common way this will be done is in working with other engineers and stakeholders to create spec documents, which as our product involves coordination of many different components, we’ve found quite useful.
When reviewing documents, code, or anything really, we think we’ve struck a great balance between encouraging people to voice their opinions and give constructive criticism, while avoiding it deteriorating into arguments or getting stuck in the minutiae.
Work with a wide variety of technologies
Our engineers solve challenging and interesting problems related to hardware, firmware, mobile apps, server backend and front-end as well as cloud infrastructure. Rather than being stuck with just implementing a small slice of this stack, you’ll collaborate with a diverse group of engineers to come up with a holistic solution to the challenges that you face.
Little hierarchy and a flexible structure
From the CEO on down, everyone at the company is approachable and easy to talk to. There’s no need to escalate something through your manager when it would be easier to just talk to them directly yourself.
While we do sprint planning, otherwise we avoid having regular meetings, and instead let our developers select tasks and work on them as they see fit. You’ll be in charge of your own schedule, and we’re flexible about the exact hours you work.
International team and an English environment
As the engineering team mostly operates in English, we generally don’t require any Japanese ability. The team itself is very diverse, made up of people from countries including Japan, the Philippines, Indonesia, Sweden, Finland, Germany, Australia, the United States, Brazil, Hong Kong, Canada and the UK. This being said, we’re looking for engineers who are already based in Japan.
Our Response to COVID-19
With COVID-19, we’ve moved to work primarily remotely. You’ll only need to come into the office if there’s something that makes it absolutely necessary, such as if you’re an embedded engineer needing to test something on a physical vending machine itself.
Before COVID we held regular social events at the company, and we’ve tried holding these online instead. We’ve even gone so far as to order food and drinks to be delivered to each of our employees for an online party we held on Zoom.
- CV review. We’ll screen your application based on the materials you submit.
- Screening call. If your application looks like it has potential, we’ll have a quick call to discuss if we match each other.
- First interview. We’ll have an interview where we’ll evaluate your technical skills.
- Take home assignment. We’ll ask you to complete an assignment to highlight your skills as a software developer.
- Second interview. We’ll invite you to an interview where we’ll discuss your take home assignment, asking you to explain how you did it, why you made the decisions that you did, and how you’d add additional functionality. We’ll also ask you questions of a more general nature.
- Final interview. This will be a short conversation with an executive like the CEO or CTO, and we’ll discuss things like salary.
About the position
- Creating/maintaining build-test-deploy deployments
- Performance and bottleneck investigations and improvement
- Deployment to AWS/Heroku/Docker or other on the cloud services
- Performance monitoring and logging services
- Investigate issues/incidents coming in from the field (that is second level support) or from system monitoring
- Solid knowledge of tools that automate creation, management and configuration of server environments such as Puppet, Chef, etc.
- Development and/or scripting experience with Ruby (or Python, etc.)
- Experience working multi-server distributed systems
- Knowledge of setting up HA-clusters for databases, servers
- Flexible mindset and confidence to solve even sometimes unknown issues in rapid fashion
- Solid understanding of version control