Senior Software Engineer
Scroll down for the Japanese version of this job description.
Responsibilities
MODE is looking for a senior level software engineer, who is also expected to act as Tech Lead, to join our Product team. As part of a global team, you will be working on the frontier of enterprise hardware and cloud-based software. The technical challenges we are tackling often have no clear answers and your system design skills and coding skills in developing robust systems is critical. You will implement, improve and maintain subsystems for MODE's platform infrastructure, such as API services, message queue systems, databases and data storage. It is critical that our technology is applied to real-world projects as designed. You will play a key role in navigating customer projects alongside our Enterprise Solutions Managers to design good architectures using your deep understanding of MODE technology and its products.
- Create and improve core backend systems for organizing, processing, and storing IoT data. You may be involved with one/some of the following areas:
- Intelligent chatbots using Generative AI technology.
- Server-side support of IoT devices and gateways, such as over-the-air software updates, remote monitoring, etc.
- Massively scalable time series database, and other data storage solutions.
- Digital twin data modelling framework to support a flexible IoT platform.
- Join the on-call rotation and respond to service issues.
- Act as technical lead on substantial projects/tasks, and offer guidance to other engineers.
- Review teammates' technical designs and pull requests.
- Share technical knowledge within the organization and support team members' growth.
Team & Work Environment
The Product team is made up of engineers with varying experience levels and different areas of expertise. Our team members come from diverse backgrounds, and are located either in the San Francisco Bay Area, or in the Greater Tokyo Area.
- Members from both regions are expected to work closely together on the same projects.
- Collaboration among members is achieved through tools such as Slack, Asana, Google Docs, Google Meet, and GitHub.
- Because of time zone differences, video calls among members usually take place in late afternoons in Pacific Time (mornings in Tokyo Time)
- All technical communications among the team are conducted in English.
- The team's technology stack includes (but is not limited to) Go, React (w/ TypeScript), MongoDB, Redis, Linux, Docker, and various AWS services (EC2, ECS, SQS, S3, etc.)
- We are a "remote-first" team – While we encourage Japan engineers reside within 100km radius from Tokyo office, they may reside anywhere in Japan as long as you are able to come to the office when it is needed. (The company covers the travel cost but there is a cap.)
Skills & Requirements
- Minimum requirements
- 8+ years of industrial experience in designing and implementing cloud-based backend systems.
- 5+ years of industrial experience in launching and operating cloud applications on AWS.
- 3+ years of experience in using and developing on Linux.
- Ability to carry out written and verbal technical discussions in English.
- Go programming experience or interest in learning to program in Go.
- Ability to create detailed execution plans for complex technical projects, and coordinate/collaborate with other engineers.
- Ability to communicate effectively with all stakeholders including other engineers, product managers, business team members, etc.
- Preferred requirements
- Experience of using Terraform and crafting HCL files.
- Python programming experience.
- Experience in microservices development.
- Experience of designing/implementing systems using event-driven architecture.
- Personal traits
- Empathy for teammates, customers, and users of our products.
- Effectiveness in communicating technical concepts to non-technical people.
- Product and business-oriented mindset.
- Team-first mentality
- Intellectual curiosity and eagerness to share knowledge.
仕事内容
製品開発を行うMODEのProductチームではテックリードとしても活躍していただける経験とスキルを持つシニアレベルのソフトウェアエンジニアを募集しています。このポジションでは、グローバル開発チームの一員として、エンタープライズIoT (クラウドベースのソフトウェアとハードウェアの組み合わせ)の最前線で活躍していただくことが期待されます。MODEのエンジニアが取り組む技術的なチャレンジにはまだ明確な答えがないことが多くあります。あなたのアーキテクチャ設計スキルやコーディングのスキルがこれらのチャレンジを克服するために重要です。主な開発領域は、APIサービス、メッセージキューサービス、データベース、データストレージなど、MODEのクラウドインフラストラクチャおよび、Linuxベースのゲートウェイソフトウェアの開発と運用を行います。また、私たちのテクノロジーが実際に顧客プロジェクトで効果的に利用されることも重要です。顧客へのインターフェースであるエンタープライズソリューションマネージャーと協業し、顧客プロジェクトのアーキテクチャデザイン提案を行い、これらのプロジェクトを成功に導くために重要な役割を果たすことも期待されています。
- IoTデータの整理、処理、保存のためのコアバックエンドシステムの作成と改善。以下のいずれかの分野に携わる可能性があります:
-ジェネレーティブAI技術を使用したインテリジェントなチャットボット
-IoTデバイスやゲートウェイのサーバーサイド・サポート(無線ソフトウェア・アップデート、リモート・モニタリングなど)
-大規模スケーラブルな時系列データベースやその他のデータストレージ・ソリューション
-柔軟なIoTプラットフォームをサポートするデジタルツインデータモデリングフレームワーク - オンコールローテーションに参加し、サービスの問題に対応する
- 実質的なプロジェクト/タスクの技術リーダーとして、他のエンジニアに指導を行う
- チームメイトの技術設計やプルリクエストをレビューする
- 組織内で技術知識を共有し、チームメンバーの成長をサポートする
Product チームと開発環境
プロダクトチームは様々な経験レベルと専門分野を持ったエンジニアの集まっています。メンバーは多様な文化バックグランドを持ち、サンフランシスコ・ベイエリアか東京のどちらかで勤務しています。
- どちらの場所で働くメンバーも、同じプロジェクトのメンバーとして協業します。
- メンバー間の共同作業はSlack、Asana、GitHub、Google Docs、Google Meetなどのツールを通じて行われます
- 時差の関係からメンバー同士のオンラインミーティングは東京時間の午前中(太平洋時間の午後)に行われます
- チーム内の技術的なコミュニケーション(特に文書によるもの)は基本的に英語で行われます
- 使用される技術スタックはGo, React (w/ TypeScript), MongoDB, Redis, Linux, Docker と 各種 AWS サービス (EC2, ECS, SQS, S3, etc.)などです
- リモートファーストの勤務です。東京オフィスの100km圏内に住んで頂くことを推奨しますが、必要時に出社できるようであれば、国内どこでも在住していただくことが可能です(費用は支給、上限あり)
経験とスキル
- 必須な経験とスキル
- クラウドベースのバックエンドシステムの設計と実装における8年以上の実務経験
- AWS上でのクラウドアプリケーションの立ち上げと運用における5年以上の実務経験
- 5年以上のLinuxの使用と開発経験
- 英語での文書および口頭での技術的な議論ができること
- Goプログラミング経験、またはGoプログラミング学習に興味があること
- 複雑な技術プロジェクトの詳細な実行計画を作成し、他のエンジニアと調整/協力する能力
- 他のエンジニア、プロダクトマネージャー、ビジネスチームメンバーなど、すべてのステークホルダーと効果的にコミュニケーションをとる能力
- あると望ましい経験とスキル
- Terraformの使用経験、HCLファイルの作成経験
- Pythonプログラミング経験
- マイクロサービス開発経験
- イベントドリブンアーキテクチャを用いたシステム設計/実装経験
- 求める人物像
- チームメートや、顧客、プロダクトのユーザーに共感できる方
- 技術コンセプトを技術背景のないメンバーに効率的に伝えることができる方
- 製品とビジネス両方の成功に対して高い関心を持つことができる方
- チームファーストのメンタリティーを持つ方
- 知的好奇心を持ち知識をシェアしたいという気持ちを持っている方
Apply for this job
*
indicates a required field