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