Skip to content

Instantly share code, notes, and snippets.

@mrtry
Last active November 1, 2020 09:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrtry/f4cb4d749b79dfeebe26ef3504a3f681 to your computer and use it in GitHub Desktop.
Save mrtry/f4cb4d749b79dfeebe26ef3504a3f681 to your computer and use it in GitHub Desktop.
職務経歴書

職務経歴書

山本 慎之佑 (Yamamoto Shinnosuke)

2020年11月01日

職務要約

ソフトウェアエンジニアとして4年ほどの経験があります。

Androidアプリエンジニアとしては、職場にAndroidエンジニアがいない状態からキャリアスタートをし、現在では1プロダクトを専任で要件定義からリリースまでを担当しています。 特異なものでは、Serviceを利用したバックグラウンドでの音楽再生処理、印刷用画像の組版実装、React Nativeでのネイティブブリッジの実装経験があります。 また2019年のDroid Kaigiでは登壇し、Androidアプリエンジニアの文脈でReact Nativeについての発表をしました。

Androidアプリ開発については、社内でも社外でも目に見える成果を出せたので、アプリ開発は一通りできると自信はついてきました。 次の職場では、今までの学んだスキルを向上させつつ、自分の興味があるサービスの開発に関わり、サービスと自身を成長させていきたいと思っています。

職務経歴(略歴)

システム開発に関する職歴(本業)

期間 会社名
2016年04月 - 2018年04月 株式会社オトバンク
2018年07月 - 株式会社ノハナ

システム開発に関する職歴(副業)

期間 会社名
2017年04月 - 2017年12月 株式会社コーテッグ
2018年09月 - 2019年07月 株式会社SideWorks
2019年10月 - シェアフル株式会社
2020年09月 - 株式会社ventus

職務経歴(本業)

株式会社オトバンク(2016年04月 - 2018年04月)

ECサイトの保守運用

オーディオブックのECサイト「FeBe」の開発・運用に従事した。 学生時代から音声を研究していたこともあり、音声コンテンツに興味があり入社を決めた。 新卒未経験で取り組んだプロジェクトだったため、技術的な難易度は高くなかったが、業務を通じてWeb開発、チーム開発の基礎を習得した。

使用技術 HTML/CSS、PHP、Symfony2

バッチサーバーの保守と改修

音源にDRMを入れつつエンコードするバッチサーバの開発・運用に従事した。 開発のほか、社内の制作部署とヒアリング等を行いながら運用方法の策定やドキュメントの作成も行った。

  • MQTTを利用した音源エンコードサーバーのリファクタリングや保守
  • エンコードする音源を登録する管理画面の実装
  • 社内のストレージサーバーのNASへの移行
  • LAME MP3 Encoderへのパッチ作成

使用技術 PHP、Silex、LAME MP3 Encoder、SoX

Androidアプリの保守と改修

オーディオブックのECサイト「FeBe」で購入した音源を楽しむためのAndroidアプリ「FeBe」の開発・運用に従事した。

社内にアプリエンジニアがいなく、問い合わせが多数来ているという状況だった(自身の入社と入れ替わりで前任者が退職していた)。 アプリ開発は未経験であったが興味があったので、Androidアプリの開発に従事することにした。 手始めに、問い合わせで多く来ていた内容として、「クラッシュが頻発する」「倍速再生時に音飛びが発生する」という内容が多かったため、クラッシュログが取れていなかったのでログ収集サービス導入と音楽再生処理のライブラリのリプレイスを行った。 その後は、得られたクラッシュログから細々としたNPEを潰したり、スリープタイマーの実装を行ったりした。 独学で手探りしつつではあったが、Androidアプリエンジニアとしてひとまず仕事をこなせるようになった。

  • Crashlyticsの導入
  • スリープタイマーの実装
  • CIによるAPKアップロード自動化
  • 依存ライブラリ監理をgit modulesでの管理からGladleでの管理に変更
  • Build ToolsやSupport Libraryのバージョン更新
  • 再生ライブラリをSoundTouch-AndroidからExo Playerへ入れ替え
  • NPEでクラッシュしていた箇所の対処

使用技術 Android(Java)、Crashlytics、EventBus、gradle-play-publisher、ExoPlayer、SoundTouch-Android

「ReactNativeを用いたAndroid/iOSアプリの開発」

自社サービス「FeBe」をフルリニューアルがあり、アプリも新装することになった。 社内にいるアプリエンジニアが、Androidエンジニアが2名(自身含む)、iOSエンジニアが1名(Androidと兼任)という状況だったため、画面実装の工数削減を狙い、ReactNativeを採用することになった。 Reactを用いた画面設計とAndroid側へのブリッジ実装を担当した。

使用技術 React Native、TypeScript、Jest、CodePush、Redux、React Navigation、NativeBase、Android(Java)、ExoPlayer、ExoPlayer-MediaSession

株式会社ノハナ(2018年07月 -)

Target SDKの更新作業

フォトブックを販売するサービス「ノハナ」のAndroidアプリ「ノハナ」の開発・運用に従事した。

入社時期にちょうどStoreに上げれるAPKのmin SDK versionが更新されていくようになったタイミングだったので、それまで対応されていなかったRuntime Permissonなどの対応を一通りやることになった。 スキルレベル的には初中級者程度だったと思っていたので、アプリ全体のアーキテクチャ等を把握しつつ、Androidの仕組みに則った実装に書き換えたりするにはちょうどいいレベル感だった。

  • Runtime Permissionの対応
  • IntentServiceをJobIntentServiceに書き換え
  • Notification Channelの実装
  • Parse-SDK-Androidの更新

以後、例年のTarget SDK対応作業は自分が対応している

使用技術 Android(Java/Kotlin)、Parse.com

新規プロダクトのためのアプリ開発

フォトブックを販売するサービス「ノハナ」のAndroidアプリ「ノハナ」の開発・運用に従事した。

ハードカバー版のフォトブックを新規プロダクトとして出すことが決まった。 それに伴い、アプリ上でWYSIWYGな編集画面の実装、編集データから印刷会社への納品のための組版画像の生成処理などの実装を行った。 ただ新規画面を実装するだけでなく、Custom Viewの実装やメモリ管理を意識したり、技術難易度が高いプロジェクトであったが完遂することができた。

  • Coroutineの導入
  • Material Designを意識したデザインレビュー
  • Custom View/Custom Bindingの実装
  • 画像の組版処理の実装
  • Bitmapのメモリ効率化
  • LruCacheを用いたキャッシュの実装
  • Don't keep Activity有効時の動作担保

使用技術 Android(Java/Kotlin)、Parse.com

職務経歴(副業)

株式会社コーテッグ(2017年04月 - 2017年12月)

レセプションアプリのAndroidアプリの開発に従事した

株式会社SideWorks(2018年09月 - 2019年07月)

不動産系の会社のWebアプリのネイティブアプリ化に伴い、React Native(Expo)を用いたマルチプラットフォームアプリの開発に従事した

シェアフル株式会社(2019年10月 -)

人材系のReact Native用いたマルチプラットフォームアプリの開発に従事した

株式会社ventus(2020年09月 -)

ソーシャルゲームのWebアプリのネイティブアプリ化に伴い、React Native(Expo)を用いたマルチプラットフォームアプリの開発に従事した

登壇経歴

React NativeとExpoを用いたクロスプラットフォーム開発入門(Droid Kaigi 2019)

Androidエンジニアの文脈でReact Nativeと、そのtoolchainであるExpoを用いたアプリ開発の実際について発表した

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment