新人プログラマが働く前に知っておいたほうがよかったこと

#はじめに
[Zeals Advent Calendar 2019](https://qiita.com/advent-calendar/2019/zeals) の18日目の記事です。

こんにちは！！今Zealsで学生インターンをしており、来年の春から新卒としてデビュー予定？の赤羽です。
今回AdventCalendar企画の貴重な一枠で書かさせていただきます！！
私自身の話をさせていただくと大学は文系でありプログラムを書いた経験はありませんでした。
就活を期にエンジニアの世界に飛び込んだわけでありますが、当然といえば当然なのですが技術力不足な点が多々（多すぎる）あり非常に苦労しているところであります。
##前提
今回「新人プログラマが働く前に知っておいたほうがよかったこと」というエンジニアからしたら「当たり前だろ！」とツッコミたくなる内容を書いていきます。初学者が書く初学者向きの記事なので（色々）ご容赦下さい。
因みに[Zeals](https://zeals.co.jp/)のエンジニアは技術力が高く、アウトプットも頻繁に行っているイケてるベンチャー企業です！
#目次
1. 知識編
2. 技術編
3. おすすめ便利ツール編
4. さいごに

#1. 知識編
##中学英語は習得しておこう🔤
プログラミングは全て英語で成り立っておりエラーなどを読むときに特に必須能力です。また公式ドキュメントなどは英語で書いてあることが多く、これらを読めるぐらいの能力は必須です。
英語にはListening Reading Writing Speakingとありますが主にReadingのスキルが大事です。エンジニアには外国の方もいますが特にコミュニケーションで困るなど状況でなけばReadingだけで十分だと思います。
ちなみに私は受験以来英語の勉強から離れており大変苦労しています。
「中学英語は入社前に復習しておきましょう」これは実際に先輩エンジニアに言われた言葉でなかなか突き刺さる言葉でした。。。
[カラー版 CD付 中学3年間の英語を10時間で復習する本](https://www.amazon.co.jp/%E3%82%AB%E3%83%A9%E3%83%BC%E7%89%88-CD%E4%BB%98-%E4%B8%AD%E5%AD%A63%E5%B9%B4%E9%96%93%E3%81%AE%E8%8B%B1%E8%AA%9E%E3%82%9210%E6%99%82%E9%96%93%E3%81%A7%E5%BE%A9%E7%BF%92%E3%81%99%E3%82%8B%E6%9C%AC-%E7%A8%B2%E7%94%B0-%E4%B8%80/dp/4046025522)
##macの設定を見直そう
これはそのままなのですが作業効率を上げることは重要です。
なので今すぐ見直すことをおすすめします。
[Mac の簡単設定で作業を高速化。カーソルとポインタのスピードをあげて作業高速化](https://ver-1-0.net/2017/05/25/be-faster-on-mac)
[macOSでCaps LockをControlにして捗るキーボードにする方法](https://qiita.com/suin/items/33d0f60fcd3c01509c44)
（これはあくまで候補です）



#2. 技術編
##ブラインドタッチをできるようにしておこう
まず入社して一番驚いたのはエンジニアのブラインドタッチの速さです。机を工事でもしているのかと不安になるようなタイピングの速さ。
これは人によるかもしれませんが自分はとても憧れました。
「いきなりは無理だろ！」と思う方、キーボードの配列はなんとなく頭に入っていると自分を信じてキーボードを叩いてみましょう！ゆっくりでいいので意地でもキーボードを見ないでいきましょう！
[おすすめのタイピング練習サイト](https://www.typingclub.com/sportal/program-3.game)
##ターミナル（コマンドプロンプト）を使いこなそう
皆様ターミナルを使いこなしているでしょうか。私はまだまだですが入社以前に比べるとかなり使っております。慣れないうちは大変だと思いますがショートカットキーなどを使いこなしてくるとかなり便利です。
ぜひ使いこなして下さい。
またaliasなどはかなり便利で、先輩にも自分がよく打ち間違う文字をaliasに登録している方もいます。
[Macのターミナルコマンド一覧（基本編）
](https://qiita.com/ryouzi/items/f9dee1540a04a0bfb9a3)

##vimを使ってみよう
vim、皆様使っていますでしょうか？恥ずかしながら私は名前も聞いたことがありませんでした。
先輩から「スクールでは一番先に習った」と聞きやはり基本なのだなと思いました。
エンジニアの中にはエディタソフトは使わずにvimを使ってコードを書いている方もいます。
[Vim初心者に捧ぐ実践的入門](https://qiita.com/okamos/items/c97970ab34ff55ff3167)

##markdownの基本は理解しよう
この記事もそうですがmarkdownを使いこなせますでしょうか？
初学者が必ずと言っていいほどお世話になる[teratail](https://teratail.com/)などもmarkdownで書きますが、github等で更に頻度が高くなります。
私も[Markdown記法 サンプル集](https://qiita.com/tbpgr/items/989c6badefff69377da7#-gfm%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E7%B0%A1%E6%98%93%E8%A8%98%E6%B3%95)などの記事を参照しながら書いていますが、表の作成などもできアウトプットの幅が広がります。ざっくりこんなことがかけるのかと見ておくと役に立つと思います。


# 3.おすすめ便利ツール編

###1. Google Chrome

言わずもがなですが、共有機能など色々便利です。個人的にはoffice系のアプリケーションを使わなくてもいいのはとてもいいです。
###2. slack 

web系の企業やベンチャー企業ならほぼ必須のSlackは予め触っておくことをおすすめします。
入社した後からその会社のコミュニケーションツールを使えばいいかもしれませんが、Slack等は使い慣れておくとなにかと便利なのかなと思っております。
###3. Evernote
メモ機能がとても便利です。スマホとも共有できるのでメモの確認以外にもタスクの確認やデータ共有など便利です。

###4. LINE
スマホを見ないことで効率UP!

###5. iTerm2
これは別にiTerm2でなきゃいけない理由はないのですがmacの標準のターミナルを使っている方にはより機能が充実しているこちらをおすすめします！

###6. Sequel PRO
弊社はDBにMySQLを使用しています。個人ではDBを管理することは少ないとは思いますが、エンジニアには必須の技術です。こちらも入れておきましょう。

#４. さいごに
これを読んでいる方の中にはエンジニア職に就職が決まり晴れて業務開始になる方もいるかも知れません。
この業界で一番大事なのは興味心だと思います。わくわくが溢れているIT業界で私とエンジニアライフをEnjoyしていきましょう！！

明日は19日目@kodera123です。
引き続きよろしくお願い致します！