社会的に意義があるサービスまたはアプリの開発に貢献したいです。
前々より自分が出来る技術で少しでも社会貢献をしたいと考えていました。
現在のコロナ禍でより、社会に対して考える時間を持つことにより、何かしらの事態や雇用、少子化問題などに役立つようなシステムを手掛けたいです。
現在では3,000万UUのスマートフォンアプリダウンロードのアプリ開発基盤、所謂Baasの開発部長を務めておりました。
BtoBtoC向けのアプリ構築サービスで、主に企業からの販促向けまたは自治体から地域紹介向けアプリとして複数のスマートフォンアプリをリリースしました。
元々はイマナラ! ( https://imanara.jp/ )というクーポン検索サービスのAPIを基盤を元に、企業向けプラットフォームASPとして販売開始したのが始まりです。
企画〜開発、ローンチ、運用まで、0->1、1->100のフェーズをエンジニアとして携わっていました。
同社、創業期の2007年頃からシステムエンジニアとして在籍しておりましたので、非エンジニアの企画職の方との要件定義〜システム開発・プログラミング、品質テスト、オンプレでのサーバ構築、オンプレからAWS Iaas移行、システム稼働監視、外注管理、マネジメントと、スタートアップでサービスローンチ、及び運用に必要な工程を開発リーダーとして一気通貫して経験しております。
機能開発としては、主にサーババックエンド側の各ドメインに対するCRUD機能およびフロントから利用されるAPIとしてのインターフェース設計、出力、位置情報を軸とした検索機能などを開発してきました。
在籍後期ではBaas導入企業とのシステム間連携に関する要件定義と見積もり、設計概要などのPM業務を主な業務として、行っております。
また、2012年にNTTドコモグループに事業売却を行った為、システム価格のデューデリ対応やそれに伴う必要なドキュメント作成、大きな会社でのシステム監査の対応などの経験もございます。
バックエンド側は主にPHP、MVC独自フレームワーク、PostgreSQLをベースとして実装していました。
大きな機能として、フロントエンドアプリから利用されるWeb APIとアプリに表示できる、アプリから登録されたデータを管理できるCMSから構成されています。
などの設計や構築の経験もございます。
元々、モノリシックなWebシステムだったので、増え続けるトラフィックとステートを持ってるアプリケーションに対するサーバスケールに対する課題がありました。
特に、スマートフォン用アプリケーションで大量のユーザにプッシュ通知を送信した時などに起こるサーバ側の処理性能低下が大きな課題でした。
また、会社としてベンチャー特有のローンチ速度を重視する会社だったので、どうしても
などの技術的負債がたまりやすい傾向がありました。
IOに関しましては、上記で示しましたようにスケールアウト、キャッシュ戦略することで読み込みの改善を、特にスケールしづらい書き込みは単一プロセス化することによって、並列処理時に比べてのリソース効率、コンテキストスイッチのコスト削減を測りました。
その他、スロークエリを分析し、SQLの改善またはインデックスの作成、ソート用メモリ割り当て値等、DBAの業務等で解決を図りました。
コードレビューやユニットテストを導入することで、一定の品質にすることを図りました。
在籍時には、まだまだ```テストを書くことを考慮したコード``ではなかった為、完全には解決出来ませんでしたが、徐々に負債の返却を開始していました。`
また、経営陣との保守に対する意識合わせ、時間予算の確保など行い、エンジニアと設計、作業を進めていました。
上記、タグ数の問題で記載できませんでしたが、Docker、Kubernetes、機械学習に関しまして、入門書1冊程度の知識と運用経験がございます。
退職後は在籍時に経験できなかったスマートフォンネイティブアプリの開発やVue.jsなどを勉強しています。
また、個人開発でスマートフォンのアプリ(Swift, Kotlin)を開発したり、
Android : https://play.google.com/store/apps/developer?id=Yoshiko+Ichikawa
iOS : https://apps.apple.com/us/developer/yoshiko-ichikawa/id1458472870
※ストアの名義は妻の名義です。
関数型のプログラミングやAWS サーバレスのプログラミング体系的に勉強し直しています。
自ブログ: https://www.letitride.jp/
GitHub: https://github.com/letitride
また、フリーランスとして、
の開発エンジニアとして参入をしたりしていました。
上記、同社の起業時のファーストプロジェクト。
位置情報を軸として、「近くで」、「すぐに働く、働ける」を実現するプロジェクト。
2013年にフルキャストホールディングスに売却。
フィーチャーフォン向けのサービスで3キャリアの実装差分の違いなどを吸収しつつ開発を行っていました。
プロジェクト及び、社員、外注エンジニアメンバー。また、部長職でしたので社内他部署調整なども行っていました。
対顧客とのプロジェクトは納品物の定義と納期、予算見積もりなど。
エンジニアメンバーに対するマネジメントは導入技術の検討やヒアリング、健康状態と稼働管理、また、モチベーションとなるような目標設定など。
社内他部署調整は見積もり対応と案件のリスクに対しての説明。
対顧客でのマネジメントは必ず納品物の定義を考えていました。納品物の概要が決まると、それから必要機能、納期、予算等見積もりに関する話しがスムーズに進んでいく傾向がありました。また、開発メンバーに分かりやすく齟齬なく説明する為、自身でエンジニア向けのシステムの概要設計を作成しミーティングを行います。
エンジニアメンバーに対しては自分の能力不足もあり、どうしてもモチベーションや技術的負債に対する保守に対するマネジメントを十分にしてやることは出来ませんでした。しかしながら、管理職がエンジニアにどう動いて貰えば助かるということは身を持って感じたので、プロジェクトメンバーとしてそういった経験をもとに参画できればと思っています。
社内他部署調整は「断る裁量」と社内リソースの状況、システム規模と納期、顧客の性格など案件ごとの性質を判断したり、案件に対する金額と重要度を元に、開発案件の優先度調整を行っていました。
Vue.jsやReactなどのSPA、フロント技術とサーバレス化に注目しています。
出来るだけのリモート勤務を希望します。