職務内容
TaxBitは、顧客に洗練され一貫性のある効率的な機能を提供する複雑でモダンなアプリケーションの設計、開発、保守を行うスキルの高いソフトウェアエンジニアを募集しています。この役割では、ビジネス目標とユーザーニーズに沿った革新的なソリューションを作成するため、クロスファンクショナルチームと緊密に連携します。理想的な候補者は、既存プラットフォームとシームレスに統合可能なスケーラブルなシステムとサービスの構築を担当し、高性能と信頼性を確保します。また、デザイナーやプロダクトマネージャーと協力して開発ツールのベストプラクティスを定義し、ユーザーエクスペリエンスと技術的卓越性に焦点を当てることで、製品戦略全体に貢献します。このポジションでは、ソフトウェア開発ライフサイクルの深い理解と、厳しい期限を守る高品質なコードの提供能力が求められます。
主な責任
- モダンな技術とフレームワークを使用して複雑なアプリケーションを開発・保守し、機能性、パフォーマンス、スケーラビリティに関する顧客要件を満たします。
- デザイナーやプロダクトマネージャーと協力し、ビジネスニーズを技術仕様に変換し、最適なユーザーエクスペリエンスとシステム効率のためのツールやプロセスを改善します。
- コードの可読性、テスト容易性、ソフトウェア設計原則への準拠を含むベストプラクティスに従った、クリーンでドキュメント化された保守可能なコードを記述します。
- コード品質を確保し、潜在的な問題を特定し、エンジニアリングチーム全体で知識を共有するため、コードレビューに参加します。これには、パフォーマンス、セキュリティ、保守性の観点からのコードレビューが含まれます。
- 複数のシステムやサービスにわたるエンドツーエンドの問題解決を担当し、既存ソリューションのデバッグ、最適化、強化を独立して行うとともに、他のエンジニアと協力して技術的課題に対処します。
- 新興技術や業界動向を常に把握し、開発プロセスを継続的に改善し、進化する顧客ニーズに対応する最先端のソリューションを提供します。
- API仕様、ユーザーガイド、システムアーキテクチャ図などの技術ドキュメントの作成に貢献し、関係者にとっての明確さと使いやすさを確保します。
- アジャイル開発手法(デイリースタンドアップ、スプリントプランニング、レトロスペクティブなど)の実装をサポートし、高品質なソフトウェアのタイムリーな提供を確保します。
- 継続的インテグレーションおよびデリバリー(CI/CD)の実践に取り組み、テスト、デプロイ、監視プロセスを自動化し、信頼性とスケーラビリティのあるアプリケーション提供を確保します。
- QAチームと協力してテストケースを設計・実行し、すべての機能が要求される品質基準とユーザー期待を満たすようにします。
求めるスキル・経験
- Python、JavaScript、Javaなどのプログラミング言語を使用した複雑なアプリケーション開発の実績があり、オブジェクト指向プログラミングとソフトウェア設計原則の強固な基礎を有すること。
- React、Node.js、DjangoなどのモダンなWeb開発フレームワークに関する深い知識と、スケーラブルで安全かつ保守可能なソリューションを実装する能力。
- PostgreSQL、MongoDB、MySQLなどのデータベース技術に関する強力な理解(クエリ最適化、データモデリング、アプリケーションロジックとの統合を含む)。
- AWS、Azure、Google Cloudなどのクラウドプラットフォームの経験(スケーラブルなインフラストラクチャとサービスのデプロイ、設定、管理を含む)。
- 優れた問題解決能力と、パフォーマンス、信頼性、セキュリティに焦点を当てた複雑なシステムのデバッグ、トラブルシューティング、最適化の能力。
- Gitなどのバージョン管理システムの習熟度(ブランチ戦略、コードコラボレーション、クリーンなコミット履歴の維持を含む)。
- 高速な環境で独立しておよび協調して作業する能力と、成果物に対する強い所有意識と責任感。
- クロスファンクショナルチームとの効果的なコラボレーション、技術的ソリューションの提示、プロセスの明確なドキュメント化のための優れたコミュニケーションスキル(書面および口頭)。
- 細部への強い注意と、コーディング標準とベストプラクティスに準拠したクリーンで構造化された保守可能なコードを記述する能力。
- Jenkins、Travis CI、GitHub Actionsなどのツールを使用した継続的インテグレーションおよびデリバリー(CI/CD)パイプラインの経験(テスト、デプロイ、監視プロセスの自動化を含む)。
- ユニットテスト、統合テスト、エンドツーエンドテストを含むソフトウェアテスト手法の知識と、高品質で信頼性のあるソフトウェア提供を確保する能力。
- 技術要件を分析・解釈し、機能仕様に変換して効率的にコードに実装する能力。
- DevOpsプラクティスの経験と、TerraformやAnsibleなどのInfrastructure as Codeツールを使用してスケーラブルなシステムを管理・デプロイする能力。
- システムアーキテクチャの強力な理解と、既存プラットフォームと統合可能なスケーラブルで安全かつ保守可能なソリューションを設計・実装する能力。
- 優れた時間管理スキルと、プロジェクトの期限と成果物を満たすためにタスクを効果的に優先順位付けする能力。
- アジャイル手法の習熟度と、動的な環境で変化する要件やプロジェクトの優先順位に適応する能力。
- RESTfulおよびGraphQL APIを含むAPI開発と統合の知識と、システム間のシームレスな通信を確保する能力。
- デザイナー、プロダクトマネージャー、QAエンジニアを含むクロスファンクショナルチームと協力し、まとまりのあるユーザー中心のソリューションを提供する能力。
- ソフトウェア開発ライフサイクルの強力な理解と、JiraやTrelloなどのツールを使用して進捗を管理・追跡する能力。
- Dockerなどのコンテナ技術とKubernetesなどのオーケストレーションツールの経験と、本番環境でスケーラブルなアプリケーションをデプロイ・管理する能力。