新卒1年目エンジニアが送る2017年の振り返りと2018年の目標
(芝公園)マンチズ バーガー シャック:オバマ大統領が来日した際に食べたと噂のお店
こんな感じで飯テロを挟んでお送りします
あけましておめでとうございます!
GoogleHomeに明日の天気を聞いたら「明日の荒川の最高気温は6℃、最低気温は1℃、晴れです。しかし夜は曇りとなるでしょう」と返答が来ました。寒いですね。
▼初めに
まず初めに、2017年では様々な形で多くの方々にお世話になりました。本当にありがとうございました。
2018年もよろしくお願いします。
▼ 2017年の振り返り
2017年の目標は、、、
技術にフルコミット
というスーパーミラクルに意味不明な目標でした。ここでいう技術はコンピューターサイエンスとかプログラミングに関することですね。
鬼のロジックを求められるEn-courageで活動真っ最中だったにも関わらず、なぜこんなアホの塊みたいな目標を立ててしまったのかと反省しています。
ざっくり今年やったこと
En-courageの活動、卒業研究、油そば(1 ~ 3月)
技術にフルコミットのはずなのに、スタートでいきなりこけました。
En-courageの活動で三重だったり愛知に飛んで活動しつつ、「このままじゃ卒業できないよ」と最後の最後まで研究室で追い詰められ(蓋を開けてみると全然そんなことはなかった、、、)、油そば屋も人手が足りずギリギリまで働いたりしていて、人生で一番ドタバタした3ヶ月でした。まあでもこれはこれでいい経験でした(笑)
入社、全体研修(4~5月)
ここでもまだほとんど技術にコミットできていません。もはや目標を達成する気なんて更々なかったのではと思えるくらいです。
とは言いつつも、マナーであったり、電話対応であったり、社会人というより人として必要なスキルをここで身に付けることができたのでこれはこれで良かったなと思います。
技術研修(6~7月)
とうとう技術にコミットする時が来ました。技術にフルコミットとか言っておきながら、技術に触れるまでに半年かかりました。とはいえ、ここから半年間で怒涛のフルコミットが始まります。
技術研修は「Railsを用いて正しくアプリケーションを作れる」 という目標のもと進んでいきました。
まず初めの1ヶ月では
- Rails Tutorialを1周する
- いちばんよくわかるHTML5&CSS3デザインきちんと入門 (Design&IDEA)を読む
- 改訂第3版 すらすらと手が動くようになる SQL書き方ドリル (WEB+DB PRESS plus)を読む
の3つをこなしました。
後半1ヶ月では、前半2週間くらいで先輩方から講義(オブジェクト指向設計、DB設計、セキュリティ、Sass、インフラ)、後半2週間くらいで自分たちでアイデアを考えてアプリケーションを作るという感じに進んでいきました。
この2ヶ月は、休みの日の恒例になっていたブログの更新を捨てて、RailsTutorial2周目をやっていたので、本当に技術にフルコミットの2ヶ月でした。
(芝公園)食事 太華:自分史上最高ランチでした
OJTに突入(8~12月)
技術研修が終わり、8月からOJTが始まりました。ここからは実践で大きく3つほど色々していきました。
2回のリリースを経験
ここが一番技術にフルコミットしたと同時に、自分が最も成長できていると実感していた部分ですね。
一つはプロジェクトの進め方ですね。KPT法、計画の立て方、ポイント見積もりの方法、振り返りの進め方、関係者とのやり取りなど色々学びました。
もう一つは開発の部分ですね。DB設計、ありとあらゆるものにおいて名前がものすごく重要、モデルやコントローラがFatにならないためにどう実装すべきか、実装ではなくテストから考えてみる、などなど開発の部分でも多くの知識を吸収して学びにさせていただきました。
いろんな人のプルリクを徘徊してみたり、たまにレビューしてみたり、そのレビューの際に見ている視点を教わったり、とにかく技術にフルコミットでした。書ききれないのでこれくらいにしておきます。
RubyKaigi参加
RubyKaigiにスポンサーブースの担当として参加して来ました。
ステッカーを紛失したり、たこ足配線を忘れたりしてブースの担当としてはほろ苦い経験になりました(笑)
ただRubyKaigi自体は技術の最先端をお話を聞けたり、世界中のRubyistと交流できたりしたので最高でした。もっとちゃんとRubyを学ぼうとモチベーションも上がり技術にフルコミットに拍車がかかりました。
インターンの設計と実施
採用チームと合同でインターンの設計もやってます。
En-courageの支部立ち上げの時と通じるものがあって、楽しくやらせてもらってます。
「それ技術にフルコミットできていないのでは?」と思われるかも知れませんが、そんなことはありません。事前課題を選定したり、事前課題を実際に自分でやってみたり、参加者は弊社に何を求めているのか?どんな形式のインターンがベストか?どうすれば関係者全員にやってよかったと思ってもらえるか?を突き詰めて考えたり、当日メンターとして分からないところをサポートしてみたりで技術ばっかりです。
まさに技術にフルコミットでしかありません。
19卒/20卒のエンジニア学生の皆さんはぜひ。
まとめ
最初の半年はダメダメでしたが、後半の半年で巻き返せたので達成率は70%くらいですかね(適当)
書いていて改めて思いましたが、1年目からかなり色々やらせてもらったなと感じてます。
とは言っても、エンジニアなので「技術にフルコミットは当たり前だろ」って感じですね。目標が良くなかったです。
(北千住)炭火焼きホルモン 紅ちゃん:いろんなホルモン食べれます
▼ ということで2018年の目標
技術を伝えられる人になる
にします。仕事でも目標を決めているので、プライベートでの目標にします。
今までは自分が人から教わって吸収してばかりでした。なので次のステップとしては、知らない周りの人たちに自分の知識を少しでも伝えていきたいなということでこの目標にします。
そのために、以下の3つを達成できるように頑張ります。
① 技術書を最低24冊読む
そもそもインプットしないと伝える知識すらないので。
絶対読みたい本
- オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
- オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)(読んだ)
- 改訂2版 パーフェクトRuby(途中まで読んだ)
- メタプログラミングRuby 第2版
- アジャイルサムライ−達人開発者への道−
- 達人に学ぶDB設計 徹底指南書(読んだ)
- SQLアンチパターン
- 達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)
- 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践(今読んでる)
- テスト駆動開発
- SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)(読んだ)
普通に読みたい本
- プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)(ほとんど読んだ)
- 新装版 達人プログラマー 職人から名匠への道
- APIデザインケーススタディ ~Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方 (WEB+DB PRESS plus)(買った)
- リファクタリング:Rubyエディション
- ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール
- Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術
- 入門 コンピュータ科学 ITを支える技術と理論の基礎知識
② 技術に関する記事をブログで12本書く
技術を伝える一つの手段として。目標に対する進捗の可視化もできるので良いかと。
かつ技術に関するブログを書くことが、自分の中でまだ少し心理的障壁が高いのでチャレンジしてみようという感じです。
③ 考え中
2つじゃ少ないと思い3つと宣言しましたが、最後の一つは決まってません。もうちょっと考えます。 候補としては「OSSに貢献する」「何かのイベントで発表する」があります。
終わりに
というわけでこんな感じで2018年も頑張っていきます。
2018年もよろしくお願いします。