Project Shoone

独立系SIer勤務。WEBエンジニアの備忘録

僕の後悔を、プログラミング初心者に捧ぐ

この記事では僕が、「ああ、IT業界に入って最初にやっておけば良かったな」と思っていることをまとめています。
どの業界でも言える基本的なことに絞っています。
これからプログラミングを始める方や、初学者の方の役に立てば良いなと思います。

PCの使い方編

ブラインドタッチ

まずはこれ。

速くなくても良いけど、やっぱりキーボード見ながらじゃ作業効率が良くないと思うし、何より集中力に影響すると思う。
キーボードをちょこちょこ見ると気づかぬうちに疲れてしまう。

ホームポジションを抑えた上でひたすらWebのタイピングゲームをやるのがオススメ。
僕は

王道ですが、この辺りをひたすらやりました。毎日作業前に少しやるとか、コツコツ続けるのが良いと思う。

ターミナルを恐れない心

黒い画面に文字だけのツール。最初は意味不明かもだけど、恐れてはいけない。

Windows環境ではコマンドプロンプトPowerShellがデフォルトで入っていると思うが、あまり使わない。 後述するGitをインストールすると入ってくる Git Bash を使うという選択肢もあるが、npmyarn (どちらもJavaScriptのパッケージ管理ツール) のコマンドを実行したりすると固まったりするのでオススメしない。

調べれば山のように出てくるが、僕はCmderを愛用している。

Macではデフォルトのターミナルで良いと思う。(今だとzshですね)

言語編

とりあえず何か一つのプログラミング言語を極める

正直ある程度メジャーな言語ならなんでもいいと思う。僕はJavaだった。

気軽に話せる知り合い(全く居なかったらごめんなさい)が使っている言語を選ぶのが良いと思う。 僕は高校からの友達がJavaをやっていたので、「分からなくなったら聞ける!」と思ってJavaをやり始めました。

極めると書いたが、別に完璧に極める必要は無い。ああ、プログラミングってこんな感じなんだぁ、と思えることが大事。 調べながらでも何かを作れる体験は成長に繋がると思う。 調べる力を培うのも大事。ググり力ってやつ! 英語を怖がらない!Google翻訳とか全然使っていいから、なんとなくでも読み取れるようにしましょう。 エラーメッセージは大抵の場合英語です。エラーメッセージからも逃げないでね?

SQL

DBMS共通の文法は抑えておくべき。

これに関しては書籍がオススメ。

ゼロから始めるデータベース操作

読みやすくて分かりやすいので本当にオススメ。 この1冊が終わったら下記2冊でステップアップをすると、業務でもだいぶ戦力になれると思う。

ちなみに上記3冊はみんな同じ著者。ミックさん。尊敬しています。

技術編

Git

ソースコード管理のデファクトスタンダード
多くの現場が採用していると思う。

書籍を買っても良いが、僕は特に買わなかった。(後から何となく読んだけど)

ヌーラボさんのサルでもわかるGit入門 で一通り勉強できる。

書籍なら

この辺がオススメだろう。
わかばちゃんの方はGitの概念を感じ取る為にはものすごくいい本だが、本格的に使う為の勉強には少し物足りない。
(ディスっていません。Gitの導入には本当に良い本だと思います。ターゲット層が違うと思っています。)

HTTPについて

(これは少しWebの世界の話になってしまうかも。関係無いって方は無視して下さい。でも僕は全てのエンジニアがHTTPを理解している世界を望みます(笑))
僕は最初HTTPについてよく理解せずにプログラミングをしていた。

クックパッドさんが新卒研修の資料を公開してくれている。
技術基礎研修「クックパッドを支える仕組み」 / Introduction to the Internet
ものすごく分かりやすくて、何故自分が初学者の頃にこの資料が無かったのだろう、と憂いていたくらいだ。

最初はこの資料をなんとなく理解するくらいで十分だと思う。
もう少し掘り下げて理解したい場合はWebを支える技術がオススメ。

まとめ

比較的汎用的な話題にまとめました。
もし過去の自分にメッセージを送れるとしたら、上記の勉強をしろ!と言いたいです。

少しでもこの記事を読んだ誰かの役に立てれば幸いです。 以上。