説明
- Pythonアプリケーションの設計、開発、保守を行います。
- 異なる部門間のチームと協力して、新機能の定義および実装を行います。
- パフォーマンスおよびスケーラビリティ向上のために、既存コードのトラブルシューティングと最適化を行います。
- ベストプラクティスに従い、読みやすく、保守性が高く、効率的なコードを記述します。
- コードレビューに参加し、チーム内の知識共有に貢献します。
要件
コアバックエンドスキル
- Python (3.8+):Pythonの深い理解、非同期プログラミング(例:async/await、asyncio)およびtypingに関する知識を有していること。
- FastAPI:FastAPIを用いたRESTful APIの構築経験(依存性注入、Pydanticモデル、バックグラウンドタスクの実装含む)をお持ちであること。
- SQL/ORMs:PostgreSQLまたはMySQLの習熟、およびSQLAlchemy等のORM(特に非同期サポート)の使用経験があること。
- API設計:スケーラブルなAPIの設計、バージョン管理、ドキュメント作成が可能であり、理想的にはOpenAPI / Swaggerの知識を有していること。
Temporal.io とワークフローエンジニアリング
- Temporal SDK (Python/Go/Java):ワークフローおよびアクティビティの構築・保守の実務経験があり、理想的にはPython SDK(または使用しているスタックに応じたTypeScript/Go/Java)の経験があること。
- イベント駆動アーキテクチャ:分離されたシステム、冪等性タスク、再試行戦略、耐久性のある状態機械に関する理解があること。
- 分散システム:再試行、整合性、フェイルオーバー、長時間実行されるワークフローにおける可観測性などの概念に精通していること。
- メッセージブローカー:Kafka、RabbitMQ、またはAWS SNS/SQSに関して、ワークフローやイベントのトリガーに使用した経験があること。
DevOps / インフラ
- Docker:FastAPIアプリケーションおよびTemporalワーカーのコンテナ化経験があること。
- CI/CDパイプライン:GitHub Actions、GitLab CI、その他類似のツールを用いた自動テストおよびデプロイ経験があること。
- クラウド(AWS/Azure):EC2、Lambda、ECS、EKS等を利用したサービスのデプロイ経験があること。
- Infrastructure-as-Code(ボーナス):Terraform、Pulumi、またはCloudFormationを使用してTemporalクラスターおよび関連インフラのプロビジョニング経験があると尚可。
テストおよび品質管理
- Pytest:APIおよびワークフローのユニットテスト・統合テスト作成の経験があること。
- テストコンテナ(ボーナス):Docker環境でデータベースやメッセージングのローカルテスト経験があると尚可。
- 監視/ロギング:Prometheus、Grafana、またはOpenTelemetryを用いたワークフローの可観測性向上の経験があること。
ソフトスキル / プロジェクト経験
- システム設計:APIまたはバックエンドシステムをゼロから設計した経験があること。
- チーム協働:アジャイルチームでの業務経験、プルリクエスト対応、コードレビューへの参加経験があること。
- ドキュメンテーション:ワークフローおよびAPIに関する明確な技術文書を作成できること。
PythonTemporal.ioDevOpSFastAPIAWSサービスDockerGitRESTful APICI/CD