▼募集背景
「Mobile Tech for All(モバイルテクノロジーの民主化)」を実現するためには、新機能の開発に加え、40を超える既存機能の保守・運用をしていく必要があります。 Yappliの導入実績は 600アプリを超え、ユーザー数も加速度的に伸びており、今まで以上にAPIのパフォーマンスやセキュリティ、システムの安定化が要求されるようになってきています。また、技術的負債やネイティブアプリのSaaS固有の技術的、組織的課題も多数あります。
これらの課題を解決し、よりスピード感・安定感のある開発体制を整備していくため、サーバーサイドエンジニアとしてYappliを作り上げていく仲間を探しています。
▼業務内容
ヤプリは、クライアント数の増加に伴って社会的なプラットフォームとして成長してきました。
Yappliプラットフォームで作成されたアプリにコンテンツを配信するAPI及びCMSの機能開発、改善を行います。
・CMS及びネイティブアプリ向けAPIの開発(PHP, Golang)
・コンテンツ管理画面(CMS)のフロントエンド実装(TypeScript, Nuxt.js/Vue.js)
・安定的にサービスを提供できるための改善
・クライアントからの要望に応じた機能開発 ・新しい技術の検証や活用、サイトパフォーマンスのチューニング等
・サービスの品質向上や業務効率化のための提案、実施
▼開発・体制について
・既存システムの技術スタックに縛られず、Go / gRPC などモダンな技術を開発メンバーと一緒に検証しながら、主体的に取り入れて開発を進めています。(他にも AWS / Fargate / GCP / CircleCI / Datadog なども活用しています)
・運用の中で発生する手作業の自動化は積極的に投資しています。この取り組みを始めてからまだ間もなく、効率化できる部分は数多くありますし場合によってはその基盤の構築から取り組む必要が出てくるため、そのフェーズを楽しめる方を求めています。
・プロジェクト発足時にSREからサーバサイドエンジニア、アプリエンジニア、UI/UXデザイナー、プロダクトマネージャーなど一同に会してキックオフを行い、そのメンバーでプロジェクトを進行させています。リリース直前に構築の依頼を受ける形ではなく、顧客に届けたい価値は何なのかを考えながらプロジェクトに参画いただきます。
・会社として優先度が高いプロジェクトは上記の体制で進めつつ、後回しになりがちな緊急度が低い課題に集中して取り組めるYappdateDayという取り組みを行っています。
<主要な技術スタックと開発環境>
・開発言語: Go, PHP, JavaScript/TypeScript
・フレームワーク: Nuxt, Next.js, Laravel
・DB/キャッシュ: MySQL, SQLite3, Redis, BigQuery, Redshift, DynamoDB
・CI/CD: CircleCI, GitHub Actions, AWS OpsWorks, Deployer
・インフラ: AWS (ECS, RDS, SQS, SNS, Lambda, ALB, Amplify等), Google Cloud (Cloud Functions, Cloud Run, Dataflow, Firebase等)
・ログ管理・監視: NewRelic, DataDog, Sentry, Redash, CloudWatch Logs
・その他: gRPC, Docker, GitHub, JIRA, Confluence, Slack, Zoom
▼必須条件
・いずれかの言語に対する深い理解およびWebアプリケーションの開発経験
・PostgreSQLやMySQLなどのRDBMSの利用経験
・長期の運用を見据え保守性を考慮した設計を行った経験
・コードレビューおよび設計レビュー
▼歓迎要件
・次のいずれかの言語での開発経験(Golang, PHP)
・フロントエンドの開発経験
・ネイティブアプリの開発経験
・ElasticsearchやRedisなどの利用経験
・大規模サービス・分散システムの開発経験
・フロントエンドまで含めたパフォーマンス改善の経験
・サーバーレスアプリケーションの経験
・OSSの公開やOSSへのコントリビュートの経験
・国内外カンファレンスやミートアップ等での登壇経験