新卒でエンジニアとしてデータ基盤関連の部署に入って、この約半年とちょっとで学んだことをまとめたいと思います。そして振り返って特に大事だと思ったことについて書いていこうと思います。
自己紹介
まず自分の紹介からなのですがもともと物理系の院に通っており、fortranをひたすら書いていた状態からエンジニアとして新卒で入社しました。入社半年前にやばいと思いpythonなどを軽く触っていましたが、ほぼ経験なしの状態でしたがOJTでいきなり現場に入りました。自分と似た境遇の人がどのくらいいるかわかりませんがそのような人々に対して何か参考になるところがあれば幸いです!
部署はデータ基盤系の部署と兼務でデータを使った何でも屋の部署に配属されました。何でも屋の方ではまだあまり活動をできていなかったので主にデータ基盤系の部署の話が中心になります。
やってきたこと
自分の整理も兼ねてやってきたことを箇条書きにしてますが、基本的に読み飛ばしちゃって大丈夫です!
個人的に大きな気づきがあったところは赤字にしています。
時期 | 内容 | 学んだ知識 |
---|---|---|
4月~5月 | ・データ基盤理解のために運用の仕事を中心に行う | SQL |
アカウント発行・データ連携対応・障害対応 | Python・AWS | |
上司の趣味によりruby使いになる(railsチュートリアル制覇) | Ruby | |
6月~8月 | 郵便番号をデータ基盤に連携する(初のデータ開発的な動き?) | |
社内用botのエンハンスで機能追加や内部処理のapi化(Jenkins) | Chatops・Jenkins・api | |
定常モニタリング用にredashをterraformで作成し始める | terraform・docker・ECS・redash | |
アカウント作成webアプリをフルスクラッチで書き始める(rails) | rails | |
9月~10月 | jenkinsとGHEの連携を使って自分の開発周りを自動化する | |
データ連携作業から延長してモニタリングレポートの作成(Tableau) | Tableau | |
slack botのエンハンス(snippetを使ったり) | ||
社内のデータ基盤ユーザーに利用者アンケートを取り始める | ||
アカウント作成webアプリが完成と同時にDBの構造、命名規則等の指摘を受けまくる | ドメイン駆動(触りのみ)・要件定義 | |
11月~12月 | 社内向けデータ基盤勉強会を開催する | |
S3でwebアプリを簡単に実装(サーバーレス) | js | |
slack botの裏側をjenkinsからapi gatewayに(サーバーレス) | api-gateway・lambda・AWS batch |
#半年ちょっとエンジニアをして思ったこと
感じたことはたった一つだけでいかに自分の開発スピードを加速できるかに全てがかかっているということです。先輩の受け売りになりますが自分の能力yをy=ax+b
で表すとしたらaをあげることが重要ってことを実感しました。そして自分の開発スピードを加速させるために意識したことが以下の三つです。
- できるエンジニアの近くで作業する(運と行動)
- 開発で自動化できるところは早い段階で済ませる(Jenkins)
- 変更を前提で開発を行う(terraform、docker、サーバーレス)
一つ目は説明はいらないですね笑。2つ目は特に強調したいところで、自動化が上手くなるにつれてどんどん開発スピードが加速します。現在gitにコードをあげればその後は全てJenkinsがやってくれる状態にしてています。3つ目に関してはterraformとdocker、サーバーレスを例に挙げていますが、普段のコードの書き方でも気をつけた方が絶対いいです。(DBの構造、命名規則等の指摘を受けまくる
の時に生き残れたのは少しだけこれを意識した設計になっていたからだと思います)
最後に
三つを気づきとして挙げたのですが成長率をあげる方法という意味では無限に手段があると思っています。今後もエンジニア方面に限らず成長率をいかにあげるかを常に考えていきたいです。