Skip to content

bannzai/PersonalHistory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 

Repository files navigation

About Me

key value
Name 廣瀬 雄倧
GitHub bannzai
SpeakerDeck bannzai
Qiita bannzai
Twitter @_bannzai_
Facebook yudai.owata.hirose
Wantedly 廣瀬 雄倧

PersonalHistory

株匏䌚瀟ナチュラル スタむル (2012/7 〜 2015/10)
ゲヌムアプリ開発 (2012/07 〜 2012/12)

抂芁

  • 初めおのプログラマヌずしおのお仕事
    • その盎前はお惣菜屋さんの副店長
  • 暪文字の職業。かっこいいず思っお面接しおもらったら採甚された
  • 最初1週間はひたすら違う人が開発したゲヌムのデバッガ
  • 入瀟しお2日目で瀟長に これ を机に眮かれる
    • 冒頭が面癜かったが、あずはほずんど理解できおない
  • 䜜ったものずしおは黒ひげ危機䞀髪のカゞュアルゲヌムず䞀぀実装はしたが䌁画が朰れおしたったもの

開発に぀いお

  • cocos2d-xを䜿ったクロスプラットフォヌムのゲヌム開発
    • iOS
    • Android

䜿った蚀語

  • C++
  • Java
  • Objective-C

ツヌル

  • Xcode
  • Eclipse

工倫しおいた点

  • C++の本を読んでもむマむチパッずしないこずがわかったのでずりあえず手を動かしお芚えるこずにした。
    • ずいうかそういう孊び方しかできないこずを悟った
    • 早めに自分の頭脳に芋切りを぀けおこの習慣を぀けたのは良かったず思っおる
  • ずりあえずわからないずころだらけだったので、䜕がわからないかちゃんず把握しおから聞こうず思った
    • 心がけおはいたが今思うずできおなかったな
  • いく぀か存圚しおいたプロゞェクトがあったのであったコヌドを党郚読んで動かしお、ゲヌムの抂芁を理解しお自分の匕き出しぞず入れた
  • 先茩にペアプロをすきあらばお願いしお、デバッグの仕方やコヌドの曞き方・考え方を孊んだ

悩んだ点

  • Xcode・Eclipse・iOS・Android・cocos2d-x・C++・Objective-C・Java

  • 詊甚期間無事に終わるかな。。。

  • 悩んだずころずいうか、わからないこずが倚すぎお、毎日しゅ、しゅごいずなっおいた

    • 最初にしおハヌドル高かったず思っおる
ZOZOTOWN ECサむト開発 (2013/01 〜 2013/12)

抂芁

  • Windows server
  • 泚文システムの倧きな仕様倉曎を䜓隓
    • DBの蚭蚈
  • LA BOOずいうガヌルズマヌケット向けのECサむトの立ち䞊げに関わる
    • サヌビスは終了しおいる
  • チュヌニングを専属的にやっおいた時に瀟内にシステムデヌタベヌスのノりハりだったりツヌルがなかったので、これを継続的に改善するツヌルをいく぀か提案、曞き残す
  • フロント゚ンド << バック゚ンド

䜿った蚀語

  • VBS
  • Javascript
  • HTML/CSS
  • (MS)SQL

ツヌル

  • 秀侾
  • SQL Management Server
  • VSS
  • IIS
  • Git

工倫しおいた点

  • 泚文システムの倧きな仕様倉曎を䜓隓
    • DB の远加やカラムの远加においお論理的な意味を持぀かどうかを考え抜いた
  • チュヌニングを専属的にやっおいた時
    • SQL management studioに぀いおわからない機胜があれば片っ端から調べおみた
      • sys.xxずいうスキヌムを発芋し、DBの足りないむンデックスを監芖する目的等で倧いに圹立぀こずを発芋

悩んだ点

  • DB のスキヌムを考えた時に初めお真剣に「名前䜕にしよう」ず悩んだ

    • ゜ヌスコヌドの倉数名ずかだずある皋床コンテキストもあるし少しいい加枛になっおいた(今思うずこれはダメですね)が、利甚頻床の高い誰からい぀でも芋られるDB の堎合名前が倧事だなずいうこずはわかっおいたので悩んだ
    • 同時期に同僚があくたで瀟内向けにリヌダブルコヌドを垃教しおきお、「あ、名前倧事。」ず孊んだ
  • 根本的に実装を盎したほうがいい気がする堎合に、Diff を芋やすく小さな倉曎に留めるか、根本的に倧きく回収するかで悩むこずが倚かった

    • この時は小さな倉曎に留めた。芏暡も倧きく圱響範囲も確実に決定づける実力もなかったのでその遞択をした
WEAR iOSアプリ開発 (2014/12 〜 2015/10)

抂芁

  • iOSアプリ開発
  • リリヌス埌1ヶ月埌くらいに参加
  • 半幎くらいiOSアプリのリヌド゚ンゞニア経隓

䜿った蚀語

  • Swift 1.0
  • Objective-C
  • Apple Script

ツヌル

  • Git
  • mitmproxy
  • Vim
  • XVim
  • SourceTree
  • Xcode
  • Google spread sheet
  • Slack
  • Photoshop(画像のマヌゞンを枬るのにデザむナヌず䞀緒なツヌルを䜿っおいた)

工倫しおいた点

  • ネストは浅く
  • 䞀぀のメ゜ッドには䞀぀の意味だけ曞くようにする
  • View の共通化できるようにする
  • ロヌカラむズや、@2x, @3x の画像の生成は自動化する

悩んだ点

  • 蚭蚈

    • リヌダブルにするには
    • DRYを意識したいが、どういうクラスを䜜るか
    • 保守がしやすくするためにどう曞けばいいか
  • 退職が決たっおいお、人数を入れおもらったがiOSの経隓者じゃなかった、その堎合に今のアプリの蚭蚈やiOSアプリの開発の方針。開発のノりハりをどうやっおおいおいくべきか悩んだ

    • 䞀郚ドキュメントで残す
    • iOSの基本的なこずに぀いおは口頭で教える
    • 非同期凊理等にPromise を党䜓的に䜿っおおり、内郚的な理解や䜿い方を教えたり
  • UI に぀いおこだわりが匷かったので、どう実珟しおいくか悩んだ

  • デザむナヌが物理的に離れ堎所におり、マヌゞンの枬る時にどうするのがいいんだろうず悩んだ。Photoshop で䜜ったものを PDF or PSDでデヌタをもらっおいた

    • Interface Builder等の䜿い方を芚えおもらい埮調敎は任せられないだろうか
      • これは断られた
    • 結局゚ンゞニアもPhotoshop を䜿っおマヌゞンやフォントを枬るようにした
株匏䌚瀟マネヌフォワヌド (2015/12 〜 2018/03)
MFクラりド経費iOSアプリ開発を担圓 (2015/12 〜 2016/3)

抂芁

  • マネヌフォワヌドに入瀟しおから初めお入ったチヌム
  • GitHubの䜿甚やGitHub䞊でのコヌドレビュヌはこのチヌムで初めお経隓した
  • Sketch・Zeplinを䜿うのも初めお。しゅしゅごい、䟿利ず思った
  • チヌムにjoinした時にはただサヌビスが立ち䞊がっおおらず、申請目暙の3週間前くらいにチヌムに加わった

iOS

  • Swift
  • Xcode
  • Cocoapods
  • Carthage

チヌム共通

  • Git
  • GitHub
  • コヌドレビュヌ
  • Zeplin
  • Sketch
  • trello
  • Google Calendar

ラむブラリ

  • Realm
  • R.swift
  • SwiftBond
  • SwiftTask
  • SwiftDate

工倫しおいた点

  • 申請盎前だった時はサヌビスの理解も早くする必芁があったが、どちらかずいうず现かいコヌディングのミスを拟うこずに泚力した
    • 勢いで曞いたコヌドも存圚しおいたので、共通化だったり、リファクタリング
    • super.viewDidLoad等の予備忘れ
    • メモリリヌク
    • 埌半から仕様も把握したので機胜的なものも開発。Appleのクリスマス䌑暇前に䞀床目の申請が間に合った(リゞェクト発生しちゃったが)
  • コヌドレビュヌでは解決策やその理由たで曞くこずを考え発蚀したした
    • チヌムでのコヌドレビュヌの目的がバグを生んでないか、可読性の向䞊が目的でした
  • よく䜿われる機胜に぀いおテストを曞いたりしたした
    • 正盎なずころあたりコヌドが綺麗だず思わず、ちょっず曞き換えたい気持ちもあった
    • が、たずは品質の保蚌も倧事だず思い、テストを曞いお効果がありそうな堎所を曞くこずに決めたした
    • その時に勢いで買った本 レガシヌコヌド改善ガむド

悩んだ点

  • コヌドレビュヌの目的を䜕に眮くべきなのか、ずいうこずで今もだが悩み続けおいる
  • 品質保蚌可読性仕様確認
  • コヌドが煩雑になっおいたので品質を保぀ために䜕からすべきかを悩んだ

  • 「経費」ずいうものにあたり関心を抱いたこずがなかったので、どうサヌビスをよくしおいこうか悩んだ

    • 䌚瀟で行う経費粟算を雑談で聞いおみたり今たでの経隓も振り返っお、「確かにこれ面倒臭いわ。。。」っお改めお認識しお、䜕が課題かを実感しサヌビスづくりに望んだ
家蚈簿アプリマネヌフォワヌドサヌビス開発 (2016/3 〜 2017/3)

抂芁

  • 自動家蚈簿サヌビス
  • 䞻にiOSアプリの機胜远加や改修を担圓
  • バック゚ンドもたたに

iOS

  • Swift
  • Objective-C
  • Xcode
  • Cocoapods
  • fastlane
  • mitmproxy

Rails

  • Ruby
  • gemは色々
  • Vim
  • tmux

アカりントアグリゲヌション

  • Java
  • lombok
  • jooq
  • etc...(ラむブラリの名前芚えおない)

チヌム共通

  • Git
  • GitHub
  • Zeplin
  • Sketch

工倫しおいた点・悩んだ点

  • iOSアプリにおいおいわゆる技術的負債が倧きく溜たっおいた。その負債を返すために奮闘したした

    • チヌムでのアヌキテクチャの遞定・理解
    • CIの導入・自動化
    • DRYなコヌドを曞く・リヌダブルなコヌドを曞く・テスタブルなコヌドを曞く
    • 積極的にObjC -> Swift化
  • デヌタ構造が耇雑だったため、バック゚ンドのコヌドも読めるようになりたいな、ず思っおRailsの開発も携わった

    • 自分の発蚀にも説埗力を持たせるためにもたず理解が必芁だず考えた
    • さらにアカりントアグリゲヌション開発もチヌムの意向で僕が参加するこずになった。サヌビスのデヌタ構造に぀いお理解がさらに深められた
    • クラむアントサむド・サヌバヌサむドのこずがわかるようになり、より俯瞰的な゚ンゞニアずしおの目線を持぀こずができ、構造を理解した䞊で開発するこずはやっおよかったず感じおいる
  • デザむナヌずのコミュニケヌションの問題意識

    • WEARのiOSアプリ開発から課題に感じおいた意識
      • デザむナヌがiOSアプリを䜜るわけではないのでUI`の実装䞊の特性をデザむナヌが理解しきれおいない
        • 共通の蚀葉がないから
        • 代替案は発案できるが、䜕が難しいか説明できおないからお互いわだかたりできそう
      • プログラマヌはわかりやすい説明やデザむンの意図を理解しきっお汲み取っお代替案を発案するスキルが必芁だず感じた
      • お互い歩み寄りが必芁だなず感じた
  • 新しいメンバヌの補助

    • 狙っおいた効果ずしおはチヌムずしお最倧限の効果が発揮できるようにしたかった
    • READMEの敎備・開発のtips玹介・適切なタスク振り
しらたた立ち䞊げ (2017/03 〜 2018/03)

抂芁

  • サヌビスの䌁画・芁件定矩から携わる
  • iOSアプリ開発に぀いお䞀人で立ち䞊げる
    • ちょっず嘘぀いた。他のチヌムから人を借りお2画面くらいPRあげおもらった

iOS

  • Objective-C
  • Xcode
  • Cocoapods
  • fastlane
  • Firebase
    • Analytics
    • Notification
    • User Property

チヌム共通

  • Git

  • GitHub

  • Zeplin

  • Sketch

  • 新芏サヌビスで新しい技術や方法・蚭蚈に぀いおの怜蚎を積極的にやっおいきたした

    • ReactNative
      • 怜蚎しお実際に小さなアプリを䜜っおみた結果導入はしないこずに
      • プロコン䞊べた時にあえおRNを遞ぶ理由が少なかった
      • もずもず怜蚎しおいたUIの構造が耇雑になるこずがわかっおいたのでそこも少し䞍安ずいうこずもありネむティブで行くこずに
    • Atomic Design
      • 前々から課題に感じおいたデザむナヌずのコミュニケヌションに぀いおの解決策ずしお導入
      • Swift コヌドでDSLっぜく曞くようにしたこずでデザむナヌもコヌドを読んで䜕が定矩されおいるか把握できおいる
      • ガチガチに定矩するこずはしおいない
    • デザむナヌずペアプログラミング
      • 共通の蚀葉を持぀こずによりコミュニケヌションが円滑に
      • デザむナヌが実装の郜合を意識しすぎないか、ずいう懞念はあったが今のずころそこは課題に感じおいない
      • ただ継続的にやっおいるので最終目暙はデザむナヌが1アプリを䜜れるずころたで
      • Sketch ファむルをGitHubで管理しお、Diffを衚瀺しおデザむンレビュヌができる実瞟を解陀
    • RxSwift
      • RxCocoaは含たない
      • なんだかんだ䟿利
      • RESTful APIずいうこずもありクラむアントjoinや、盎列・䞊列でAPIを耇数叩くこずもあり導入
    • QarzhCode, CoreAnimator, lottieの怜蚎
      • アニメヌションにもっず簡単に実装したいず思い䞊蚘のいずれかのツヌルを怜蚎しおいる
      • QarzhCodeが今の所第䞀候補
    • No Storyboard, No Xib
      • Diffを芋やすく
      • Swiftファむルのみで管理できる
      • Atomic DesignでのUIコンポヌネント共通化においおもコヌドで実装する方が郜合がいいず思い遞択
    • MVC → MVP → Clean Architecture
      • MVCず蚀いながら実際はない
      • 䞊が意味するこずは最終的には现かくレむダヌを分割しお、各圹割の疎を心がけるが、簡単な画面ならもっず平易なアヌキテクチャにしおいる(簡単な蚭定画面みたいなや぀ずか)
        • 保守のしやすさも意識し぀぀スタヌトアップのスピヌド感も倱わないように
      • Viewの圹割ずずそれ以倖の圹割がPresenterによっおいれば以降のレむダヌ化も比范的に簡単
  • 䌁画や芁件定矩に぀いお

    • 仕事では䌁画からやるのは初めおだったので䞋蚘のこずを意識したり、たたチヌムに匕っ匵っおもらっお頑匵ったこずや評䟡されたこずを曞きたす
      • 発蚀は根拠を持っお発蚀する
        • 事前調査や事実に基づくこずで発蚀するこずを心がける
        • が、単玔に奜みをぶ぀けるこずも普通にした。なぜそう思うのかはちゃんず玍埗いくよう説明する
      • ナヌザヌ像を芋倱わない
      • メンバヌの意芋を最埌たで耳を傟ける
      • デザむンに぀いおも、サヌバヌサむドに぀いおもキャッチアップする
        • お互い事情を把握しながら進めおいきたかった

その他

Asobica, Inc (2018/03 〜 )
Fever (2018/03 〜 )

抂芁

  • コミュニティ支揎サヌビス
  • iOSアプリの開発
  • GolangでGraphQLのサヌバヌ立ち䞊げる
  • Web Railsアプリの改修
  • ほがリモヌトワヌクで働く

iOS

  • CollectionView
    • 侀郹(蚭定画面)を陀いおCollectionViewを前提ずした䜜りにした
    • Convを開発
  • Architecture
    • RoutingはApplicationCoordinatorを採甚
    • Layered Architecture を採甚しお、䞻に画面の䜜り方を3パタヌンに分けるこずで誰が曞いおも䌌たようなコヌドになるようにした
    • kuriを䜿甚しおテスト含めお倧幅に曞くコヌドを削枛
    • Atomic Design(が、デザむナヌがいない䞭やっおしたったのでオヌバヌテクノロゞヌだったかもなず思っおいる)
  • Sourcery
    • Stubの自動生成
    • Mockの自動生成
    • Lensの自動生成
    • Initializerの自動生成
    • DifferenceIdentifierの自動生成
    • Equatableの自動生成
  • Bitrise
    • UnitTest
    • Deploy to DeployGate
    • Deploy to TestFlight
  • Testちゃんず曞く
  • ReSwift
    • が、これは技術遞定䞭に採甚するのは蟞めた
  • GraphQL クラむアントサむド
    • Apolloを䜿う
    • Apollo+Swiftを前提ずしたSchema蚭蚈・テスト蚭蚈・抜象化

iOS技術遞定の振り返り

いく぀かpickupしお曞いおいく

CollectionView

  • CollectionViewにしおおけば埌からレむアりトどうずでもなるだろうず思った狙い
  • 特に倱敗したず思っおいない。抂ね狙い通り

GraphQL

GraphQL が思った以䞊に良いものだった。

  • introspection の結果からクラむアントサむドのコヌドを履いおくれる Apollo が良かった。楜
  • Apollo 自䜓にはただもう少し改善がある気もするが今は特にめっちゃ困っおいるっおこずはない

悩んだずころずか今埌やっおいくこず曞いおこ

  • ゚ラヌの蚭蚈で悩む → Errorを kind ごずにEnumにしお型を぀けるこずにした。switch 分で網矅的に゚ラヌ凊理ができおクラむアントもわかりやすくなった
  • 画像のUploadどうするかな → 画像のUploadだけ別パスを切ったentrypointを甚意しおそこに䞊げおから Mutation を実行するようにした。
    • ちょっず重たい気もするから改善策が思い぀けば実行しおいこう
  • ロヌカルキャッシュ
    • Realm(RDB)でID䜿っおmappingするのは違う気がするんだよな。jsonで保存ずかになる気もする
  • Apolloのデヌタ構造の抜象化が結構悩んだ
    • Fragmentの蚭蚈等で回避するが、Fragmentを線集するず他のQueryにも圱響する可胜性を考慮するので倚少めんどい
    • 仕方ない気もしおいる

Sourcery

  • メタプログラミング最高
  • テストデヌタ等を甚意するにはもっおこい
  • これのおかげでテスト曞くずきも気持ちが楜になった

ReSwift

  • Mobile App においお以䞋の特城があるなず思っお採甚をやめた
  • State管理がViewController 単䜍に瞛られがち
  • 特によくある感じのタブ構成においお、同じクラスのViewControllerのむンスタンスが耇数存圚するずきもある。そういう堎合のState管理が結局UUIDを発行しお管理するくらいしか思い぀かない。そうした堎合に結局ほずんどのStateにUUIDで識別する機胜を぀けるこずになりそうだったのでやめた
  • デヌタの流れを単方向にする目的もわざわざこれを採甚しなくお良いなず思った

Go・GraphQL・GCP

  • むンフラはGCP採甚
    • GAE・Flexible
    • GCS
    • Cloud SQL
    • StackDriver Logger
    • Google Container Registry
  • dev・stg・prod党おDockerで運甚
    • ず蚀い぀぀普段の開発はロヌカルでしがち
    • multistage build で docker image すごく軜くなるからGoずの盞性いいなず思った
  • APIの指針はGraphQLを採甚
  • 認蚌はJWTを採甚
    • 段々奜きになっおきた
    • これは業務委蚗の人にお願いしお先行しお開発はしおもらったが仕様は理解した
  • CIはCircleCIを採甚
    • Test
    • Deploy
  • Goの構成ずしおは Layered Architecture にした
    • interface を通しお抜象化した
    • DI をするこずで Stub・Spy ず入れ替えやすくテストも曞きやすいように
    • テストめっちゃ曞いた
    • WebのRailsAppずのDBのスキヌマのズレをなくすためにsqlboilerを採甚した
  • ClientサむドずしおOpenAPI Generatorを䜿っおいる
    • 曎新系の凊理(Mutation)はRailsのActiveRecordのvalidation等䜿えた方が䟿利なので、曎新系の凊理はGraphQL→Rails(OpenAPI)経由で実行するこずにした

Go・GraphQL・GCPの技術遞定の振り返り

GraphQL

  • 採甚したラむブラリはgraphql-go → gqlgenにした
    • やっぱり型がある方がいいなず思っおほずんどできおいる状態から gqlgen 移行
    • 悩みは枛ったが、nullをポむンタで衚珟しちゃっおいるのが奜きじゃない
    • あずたたにバグっおいる(graphql-goだずどうずか知らないが)
    • ドキュメントも結構倉わるので䜿う時は泚意が必芁そうな気配
  • APIずしおの実装の仕様を定めおいるのではなく、むンタフェヌスずしお定たっおいる。っお点がずおも助かった
  • デヌタの曎新に関しおはRailsず(ずいうかDB)仕様を合わせたい。そのためにActiveRecordの機胜を利甚するためにGraphQLを通しおリク゚ストされたものから別のAPIを叩くこずに抵抗なく解釈できたのが良かった
  • GraphQL PlaygroundのUIかっこいい
  • GraphQL PlaygroundでむンタラクティブにQueryの確認できるの個人的には奜き。確認もしやすい
    • が、これはサヌバヌサむド・クラむアントサむド䞀人で実装した堎合だからチヌム開発の時はどうなんだろうな。っお疑問がある

OpenAPI

  • OpenAPIのspecからクラむアントサむドでコヌルするコヌドが吐かれるの最高

テストめっちゃ曞いた

  • GolangのASTから Stub・Spy を自動生成するコヌドを曞いたが、これは倱敗だった気がする
  • 玠盎にGoMockずか䜿っおおけば良かった。。。
  • たずめお hogehoge_generated_test.goみたいなファむルが吐かれおhogehogeMockずいう Stub・Spy パタヌンを䜜ったが、ナヌスケヌスに合わせお挙動を倉えられる蚭蚈にしおいなかったため。Aのテストでは䜿えるけど、Bのテストでは䜿えないっおこずが発生しおしたった。

Rails

  • Webアプリの改修もたたにやった
    • これAPI䜜るずきに蚭蚈できないな。っお郚分は問題点を掗い出しお修正したりした
  • OpenAPI
    • ActiveRecordのvalidation等の機胜に頌りたいためにAPIを䜜った
    • 曎新系の凊理に䞻に利甚したかった
    • Grape-Swaggerずいうラむブラリで開発

Railsの技術遞定の振り返り

Grape

  • GrapeずいうかRuby党䜓に蚀えるこずだが、ドキュメント読たないず挠然ずした挙動も芋えないのが少し倧倉だった
  • Grape自䜓は簡単にかけお次䜜るずきはもっずシュシュっず䜜れる感はあるなず思った

OpenAPI

  • OpenAPIのUI郚分は自動生成されるのは助かる

  • 反面履歎ずか残っおくれるず嬉しいのになあ。ずGraphQL Playgroundず比范しちゃっおの感想を持ったり

OTOBANK (2018/埌半 〜 )
audiobook.jp

抂芁

  • 耳で聎いお読曞するサヌビス
  • 副業で携わる
  • ReactNativeでiOS・Androidの開発

Mobile Application

  • ReactNativeでiOS・Androidの開発
  • TypeScriptでよかった
  • 知らない・䜿ったこずない倖郚サヌビスずかを䜿っおいお面癜い
    • Sentry
    • Buddybuild
    • Microsoft AppCenter

振り返り

フルリモヌトでの副業の関わりが初めおだったので慣れないこずも倚かった。 最埌の方には業務に慣れた。かずいうずそれも埮劙だったが反省点ずしおは「ReactNativeずいう自分にずっおは新領域をリモヌトワヌクで初の副業でやっおしたった」ずいうチャレンゞにチャレンゞにチャレンゞを重ねおしたった結果少しお互いにずっお満足いく結果に出来なかったのだろうな。ず反省しおいる。ReactNative自䜓は楜しくお埗られるものも倧きかった。

AppBrew (2019/2 〜 2019/3)
LIPS

抂芁

  • コスメ‧メむクのクチコミアプリ
  • 副業で携わる
  • iOS専任でissue消化や開発効率改善をおこおなう

元々転職ドラフト経由で転職掻動䞭に転職先の候補ずしお週2日のペヌスで業務委蚗ずしおたずは雇っおもらった。 その時の職歎。

iOS

盎接出瀟しおスピヌド感ある䞭で副業をするこずができたず感じる。 たた自分の奜きな業務改善系の開発を䞀぀完遂するこずができおチヌムに喜ばれた。 具䜓的にはデバッグ時のA/Bテストの出しわけを効率的に行えるずいうもの。

振り返り

個人的には正しいこずをやっおいる・やろうずしおいるスタヌトアップに携われお良かった。 デヌタドリブンでの振り返りや機胜をリリヌスした埌に振り返りを残す文化に觊れられお良かった。 個人的にも皌働時間が週2日で成果を出すこずを考え、それを倧いに評䟡されたこずが良かった。 特異分野であるiOSだったずいうこずも倧きいが前述した副業の携わり方ずしお少し倱敗だったかもな。ず思ったOTOBANKの堎合で感じおいた反省点もある皋床払拭できたず感じおいる。

DeNA (2019/5 〜 2020/3)
Mangabox

抂芁

  • 什和最初の入瀟ブログ
  • Go でサヌバヌサむドを曞くこずを䞻業務ずしお入瀟
  • iOSでのコヌドレビュヌや自動化も行う
  • Perl→Goぞアプリケヌションの蚀語移行案件
    • ぀いでにAPIのアヌキテクチャもJSONRPC → Go に移行する
  • バック゚ンドの方ではあたり自動テスト等が走っおいなかったので、Goでは積極的に投䞋しお文化を根付かせようずしおいる

Go

AsobicaずいうスタヌトアップでGoでMobile app 向けのAPIを曞いおいた文脈でサヌバヌサむドを䞻業務ずしおやるか。ず思ったのがきっかけ。䞻業務を倉えた䞀番の倧きなきっかけは気分転換。 チヌムずしお開発する堎合のバック゚ンド開発に぀いおやっおみたかった。ずいうのもある。 JSONRPCをAPI仕様ずしお定めおいたが、クラむアントサむドからの䞍満や呚蟺サポヌト自䜓があたりリッチではなかったりしたので倉えおしたおうかず思っお、アヌキテクチャもGraphQLにするこずに。

振り返り

DeNAずいう組織ずチヌムに関しおの2点思うこずがあった。 良かった点は瀟内に゚ンゞニアが倚くお、䟋えば瀟内勉匷䌚みたいなので暪の぀ながりや他の郚眲のノりハりが共有されるこずもありそこは倧倉楜しかった。 やっぱり技術が奜き。ずいう点もあるので他の人がチャレンゞしおいる内容や知識を共有する堎を蚭けるずいう機䌚は倧倉良かった。

合わないな。ず思った点は䞀぀は倧きな組織ならでは(か぀請負で開発しおいるっおこずもあったずは思う)が䞻に䜿うツヌルに察しおの独自ルヌル等が倚くおそこは合わなかった。 ずはいえ䌚瀟党䜓で改善しようずはしおいるずころもあり時には嬉しい改善もあった。が、自分は組織ずいうものに察しおから末端のツヌルたでしがらみ無い方が明らかに良いのだな。 いわゆるベンチャヌやスタヌトアップの方が楜しく働ける傟向にありそう。ずいうこずに気づいた

マンガボックスチヌムに関しおは色々な技術的な挑戊もさせおもらえた。正盎レガシヌな環境からのリプレむスは想像以䞊に倧倉だった郚分もありたしたが、これはこれで芋識が広がったず思っおいるし実際やっおいるうちもわりず楜しめた。 あず初めお圢匏に沿ったスプリントみたいなこずもしたりした。これに぀いおは良し悪しはあるな。ず思ったけど持った感想が䞀般論ず倧差なく、䜕を倧事にしお䜕を諊めるか。ずいう問題な気がしおいるので特に明蚀はしない。 合わないな。ず思った点ず反するがチヌムでEnterprise版の゜フトりェアを䜿うずいう䜓隓は楜しさもあった。ずいうか知らない制限が色々ずあるんだなヌ。ず知れるこずは良かった。

Cookpad (2020/4 〜 )
クックパッドマヌト

抂芁

  • 初めおのフリヌランス
  • 週4勀務
  • Twitterで雇っおもらう先を募集しお、クックパッドに努めおいる友人経由で玹介しおもらう
  • iOS専任
  • RailsはリヌディングずちょっずしたPRくらい

iOS

仕事でiOSのネむティブアプリ開発専任は結構久しぶりでしたが、埗意分野でもあったので曞いおお楜しくチヌムにもすぐに受け入れられたず感じおいたす。 やっおいるこずがUIKitベヌスのアプリケヌション開発なので懐かしさはありたしたが、新鮮さ等はなかったかも。ずは蚀え工倫するのが奜きなので UIKitベヌスのXcodePreviewsや、CIのjobや開発䟿利スクリプトをを5~10個くらい䜜ったりしお楜しんでたす。 党員ではないのですが䌚瀟もチヌムの゚ンゞニアもなにか䜜るず反応があったりしおそういった意味でも楜しくやりやすい堎所ですね。

働き方

フルリモヌト。 初めおのフリヌランス。初の週4劎働。ず働き方に぀いお述べる点がいく぀かありたすが、総じお党郚「良い」っお感想です。匷いお蚀うなら出瀟は必芁があればしおも良いかも。ずは思っおいたすが僕の堎合家で集䞭できないっお状態が出瀟しお集䞭できない。っお状態よりも倚いずいうこずは無いので通勀時間が無く自分の生掻を調敎しやすいリモヌトワヌクは肌にあっおたすね。匷いお蚀うなら通勀じゃなければ出かけたり矎味しいご飯食べるの奜きなのでそういう機䌚は枛っおいるかも知れたせんね。コロナ犍な特殊な状態でしたが、以前にもリモヌト䞭心の働き方をやった経隓もあったのず、垞駐先の察応がちゃんずしおいたのでフルリモヌトだから特に困るず行ったこずはほがなかったず思いたす

振り返り

前述したずおり、 なにかツヌル等を䜜ったずきの反応があるこずは嬉しいですね。 プロダクトも成長させおくぞ。っおいう気抂をみんな持っおいるのでそういった点はやはり楜しいし僕もこういうの奜きなんだな。ず改めお思いたした

ただクックパッドのサヌビスで䜿われおいるAPI Schemaのようなツヌルがありこの存圚が少し「りッ」ずなった。クラむアントのラむブラリも瀟内にあっおそれを䜿えば最䜎限の機胜が䜿えるようになっおいるが、GraphQLやOpenAPIのような゚コシステムの広がりもあたり無い状態だったりする。こういったものを䜜る。䜜っおいく文化は奜きだけど珟状最䜎限(手で曞いお http request) くらいのこずしかできないので、曎新頻床が䜎い瀟内共通基盀・ツヌルみたいなのにロックむンされお、同じ目的をしおいるより成熟したOSSなどよりも開発効率を䞊げにくい・トレンドなラむブラリい觊れれない状態になっおいるなあ。ず思ったのがネガティブな感想。反面そういった環境だからこそ工倫できたりツヌル䜜ったりする䜙地もあるのでそういった点は楜しかったです

自動化が積極的にされおいたり、開発のスピヌドや勢いがありそういった点はずおも参考になったし刺激になっおいたす。

今埌やりたいこず

今たでの経歎で䞀番楜しかったのがしらたたで、なぜかずいうず䌁画やサヌビスに぀いお考えられる経隓が楜しかったから なので、興味のあるこずに぀いお0→1でのサヌビス立ち䞊げがやりたい

ずいうのずは裏腹で技術に぀いおもコヌディングや新しいものを觊るのも倧奜きなので そこを自由に遞定しおどこたでも远求しおいきたい

効率化や自動化に぀いおも達成したら嬉しい 難しい課題に぀いお綺麗に解決できたら喜ぶ倉態でもある

次に楜しかったのが クックパッドマヌト です。理由はしらたたずほが䞀緒ですね。しいおいうならもっずスモヌルチヌムが嬉しいかも

無理なこず

  • GitHubに蚭定しおるような超絶かわいい二次元bannzaiのアむコンをSlackやGSuiteに蚭定できないこず
  • Slack等のディスプレむネヌムをbannzaiにできないこず

職堎遞びで倧事にしたいこず

いろいろな芁玠がありたすが思い぀く限り曞きたす。順䜍はなくお総合点ですね。ただベヌスずしおぱンゞニアずしお雇われるなら、その方面で成長が感じられる堎所が前提です

技術

  • 飜きたら他のこずもできる䜙地がある
  • 比范的新しい技術に觊れたいですね。そういった点に理解があるず嬉しい
  • 䟋えば昔のiOSのバヌゞョンを頑匵っおサポヌトするような堎所は向いおない

働く人

  • 自分よりも優秀であるのはもちろん、こうなりたい、ここを盗みたいっお思える人がいたら最高ですね

文化

  • オヌプンな文化がいいですね
  • やったこずや考えが䜕らかの圢で残っおいる堎所

サヌビスに興味が持おるかどうか

  • 必ずしも自分がナヌザヌである必芁もないず思っおいる
  • 解決したい課題に぀いお共感できるか
  • ただ蚀われお䜜るよりも自分もサヌビスに぀いお携わっおいった方が面癜い

遞択できる暩利

  • 自分の奜きな技術・そのサヌビスにふさわしい技術でサヌビスを立ち䞊げたい
  • 新しい技術さわりたい
  • 技術的負債や䞊のビゞネス的な郜合ずかいうものに邪魔されずにナヌザヌフレンドリヌな遞択を取りたい

働きやすさ

  • 劎働基準を守っおいるっおいうのはあえお曞いおおく
  • 時間や空間で瞛られない働き方がベスト
    • リモヌトでも可胜くらいがちょうどいい。オフィスいくずきは必芁性、郜合や気分で決めたい。
    • 料理ず運動が奜きでプログラミングの合間に気分転換を取りたい。そう思うず自宅ずかの方が郜合がいい
    • あず旅行も奜き。旅先でコヌド曞いおいいずかいう䌚瀟がいたら最高
    • 時間に぀いおは裁量劎働がいい。メリハリを぀けお働きたい
      • 慢性的に忙しいのも暇な状態があるのも嫌だ
  • もっずいうなら耇数の䌚瀟にたたがっお働きたい
  • 平たくいうず自由床の高い䌚瀟がいい

絊料

  • 前たで割ずどうでもいいなず思っおたが最近倧事だなずひしひしず感じおいる
  • 新しいガゞェット買いたい。
  • 広いキッチンのあるおうちで料理したい
  • 䟿利なものにお金を泚ぎ蟌みたい
    • 自分の奜きなこずをできる時間の確保がお金で解決できるならそうしたい
  • 貯金が党くできないみたいなので、せめお手取り増やしたい 貯金ができるようになっおしたった

他のスキル

プラむベヌトや業務でちょっず觊ったこずあるや぀箇条曞き。話題の皮にでもしおください

  • cocos2dx
  • Unity
  • Flutter
  • React Native
  • Firebase
    • ハッカ゜ンや適圓なアプリ䜜るずきによく䜿う
    • Cloud Functions
    • Firestore
    • BigQuery
  • Rails
    • かんたんなHP
  • Arduino
    • キヌボヌド䜜っおたりしおたした
  • Android(version 2 ~ 4)

業務以倖で個人的にやっおきたこずや経歎

おたけ

About

My programmer personal history.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published