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, but it’s definitely a plus if you have Japanese skills. 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
We built our own hardware to control and interface with vending machines, doing what the Web 2.0 did for Web. We’re truly full-stack so you can expect to see Hardware/Firmware/IoT/Mobile/Web/Backend/Cellular/Bluetooth and others.
What we have is a Linux based embedded system that also has a hard realtime processing component. The suitable candidate feels comfortable working with Linux platform with a core components written in C, but the application architecture also utilizes high level language components to provide the overall service and speed up the development. Has confidence in participating in low level debugging (logic analyzer etc), core dump analyzing of application failures and also general configuration matters of Linux.
We’re looking for go getters that enjoy taking ownership over problems and seeing them driven to a solution, at the moment we prefer more experienced candidates to pave the way.
- Experience in Linux based embedded systems in production
- Experience in C/C++ based development
Nice to haves
While not required, tell us if you have experience with any of the following.
- Experience with Linux kernel driver development
- Experience with high level programming language development such as Python (desired)
- Experience with Linux BSP creation (desired)
- Experience with buildroot and/or yocto build systems (desired)