エンジニア3年目を迎えるにあたってのふりかえりとこれから

これまで取り組んだことと2021年の抱負

家のベランダにて

これは、ふりかえり Advent Calendar 2020 の20日目の記事です。

0. はじめに

こんにちは。都内でエンジニアをしている、@gkzvoiceです。僕は2018/11にエンジニアへジョブチェンジしたので3年目を迎えました。

2年前はExcelやパワポを叩く営業職と、まさか自分がプログラムを書いているとは露にも思いませんでしたが、楽しくエンジニアライフを謳歌できています。転職してよかったと心から思います。

0–1.ふりかえりをしようと思ったワケ

「いま、自分は楽しんでいるんだ」と、俯瞰的な見方を自分に対して向けることができるようになったのは、実はここ最近のことでした。

そんなわけでこのたび ふりかえり Advent Calendar 2020に参加し、僕のエンジニア2年間をふりかえってみることにしました。

0–2.本記事の立ち位置

本記事は、自分の取り組みや当時の考えをだいたい時系列に羅列しているだけです。ふりかえってから気が付きましたが、いろいろやっていて何度も書き直しては推敲しての繰り返しでたいへんでした笑。

それにあたり本記事のボリュームは多いです。読みづらいところもあり、公開を見送ろうか迷いましたが、「エンジニア3年目を迎えるいま」をスナップショットとして書き留めておきたい気持ちのほうが強いので、「ググれるふりかえり備忘録」として投稿することにしました。

0–3.本記事におけるふりかえりのやりかた

びばさんの、ひとりでふりかえりをするための様々な「観点」 — Qiita を参考に、おおむね学びと時系列に沿ってふりかえりをおこないました。

3. 学び

3–1. 学び

3–2. 気づき

4. 時系列

4–1. 過去

4–2. 現在

4–3. 未来

4–4. 理想

4–5. ギャップ

1. ふりかえりサマリー

1–1.目次

2. エンジニアに転職する前3. エンジニアに転職した後4. ふりかえって気がついたこと5. 2021年の抱負

2. エンジニアに転職する前

■プログラムを書くことに興味を持ったきっかけ- 前職でプログラムを発注する経験を通じて、プログラムに出会い、興味本位で書いてみるかと思ったことが大きい- 当時は民泊物件の立地提案活動の一環として、cronでAirbnbに対してスクレイピングをして、宿泊価格や稼働率、レビューなどをcsvに出力させたりといったことをしていた- 当時書いていたプログラム
https://github.com/gkzz/bnbch

■転職は突然やってきた
- それから転職しようと思った会社から、転職の話は無しにしてほしいと転職の話が白紙になり、意図せずして無職になってしまった- プログラムを作ることに魅力を感じたので、エンジニアかディレクターあたりにの仕事に転職するかと転職活動を進める
■アウトプットしていたので首の皮一枚つながった
- 同時期に友人に疑問点を聞きながらPythonのプログラムを作ってはエラーを踏んで、ブログやコードをアウトプットする毎日を送っていた- その取り組みがきっかけで現職の方から勉強会のお誘いをいただき、参加し、おもしろかったので選考に進み、転職

ほんとうに当時は 背水の陣でというより、既に崖から落ちたんじゃないか? と必死に転職活動に、プログラムのエラーに向き合っていた記憶があります。

3. エンジニアに転職した後

3–1.本業(実務)

■GKEとGitlab、Argo CDを使ったCI/CD環境整備(先月くらいから、後述するDjangoでの開発と並行)
- GCP自体は社内研修でかじった程度だったが、なんとか現職のアドベントカレンダーに投稿できるまでにはなった
- Gitlab RunnerをGKE上で実行するまでの設定方法[Google Cloud SDKとHelmら使用]
https://zenn.dev/gkz/articles/gke-gitlab-cicd

■Djangoアプリケーション開発エンジニア@オンプレミス(今年半ばから)

- DjangoとPostgres、Nginx、Jenkinsらを使ったオンプレミス環境下で構成される社内アプリの開発がメイン
- 単体、結合はmockを使って異常ケース、順異常ケースを再現しながら実施
■オンプレミスのネットワーク環境の構築システム開発エンジニア(転職時から今年半ばまで、Python)

- Stackstormというジョブのワークフロー実行OSSと実行するpythonプログラムの作成とバグの改修、単体、結合、総合試験項目の作成やテストコードの作成
- テストは同じ
■技術ブログに昇華したものをいくつか

- Gitlab RunnerをGKE上で実行するまでの設定方法[Google Cloud SDKとHelmら使用]
https://zenn.dev/gkz/articles/gke-gitlab-cicd
- Ansibleのdebugモジュールを使ってログを出力する方法がshellモジュールを使ったかどうかで違ったのでまとめる
https://qiita.com/gkzz/items/fe73227557ea853904cc
- 【python】mockのサンプルコードまとめ(@patch, return_value, side_effect)
https://qiita.com/gkzz/items/ddabc2bf04e84ae3cdc9
- Dockerで始めるStackstorm再入門1/3(環境構築からOrquestaで書いたWorkflowの結果をslackに通知する)
https://qiita.com/gkzz/items/4329f0846c873dbce9cf

3–2.本業以外

■技術ブログ
- 37本/2年間
https://qiita.com/gkzz
https://zenn.dev/gkz/articles/

■LT

- 4本/2年間
https://speakerdeck.com/gkzz
- 来年1月に発表するJuly Tech Festa 2021 Winterは含まず。

■資格試験

- LiNUC Level 2(日本語)
- AWS SAA-C02(英語)- AZ-900(英語)- Python基礎認定試験
■他

- July Tech Festa 2020ボランティアスタッフ参加
July Tech Festa 2020にプログラム委員として参加したので振り返ってみる https://link.medium.com/rLHOroxJgcb
- 読書会の定期開催
技術書を英語で読む会
http://reading.connpass.com/

実務では毎日覚えることが多く、また調べれば分かること、聞けば分かること、どう頑張っても分からないことの分別がつかないことも加わり、激動だったということしか覚えていないです。。。ここでいう、知らないこととはたとえば、次のようなものです。

- 初見だけどググれば見つかる技術用語- ローカルルール的なニュアンスが含まれる技術用語- ビジネスロジック

2021/01/04更新

フィードバックいただきました。

— — — — — — — — 2021/01/04更新ここまで

4. ふりかえって気がついたこと

ふりかえりをおこなっていくうちに、以下の4点に気がつくことが出来ました。

- 走りながら学ぶことは楽しい- 井の中の蛙- 筋トレをしないスポーツ選手- 情報系の勉強を独学ではなく、学校で取り組みたいワケ

4–1.走りながら学ぶことは楽しい

僕は勉強することが好きです。転職する半年ほど前の独学期間と転職してからの2年間、エンジニアをやっていますが非常に楽しいです。そんな僕にとって走りながら学ぶことができるエンジニアは天職 です。

学ぶことと走りながら学ぶことの違い は結城先生がTweetするように、「準備ができてからおこなうか、そうではないか」だと思います。

実際、自分の2年間のエンジニアライフをふりかえってみても、決して必要な知識や経験を積んでから業務に臨んだことはありません。それらを身に付けたと思って仕事に取り組んでいても、すぐ身に付けた知識や経験を補強する必要に迫られました。インプットする対象を選り好みする余裕もなく、求められればなんでも調べました。

4–2.井の中の蛙

上述したように、実務やプライベートでたくさんのことにチャレンジした結果、たくさんのエンジニア像がある、多くの技術があるということを痛感しました。まさに「井の中の蛙、大海を知る」です。

「井の中の蛙」状態をを強く認識するようになったきっかけをひとつ挙げるとすれば、毎週日曜日朝に開催している、#技術書を英語で読む会 という 読書会です。実務ではタッチできなかったけど、知っててアタリマエがたくさんあることを知りました。

参加者のみなさま、いつも技術ネタをご提供していただき、ありがとうございます。これからもしぶとく続けていくのでよろしくおねがいいたします。

4–3.筋トレをしないスポーツ選手

僕はいわゆる文系四大卒の営業職からのエンジニアです。高専卒の方の仕事振りとその学習速度を垣間見て、僕は筋トレをしないスポーツ選手だと非力さを痛感すると同時に、情報系の勉強をガッツリ行わなければならないと決意しました。

4–4.情報系の勉強を独学ではなく学校で取り組みたいワケ

さて、この「筋トレ」を独学ではなく、学校に通って進めようと思うのですが、その理由をここで書きます。理由は以下の2点です。

■学位がほしい
- 腰を据えて、時間をかけて筋トレに臨むので、世の中に認めてもらうぐらいの客観的な成果、社会的な権威がほしい

■学習テーマを自分で決めず、広範囲に学びたい

- 「筋トレ」という言葉を使っているのは、自分の知識のどこが足りないか認識していないからなので、学習テーマを自分で決めたくない、決められない
- 広範囲に学んでから、自分の専門分野を見出したい

実際に行くかどうかは、現在エントリーに向けて準備を進めているところなので分かりません。進学が確定しましたら、ご報告できればと思います(フラグ)。

2020/12/24更新

大学で情報系の勉強をしていく理由について、非常に端的に言語化していただいた記事があったのでご紹介させていただきます。

車輪の再発明をしないための学びであり、車輪を適切に応用していくための学びをしたかった。

出所:パラレルワーカー兼大学生になることになった | the world as code

— — — — — — — — 2020/12/24更新ここまで

5. 2021年の抱負

■継続- 業務に全力- 毎週日曜日の読書会を継続
http://reading.connpass.com/
- July Tech Festaのスタッフ業務に励む
■新規
- 分からないことをそのままにせず、scrapboxに書き留めていく
https://scrapbox.io/gkz-unknown/
-> 詳細は「6–1.ふりかえりの反省」にて
- 社会人大学で情報系の勉強から逃げずにみっちりやる
-> 掲げた理由は「4–4.情報系の勉強を独学ではなく学校で取り組みたいワケ」で記載
- July Tech Festa 2021 Winterで登壇してみる

登壇を考えた理由

- 前回初めてボランティアスタッフとして参加して,
登壇してみようかなと思ったから。
- アウトプットするためにインプットをがんばると、
 LTの登壇や技術ブログの投稿の経験を通じて感じたから。

6.最後に

ふりかえり Advent Calendar 2020 の記事を書き終える前に、3つお伝えしたいことがあります。

- ふりかえりの反省- 社会人大学院への進学を検討- 圧倒的感謝

6–1.ふりかえりの反省

今回のふりかえりの反省は、分からないことを書けなかったという点です。どこまで分かり、どこから分からなかったか、記録を残しておりませんでした。

書き進めていた当初は「まぁ、いっか」と軽い気持ちで捉えていたのですが、結城先生のTweetを拝見してから自分の考えはガラリとかわりました。分からないことを忘れている状況に、そしてそのまずさに気が付きました。

これはよくないので、本記事を書いている時点で認識している、自分が分からない点、ジャンルを列挙していきます。

- データベース。SQL構文。- クリーンアーキテクチャなど設計理論- ネットワーク。基本情報は過去問を問いていたが、コロナで受験できなかったので、どこ
まで身についているのやら。
- キャッシュ戦略。キャッシュの使いどころ。https://scrapbox.io/gkz-unknown/202012

6-2.社会人大学院への進学を検討

学校の進学先として、JAISTという社会人大学院(東京社会人コース)を検討していた時期があります。先生と面談をさせていただいたり、自分の入学後の研究活動を計画するなかで進学は厳しいと感じ、進学を見送ることにしました。いや、今の僕のレベルを鑑みれば、学部レベルの大学に通い直すべきという現実を直視することが出来たと表現したほうが適切かもしれません。

大学院に行こうと考えていた当時に調べていたこと、考えていたことは別記事に残しています。社会人大学院に興味がある方はぜひチラ見していただければうれしいです。

JAIST職員のみなさまならびに学生のみなさまには、キャリアの相談に乗っていただき、ありがとうございました。大変お世話になりました。入学は見送ることにしましたが、みなさまに設けていただいた面談がなければ、この決断はできなかったです。もちろん本学でやりたかった、情報系の勉強は通信制の大学でするつもりです。

6–3.圧倒的感謝

最後に。僕がエンジニアとして2年間なんとか続けることが出来たのも、現職のみなさま、ギークハウス界隈のみなさま、JTFスタッフのみなさま、読書会の参加者様に助けていただいたからにほかなりません。

ありがとうございました。これからもよろしくおねがいいたします。

ギークハウス?なにそれ?という方はコチラの記事を読んでみてください。

以上で、エンジニア3年目を迎えるにあたってのふりかえりを終えます。

P.S. Twitterもやってるのでフォローしていただけると泣いて喜びます:)

@gkzvoice

P.P.S. 読書会の宣伝

毎週日曜日朝09:00から、discordにて読書会を開催しています。

TL;DR

事前にお題の技術書の章を読んでいただき、イベント当日に感想をdiscordで雑談する、参加型読書会です。

当グループを設立した背景 / Why is Reading Party launced?

「技術書を英語で読みたい」、「技術書を読んだ感想を共有したい」という同じ考えを持った方々がゆるーく集まる、スターバックスのようなサードプレイスが欲しくて。

connpassイベントページより

読書会の雰囲気は以下のイベント当日に、discordのvoiceチャンネル上で行われる雑談のメモが参考になるかと思うので掲載させていただきます。

2020/12/25更新です。

P.P.P.S. 生涯エンジニアであるために考えること

ここまででお話したとおり、僕は勉強が好きで、そしてエンジニアという職業は勉強をすることで自分の価値を引き上げる僕には合っているようなので、できるだけ長く続けたいと思っています。

とはいっても、エンジニアであり続けるためには勉強から逃げることは出来ないでしょう。技術の変化は激しく、毎日学ぶべきことが多く、学んでも学んでもキリがないと思うことがありました。そんなときに下記のpodcastの回に出会い、それは僕のキャリア観にとてつもなく大きな影響を与えてくれました。

- 一概に技術といっても、それは変わるものと変わらないものがあるということ。- 一見技術は集中と分散を振り子のように行き来しているようにみえるが、実際は当時の技術背景によって差分が生まれている。- ひとつひとつの技術の背景、類似技術との類似点、相違点はなにか?

上述したpodcastとTwitterでこんな投稿が流れたので『Unix哲学という考え方』という本を読みましたが、上述したpodcastの回が好きな方、嫌いな方、つまり全人類におすすめです。

--

--

🇯🇵 #SoftwareDeveloper #MeijiUniv @apc_tweet Opinions are my own. #Geek #ギークハウス大倉山 #gkz https://gkzz.github.io/

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
gkzz

gkzz

111 Followers

🇯🇵 #SoftwareDeveloper #MeijiUniv @apc_tweet Opinions are my own. #Geek #ギークハウス大倉山 #gkz https://gkzz.github.io/