Discover companies you will love
株式会社LASSIC / IT事業部・マネージャー
SES業界でシステムエンジニアとしてのキャリアを開始しました。初めは運用保守から始め、バックエンドを中心に担当をしていました。現在はマネージャーとして、プロジェクトマネジメントから、案件の受発注管理、現場作業まで幅広く対応をしております
「知識で社会をアップデートする」 ・社会が複雑化する速度と比べて、私たちが社会に出るまでに触れることのできる情報はアップデートの速度はあまり変わっていないようにおもう ・未来を担う人たちが社会において自身の意思決定を十分にできる環境を知識の補填によって実現したい ・具体的には教育領域での事業運営など
官公庁業務改善システムの開発にPLとして従事した セキュリティ制約の厳しい案件で、開発環境の構築から全て実施する必要があった。 またさまざまな要因で私が参画した時点ですでにスケジュールから1ヶ月以上の遅延状態にあったが、現在はなんとかオンスケジュールに回帰している
◾️システム ・インフラ:Windows Server 2022(オンプレミス) ・ミドルウェア:SQL Server 2022, Apache, Apache Tomcat ・開発環境:Windows11, Hyper-v ・バックエンド:Java 17(Spring boot, Spring Batch) ・フロントエンド:HTML/CSS(Bootstrap) ・バージョン管理:Git (Gitlab) ◾️チーム規模 ・5名(自分,PM1名, SE2名, 技術サポート1名) ◾️業務 ・基本設計 ・DB設計 ・アプリケーションアーキテクチャ設計 ・システムアーキテクチャ設計 ・詳細設計 ・実装(実装、コードレビュー) ・アプリケーション構築 ・ミドルウェアキッティング ・本番環境サーバーにミドルウェアをインストールする作業を実施 ・単体テスト(試験仕様書レビュー、試験実施、試験結果レビュー) ・結合テスト(試験仕様書作成・レビュー、試験結果レビュー) ・顧客折衝 ◾️実績 ・某大手メーカーがクライアントでエンドユーザーが行政機関の案件 ・エンドユーザーの業務改善システムをスクラッチで開発 ⚫︎開発環境の構築 ・セキュリティの制約により、開発環境はスタンドアローンで行う必要があり、下記のことを調べながら実施し、オンライン環境と大差ない開発環境を構築した ・Gitlabの導入:ソースコードを集約管理するためにセルフマネージド版のGitlabをWSL上に構築 ・検証環境の構築:Windows Server 2022をHyper-Vを用いて構築し、結合試験環境を構築。 ・検証環境の構築自体が当初計画になく急遽実施したものであったが、この環境構築により、アプリケーションの品質担保はもちろん、リリース手順の確立などに貢献した ・ネットワーク整備:上記Gitlabと検証環境にLAN上からアクセスできるようにポートフォワーディングの設定や、リモートデスクトップの許可などを行った ⚫︎DBの設計 ・初めて1からDBを作成するにあたり、データ要件に照らして照合順序の設計を行なった ・DBに入ってくる値は多くが日本語で、また検索機能が重要なシステムであったためそれらを考慮して最適な照合順序をDB、カラムにそれぞれセッティングをした ・また、データ型、サイズ、キー制約なども仕様に従って設計をおこなった ⚫︎ミドルウェアの選定とDBのキッティング ・システムはバッチシステムと、DBを管理するWEBシステムで構成されており、このうちWEBシステム側のミドルウェア選定で貢献ができた ・引き継ぎ前のチームから引き継いだミドルウェア構成にはApacheが含まれておらず、アプリケーションサーバのみの構成だった ・今後の運用や耐障害性を考慮し参画後にApache、Apache Tomcatの構成に変更した ・本番環境に導入するサーバにDBをキッティングする作業について、当初作業担当だと思われていたクライアント側のチームが認識しておらず急遽弊社側で対応することになった ・キッティング手順を確立するために急ピッチで検証環境を構築し、その手順を持って本番環境サーバにDBのキッティングを行なった ・急な依頼であったが、手順を確立していたことにより予定よりも1日早く作業を完了させることができた ⚫︎Java、Springのキャッチアップ ・本案件で初めて触ることになったJavaとSpringのキャッチアップのため、自宅でも開発を行った ・結果としてプロジェクト中盤にはプロジェクト内で一番JavaとSpringについて詳しくなり、自身のタスクはもちろん他メンバーのコーディングのサポートも行い、進行に大きく貢献した ⚫︎性能の改善 ・自身が作成したバッチアプリケーションの処理速度向上をクライアントから依頼され対応した ・対応は以下のように進めた ・検証環境の準備:バッチ処理の途中で外部のAPIをコールする仕組みがあるためApacheを使ったstubを用意した ・処理速度の計測:デバッグログを仕込んで、どの部分で処理に時間がかかっているかを可視化させた ・仮説を立てる:処理時間が負荷によって指数関数的に増加していることから、不要になったオブジェクトが正しく破棄されていないのではないかという仮説を立てる ・ヒープ領域の確認:jstatコマンドやjmapコマンドを駆使して各領域の逼迫状況とオブジェクトが正常に破棄されているかを調査 ・プログラムの修正:検証の結果オブジェクトが正常に破棄されていないことがわかったので、適切にオブジェクトが破棄されるようにプログラムを修正 ・上記の対応の結果同じ負荷の下で処理時間を42分から5秒まで短縮することができた ⚫︎将来を見越したドキュメント整備 ・本案件は3ヶ年計画で、少なくとも今後2年はシステムが拡張される ・開発を優先したため整備しきれなかったドキュメントや、情報が多々あったためチーム内で棚卸しを行い、後続のチームが困らないようにドキュメント整備を進めている ・クライアントやエンドユーザーに関係のある、システムの中身に関することだけでなく、開発に関することも丁寧に棚卸しを行い情報の整理を行なっている
売上管理システムのリプレイス案件のデータ移管機能開発にPMとして従事しました
◾️システム ・インフラ:オンプレミスに構築されたLinux ・バックエンド: PHP ・コミュニケーション: Teams ・タスク管理: Backlog ◾️チーム規模 ・2名(自分+PL/SE2名) ◾️業務 ・要件定義 ・基本設計レビュー ・詳細設計レビュー ・実装(コードレビュー) ・結合テスト(試験仕様書レビュー、試験結果レビュー) ・顧客折衝 ◾️実績 ・顧客の売上管理システムの移行にあたって旧システムから新システムへのデータ移行、データ取り込みを行うバッチを作成する案件 ・自身を含めた2名のチームのPM,PLとして参画 ・案件開始のキックオフから、顧客との定例MTGのセッティング、コミニュケーションツールの設定などプロジェクトの基盤作りを実施 ・並行してプロジェクト全体のWBSとガントチャートを作成した ・スケジュール中盤から顧客の要望が追加されたり、システム上の制約による仕様の追加により、工数があぶれたため私もテスト仕様書の作成やプログラムの作成でヘルプを行った ・仕様の追加等による工数があぶれた際には顧客にスケジュールの延長とその分の追加請求の調整を行い、無事納品スケジュールの延伸と追加の請求を行うことができた ・結果オンスケジュールで成果物の納品ができた
複合機メーカがクライアントの案件にて複合機更改の際のテスターとして参画 テスト時に実際に現地にいく必要があったため東京在住の自分がアサインされた
自身の配下チームである当チームで障害が発生したためPLとしてヘルプ参画
◾️システム ・インフラ:AWS(EC2、RDS MySQL Aurora、ALB、CloudFront、Elasticache、S3、Lambda、DynamoDB...etc) ・監視:NewRelic ・開発環境:Docker ・バックエンド:PHP、Laravel ・フロントエンド:HTML/CSS ・構成管理:ansible ・CI/CD:GithubActions ・バージョン管理:Git (Github) ◾️チーム規模 ・3名(自分+PG2名) ◾️ 業務 ・詳細設計 ・実装(コードレビュー) ・単体テスト(Unitテストコードレビュー) ・結合テスト(試験仕様書レビュー、試験結果レビュー) ・顧客折衝 ◾️実績 ・広告の配信、管理を行い、配信した広告で成果達成をしたエンドユーザーにポイントを付与するシステムの運用保守案件 ・3名(自分+PG2名)でのチームにPLとして参画 ・本プロジェクトへの参画は障害収束のためのヘルプ参画 ・詳細設計、実装、単体テスト、結合テスト、コードレビュー、顧客とのスケジュール、対応スコープの調整を実施 ・並行してチーム離脱に伴う引き継ぎを実施 ・引き継ぎドキュメントの作成とレビューを実施 ・引き継ぎに関しても無事に終了 ・障害の発生により本来リリースすべき案件が1ヶ月以上遅延していたが離任の終盤にリリースの目処が立つレベルに収束
某大手キャリア子会社の運営するポイントサイトの運用保守プロジェクトでPLを務める チームの進捗管理などのマネジメント業務、顧客折衝などのディレクション業務、成果物レビューなどのリーダー業務を遂行していた。忙しい時は自身で実装も行なっていた。
◾️システム ・インフラ:AWS(EC2、RDS MySQL Aurora、ALB、CloudFront、Elasticache、S3、Lambda、DynamoDB...etc) ・監視:Datadog、NewRelic ・開発環境:Docker ・バックエンド:PHP、Laravel ・フロントエンド:HTML、 SCSS、jquery ・構成管理:ansible ・CI/CD:GithubActions ・バージョン管理:Git (Github) ◾️チーム規模 ・最大6名(PL(自分)+5名) ◾️業務内容 ・要件定義 ・ビジネスサイドのディレクターの要求を開発観点で要件化、またはそのお手伝い ・基本設計 ・ MySQLのテーブル設計 ・API IF設計 ・ファイルIF設計 ・詳細設計 ・実装 ・LaravelでのPHPの実装 ・HTML、SCSS、jqueryの実装 ・単体テスト ・ PHPUnitを用いたテスト ・ソースコードレビュー ・GithubのPRを使用したコードレビュー ・結合テスト準備 ・Gatlingを用いた負荷試験の設計 ・Cypressを用いたくじ引き機能の確率検証の設計 ・結合テスト実施 ・アラート対応 ・NewRelicを使用したログ調査 ・AWS EC2に接続しての調査 ・CloudWatchを使用したログの調査 ・Lambdaのエラーログ調査 ・SQSの調査 ・総合テスト準備 ・開発側主導の案件などの要件に基づくテスト項目の作成、そのレビュー ・総合テスト実施 ・リハーサルテスト実施 ・その他タスク ・調査タスク ・ビジネスサイドの依頼で調査を実施、必要に応じてSQLを作成しEC2上から実行するなど ・メンテナンス ・ALBやCloudFrontを操作してサービスをメンテナンス状態にする作業 ・1on1 ・顧客折衝 ・メンバーのサポート ・プロジェクト進捗管理 ・案件優先度調整 ・人事評価をつける(2023年7月~) ◾️実績 ⚫︎性能試験の実施 ⚪︎状況 ・リニューアルをするコンテンツでは、くじ引き機能があり、管理画面上で設定した確率で当選が出るかの検証が必要であった ⚪︎行動 ・負荷試験にて使用したGatlingは、サーバに繰り返しアクセスをすることでサーバの性能を試験するものだったため、ロジックの検証には使用できないと判断。Cypressを用いた自動画面操作によって当選が設定通りの確率で排出されるかを検証 ・当時、Cypressはプロジェクトで導入した実績がなかったが、以前の経験からテストコードの実装と導入手順を整備し、担当エンジニアの性能試験実施をサポートした ・確率の検証方法についても調査し、数学的に妥当な試行回数を検討、設定し、確率の検証を実施 ⚪︎結果 ・リリースから現在に至るまで等賞の売れ残り、早い段階での売り切れが起きておらず、おおよそ設定値通りの確率で抽選が行われるシステムになった ⚫︎コンテンツリニューアル案件のリリース ⚪︎状況 ・コンテンツリニューアル案件において、初めてマネジメントを担うことになった ・メンバーは全員フルリモートでの勤務 ・プロパー1人、BP2人の構成 ⚪︎行動 ・個々人のスキル感を詳細に把握し、担当する機能を適切に分担した ・フルリモート勤務であることから、作業進捗や問題の発生に気づきにくい状況であったため毎日実施していた夕会に加えて昼会も実施し、早めに問題の回収、対応に当たれる環境を作った ・(スキル感が心許ないメンバーもいたため)チーム内でスキルのレベルに差があったため、PHP Unitの勉強会の開催や、モブプログラミングを実施した ・顧客とのMTG結果は実施後、翌日すぐに展開を行い、メンバーがプロジェクトの最新の情報を常に知っている状況を作った ⚪︎結果 ・切り戻しになるバグもなく、大きな遅延も発生させずにリリースまで完遂 ・現在もサービスの主力コンテンツとして、200万件/日 のアクセスがあるコンテンツとなっている ⚫︎Laravelアップデート実施 ⚪︎状況 ・Laravel6のサポート終了のため、Laravel6から8へのアップデートを実施 ⚪︎行動 ・調査はアップグレードガイドをベースに基本的なことを明文化し、認識のずれを防ぐことで大きな手戻りを防いだ ・結合テスト期間の見積もりを見誤り、担当のエンジニアだけでは対応しきれなかったため、他のエンジニアにもサポートを依頼し、オンスケジュールでテストを終えることができた ・リカバリを増員だけでなく、タスクを分解し、集中的にテストデータの入稿方法や、バッチの実行方法、実行するSQLの作成などに専念する体制を構築した ⚪︎結果 ・メンバーが迷うことなく迅速にテストを終えることができ、手戻りなくアップデートを完遂 ⚫︎システムの引き継ぎ ⚪︎状況 ・保守対象のシステムの中で、引き継ぎが完了していないものがあった ・LambdaやSQSを組み合わせた複雑なシステムのため、前任よりレクチャーの時間を設けたものの、理解の浅い状態であった ⚪︎行動 ・チーム内で工数に空きがあり、新しいチャレンジをしたいエンジニアにタスクアサインし、引き継ぎ資料のブラッシュアップを依頼 ・完成した資料をベースに、あらためて自身のシステム理解も進め、システムアラート発生時には、積極的に対応を拾うことでさらに自身の理解度も高めた ・対応実績をナレッジとしてドキュメント化し、次回以降のアラート対応を他のメンバーに実施してもらうサイクルを生み出した ⚪︎結果 ・システムのアラート対応ができるメンバーを増やし、属人化しない体制を構築できた ・現在は、アラート対応も自チームで巻き取れるようになり、お客様の監視工数の削減にも寄与 ・この取り組みの他、重大なインシデントをチーム発足以降発生させていないことから、顧客満足度も高く社内表彰にも繋がり、チームの取り組みを全社的に知ってもらう機会となった ⚫︎外国籍メンバーのマネジメント ⚪︎状況 ・2023年5月から外国籍のメンバーがチームに参画 ・日本語は話せるものの、システムの複雑な話や、チームビルディングに関する話ではうまく意思疎通が図れない場面がある ⚪︎行動 ・わからない単語を伝えるときは、言葉を英語に翻訳して伝え、加えて「図を使う」ことを意識している ・draw.ioというツールを用いて会話中に言葉ではなく言葉ではなく、図示しながら頭の中のイメージを擦り合わせるようにしている ・また私が役割上コミュニケーション機会が多いため、そこで得られたコミュニケーションの工夫を他のメンバーにも展開し、メンバー間のコミュニケーションにおいても問題が発生しないように努めている ⚪︎結果 ・現在に至るまでコミュニケーションに起因するタスクの大きな手戻り等は発生しておらず、高いパフォーマンスを発揮してもらえている ・他メンバーとのコミュニケーションも問題なくできており、私の指示やサポートがなくともチームが回る状態を作ることができた ⚫︎DynamoDB ・リニューアル案件ではDynamoDBのテーブル設計が必要であったが、これまでDynamoDBに触れた経験がなかったため、公式ドキュメントを読み込み、稼働中のテーブルやソースコードを見る等してキャッチアップを行った ・結果として、テーブル設計において顧客から大きな指摘もなくクリアすることに至った ・理解度を高めたため、途中に発生した要件変更によるテーブル設計の変更や、テスト時に発覚した問題にも柔軟かつ迅速に対処することができた ・結合テスト ・プロジェクト参画前までは標準的な開発プロセスに沿った開発の経験がなく、結合テストの適切な粒度や単体テスト、総合テストとの棲み分けの理解が低い状態であった ・知識を得るために、ネット上の解説記事を読み、PMへレクチャーを依頼し、書籍を読み込んでキャッチアップし、結合テストに対する理解を深めた ・学習の成果として、テスト観点を盛り込んだ結合テスト仕様書のフォーマットを作成し、テスト作成の品質向上に寄与 ・現在は単体テストと総合テストとの棲み分けに対し、自分なりの見解を持てる状態に至っている ・プロジェクトマネジメント ・これまでは2名で回していたプロジェクトだったため、形式的なマネジメントは不要であったが、メンバーが4名に増員し、かつ2名はBPのメンバーだったため、プロジェクトマネジメントの学び直しを行った ・業務とは別に社内の課題改善チームで社内業務の標準ドキュメント作成を行なっており、PMBOKを学習していたため、解説本からPMBOKをキャッチアップしていた ・結果として、プロジェクトマネジメントや、このチームでは何をすべきかの理解に繋がり、計画段階におけるWBSの作成、ガントチャートへの落とし込み、ステークホルダーの把握を行った ⚫︎1on1の導入 ・チーム内で実施していながった1on1を導入し、メンバーのメンタルの変化や、業務の中での困りごとを細かく回収する仕組みが整った ・会議体の改善 ・顧客への報告会を毎週月曜日に実施していたが、報告前の社内打ち合わせを金曜日に行っていたため、打ち合わせ時の状況と報告会の時の状況に乖離が発生し、報告の品質が下がっていた ・顧客の担当者がエンジニアで、具体的なシステムに関する報告が求められる中で、ディレクターを介したコミュニケーションがなされていた ・この状況に対し、打ち合わせを報告会の当日に移し、自身も報告会に参加するよう自ら志願した ・結果、打ち合わせ時の状況と報告会時の状況の乖離が小さくなり、顧客にプロジェクトの最新の状況を報告することができるように至った ・社内打ち合わせ時に「この内容は自分の方が説明できるので、自分に振ってほしい」とファシリテーターのディレクターに依頼し、発言機会を増やしていった ・最終的にファシリテーターの業務も巻き取り、顧客に伝わりやすいようなアジェンダに刷新し、ディレクターを介したコミュニケーションの解消を行った ・また、会議時にカメラをオンにすることを提案し、自身の顔を顧客に覚えてもらい、信頼関係の構築を測った結果、顧客との関係性も改善 ・これらの取り組みとプロジェクトマネジメントの実績から、顧客からのフルリモートチームでの開発業務に対する不安を払拭でき、サービスのメインコンテンツのリニューアル案件を任せてもらえるようになった ・新規参入メンバ受け入れフローの整備 ・リニューアル案件の対応時に2名の増員があり、増員メンバーがスムーズに業務に参画できるように新規参入メンバ受け入れフローの整備を実施 ・3ヶ月という期間を見据えた受け入れフローは存在していたものの、この案件において、キャッチアップ期間は2週間しかとれない状況であった ・2週間でキャッチアップが完了するよう「キャッチアップ後の状態を具体的に設定」「キャッチアップ範囲を絞り込む」「キャッチアップ中は専用のTeamsに専用のスレッドを立てていつでも質問をしていい状況を作る」というアクションを実施 ・これらによりキャッチアップが計画的に進み、プロジェクト参画時に頻発する「聞きづらい状況」の回避にも繋がった ・ここで整備したフローが現在も活用され、現在までのメンバーの入れ替えや受け入れ時にもキャッチアップ期間を2週間で収めることができ、メンバーの入れ替えによる業務品質の低下を出すことなくプロジェクトの運営に繋がっている
某大手キャリア子会社の運営するポイントサイトの運用保守プロジェクトにメンバーとして参画 リーダーからの業務指示を遂行しつつ、設計書やソースコードを読み込みシステムに対する理解度を高めていた
◾️システム ・インフラ:AWS(EC2、RDS MySQL Aurora、ALB、CloudFront、Elasticache、S3、Lambda、DynamoDB...etc) ・監視:Datadog、NewRelic ・開発環境:Docker ・バックエンド:PHP、Laravel ・フロントエンド:HTML、 SCSS、jquery ・構成管理:ansible ・CI/CD:GithubActions ・バージョン管理:Git (Github) ◾️チーム規模 - 人数:2人 - 役割:メンバー ◾️ 業務内容 ・詳細設計 ・実装 ・結合テスト準備 ・結合テスト実施 ・アラート対応 ・ 通知されたアラートからサーバに接続してログの調査などを行う
メンバーとしてクライアントのWEBシステムの運用保守に携わりました
◾️システム(一つのプロジェクトで複数のシステムを保守していました) ・インフラ:AWS EC2、AWS EKS、オンプレミス(OSがなんだったかは失念しました) ・バックエンド:PHP、Yii、Laravel、Java ・フロントエンド:HTML、 CSS ・バージョン管理:Git (Github) ・E2Eテストツール:Cypress ・チーム規模:4人(PL1人、メンバー3人) ◾️業務内容 ⚫︎実装 ・YiiでPHPの実装 ・HTML、CSSの修正 ・結合テスト仕様書作成 ・結合テスト実施 ・アラート対応 ・通知されたアラートからサーバに接続してログの調査などを行う ・定期的なミドルウェアのアップデート作業 ・AWS EC2に接続をしてyumを使ってミドルウェアのアップデートを行なっていた ・AWS EKSで管理しているDockerコンテナをECR上のイメージから最新化を行なっていた ・Terratermで組まれたマクロを使用してオンプレミスサーバに接続しての作業、その手順書の作成 ⚫︎実績 ⚪︎E2Eテストツール導入 ・画面の表示確認の自動化を行うために「Cypress」を導入した ・これにより画面へのアクセス確認とキャプチャの取得が自動化されリグレッションテストの効率化を実現できた ⚪︎サービスのクロージング作業 ・オンプレミスサーバ内のミドルウェアの洗い出しを行い、停止手順を一つずつ調査した ・また、停止に際しての影響範囲調査も行なった ・お客様からDBのバックアップを取得するように言われたのでmysqldumpを使ってバックアップをした ・最後に上記全てをまとめた手順書を一から作成し、障害を起こすことなくクロージングさせた ⚪︎レビュータスク改善 ・当時のチームはレビュータスクがPLに集中しすぎてタスクの遅延が起きるという課題があった ・またレビュワーがPLしかいない状況がプロジェクトの持続可能性を損なうと考えたため、レビューを2段階にわける下記のような取り組みを提案、導入した。 ・一度目のレビューはPLではなく、メンバーに依頼する ・二度目のレビューでPLにレビュー依頼を行う ・これによりメンバーのレビュー機会創出が実現され、さらにPLは一度チェックされたものをチェックするのでレビュー箇所が少なくなり、PLの負担も減らすことができた
View Masashi Tajiri's
Full Profile
This information is visible only to Wantedly users or the user’s connections
View past posts
View mutual connections
View Masashi Tajiri's full profile