はじめに
早稲田大学アドベントカレンダー2017、1日目の投稿でございます。
人間科学部卒業生の@kuriiiimuです。
卒業生のくせに1日目でいいのかと思いつつ、勢いで書くことにしました。
私は今年の3月に卒業して現在某社で新卒エンジニアとして働いています。
人間科学部はちょっと特殊で、理系科目で受験することも文系科目で受験することもでき、入学後はどの学科のどの授業も原則受講ができます。
そんな環境から出発して新卒エンジニアとして半年くらいやってみて思うことを書いていきたいと思います。
業界にもよると思うので、ここに書くことはかなり偏っていることだと思いますので、読んだ皆さんも思い思いの意見を頂けると幸いです。
学生のうちにやっておいてよかったこと
サーバー構築
すべては大学の授業「インターネットサーバ」の授業から始まりました。
人科はMac必携なのですが、そのMacにHomebrewをいれApacheをいれPHPをいれMySQLをいれ……みたいな授業でした。
課題だけ言われて何も教えられない授業でしたが、難しくもすごく熱中したのを覚えています。
この後、さくらのVPSでWordPressブログを構築したり、Minecraftのマルチサーバーを構築するなどしたわけですが、これくらいのことができないと開発環境の整備もできないしAWSも使えないし、セキュリティを意識することもなかったし。。。
一度やったことがあればアプリケーションに時間をかけることができるようになるので、やっておいてよかったです。
Vagrant
ローカルを壊さずに開発するということを覚えました。Dockerもやっておけばよかった。
Laravel
これはLaravelそのものというよりも、MVCモデルのアプリ構築って感じです。
やっぱりMVCって考え方はやってみないとわからないと思います。
私がサークルで使ってたLaravel5.0の頃は全然日本語の記事がなくて、英語で検索してみたり、ログ見てみたり、公式ドキュメント読んでみたりという、今なら当たり前のことを苦労してやっていた気がします。
そのおかげで、今になって英語で検索するのも当たり前だし、ドキュメント読もうと思うようになった気がします。
モジュールをうんうん唸りながらインストールしてやっとLaravel動かした、みたいな経験はバージョン依存の調査とか意識するきっかけになっている気がします。
Git/Github
とっつきにくい概念だからこそ、経験してることが大事な気がしてます。
.gitignoreとかうまく使わないと社会人はいろいろアレですし。
これはサークルに入ってて本当によかったなという感じです。
個人でやってるとプルリクエスト送るみたいなのもないですし。
学生のうちにやっておけばよかったこと
数学
機械学習やりたい!って思うときに、Σがあるだけで一瞬考えちゃう、みたいな感じなので、本当に残念という感じです。
全然できなくてもコード書くことはもちろんできるので、領域選べばいらない気もするけど、もしこれが理系学部だったらもう少し数学できるのかなとか思うと。
英語
残念ながら海外に行くというお仕事は当面なさそうですが、英語の本読まねばならなくなることは割とあります。とくにニッチな領域攻めようと思うと。
基本情報レベルの理論
会社には大学でそういう授業受けてきた人たちが大半なので、「そんなことも知らないのか」という感じになります。
大学で受けられるなら授業受けるのがよさそう。
僕はオープンのネットワークなんちゃらみたいな授業取りましたが、あれもっとちゃんと勉強しておけばよかった。TCP/IPとかいまだに何なのかわかってないです。
ただ、資格を取ったほうがいいということではないです。
会社にもよりますが、資格試験の受験料を出してくれる会社もあるし、受かるとお祝い金みたいなのがもらえる会社もあります。
お金がかかるものは社会人になってからでいい。
JavaScript
Node.jsなりReactなり、もう覇権感がすごい。
そして、ウェブやる以上避けては通れない(と思う)し、非同期処理のクセがいまだに慣れない。
おわりに
なんか忘れていることありそうなので思いついたときに追加しておきます。
基本的に、何もやったことがなくても何とかなることは間違いありません。
もちろんその分頑張ることもあるけど。
そんなことより、ビジネスのことを理解できるエンジニアとか、ビジネス側とコミュニケーションとって新たなビジネスチャンスを生み出せるエンジニアって結構求められている気がするので、文理融合・人科エンジニア志望のみなさんにもチャンスありますよ。
早稲田大学アドベントカレンダー、盛り上がらないかな~~。
楽しみにしています。