e10dokup

3年後の目標や野望


Androidアプリ開発を軸足にとった周辺領域への理解を持った開発力のあるエンジニアになること

過去のキャリアにおいてほとんど「Androidアプリエンジニア」と名乗れば必要十分と言えるだけのポジションにいました。Androidに関わる領域は自身の好みとも合っていると考える一方、Androidアプリエンジニアとしての至上命題とも言える「今後5年先もAndroidは続いていくのか」については、必ずしもYesとは言えず、サーバーサイドやWebフロントといった隣り合った技術領域やサービスをグロースさせるための施策等の成果計測といったデータ分析、及びそれを基にした新しい施策への還元・スケジュールの確立といったコーディングにこだわらない領域への理解が必要であると考えます。そのため、フットワークが軽くAndroidに限らない周辺領域へのアクションが取れるエンジニアになる、という目標になっています。

年収評価シート

2018年/2年以上

ブログサービスのAndroidアプリ版における機能開発・運用・データ分析

2022年2月時点で17年の運用歴を持つブログサービスのAndroidアプリ版の機能開発・及び運用を担当しています。 Androidアプリ版単体で見てもおよそ10年の運用歴があり、各機能が実装されたタイミングに応じてアプリ内の設計も様々になってしまっている部分がありますが、新規に実装される部分は2019年当時のAndroid App Architecture GuideをベースにしたMVVM + AACに準拠した構成となっています。コアなライブラリとしては - API通信:Retrofit2 / OkHttp3 - API通信における非同期処理:kotlinx.coroutines / RxJava2(kotlinx.coroutines 移行前) - UI通知:LiveData - DIフレームワーク:Dagger2(非Hilt) を利用しています。 Androidアプリの開発を担当するチームとしては現時点で10人弱程度が在籍しており、各機能群・システム要求に応じて分割されたチームに所属する、所謂「縦割り」の形で開発を進めています。私個人が開発・運用を担当している機能としては、以下が大きく該当します。 ### アプリにおいて最初に展開される各種最新コンテンツが流れてくる画面の改修 アプリの全体施策としてAndroid/iOSの当時の全リソースを投入した施策なのでチーム構成は省きますが、既存の最初に展開される画面では人力運用によるコンテンツしか配信状態だったものをレコメンド等によって各ユーザにあわせた形として配信できる土台として開発しました。 主に各種広告ライブラリのインテグレーションを担当し、AdMob/MoPub等複数の広告サービス・メディエーションサービスをマージしつつも、ユーザに対してレイアウトシフトや表示遅延といった違和感が生じないように新規に実装しました。 以下の項目については基本的にチームメンバーとしてはPM1人、デザイナー1人、Webフロントエンド1人、サーバーサイド1人、Android1人、iOS1人のスモールな構成で担当しました。 ### 以前はWebViewによって提供されていたブログ記事へのコメント機能のネイティブアプリ化 WebViewで賄っていたコメント機能が古いデザインで実装されていること、自前の画像認証等が残っており扱いづらい機能となっていたことから大きくリニューアルさせるのに合わせてアプリネイティブによる再実装を行いました。実装に際してコメントの一覧と返信が可能な詳細画面に対してNavigation Componentをコメント画面内でのみ実装し、このタイミングでチーム内で合意が取れつつあったMVVM + Jetpack AACベースの設計パターンに準拠して実装を行うことで今後のメンテナンスが行いやすい形でリリースを行うことが出来ました。 ### ブログ記事に画像・動画を添付する機能のリニューアル実装 Android 10におけるScoped Storage対応等でパッチワーク気味になっていた実装を根本から改善し、実装そのものの見通しを良くすることに成功しました。 既存機能の仕様がはっきりしていなかった事もあり、まずはデバッグを通して一通りの大きな仕様を掘り出しながら実装を進めていきました。リニューアルなので改修というよりは新規の再実装になっており、掘り出した仕様をベースに上がってきたデザインを照らし合わせながらAndroid Developers等に示されている最新のメディアアクセスに則った手法での開発を行い、既存のメディアアクセスでのパフォーマンスボトルネックを特定しながらその解消を行うという成果を出すことが出来ました。 ### 「記事デザイン」機能の初期実装 ブログ記事にリッチな画像フレームや見出し等の追加を簡易に実現する機能の初期実装を行いました。イメージとしてはブログ記事自体がHTMLで記述されており、APIで配信される記事デザイン用のHTMLパーツをアプリ側で記事に組み合わせてデザインを実現する、というものです。 エディタ機能自体は長年運用されており、実態としてはKotlin/JavaのみではなくWebView上で描画されるHTML/JavaScriptの理解が必要な機能となっています。本機能では、検証用のプロトタイピングから開発を行い、できること、出来ないことを明確にしながら実装を進めました。HTMLの操作には旧来は正規表現で行われていたものが多かったのですが新規で追加する分にはJsoupを使用し、複雑で読むのが難しいコードになるのを回避しながら実装を進めました。 ### ブロガーに対してYouTubeのSuper Chatに類似する投げ銭をできる機能の実装・運用 機能そのものはPlay Billing Library v3のアイテム課金を利用し、独自開発された社内共通の課金システムと連携しながら実装しています。初期実装ではプロダクトでは初の試みということもあり、設計も開発もリーンに寄せてスピード感のある開発を目指しました。 機能の内部設計としては引き続きMVVM + Jetpack AACをベースとしており、決済フローまでのウォークスルーをコメント機能の開発でも採用したNavigation Componentを使用して実装しています。 また、このタイミングでAndroidエンジニアとしてのみならず、機能レベルでユーザの行動ログからデータ分析を行い、各施策における効果測定、及びそれを踏まえた施策設計の提案を行うようになりました。まだ機能自体のリリース自体から時間が経っておらずそれによる成果そのものは見えてきてはいませんが、KPIと照らし合わせたログ項目の策定や計測結果の工夫を行い、その姿勢が周りのチームメンバーに影響を及ぼしエンジニアが自発的に計測・分析を行おうとする土台ができつつあります。 更に、Androidのみに限らず、各エンジニアの稼働状態を把握した無理のないスケジュール設定を始めとした機能チーム内におけるリードも2022年から担当するようになりました。 また、機能以外におけるアプリの保守・運用として - 利用しているCI/CDツール(bitrise/GitHub Actions)のメンテナンス - Androidアプリを対象に発生したインシデントにおけるインシデントコマンダー - CSを通したお客様からのお問い合わせ対応 のような活動と自社が運営するAndroidアプリ勉強会の運営といった採用につながる活動も行っています。

2017年/2年以内

広告サービスのAndroid/iOS/Webフロント用SDKの開発

新卒での入社当時からインターネット広告を扱う部署に在籍し、広告サービスで用いるSDKを複数、Android/iOS/Webフロントの各領域で開発を担当しました。担当時期から以下のような開発言語に触れています。 - Android:Java - iOS:Swift 4.2 - Webフロント:JavaScript、TypeScript 2.0/3.0、WebAsssembly(技術検証目的で本番運用実績なし) 機能開発以外においては開発中においてQAの方がスムーズにQCを実行できるようにテスト環境の整備であったり、実行結果が不安定であったSDKのCI/CD環境を社内のCircle CI Enterpriseから当時アプリCIとしてステップUIによる学習コストの低さに着目した上でBitriseに移行させる等の開発環境の整備を行い、PR時のCIチェックやQAさんへのテストアプリ配布等が「何故かわからないがときどき繰り返し失敗して進められない」状態を改善しました。 また、アプリ向けSDKが以前から抱えていた仕様上の欠点に対して改善策を提案し、実際にAndroid/iOS双方において現実的なスケジュールを提示した上で根本的なロジック改善を改善策を施しリリースを行うことでその仕様上の欠点を克服しました。その一方で副次的な効果としてSDKのパフォーマンス向上を実現しました。

マネージメント能力

アピール項目


アウトプット

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

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

- 検定等、データ分析におけるより本質的な知識 - Webフロント・サーバサイド(インフラというよりはAPI/BFF等フロントエンド側の領域)の技術

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

未入力です

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
学習能力 / 分析力 / 責任感
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
好きなプロダクトがある
やりたくない分野
SI / 広告 / ゲーム / 仮想通貨
その他の特徴
レガシーな環境を改善できる / 勉強会でLTをよくする
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

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

基本プロフィール

年齢
今年で30代前半
好きな Text Editor
Visual Studio Code、IntelliJ系IDE
希望勤務地
東京都
希望年収
750万円
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

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

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

  • {{error}}
SIGN UPSIGN IN


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