クラスメソッドに入社してもうすぐ2年なのでエンジニアとしてどのように働き学んできたかを振り返る

2024.03.13

はじめに

データアナリティクス事業本部ビッグデータチームのyosh-kです。
私は2022年の5月に入社したのでもうすぐクラスメソッド入社して2年になります。この2年でどのようなことをやってきたのかを振り返りつつ、 どのような考えで学習、情報収集しているのかなどを記事にすることで、少しでもお役に立てればと思います。

前提

  • 普段私が活用しているサービス等を紹介させていただきますが、あくまで私個人の意見であることをあらかじめ記載させていただきます。
  • 2年前の自分の情報も載せておくことで、2年間でどのようなことを学んできたのか比較したいと思います。
    • エンジニア経験:4年
    • プログラミング言語: Python(FastAPI): 2.5年, Java: 1年, JavaScript: 1年, HTML: 1年, CSS: 1年, C: 3ヶ月, SQL: 2年
    • データ分析基盤構築: 経験無し
    • クラウドサービス: クラウド上へdeployされるアプリ開発に携わっていましたが、Docker化したものをインフラエンジニアに渡していたぐらいなのでほぼ無し。個人開発では1年ほど触っていました。
    • アウトプット:個人で作成していた個人開発や参考書の内容を写径してGitにcommit
    • 資格: 基本情報技術者試験, TOEIC850点

2年間で経験した技術・サービス

  • プログラミング言語: Python, SQL, Bash, Serverless Framework, CloudFormation
  • データ分析基盤構築: AWS/GCP基盤 ,Informatica
  • クラウドサービス: Redshift, DynamoDB, Glue, Lambda, Step Functions,Event Bridge, API Gateway, S3, IAM, CloudFormation, EC2, SNS, CloudWatch, CodeDeploy, CodeCommit, SSM, BigQuery
  • アウトプット:個人で作成していた個人開発や参考書の内容を写径してGitにcommit, ブログ執筆
  • 資格: AWS CLF, SAA, SOA, DVA, SAP Pro

洗い出してみると、2年前には経験したことのない技術・サービスばかりでしたが、理解してプロジェクトで活用できているので、成長していると実感しました。特に良かった点は、プロジェクト経験、資格、ブログ執筆が技術を理解する上で凄く相乗効果があったということです。プロジェクトで経験した技術をブログにアウトプットしたり、資格で問題解く上での知識となったりしました。逆も然りで、資格勉強やブログ執筆でインプットしたことを業務に取り入れることも多々ありました。この相乗効果があったおかげで資格取得もそれほど苦戦することなく取得できたので、今後も継続していきたいと思います。

2年間のプロジェクトの流れ

2年間のプロジェクトの振り返りも兼ねて携わった案件の遷移を表してみました。平均して2案件を持ち、保守運用、新規、追加開発を行なってきました。案件を複数持つことに対する頭の切り替え負荷がかかるデメリットもありますが、案件で培った知識を別の案件で活かすことができたメリットもあったので、一長一短だと考えています。

一週間の流れ

一週間の流れを簡単に図にしてみました。朝は大体6:30頃には起きて自己学習を行います。仕事を8時間行って疲れた後よりも集中して作業ができるので、何かしら行うようにしています。そのあとは朝に日の光を浴びるとリラックス効果があると聞いたので、運動も兼ねてジョギングを行うようにしています。通勤は水曜日と金曜日なので、その日以外は、大体9時から業務を開始して大体18:00~18:30頃に業務を終了しています。出勤する日は特にコアタイムはないので、電車が混まない時間を覚えて9:30頃に会社に着いて業務を開始し、18:30~19:00頃に終了するようにしています。会議は朝会、夕会、お客様との定例会があり、それ以外の時間は個人のタスクをBacklogで管理しながらこなしています。個人作業の中には突発的な同僚とのMTGや勉強会や部署会、1on1などがあったりします。その後は夜ご飯を食べた後に1,2時間程度の自己学習、ブログ執筆、友人との勉強会、connpassでの勉強会に参加するなどしています。自分一人だとどうしてもモチベーションが続かない時はありますので、身近なエンジニアの友人と今やっていることなどをざっくばらんに共有しあったりすることでモチベーションがかなり上がります。土日は平均して2,3時間程度は自己学習をしていますが、それ以外はプライベートな時間でリフレッシュをしています。あくまで現在20代の私の働き方なので、家族ができたらまた変わってくるんだろうなと書いてて思いました。

考え方

ここからはあくまで私個人の考え方なのでこういう考え方もあるんだと参考程度にしていただければと思います。

仕事が第一優先ではない

最近読んだ本の中で、印象的だった本があります。それが「デンマーク人はなぜ4時に帰っても成果を出せるのか」という本です。なぜ4時には業務を終えて帰宅するのにデンマークが2022年、2023年と国際競争力ナンバーワンに選ばれたのかを実際に現地に住む著者の方が語った本になります。その中でこんな話があります。

人生は「時間」でできている。つまり、どんな人生を生きたいかはどんな時間を過ごしたいか、ということだ。あなたはどんな時間を過ごしたいのだろう。

この本を読む中で改めて私の考えを整理すると現在の優先順位は以下になります。

  1. 家族
  2. 仕事
  3. 娯楽や自分がしたいこと

私の中で仕事をする上での目的は、「自由を感じられるためのお金を稼ぐこと」と「社会課題に対して貢献したい」の大きく二つになります。家族との生活を第一優先としているので、生活をしていく中で経済的ゆとりを持てるだけのお金を稼ぐことは大事であると考えています。それと同時に社会課題に対して貢献していきたいという思いもあります。しかし、仕事を大事にするがあまり家族との時間を大幅に割くことは本末転倒になるので、以下に業務時間である8時間の中で生産性を高めてパフォーマンスを出していくかに注力しています。例えば土日にも仕事をして月曜日も働く場合は、体力的にも精神的にも疲弊した状態となり最大限のパフォーマンスは出ないと思いますので、なるべく既定の時間内で生産性を高めて社会、お客様、会社に貢献していきたいと考えています。

社会の役に立ちたい

私はエンジニアとして業務に携わっている中で感じていることは、社会の役に立つサービスに携わっていたいということです。エンジニアリングしてサービスを生み出すことはあくまでサービスを届けるまでの過程だと思うので、どんなに過程が良くてもそれが使われなかったり、社会の役に立つものでなければ意味のないものになりますので、社会の役に立つサービスに常に携わり続けたいと思います。エンジニアリングはそのための手段だと考えています。

技術を学ぶことは楽しい

ブログ記事などを見ているとエンジニアは永遠と勉強しなければいけないのか、どのくらい勉強しなければいけないのかと議論になることが多いです。私の中ではプログラミングをすることは一種のゲーム感覚に近いです。子供の頃にアクションゲームが好きで友達や兄弟に勝ちたいがためにコマンド操作を覚えて何回も練習してようやく勝てるようになった感覚と似ていると感じます。プログラミングも一行一行を組み立てて一つのサービスを完成させて動かせるようにする。この感覚で学習ができているからこそ私は続いているのかなと感じています。

健康でいたい

精神的にも身体的にも健康でいるからこそ、モチベーション高く仕事の成果も上がり、プライベートも楽しめると考えています。そのために大切にしていることは、当たり前ですが運動、食事、睡眠です。運動は毎日のジョギングで最低8000歩は歩き、睡眠は23:00 ~ 6:30の間で取るようにしています。中にはショートスリーパーの方もいるかもしれないですが、私は夜遅くまで起きると次の日のパフォーマンスが最悪になるので、なるべく23:00ごろには就寝するように心がけています。食事に関しては宅配サービスを毎日注文しています。どの年代が一番健康に気をつけているか考えた時にご高齢の方はやはり健康に気をつけていると思うので、高齢者向けの宅配サービスを毎日頼んでいます。私は東京在住の20代後半ですが、連絡したら20代だからNGということはなく注文できたので、近くにそのようなサービスがあるか探してみると良いかもしれません。

お金を稼ぐことについて

先ほども記載しましたが、私が仕事をする上での目的の一つは「自由を感じられるためのお金を稼ぐこと」です。最近XのあるPostが凄く自分の中で腑に落ちたので共有します。

文中にあった第二、第三の内容が私の人生経験と重なり共感できる部分が多かったです。

グロースマインドセットで挑戦していきたい

グロース(成長型)マインドセットとは、知らないことは何でも学ぶことができ、熱心さと努力で能力を向上させることができるという心構えのことです。 私はプロフェッショナルというNHKの番組に出演していたサッカー選手の本田圭佑さんの回が特に好きで、その中で本田圭佑さんは「失敗という言葉がよくない。できなかったということを発見できたから成功だ。」とおっしゃっていて考え方が素晴らしいなと思っていましたが、このグロースマインドセットという考え方を知ってから、本田圭佑さんはこのマインドを自然とできていた人だったんだなーと線が結ばれた感覚になりました。私が現在も成長し続けられるかつ成長していると感じているのはこのグロースマインドセットの考え方で挑戦して、仮に失敗したとしてもそれは成長の機会だととられるようになれているからだと思います。なので、引き続きこのグロースマインドセットで何事にも挑戦していきたいと考えています。

情報収集

ここでは私が普段どのように情報収集をしているのか記載していきます。あくまで参考程度にしていただければと思います。

テクノロジー以外情報

テレビがある家では録画して視聴すれば良いと思いますが、私はテレビを持たなくなったのでテレ東BizをSubscriptionしています。大学の教授に勧められてから見出したWBSをきっかけに、ガイアの夜明け、カンブリア宮殿を見ています。WBSは経済情報とたまにテクノロジー系の情報も出ていたりするので、その辺りを見たりしています。ChatGPTについても早い段階から取り上げていて、実際に動かしている様子を番組で初めてみて、衝撃を受けたのをよく覚えています。ガイアの夜明けとカンブリア宮殿はモチベーションが上がります。ビジネスの最前線で試行錯誤して取り組んでいる姿はとてもかっこよくてモチベーションがとにかく上がります。

テクノロジー関連情報

SNSをやっていると無制限に時間が取られることが過去にあったのであまりやらないでおこうと思っていたのですが、エンジニア界隈の有益な情報が結構Xから飛んでくるので、これは登録しとかないとなと思い情報収集の一つとして活用しています。閲覧する時間に制限をかけたり、エンジニア界隈の発信をしている人以外はmuteにしたりすることで情報収集手段として活用しています。(自分の性格上、そうしないと永遠に時間が溶けてしまうので。。)

いろんな方が色んなブログ記事を毎日発信しているので、トレンドを追うために気になった記事を見たりしています。

メールマガジン配信設定を毎週水曜日の朝に配信されるランキングの記事をざっくりと見ています。色んな人のエンジニア観点の良記事があるので、通勤の時間にいつも見ています。

言わずと知れたITエンジニアの勉強会プラットフォームです。こちらで興味のある内容があれば参加登録して学んだりすることが多いです。 最近は、FindyForkwell CommunityJAWS-UGなどで面白い勉強会の内容が多いのでよく参加しています。

自己学習

ここでは私がどのように自己学習をしているか記載していきます。大きく、読書、音声、動画に分類分けしています。

読書

エンジニアになってから、さまざまな本を読んできました。最近は一番時間を使って読書でインプットしており、読書を通してエンジニアとしての土台を固めていきたいと考えています。最近読んだ本を何冊かピックアップしたいと思います。

去年読んだ中で特に学びを得た本です。別ブログでも取り上げた本なのでそちらもご参考にしていただければと思います。

Document化して情報共有することの重要性や生産性を高めるためのルールづくりなどでとても参考になりました。

Pythonエンジニアとして実際の現場で役立つ知識や設計〜開発・試験までの一連の流れを学べるお気に入りの一冊です。

覚えておきたいアルゴリズムについて、普段身近に感じる問題から考えていく一冊です。エレベータはどのようなアルゴリズムで動いているかなど身近な問題から実践的に学べました。

GAFAMなどのビックテック企業の面接の際に聞かれるシステム設計について本にしたものです。面接をする予定がなくても大規模なシステムをどのように設計していくのかを学べる一冊です。

データ基盤プロジェクトに携わる上での体系的な知識を学べる一冊です。

AWSを用いた運用設計、アーキテクチャについてベストプラクティスを学べる一冊です。

上記3冊は私が、DVA, SOA, SAPを取得した際に実際に使用した参考書です。AWS試験は試験範囲が広いので、参考書で網羅的に押さえておくことでサービスの理解が深まります。

音声

次に音声です。基本的にSpotifyのPodcastでテクノロジー系の分野に絞って運動、通勤、移動時間、家事の時などによく聴いています。今回はよく聞いているPodcastをピックアップして紹介します。

ホストの方が北米圏在住で、世界で活躍している様々なエンジニアをゲストに招いて雑談したり、日本と海外のエンジニアの違いなどについて深掘りしているPodcastです。日本で働いている身としては、日本と海外で働き方にギャップがある部分もあり、話される内容がとにかく新鮮で面白いです。好きな回は、116回から6回にわたって放送されたエンジニアソフトスキル回です。私自身この回ではじめてソフトスキルとは何たるかを学んだ印象に残る回でした。

アメリカ企業を中心にテクノロジーニュースを深掘りしていくPodcastです。最近だとAppleのビジネスの変遷を巡りながら考察する話やOpenAIでのサムアルトマンさん解任時を取り上げたエピソードとかは面白く印象に残っています。

駆け出しエンジニア向けのITにまつわる基礎の部分から解説されているPodcastです。話の内容が分かりやすいかつ冗談交えつつトークしているので楽しく聴いています。

技術、デザイン、ビジネス、学び方など、日常生活や仕事で直面するさまざまなテーマについて、専門家や経験豊富なゲストを招き、深く詳しく掘り下げる形で情報や知識を提供するPodcastです。最近だと「世界一流エンジニアの思考法」の著者が出演した回は本の内容などを深掘りした内容で面白かったです。

こちらも現役でシリコンバレーで活躍しているエンジニアが運営しているPodcastです。技術的に深い話から実際のアメリカの生の声も聞けて学びになります。

こちらは、LayerXの社員の方が実際に現場で試行錯誤している内容を赤裸々に話されているPodcastです。著しいスピードで成長している企業の現場の声が聞けるので非常に学びになっています。

定時までに帰ることを目標にして、業務効率化やキャリアアップに役立つビジネス書の著者を招いてインタビューしていくPodcastです。定時に帰るために決められた時間でどのように生産性を高めていくかなどの考え方などを学べます。

動画

最後に動画です。大きくYoutubeチャンネルとUdemyで学習しているので、全てではないですがいくつかピックアップして掲載します。

こちらは先ほど、紹介した「システム設計の面接試験」の著者が運営しているYoutubeで、本と同様にシステム設計をわかりやすいアニメーションを交えて解説しています。

AWS Japan公式のチャンネルでBlack Belt動画がとてもわかりやすいのでよく視聴しています。

マイクロソフトのイベント系の動画がイベントの数ヶ月後に流れたりするので、その辺りを改めて視聴したりしています。

OpenAI公式チャンネル。最近だと2023年11月ごろのOpenAI DevDayの発表動画などは新サービスの発表が多くてとてもワクワクさせられました。

日本のData Engineeringに関する勉強会グループのYoutubeチャンネルです。過去に開催された勉強会動画がアーカイブされていますので、いつも学ばせていただいています。

こちらは先ほどのconnpassの紹介でも記載した、Folkwellの公式Youtubeチャンネルです。こちらも過去に開催された勉強会動画がアーカイブされていますので、いつも学ばせていただいています。

JAWS-UG(AWS User Group Japan)は、AWSユーザーコミュニティを結集し、クラウド技術に関する情報共有や交流を促進するための日本のAWSユーザーグループのYouTubeチャンネルです。こちらも過去に開催された勉強会動画がアーカイブされていますので、いつも学ばせていただいています。

ITプロジェクトのプロジェクト計画〜プロジェクト管理までの一連の流れを実際に活用できるtemplate付きで学べたので非常に価値のある学習動画でした。

AWS CLF, SAAは上記あたりの動画を学習して取得することができました。

その他のUdemy動画については、別ブログでも取り上げたので参考にしていただければと思います。自己学習を振り返っての反省点は読書の積読とUdemyの後で見るリストが大量にあることです。この2年間で学習は自己投資だと投資することを躊躇わずに瞬時にぽちぽちしていたので気づいたら積みものの山が完成していました。。改善点として、これ良いなと思った本や動画は欲しいものリストに格納して手元の積み物を一つずつインプットしていくことにしています。

最後に

いかがでしたでしょうか。色々とざっくばらんにご紹介させていただきましたので、この中のどれか一つでも気づきになれたら幸いです。 また、私の部署では私のように最初はクラウドサービス経験がなくとも、2年間で様々な経験ができてエンジニアとして成長できるので、興味がある方はぜひご応募いただければと思います!