新卒エンジニアが感じた学生のうちに慣れておくとよい基本の3つのこと

オクトキャット

はじめに

社会人1年目、まだまだ技術力が低い水野です。

新社会人っぽい記事を、入社から半年近く経ってから(執筆時9月中旬)ようやく書きます。

僕が新入社員研修を終えて開発業務に入ってから、学生のうちにやっといてよかったと思ったことを3つ紹介いたします。
この記事は、特に開発経験が少ない方に読んでほしいです。

目次

慣れておいて本当によかったもの

僕が「学生のうちにある程度慣れておいて本当に良かった」と配属1日目から心底思ったものはこの3つです。

  1. git/GitHub
  2. Unix/Linux
  3. Mac

これを見たエンジニア志望の学生は「こんなん知っていて当たり前だろ!」と思われるかもしれませんが、知らない人もいるかもしれないので紹介です。この3つ、特に上2つを知らない方は正直ベンチャーやスタートアップには受からない気がしますが…

git/GitHub

git

1つめはgitとGitHubです。

gitは、おそらくSIer含めてほとんどのIT企業で使われているでしょう。Mercurialを使っている会社もあるでしょうが、バージョン管理はgitがデファクトスタンダードでしょうね。

これがないとやってられません。

そして、gitのホスティングサービスのGitHubです。ホスティングサービスはBitbucketGitLabなどGitHub以外を使っている会社が結構ありそうな印象です。

オクトキャット

リンクバルではバージョン管理にgit、ホスティングサービスにGitHubを採用しています。開発はgit-flowとGitHub flowの中間くらいのフローで運用しています。(フローに詳しくないので間違っているかもしれません。)

当然GitHubはゴリゴリ使っており、CircleCIやデプロイはGitHubを利用してゴリゴリやっています。説明が適当ですが、とにかくgitとGitHubはめちゃくちゃ使います!

慣れていないとかなり苦戦するその1

プロジェクトの環境構築はリポジトリをcloneしないと始まらないので、gitやGitHubの知識がないとかなりしんどいです。当然開発でもバンバン使います。

まあ今時エンジニア志望でgitを使ったことがない学生はあまりいない気がしますが…

GitHubなどで複数人の開発をしたことがない学生は結構いそうなので、できるなら経験しておくべきです。複数人開発でgit/GitHubの操作を経験するべきというよりも、複数人開発を経験しておくべきです。僕は学生のころ、個人開発しかしたことがありませんでしたが、複数人で開発したかったです。絶対にそっちの方が楽しいしためになるはずです。

そんなわけで、僕はGitHubのプルリクやコードレビューは会社に入ってから初めてやりました。概念はなんとなく知っていたので、特になにも調べずに問題ありませんでした笑

学生は今のうちからドンドン開発して成果物をGitHubにあげまくりましょう!

Unix/Linux

Linux

2つめはUnix/Linuxです。

Linuxだけ書こうか迷いましたが、MacはLinuxではないのでこうしました。

Unix系の基本知識とコマンドを知らないと本当に辛いです。

リンクバルのサービスはRuby(Rails)が基本です。そのため環境構築はほぼコマンドラインです。ディレクトリやパーミッションといった基本概念、cd や ls といった基本コマンドを知らないと環境構築がとにかくしんどいでしょう。

慣れていないとかなり苦戦するその2

上述しましたが、環境構築が鬼門になります。

開発言語やプラットフォームによりますが、環境構築は大部分をコマンドラインで行います。コマンドラインを使ったことがないと、環境構築の最初で止まります。

環境構築が終わってからも、railsのコマンド叩いたりnodeのコマンド叩いたりデプロイしたりと、とにかくコマンドラインはたくさん使います。gitの操作はGUIでできますが、GUIでできないことはたくさんあります。

もし来年、後輩に環境構築を教える時が来て、その子がコマンドラインを全く使ったことがなかったら僕は教えられる自信があまりありません笑

コマンドラインは学生のうちから慣れておきましょう!
Windowsの人はレンタルサーバー借りるなりDockerやVagrantでVM構築してLinuxに触れましょう。WindowsのコマンドプロンプトやPowerShellではなくUnix系のコマンドラインに慣れてください!

VM構築しなくてもGit BashやCygwinを使えば手軽に触れられるのですかね?

ちなみに、僕はコマンドラインという言葉をよく使いますが、人によってはターミナル、コンソール、CUI、CLIなどを使います。
どれが正解かは知りませんが、僕は調べた結果コマンドラインを使うことにしています。
もちろん用途に合わせてターミナルやコンソールという言葉も使っています。

Mac

Mac

3つめはMacです。

Web系の企業はMacを使っているところが多いでしょう。リンクバルもエンジニアはMacbook Proが基本です。僕は開発PCがもしWindowsだったら辞めるかを検討してしまうレベルです。

Macを使う会社では Macに慣れている=PCに慣れている です。

僕はMacを初めて触ったとき、右クリックとファイル名の変え方すら分からずにググりました。仕事でそんなことから調べていたら時間が足りないので、学生のうちからMacに慣れておくとよいです!

慣れていないとかなり苦戦するその3

「かなり苦戦」と書きましたが、Macは知らなくてもそこまでは苦戦しません。
ただ、苦戦はします。

便利なソフトや設定を知らないと時間をたくさん使ってしまいます。
Macはどうせプライベートでもガンガン使うでしょうから、学生のうちから買っておきましょう!

まとめ

この3つは学生のうちからぜひとも使い慣れておきましょう!

  1. Git/GitHub
  2. Unix/Linux
  3. Mac

おまけ

僕は開発中に、主にググったことをMarkdownでメモしてGitHubで管理しています。
gitとLinuxコマンドもメモっているので、よろしければご覧ください(更新頻度は低いですが汗)。

おわりに

リンクバルでは エンジニアを絶賛募集中 です。興味のある方のご応募お待ちしております!