マイルストーン的な感じで、後で見返すように...
職務経歴書よりも、詳しい業務内容はぼかして、感じたことや業務外でおこなったことを追記してます。
やったこと
ですます省略の散文調でいきます。
2018年4-6月
研修でUNIXとJavaをやる。
前半はひたすら、.zshrc
をいじっていた気がする。
後半はJavaとSpringで、Webサイトを作っていた。
社内のCI/CDの組み方はここで覚えた。
業務外では、Selenium WebDriverで色々遊ぶ方法を身につけた。
2018年7-9月
広く浅くいろいろやった...
- APIサーバー改修 (PHP)
- サーバーリプレース (Java)
- iOS
- API,Webサーバー実装 (Node.js, Kotlin)
- ...
新卒の普通の研修もあり、言語だけでも5つ以上あったので、めちゃくちゃ大変だった。
Javaは研修でがっつりやったので、困らなかった。
"Effective Java"は書き始める前に読んだが、悩んだときに使えそうな実装パターンを思い出せたので、役に立った。
Kotlinは、サーバーサイドで利用し始めた。
コードがすっきりして良かったが、このときはJavaと併用していたので、相互変換が若干面倒だった(特にNullable
とか)。
Node.jsはJSの知識がほとんどなかったため、覚えるところから始めた。
npm audit
に感動した。
Express
やnodemon
など非常に強力なライブラリ群があり、スクリプト言語なので開発スピードも出て、割と良かった。
2018年10月から
前任の引き継ぎなしでiOS担当になる。
しかも、入ったら割と炎上🔥していた。
燃えていたこともあり、その対策に追われ、ほとんど新規開発はなかった。
そんな中で並行してできる、
- CI/CDの整備
- ドキュメントの整理
- コードレビュー
- テスト設計
- リリース作業
など、だいたい直接コーディングしないところをやっていた。今振り返っても、iOSの開発はほとんどやっていなかった...😭
iOSについては技術力のキープのため、チーム外や業務外で、Swiftをちょこちょこ書いていた。
frameworkの作り方に慣れてきた。
社外の、制約がない環境では、充実したCIを組めるようになった。
おまけで、KotlinやVue.jsやRubyを使って、小さいツールを作っていたが、正直こっちの方が面白かった。
時間を持て余して、気づいたらCSS3にもだいぶ慣れてきた。
感想、教訓
1,2ヶ月ほどの短期間のチームジョインでは、コードとJIRAのチケット渡されて、「これやっといて」みたいな感じが多かった。
いきなりコードとチケット渡されてどうするかだが、ドキュメントが揃っている方が珍しかったので、
とりあえずIDEに突っ込んで、クラス名やメソッド名を推測して検索して、実装を見つけるということをしていた。
iOSだと、Storyboardを見たりするのも使えた。
先輩に聞いても、担当外の部分だと答えられないことも多々あるので、古いコードだったら、出来るだけ自分で調べる必要はあると思う。
不具合で燃えているところに入った場合、キャッチアップも追いつかないし、
周りも忙しく、手をあげてコーディングのタスクを取っても結局後回しになるので、正直結構きついとは思う。
そんな中でも、何かできることはあるはずなので、貪欲に探していった方が良いと思う。 自分の場合は、CI/CDなど直接プロダクトに表れない部分を改善していった。
オススメの本
リーダブルコード
特に、目からウロコの内容はないですが、メジャーで安価で一般的な作法が書いてあるので、
一通り読んで「リーダブルコードに書いてあった気がします!」的なことを言うとおそらく説得力が増します。Effective Java
読んでみて、Java書くなら一度手に取った方がいいと思いました。レガシーコード改善ガイド
中身の例が若干古いですが、既存のコードに手を加える際のHow Toが詰まっています。
試行リファクタリングなどの手法は、実際に役に立っています。
これから
業務外で学んだことを活かす機会はあったのですが、最近は業務から学ぶことが少なかったので、 なんらかの方法で軌道修正をしていこうと思いました。
とくに開発の時間は増やしたいと思います🙄