Zehitomo helps people in Japan hire local service professionals.
A Typical Day on our Engineering Team
Our engineers arrive at our Hanzomon office at different times during the morning, but we always make sure we’re in-office and prepared for our 10 AM stand-up.
For those that like to get to the office a bit on the earlier side, they can stop by the cafe on the 1st floor of our building to enjoy free coffee and breakfast items (one of our company’s perks).
During our stand-up, we may cover a few of the following items:
- Challenges and/or learnings from the previous day
- Work that requires additional alignment of stakeholders and dev resources
- Tasks that should be executed as pair programming tasks
- Announcement of topics or tasks that need to be more deeply discussed with stakeholders or other team members after stand-up
- Assignment of ownership for the day’s stakeholder and/or product-related meetings
After breaking off to start the day’s work, engineers will track and update their progress via the current sprint’s set of Trello cards. Most communication around these tasks usually happen in Slack or in person, but we still make sure important decisions are also posted to Trello. Work velocity is also tracked for every Trello card, which helps our engineers continually improve their ability to estimate how much work they can get accomplished each day.
Each engineer generally expects to target some of the following tasks each sprint:
- Product-related work
- Technical debt pay-off
- UI/UX improvements
- Planning for upcoming sprints
- Implementation of process improvements (usually suggested during sprint retrospectives)
Some engineers may also take part in a few meetings, but we aim to keep as much time as possible dedicated to coding efforts. We help limit time spent in meetings by canceling meetings when nothing of significant importance needs to be covered in-person, rotating engineering attendees for regularly recurring meetings, and (when necessary) appointing an engineering point person to help with interruptions. Engineers are expected to report their work back to the team to help prevent any knowledge silos from forming.
An engineer might also have their regularly scheduled 1-on-1 meeting with their manager (these are held for each engineer at least every 2 weeks). In these meetings, an engineer can openly discuss work, professional development goals, quarterly objectives, and any other topics that will help them succeed and be best supported at Zehitomo. This, alongside an online system we use for weekly reporting, really allows every engineer to get give and receive consistent feedback.
At the end of the work day, some engineers head home to family, some out to meet friends, others to meetup events, and some may stick around for in-office events, hobby projects, or to brainstorm any interesting problems with a colleague. Not a bad day!
About the position
You should have:
- Experience building complex, scalable web apps and APIs
- Strong Node.js experience
- Confident in using backend infrastructure such as MongoDB, Redis, Apache/Nginx, AWS, and SQL technologies
General Skills and Best Practices
- Advanced problem-solving and debugging skills:
- Deep experience in writing testable code
- Adept at using profiling, logging, and browser tools for debugging
- Adept at identifying and resolving feature edge cases
- Well-versed in various types of web frameworks
- Comfortable contributing to engineering-related infrastructure (CI/CD, Docker/Kubernetes, CM Tools)
- Track record of high quality code review
It would be good if you have:
- At least 2 years of React experience
- Typescript experience
- Experience refactoring/migrating a large project
- Experience making a real-time SPA (single page app) using websockets
- Experience deploying, scaling cloud Infrastructure
- Previous experience in implementing web security against XSS, query injections, CSRF, brute force attacks, etc.
- Conversational Japanese language ability
And bonus points if you have:
- Experimentation with deep learning, AI systems
- SEO experience
- Native Japanese language ability