新入社員の皆さん、就職おめでとうございます!
今回は「新卒エンジニアへ伝えたいこと」をテーマに、弊社の開発マネージャーの坂上へインタビューを実施しました。
まず簡単に坂上の経歴をご紹介すると、
・新卒で日系の大手IT企業に入ったあと、元々好きだったWEBサービスに携わりたいとの思いからWEBベンチャーへ転職。
・その後フリーランスとして一度独立期間を挟んだ後、昨年の4月から弊社で開発マネージャーとして活躍しています。
今回は「プレーヤー」→「フリーランス」→「マネージメント」と、エンジニアとして多様な働き方を経験した坂上だからこそ語れる、
新卒からエンジニアとしてキャリアを積んでいくうえで大事なことを聞きました!
「新卒エンジニアへ伝えたい3つのこと」は何ですか?
1.よりコンピューターに近い知識を勉強しよう
低レベル層の知識を学ぶのが、実は一番近道
今はプラグインや様々なツールが発達して、あまりコンピューターのこと知らなくても開発できる環境が整っていますよね。
でも、もしエンジニアを本気で職業にすることを考えているのであれば、よりコンピューターに近い、低級言語などの低レベル層の技術の知識をつけるのが重要だと思います。
本質を理解していると、自然とコードの書き方も変わってきますし、どんなサービスの開発をするにしても応用できるようになります。
表面上しか知らなくても、とりあず動くものは作れるので、個人開発では十分かもしれませんが、実際に企業で大きなプロダクトに携わった際にはより深い知識が必要になってきます。
やるか、やらないかの違い
自分は高専の授業などを通してこういった知識を学びましたが、書籍やネットで調べることもできるし、情報自体は整理されて世の中に充分出ているので、あとはやるか、やらないかの違いなのかなと、、
もしくは身近にこの人すごい!って思うエンジニアがいればラッキーで、その人に質問したり一緒に開発を進めることによって、経験値が上がるスピードはより速くなるでしょう。
ただ、「その人がいないと進められない」って状態になってしまうのは危険なので、エンジニアとして今後伸びていくためにも「自分で勉強しながら進める」スキルは早めに身につけておくと後々楽だと思います。
2.インプットも大事だけど、アウトプットを忘れないようにしよう
実践してはじめて自分のものになる
インプットに積極的なのは素晴らしいのですが、エンジニアリング経験の浅い頃に陥りがちなのが、記事・本・イベントなどで分かった気になり、物知りのレベルで終わってしまうことです。
インプット=「ハードディスクに記憶しただけ」なので、いわばコンピューターでもできますよね。笑 そうして学んだことは「実践してはじめて、自分のものになる」ということを忘れないようにしてほしいです。
大切なのはパーツの数ではなく、組み合わせ方
開発は他のどの職種よりも発展の速度が凄まじいぶん、見聞きした話がそのまま関わっているサービスの状況に当てはまることはほとんどありません。
しかし、イレギュラーが発生したときにこそ、インプットした情報をどう現状に活かせるかが問われます。そういった場面で問われるのは、「いかに多くのパーツ(=知識)を持っているか」ではなく、「パーツの組み合わせ方をどれだけ知っているか」です。
そして、パーツの組み合わせ方を学ぶには、自分でアウトプットを生み出す経験が必要になります。自分でサービスをつくってみるのはもちろん、ブログで発信したり、イベントなら登壇したりといった「アウトプット」までをゴールにできると成長速度が大きく変わると思います!
3.「チームにとって、なくてはならない存在」になろう
まずはプレイヤーとして成果を出す
エンジニアは比較的アウトプットが見えやすい職業だと思います。これだけが全てではありませんが、コードという目に見える形で評価され、給与にも実力が反映されやすいですよね。
プレイヤーとしての実力がきちんとあれば、コードとひたすら向き合う道もあるし、CTOなどマネージメントの方にも進むことができます。もしくは仕事を選びたければ、フリーランスという働き方もあり、他の職種と比べるとキャリアプランが豊富です。
またエンジニアは比較的 時間や場所の制約を受けずに働けるステージも存在しているため、ライフスタイルに合わせた働き方ができると考えると、とても魅力的な職業だと思います。そういった自由な働き方を実現するためにも、まずは所属しているチームで結果を出して認められることに注力してみるといいと思います。
コード書いてもチームに貢献していないときがある
ちょっと書けるようになってきたときに気をつけるべきなのが、自分もそうだったのですが調子に乗っちゃうんですよね。笑
そういうときに思い出してほしいのが、エンジニアを職業にした場合だと「どんなにたくさんのコード書いても、チームに貢献してなければ成果とは言えない」ということです。
どんなにコードを書いても、その後の修正に他の人のリソースがかかったり、バグが起きまくったり、最新言語を使いたいあまりにその人にしかいじれないサービスになったり、、という状態では効率的にアウトプットを出しているとは言い難いでしょう。
また、「人のエラーをチームとしてのエラーと捉えられるか」といったマインド面も重要になってくると思います。他人のエラーを責めていれば、自分のエラーが起きたときにチームの誰も協力してくれません。
繰り返しますが、エンジニアにとっての「成果」とはコードをいっぱい書くことだけではありません。コードだけじゃ語れないところも踏まえたうえで、コードを書けるかが優秀なエンジニアとして認められるかの大切なポイントだと思います。
最後に:エンジニアであることに誇りを持とう!
まとめると、
1.よりコンピューターに近い知識を勉強しよう
2.インプットも大事だけど、アウトプットを忘れないようにしよう
3.「チームにとって、なくてはならない存在」になろう
ということです。
自分自身、プレイヤーとして働いていたときは、プレイヤーだからこそのやりがいや喜びがたくさんありました。そして、マネージャーの今は「人を育てる喜び」や「サービス全体を俯瞰してみられる面白さ」を感じています。そして、今もコードを書くことを忘れないようにしています。
エンジニアはどのような働き方や立場であっても、色んなやりがいがあって本当に素晴らしい職業なので、新卒で働く方にはぜひ誇りを持って働いてほしいです!
興味を持った方はぜひ遊びにきてください!
いかがでしたでしょうか?坂上の言葉が少しでもこれからエンジニアになる方の参考になれば幸いです。
ちなみに現在シェルフィーの開発は社員3人、インターン3人の計6人で、言語はRubyを使用しています。全員26才以下と若いチームです。
海外経験のあるメンバーが多いからか、セールスよりも開発サイドの方がコミュ力が高いのが他社との違いかと思います!笑
興味を持った方はこちらから是非オフィスに遊びにきてください〜