はじめに
新卒でオークファンにエンジニアとして就職した@af_onoです。
入社してからは、二ヶ月しかたっていませんが、半年間インターンもさせていただいていたので、これまでに感じた学生時代と就職してからの違いや共通点、一人でプログラミングしていた時と仕事とのギャップなどを書いてみようと思います。
自己紹介
・入社前は業務未経験
・大学では、文系で経済を専攻
・中学から大学まで体育会系でチームスポーツの部活動をしていた。
・プログラミングスクールでC言語を中心にプログラミングと軽くコンピュータサイエンスを学ぶ。
・入社前は簡単なCRUDアプリを作っていた。
・入社後はKotlinでバックエンドのAPIを作ってる。
部活とエンジニア
共通点
チームを組むこと
私が所属していたアイスホッケーでは、フィールドに6人のプレイヤーが、それぞれのポジションでプレーします。自分が今エンジニアとして所属しているチームも、数人のチームを組んでプロジェクトに取り組みます。チームを組むという点で、スポーツと開発は少し似ていると感じます。
コミュニケーション
部活をする上で、コミュニケーションは、試合中や練習や共通認識の確認においても、非常に重要でした。入社する前は、エンジニアに対して、一人で黙々と取り組むという漠然としたイメージがありました。ですが、実際は、チームで開発をしているので、意外とコミュニケーション取ることがあると感じます。進捗の確認、共通認識の確認、相談、質問などコミュニケーションが大事な面は、部活と似ています。
個人のスキル
アイスホッケーでは、スケート、パス、シュートなど様々な個人の技術を高めることで上手くなっていきます。エンジニアも様々なスキルを身につけていくことで、成長していくという点は、部活と似ていると思います。
違い
コミュニケーション手段
部活では、LINEのグループが、業務連絡的なコミュニケーションの手段となっていました。戦術的な話や、練習についてやチームのことなどは、練習の時や練習の前後にミーティングや個別で相談をすることが多かったです。一方、仕事では、slackというコミュニケーションツールを使っているので、気軽に報連相ができ、通話や画面共有ができるので、ちょっとした質問や相談なども、気軽にできます。便利なので、部活にもslackを取り入れればよかったなと思います。
運動
私が所属していたのは体育会系部活でしたので、体を動かすことが当たり前で身近なことでした。一方、エンジニアは、基本的に座って作業をしているため、運動不足になりやすいと思います。健康のためにも、意識的に運動の習慣をつけ必要があると思います。私は、社内のフットサル部に週一で参加して、体を動かしたり、所属していた部活動にOBとして、参加させていただいて、運動するように心がけています。他のエンジニアの方も、ボルダリングやランニング、スイミングなどをしています。
オンライン
部活動は、オンラインではできないので、直接会うことが多いです。一方、エンジニアはリモートでも作業ができるので、オークファンでは、出社とリモートを選ぶことができます。ですので、フルリモートにして、あまり会社に来ない人もいます。(私は、週2出社、週3リモート)
エンジニアは、基本的にslackでコミュニケーションを取るので、直接のコミュニケーションは少し取りづらいと感じています。ですが、オークファンのエンジニアはお酒が好きな人が多いので、みんなで飲みにいくこともあります。一度、BBQもありました。そういった場で、直接のコミュニケーションをとったりしてます。
教育
私は、業務未経験で入社しましたが、新卒で入社した人には、しっかりとした研修と研修期間が用意されているので、未経験の人にも非常に優しい会社だと個人的には感じています。
エンジニアに対する入社前と入社後のギャップ
レビューをしてくれる。
一人で、プログラミングを勉強しているときは、誰かに見せることがあまりありませんでした。入社後は、必ず、誰かが自分のコードをレビューしてくれ、自分では気づかなかった間違いに気づくことができます。レビューは、非常に重要なことだと感じています。また、自分のコードをよりよくでき、勉強にもなります。
コードを周りに見せることを意識する必要がある。
チーム開発ですので、他の人に見せることを意識して書くといいうことは、入社後意識するようになりました。入社後は、可読性、汎用性、改修のしやすさ、コメントを書くなどを意識してコーディングするようになりました。
文章を書くことが意外に多い。
エンジニアは、日本語を書くことが少ないイメージでしたが、設計書や仕様書の作成、将来に確認するための記録、チームの認識を揃えるためなどさまざまな場面で、日本語で記事を残すことが多いと感じます。
使えるものは使う
以前所属していたプログラミングコミュニティが、for文が使えなかったり、指定されているライブラリや関数以外は使ってはいけないので、「ないものは作り出す」という心がけでプログラミングしていました。現在は、「あるものは全て使った方がいい」という考えになったので、便利なメソッドやライブラリは使うようになりました。
何が仕事に役に立ち、何が趣味の範囲か
入社前は、知らないことはできるだけ多く知るべきだと思って勉強していました。もちろん、スキルアップやできることの幅を広げるためには、大事な意識だと思います。ですが、自分の業務上の役割や自分のやりたいことを意識しながら勉強をすることが大事だと思います。便利なライブラリやメソッドなどもあるので、必要ではないことは知らないままにすることも大事だと思うようになりました。以前、チームマネージャーに、「車を運転するのに、車を作れる必要はない。」と言われ、納得し、この考えになりました。
おわりに
文系出身、体育会系部活出身から、エンジニアは珍しいとよく言われるので、未経験の方や同じようなバックグラウンドを持つ人の参考になれば幸いです。