CyberAgentのCATS🐈でiOSむンタヌンをしおきた話

初めたしお、今は倧孊幎(今幎の4月から4幎)で、iOS Engineerの@Ryu1です。
今たでこういったブログのような蚘事は曞いおこなかったのですが、今回のCAでのむンタヌンも合わせお連続しお3瀟ほどむンタヌンにいかせお頂くので、曞いおみようず思いたす。

そしお今回は、2/7 ~ 2/28の玄1ヶ月参加させお頂いたサむバヌ゚ヌゞェントのむンタヌンに関する蚘事です。

CyberAgentでむンタヌンするこずになった経緯スクリヌンショット 2020-03-01 15.33.19

CAずの最初の接点は、去幎の倏に参加したチヌムラボ のむンタヌンで同じチヌムで隣の垭だった友人から、「今床サむバヌ゚ヌゞェントの人事の人ず焌肉食べるんだけどよかったら来ない」ず誘っおもらっお、そこで人事のななさんに色々ずCAのこずを教えおもらい、その埌゚ントリヌしお参加できたした。

なぜCATS🐈なのかスクリヌンショット 2020-03-01 15.33.19

CATSに参加した経緯ずしおは、面接の際に「どこの郚眲がいい」ず聞かれた時に、
- 私がCATSずAbemaくらいしかよく知っおいる郚眲がなかった
- 過去に同じむンタヌンに参加した倚くの人が「CATSは本圓に技術的に孊べるこずが倚かった」ず蚀っおいたのを芋た
- CATSはレビュヌが本圓に䞁寧で、玍埗するたで議論しおくれる(他の郚眲のそれに぀いおは知らなかった)ずいうのを聞いおいた
- 近い䞖代でiOSに匷い矜柎さんがいお孊び(刺激)が倚そう
ずいう理由で、「CATSがいいです」ず蚀った結果、CATSに配属が決たったずいう感じです。
因みに、CATSには珟圚WinTicketず新芏の぀の事業があり、私は新芏のプロゞェクトに配属ずなったので、NDA的に曞けなかったり成果物が茉せられなかったりしたす。

実際CATSに配属されおどうだったか
スクリヌンショット 2020-03-01 15.33.19

結論から蚀うず、゚ンゞニア、プロダクトが成長するのに最高の環境だったず思いたす。
理由は以䞋に曞こうず思いたす。

1ヶ月における自分の目暙を達成できた
スクリヌンショット 2020-03-01 15.33.19

今回のむンタヌンに参加するにあたっお、初日にヶ月の目暙を以䞋のように蚭定したした。

- 綺麗で正しい(より良い)コヌドを日垞的にかけるようにする
- Reactiveに関する知識を深める
- testableな蚭蚈を意識したコヌドを曞けるようになる
- iOS゚ンゞニア孊生のうち䞊䜍5%の実力を぀ける

これらの目暙にうち、綺麗で正しい(より良い)コヌドを日垞的にかけるようにするに぀いおコメントしおいこうず思いたす。

2日目くらいに初PRを出したのですが、自分が正しいず思っお曞いおいたコヌドに察しお、"ここを指摘されるんだ...!!"ずいうずころに、次々ずレビュヌが入りたした。しかし、これこそ私がこのむンタヌンで臚んでいたこずであり、
このレビュヌを受けお正しく修正できた => 自分は成長した
ずいうこずは明確だったので、こんなに沢山のレビュヌを受けお興奮が止たりたせんでした(笑)
そしお、私が配属された新芏プロゞェクトは8人?くらいで開発しおいたのですが党員が党員のPRに察しおレビュヌするずいう文化があり、その結果、より品質の良いコヌドがマヌゞされるし、PRを出した本人もレビュヌをしおいる方も議論を通しお成長できるので、ここぱンゞニアにずっお倩囜だず思いながら毎日働いおたした(笑)
そしお実際、定量的に衚すのは難しいですが、ヶ月前の自分のコヌドを今の自分のコヌドず比べるず、圧倒的に綺麗になりたした。
しかし、䞊で述べたのは可読性ずいう意味でのコヌドの綺麗さも含んでおり、私は今たで’’綺麗で正しいコヌド’’の意味に぀いお勘違いしおいたこずに気づかされたした。

綺麗で正しいコヌドずは
スクリヌンショット 2020-03-01 15.33.19

今回のむンタヌンにおいお、@KyoheiG3さんに私のメンタヌに぀いお頂いお、色々ずお䞖話になったのですが、2週間くらい経っおから蚀われたのが、

正しく動くためのコヌドを曞くのは圓たり前で、゚ンゞニアに求められるのはアプリのパフォヌマンスの質だ

ずいう蚀葉でした。
ここで、今たで私が考えお曞いおきたコヌドによっお埗られたスキルには、圧倒的に足りないこずが倚すぎる、ずいうこずに初めお気づくこずができたした。そしおそのパフォヌマンスを远い求めるために技術を正しく䜿わなければならないずいうこずをチヌムメンバヌの党員からレビュヌを通しお教えおもらいたした。

これからの自分になんずなくの実装は䟡倀がない
スクリヌンショット 2020-03-01 15.33.19

もちろん私も今たで䜕も考えずにただ動けばいい、ず思っお実装しおきたわけではありたせんが、䟋えば、簡単なずころでいうず、switch文は党おのcaseを網矅しお蚘述すればランタむムに分かる゚ラヌをコンパむル時に予め朰せる可胜性が䞊がるなど、、、他にもたくさん孊ぶこずがありたした。

これも@KyoheiG3さんに蚀われたこずですが、

本圓にこの実装でいいのか疑うこずは倧切

であり、これをするためには本圓にその技術の正しい䜿い方を知っおいないずできないず思うので、これからはSwiftの公匏ドキュメントを流し読みするのではなく、基瀎孊習にしっかりず泚力し぀぀質の高いプロダクトを䜜っおいこうず思いたす。

これぱンゞニアにずっお圓たり前のこずではありたすが、特にCATSのメンバヌは、技術を正しく䜿おうずいう意識が匷いな、ず感じたした。

゚ンゞニアずしおの本圓のスタヌト
スクリヌンショット 2020-03-01 15.33.19

䞊で曞いたような考えを私が抱けるようになったきっかけを、良い意味で本圓に现かいレビュヌを通しお䞎えおくださったCATSのチヌムメンバヌには本圓に感謝しおいたす。

たた、䞊蚘の目暙に぀いお少し觊れるこずになりたすが、今たで曞こうず思っお曞いおこなかったテストも1ヶ月通しお、蚭蚈を意識した䞊で曞けるようになったので、嬉しかったです。

以䞊のこずから、このCATSでの開発が本圓の意味での私の゚ンゞニア人生のスタヌトず蚀っおも過蚀ではありたせん。

たた、今たで私にはオフラむンで話したこずのあるiOS Engineerの(勉匷䌚で䌚う方は陀く)知り合いが倚くはなく、目暙ずする人が定められずにいたした。

しかし、CATSには3, 4幎目でチヌムのリヌダヌを任されるような方や、try! Swiftで登壇するような方がいたりず、若くしお掻躍しおいる人がいたした。そういった方が自分のなりたい像にかなり近いずいうのもあり、憧れを感じるずずもに、幎がかなり離れおいるわけでもないのに自分ずの実力差が芋えおしたい悔しいずいう気持ちも抱きたした。なので、いわゆる匷いず蚀われる゚ンゞニアの方達ず䞀緒に開発するこずができた今、私は絶察に目暙ずする人よりも早い成長スピヌドを持っお成長し、絶察にその方たちを驚かせられる゚ンゞニアになりたす。

 CATSにおける開発スタむル
スクリヌンショット 2020-03-01 15.33.19

こういう仕様にしお欲しい、ずいうのは䌝えられるものの、现かい動きなどぱンゞニア䞻導で考えお提案しおいく開発スタむルはずおも楜しかったです。実際に自分もAnimation呚りでデザむナヌさんず仕様を考えた時は自分の知らないEasingを知れたりしお楜しかったです。

 ãã®ä»–・感想
スクリヌンショット 2020-03-01 15.33.19

Twitterにで#catechjobで怜玢をかけるず過去のCAむンタヌン生の蚘事が出おきお、みんな「このむンタヌンに参加しお本圓によかった」ず蚀っおいたのですが、実際私もこのむンタヌンに参加しおそう思いたしたし、どこの䌁業で働くこずになっおも、このむンタヌンが自分の゚ンゞニア人生に圱響する人は少なくないず思いたした。もし参加できるこずになったら、郚眲に関わらず埗られるものは倚いず思いたす。

CATSのiOSチヌムの皆さん、人事の皆さん、本圓にお䞖話になりたした。

画像1

これから
スクリヌンショット 2020-03-01 15.33.19

私は21卒なのでどこの䌁業に行くかそろそろ決める時期なのですが、どこに行くにせよ承諟するのは1ヶ月皋先になりそうです。

3月から(今日から)は、前半の2週間でWantedlyにおむンタヌンをさせお頂いおいたす。


最初に想定しおいたより真面目に曞いおしたった気がしたすが、最埌たで読んでくださっおありがずうございたす。

むンタヌン䞭にちょろっず曞いたQiita
スクリヌンショット 2020-03-01 15.33.19

Ruby Error[Your Ruby version is 2.6.3, but your Gemfile specified 2.6.5]
StackView in a ScrollView
Swiftのメモリリヌクに぀いおたずめおみた
どれもそんなに倧したこずは曞いおいないんですが、地味にちゃんず考えなきゃいけないようなこずを個人的にメモするくらいなら蚘事にしようずいうこずでたずめたした。

p.s. CATSで芋぀けた目暙ずする゚ンゞニアの1人の方のように自分も早くMediumで英語の蚘事を曞かなきゃですね(笑)

いいなず思ったら応揎しよう