技育祭 (2021) に参加して得た、エンジニア志望の学生に送るメッセージ

2021-03-14

2021 年 3 月 11 日 ~ 13 日にオンラインで開催された技育祭.

就活を控え「自分が将来どんなエンジニアになりたいか」を考えるきっかけにしたいと思い、23 卒の夏季インターン情報の収集も兼ねて参加しました。 どの講演もためになる内容で、共通したメッセージ的なものを得ることができたので、ブログに残しておこうと思います。

視聴した講演

タイトルと講演者のお名前だけ掲載させていただきます。 貴重なご講演ありがとうございました!

  • 「非連続な成長を遂げるエンジニアに共通する 7 つの特徴」DeNA 小林さん
  • 「Matz に聞きたい 100 のこと 〜Ruby の父に聞く、エンジニアのキャリアとスキル〜」まつもとゆきひろさん
  • 「開局後 5 年の ABEMA の裏側に広がるエンジニアリングの世界」AbemaTV 西尾さん
  • 「新技術への向き合い方 〜幸せなエンジニアライフを送るための 4 箇条〜」マネーフォワード中出さん
  • 「学生時代に思い描いた 4 年後と今 〜学生時代の自分に伝えたい、エンジニアにとって本当に必要なコト〜」DeNA 川邉さん、池野さん
  • 「CTO と一緒におしゃべりしましょう! 〜ミク談出張版〜 エンジニアのモノ作り、活躍、評価について」ミクシィ村瀬さん
  • 「プログラム未経験から一人前のエンジニアとして活躍できるために学生のうちにやっておくべきこと」CROOZ 鈴木さん
  • 「CTO が語る、学生が個人開発でイケてる成果物を作るコツ」VOYAGE GROUP 小賀さん
  • 「2 年で 3 億 7000 万人に遊ばれるスマホゲームの作り方」芸者東京田中さん
  • 「技術書執筆のススメ 〜Only1 なエンジニアになるためのセルフブランディング〜」フューチャー株式会社澁川さん

講演を聞いて

たくさんの講演を聞いた中で、共通するメッセージが 3 つ浮かび上がって来ました。

  • 自分が楽しいと思えることを見つけよう
  • 基礎技術は大事
  • アウトプットしよう

それぞれ以下で詳しく書いていきます。

自分が楽しいと思えることを見つけよう

「楽しい」という気持ちに素直な方が自分も幸せですね。 技術も伸びやすいし、結果が出て周りも幸せになれます。

じゃあどうやって見つけようかというお話。

それは、過去の経験から何をしているときが一番楽しかったのかを振り返り、それがなぜ楽しかったのか、抽象化できるまで深堀りすることです。 こうして見つけた「楽しいこと」が自分自身の行動指針になります。

DeNA の池野さんの例だと、

  • 自分は何が楽しいのか
    • プログラミングが楽しい
  • どの部分が楽しいのか
    • 最適な設計を試行錯誤しているとき
    • 試行錯誤が後に活きたとき
    • 要件をシンプルに解決できたとき
  • 抽象化すると
    • 開発の質とスピードを両立させ、本当に必要とされるシステムを土台から設計・実装できるエンジニアになりたい

というふうに、漠然とした「楽しい」を分析していくことで、どんなエンジニアになりたいかが見えてくるということです。

行動指針がないままだと、つよつよな人が作ったすごいアプリに憧れて好きでもないことに手を出そうとしたり、「〜なエンジニアになるためにはどんなことをしたら良いですか?」と半ば思考放棄した質問をしたり、とにかくブレまくります。 自分が本心からやりたいことでないと、そのうち疲弊して結局何も深められず、中身のない人間になってしまうというのは、今の自分を見つめてみてよく感じるところです。

しっかりとした行動指針があれば、自分のこれまでの/これからの行動に自信を持つことができるはずです。 技術に触れるときも、行動指針に従って自分が楽しいと感じた部分を深堀りしていけば、それを強みにすることもできます。 なので目先の勉強とか開発とか就活とか何よりも先に、自分がやってきたことを振り返って行動指針を見つけておくべきだと思いました。

最初は「プログラミング楽しい!」から入った僕ですが、「楽しい」がどこにあるのか考えることから逃げてきたせいで、「エンジニアになりたいからとりあえず勉強しなきゃ」という気持ちが先走るようになっていった気がします。 こういった自己分析は面倒そうで避けてきた部分ですが、春休みのうちに必ずやっておきます。

基礎技術は大事

流行り廃りが激しい業界だからといって流行りの言語やフレームワークを追いかけるのは、程々にすべきです。 それよりもまず普遍的・変化の緩やかな基礎技術を学んで核として持っておくべきで、新しい技術の学習でも基礎があれば素早く・深い部分まで学べるということですね。

ところで基礎の習熟は、頭ではわかっていても実践するのは意外と難しい気がします。 何か技術を勉強するときにわからない点があっても「今はいいや」と飛ばしがちです。

ですが自分の経験からも、開発インターンでコードを読み書きするときに、SQL や HTML/CSS 辺りの基礎的な部分が抜け落ちていて、その都度調べて時間を失うことがたまにあります。 未経験のフロントエンドフレームワークを使うとなったときは、JavaScript の仕様理解が不十分で勉強し直したこともあります。 また、Qiita 等の誰かがわかりやすく噛み砕いて解説してくれた二次情報を鵜呑みにして、公式ドキュメントなど一次情報をゲットしに行かないというのもありがちでしたが、二次情報では解決できなくて一次情報を見るとあっさり解決してしまう、といったケースもありました。

基礎が大事だという経験はさんざんしてきたので戒めとして。 急がば回れです。 普段の勉強や開発で「これはなんだろう」となった部分を見逃さず、堅実に技術力を高めていきましょう。

アウトプットしよう

勉強も大事ですが、エンジニアはものづくりの仕事なのでアウトプットこそ重要です。

  • 小さな模倣アプリからでもいいので作る
  • フィードバックをもらう
  • 改善・機能追加していく

このフィードバックと改善のサイクルを回していこう、ということでした。

自分は作ったアプリに対してフィードバックをもらった経験がほぼ皆無で、どう改善しようか考えているうちに気持ちが冷めてしまうことが多々ありました。 また、工夫点・オリジナリティの出し方がイマイチわからず、どうしても「ミニアプリ止まり」になってしまっていました。

ただ後者に関しては幸いにも大学の研究活動を通じてわかってきて、完全なオリジナルではなく既存のモノの一部を別の手法で置き換えてみるのでも、十分オリジナルになることを理解しました。 研究とプロダクト開発は全然性質が違うのではないかと思っていましたが、研究をやってみて、そして技育祭の講演を聞いてみて、プロセス自体はよく似ていることに気づけました。 4 月から大学院に進学しますが、研究で得た経験を開発に活かしていけると期待しています。

フィードバックをもらうことについては、小さなアプリでも勇気を出して Twitter で公開してみることからやってみようと思います。

また、改善のアイデアが浮かばなければ、テストやドキュメントの整備、リファクタリングなどで内部品質を高めるのも OK ということで、現状どちらかというとアイデア出しよりもこっちの方が得意な気がするので励みになりました。

まとめ

今の自分が求めていた内容の講演がたくさん聞けましたし、この技育祭で初めて知った企業もあり、刺激的な 3 日間でした。

就活が本格化する前の時期に、自分を見つめ直すことの重要性をよく理解できたのが一番の収穫だったと思います。 インプット・アウトプットのコツもわかってきたので今度は実践の段階です。 まずは自分の「楽しい」を深堀りすること、ついでにどんな企業が合っていそうかも考えること、そして技術的な強みを作っていくことを意識的にやっていきたいと思います。

logevent

GitHub Actions で Cloud SQL のマイグレーションを自動化する

2020 年の振り返りと来年の目標