ID:764さん

3年後の目標や野望


自身の需要を元に開発したOSSプロダクトに対して、国内外での利用者(可能であれば支持者)がいる状態まで育てたい

「こういうサービスに関わりたい」というビジョンがない。 だからこそ、「自分にとって意味がある = 他人にも意味を持つ」という確固たるものを持つことで、 技術的視点を軸足としてきちんと動けるエンジニアでいたいため。 現状、自分のプロジェクトとして持っているOSSライブラリを、こういった「事業性とは別軸の純粋なエンジニア」として育て続けることで、会社という概念に縛られないポジショニングを目指せるのが理想。

年収評価シート

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

2012年/2年以上

自社ソーシャルゲームの運用インフラ管理

# 概要 メインチームで開発したゲーム類の運用が縮小体制になった後に、 全体インフラチームに参画して、他組織が運用していたゲームを一括で 動作させているサーバー群の運用などを対応 # 主担当 - サーバー運用(監視・異常時対応・更新など) - 不定期に、このインフラで可動しているサービスの機能追加にも参加 # 技術スタック - PHP: Webアプリケーションとして。ZendFrameworkをベースにした、社内開発のフレームワークを利用 - Apache: Webサーバーとして。 - NFS: Webサーバー台数が膨大だったため、コードのデプロイ先として運用。Webサーバーはこれをマウントする形式 - MySQL: DBサーバーとして。サービスに応じて個別にmasterを持ち、slaveのみ単一サーバーで集約 # 主な課題など ※ウェイトの高かったサーバー運用系でのトピック ## バックエンドソースの実装に起因する性能劣化とその対応 リクエストによって、レスポンスに大きなばらつきがあることを検知。 単純なNFSによるネットワーク通信などがボトルネックだったわけでなく、 コンポーネントのインポート処理に起因するものであると診断検知した。 ### 解決について 当時はcomposerやautoloadingなどの実装を用いておらず、 もっぱらrequire/includeなどの関数を使ってクラスのロードなどを行うスタイルだった。 この際に、内部処理として多数のクラスソースをrequire_once()を用いてインクルードしていたのだが、 インクルード済みのものをインクルードしないためのこの処理は単純なrequire()と比較して、 明らかに性能が出ないことがわかった。 インクルードを行う処理群がエントリーポイント序盤に1回しか呼ばれないことが確認できたため、 require_once を requireに差し替える改修を行い、最終的にレスポンスタイムを安定的に短縮できている。 ## PHPバージョンの更新 サーバー自体が比較的古い歴史のアプリの時期からのもので、 PHPのバージョンが古くEOLを超えており、 「セキュリティFix」「パーフォーマンス改善」を目的にバージョンアップを実施 当時はQAチームや定常的な動作検証ケースなどがなかったため、 以下のフローで実施。(基本的に自分のみで対応) - 更新前後のバージョンのデフォルト設定を比較して、旧バージョンに寄せる設定内容を策定 - 開発・ステージング環境の更新を行いアプリケーションレベルのログ内容をチェック→改修依頼 - 致命的になりうる部分を対処後に、本番環境に1台だけ導入してログを負いつつ最終確認 - 問題ないことを確認後、全台適用 最終的にパーフォーマンス改善がかなり大きかったらしく、 同時期で最大90台同時稼働していたWebサーバーが、同じPV相当で20台前後で処理できるまでに改善した。

2017年/2年以上

グループ内の内イベントの出席記録システム(1)

# 概要 社員証・入館証などに使われているNFCを利用して、 社内・グループ内イベントにおける、受付と出席記録を行うシステム # 主担当 設計〜開発〜運用全て(企画を除く) ## 企画を除く理由 この主旨のシステム自体はグループ内の別メンバーが開発したものが存在しており、 システム終了に伴い要件定義レイヤーの部分だけ引き取る形での提供が始まったため (基本的な動きをフォローアップした上で、ソースコードの提供は受けない条件だった) # 技術スタック ## バックエンド Python製WAFのDjangoをベースとしたWebアプリケーション。 WebsocketによるFE/BEの連携を行い、バックエンドでカードの認識・識別・出席判定を行って、 結果をsocket経由で通信する仕組みをとっている。 使っている主要なライブラリは、Django、Django Rest Framework、Django Channels、nfcpy、SQLite3。 ## フロントエンド イベント受付時の待受画面以外は、Bootstrapのみを使用したシンプルな画面。 待受画面に関しては、バックエンドで動いているnfcpyとの連携と多少インタラクティブな画面が要求されたため、Vue.jsで実装した。 ## 動作構造 PC単体で動作することを基本設計としており、ローカルで起動したサーバーにブラウザでアクセスする形式が基本。 これに加えて、LAN内にサーバー役の端末を用意することで、協調動作するようにもなっている。 # 主な課題など 移管元のシステムが運用時に揚がっていた要望として、 「現在の全体受付人数を知りたい」というものがあった。 この要件をクリアすることためには、受付記録の保存先を統合出来るようにする必要があり、 特定の端末単体を中心のサーバーとして運用する必要があった。 これに対して、USBカードリーダーは各クライアント接続が必要で、 なおかつブラウザ上から操作する手段が無かったため、 - カードリーダーの制御はローカルサーバーの機能として実装 - リーダーの結果を元にしたサーバー間通信は、サーバーがそのまま担当 - 中心となるサーバーをAPIと見立てて、結果を受け取り、Websocketを通じてブラウザに表示 というロジックを取ることで解消している。

2018年/2年以内

グループ内の内イベントの出席記録システム(2)

# 概要 プロジェクト4にて記載している「グループ内の内イベントの出席記録システム(1)」の後継版。 ※技術スタックが大きく乖離しているため、別プロジェクトとして記載 ※安定運用前のフェーズとして、社内限定で運用 # 技術スタック Firebaseを用いた、サーバーレス構成によるSPA。 - Next.js - Firebase Hosting - Cloud Functions for Firebase - Cloud Firestore - Web USB API # 主なトピック ## FirebaseとCloud Functionsによる受付API バックエンド系の動作環境をFirebaseにしたことにより、 認証基盤周りのスリム化とデプロイの容易さを実現した。 ## Web USB採用による受付可能端末の大幅増加 前システムは、nfcpyが動作できるPCで有ることが前提となっており、 可搬性に大きな問題を抱えていた。(待受台数が増えるほど必要なPC台数が増えて重量がかさむ) 再設計のタイミングで、Google ChromeがWeb USB APIを利用可能になったことがきっかけで、 カードリーダーとの通信をブラウザで処理する設計に変更し、 「カードリーダーの読み取り->受付処理用API通信->受付結果の表示」を ブラウザのみで全て完結する構造になり、なおかつAndroidでも動作するようにした。 ## WebUSBAPIの処理系をライブラリすることによる、社外での案件獲得 Web USB APIはブラウザで端末に接続されたUSBデバイスと通信するための規格となっている。 そのため、前システムで使っていたnfcpyをほぼベタ移植気味に行うことで、 ライブラリとして使えるように実装した。(コードはTypeScriptで実装) 結果として、このライブラリを流用することで、社外の面接官受付システムを 超短期間で開発・納品をした。

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
あり
Zenn アカウント
未入力です
Speaker Deck アカウント
あり
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
未入力です

今後、身につけなければいけないと思っている技術は何ですか?

未入力です

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

- 大前提として、割り込みの少ない(あるいはほぼ無い)こと - 課題の難易度が十分あること(低くても、効率仮面などで別の難しさがあれば可) - 手を出してしまいやすいテーマであること 上記が成立すると、時間を忘れがち

キャラクター

直近で一番やりたいこと
現場にいたい
好きなスタイル
好きな規模
水とプログラミングどっちが大事?
自信を持って人より秀でていると言える点
学習能力 / 問題解決力 / 責任感
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
プライベートとの両立
やりたくない分野
未入力です
その他の特徴
新しい技術はとりあえず試す / 趣味は仕事
その他のやりたいこと・やりたくないこと

サービス/プロダクトの一領域としてPythonを使っている環境に身を置きたい
()

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で40代前半
好きな Text Editor
Visual Studio Code
希望勤務地
埼玉県 / 東京都 / 神奈川県 / リモート勤務
集まる必要性がない場合は基本リモートが許可される環境が必要
希望年収
750万円
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?