Senior Engineer (Tech Lead, OSS Committer)
Job Description
Lead the development of OSS products as a code owner of new OSS products. As a full-stack engineer, you will work on both front-end (React, TypeScript) and back-end (Go).
Interact with clients, product owners, and project managers to analyze requirements, define requirements, and design and implement tasks.
Conduct code reviews and pair programming with engineers in the team to maintain quality and maintainability of the code and share knowledge.
Introduce useful technologies, libraries, and tools in a timely manner to improve development efficiency and quality.
Take charge of implementation of technically difficult parts such as algorithms and performance tuning. (Occasionally develop OSS libraries as needed)
Depending on your skills and interests, you can also work on cloud infrastructure construction management, DevOps, QA, etc.
Requirements
At least 2 years of working experience.
Experience and skills in designing, developing, and operating web systems that are actually used by customers from scratch.
Development experience using either React+TypeScript or Go, or both (if you don't have experience with one of them, you will be required to learn it on the job).
Experience designing and building infrastructure in the cloud (AWS, GCP, etc).
Basic knowledge of HTTP, database, authentication and authorization, security, CI/CD and container technology.
Ability to catch up with the latest technologies, OSS and trends.
Ability to read and write English (since development is done by a multinational team, you will communicate in English).
Welcome Skills
Experience in leading a development team as a lead engineer.
Experience as an OSS contributor/committer.
Excellent communication skills in English.
Experience with data processing and databases related to maps and GIS. Experience implementing data structures and algorithms with performance in mind (including competition programming).
Experience developing and operating server-less applications and micro-services.
Experience with GraphQL, WebAssembly, and/or Rust.
Experience in unit test maintenance, CI/CD setup, and E2E test automation as a QA engineer.
Experience in customer negotiation, requirements defining, and/or project development progress as a PM.
Remarks
Challenging development experience through a highly productive front-end environment using React, TypeScript and GraphQL, as well as robust and scalable server-side development using Go, GCP, clean architecture and DDD design methods.
As an engineer, you will be able to do highly technical and challenging work in a more visible way in an OSS-centric business model that is still rare in Japan. (e.g., specifying the developer's name in the release notes)