見出し画像

Web/ITエンジニア1年目に知っておきたかったこと9選

こんにちは。BugFix LLC エンジニアのセイトです。

今回は「Web/ITエンジニア1年目に知っておきたかったこと9選」というテーマで話していきたいと思います。

私は長くこの業界におりますが、「1年目に知っておいたらだいぶ学習効率変わったんじゃないか」と思うことがかなりありまして、これを最近プログラミング初心者やエンジニアなりたての方に教えると、「それ知っておくとだいぶ違いますね!」というフィードバックをもらえるようになってきたので今回はそれを記事にしていきます!

プログラミング始めたばかりの人やエンジニア1〜2年目の人なんかはぜひ参考にしてください!

1.暗記はしなくていい

学校の勉強だと、例えば英単語や国語、歴史や数学の公式など暗記しないといけないことがたくさんあったと思います。
ただ、プログラミングに関しては「暗記しないといけないことはほぼない」です。

この理由は2つありまして、まず1つ目は、「試験がないから」なんですね。
学校の勉強というと、高校・大学受験などのために、カンニングせずに暗記をして頭の中に記憶を留めておかなければいけませんが、プログラミングの世界において、試験というのはありません。

資格を取るなどだと話が変わってきますが、基本的にエンジニアの仕事はプログラミングして、良いアウトプットを出すことなので、覚えておく必要はないんです。

もちろん現役のエンジニアは記憶に留めているものはたくさんありますが、なんとなく「これなんだっけな」と思って、ググって出てきた情報をコピペで使ったりすることはかなりあります。
つまり、コピペOK、カンニングOKの世界なんです。

2つ目の理由は、暗記をしなくても「エディタに予測変換・補完機能がある」からです。
例えば、プログラミングでよく出てくる「function」というものがありますが、もしこれの綴りが分からなくても、「fu…」という風にタイピングしてエンターキーを押すと自動で「function」と表示されます。

これが学校の英単語テストだったら、スペルを一つでも間違えたらアウトですが、プログラミングの場合は、ソフトウェアの方で正しいスペルを入力してくれたり、万が一スペルミスがあったら指摘してくれたりなど、テクノロジーの力を借りられるので100%覚えておく必要はほぼないです。

なので、「こんなのあったな」という「インデックス」を頭の中にたくさん置いておけば全然問題ありません。

2.ITリテラシーを高めよう

※説明のしやすさのために、この記事ではITリテラシーを「タイピング速度」「ショートカットキー」「ググる力」「拡張機能」の4つのことと定義してみます。

a.タイピング速度
これは特別速くなる必要はないです。
ブラインドタッチまでは要りませんが、「どの辺にどの文字のキーがあるか」というのはある程度抑えておいた方がいいかなと思います。
目安として、「e-typying」というタイピング速度を測るサイトで、180〜200ぐらいの速度はあった方がいいですね。

b.ショートカットキー
現役のエンジニアやIT職で効率のいい仕事ぶりをしている人は、このショートカットキーを大体知っていて、マウスをほぼ使わないでやったりします。
僕の尊敬するデザイナーさんも、「マウスを使ったら負けだ」という話をしてました。(笑)
デザイナーは特にマウスをすごく使いそうですが、PhotoshopやIllustratorなどはショートカットキーでなんとかなるようです。

ググれば、「ショートカットキー一覧」などの記事がヒットしますが、大抵どのソフトウェアでも同じようなショートカットキーを共通で使い回しできるので、これもぜひ押さえておきましょう。

c.ググる力
これは何か困ったことがあった時に検索する力のことです。
そして検索する際にも、AND・OR検索を使ったり、日本語でなく英語で検索する、などができるとよいです。

d.拡張機能
プログラミングを書くためのエディタに、「スペルミスをチェックしてくれる機能」だったり、「スニペットとして登録する機能」を付けることができます。
例えば、よく使うような10行ぐらいのコードがあったとして、それをスニペットとして登録しておくと登録しておいたキーを押すだけで10行分のコードが展開される…といったことが可能になります。

皆さんVScode等のエディタを使うと思いますが、是非拡張機能は色々使ってみて、「なるべくエディターの力に頼ろう」「楽してやろう」の精神を持つといいです。

3.あまり理解できなくてもいいから次に行け

学校の勉強だと特に、「この公式が理解できないと次のこの公式でも分からないよ」ということがよくあると思いますが、プログラミングはそもそも100%理解するのはなかなか難しいです。
「40〜50%理解したらどんどん次に行ってみて、何周も何周もしていくうちに100%の理解になったらいいかな」ぐらいの感じで問題ありません。

ザッカーバーグの「とにかく終わらせろ(Doing is better than perfect)」という言葉がありますが、とにかく「JavaScriptの勉強しよう」とか「アプリを一個とりあえず作ってみたい」と思ったら、理解は40~50%でいいので、まず完了させることを優先して、繰り返す中で理解していくというのが大事なことですね。

実際プログラミング言語の仕様はめちゃくちゃ複雑で、現役エンジニアの皆さんも分からないぐらい奥が深いものなので、100%理解するというのは目指さなくていいです。

4.初心者のエラーの原因はほぼタイピングミス

これは衝撃的かもしれないですけど、プログラミング初心者の方が勉強していて、
「あれ、なんか思った通り動かないな」
「教科書・動画の通りにやってるのに動かないな」
ということはよくあると思いますが、これはほぼタイピングミスです

僕も最近初心者の方にプログラミングを教えていて気づいたのですが、やっぱり人から言われないと、初心者の内はなかなか「自分がタイピングミスをしてる」という感覚がありません。

これは本当に大事なことで、「コンピューターとのコミュニケーションは常に100点じゃなきゃいけない」のです。

人間同士のコミュニケーションって正直、人間ってよしなに解釈できるので、たまに間違ったワードを言っても、前後の文脈で解釈できますよね。
しかし、コンピューターの場合は、例えば100行のコードがあったとしたら、その中に「全角スペース」が一個混じってただけで動かなくなります。

なので皆さんタイピングミスに気をつけて、コードが本当に正しいかどうかを確認する癖を付けましょう!

また、例えば教材を使って勉強しているのであれば、基本的にその教材にソースコードがついていますので、なるべく「コピペして実際に合ってるかどうかを最終的にチェックしてみる」という過程はあった方がいいかなと思います。

5.技術系の公式サイトは頻繁にアップデートがある

JavaScriptやPHP、BootstrapでもReact.jsでもなんでもいいのですが、皆さんプログラミング言語の勉強をしようと思って公式サイトのチュートリアルを見る機会ってきっとありますよね。

ただ、公式サイトというのは頻繁にアップデートがあったりします。

例えば、昔僕はJavaScriptの解説動画をYouTubeに投稿しました。その中で
「まず、Bootstrapの公式サイトに飛んで、これ通りに入力してみましょう」と発言していますが、公開から2年以上が経ち公式サイトの仕様も変わったのです。
すると動画のコメントで、
「動画の通りやってみたんですけど、Bootstrapの公式サイトのデザイン違くないですか?迷ってしまいました」
というお声をいただきます。

残念ながら「公式サイトは頻繁にアップデートされる」ため、常に新しい情報を保っておくのは難しいです。(というか動画投稿の場合はできない)
なのでそういったチュートリアルを使って勉強される場合は、なるべく情報が新しいものを使いましょう。
あるいは、多少昔と今では仕様が変わっているかもしれないという認識のもとに進めましょう。

6.教材はいろんなものを使っていい

教材は一つのものだけ使うのではなく、浮気しまくってOKです。
例えば、Udemyの動画教材を1つ購入しても、それだけじゃなく他の教材も組み合わせて学習してみましょう。

なぜなら、実際その一つの教材を突き進めていくと分からない部分が出てくることが結構な頻度であるからです。
そうなった時に例えば
「関連する書籍を2,3冊買ってみる」
「都度ググって別のブログ記事や別の動画の情報を当てにしてみる」
というような具合に、組み合わせて使うのがいいかなと思います。

実際僕も以前Twitterで、「皆さんどういう風に勉強してますか?」と現役のエンジニアにアンケートを取ったことがあるのですが、「動画も使うし、ネット上の教材やチュートリアルも見るし、あとは本、書籍は辞書的な形で使う」という回答が一番多かったです。

なので、このように組み合わせて使うということ前提で考えるといいんじゃないかなと思います。

7.作ってみた系チュートリアルを見つけよう

プログラミング教材で、「For文やFunction等の構文や文法をとりあえずやってみよう」というのがよくあるのですが、できれば「○○を作ってみよう」といった感じのチュートリアルの教材を使ってみるといいと思います。

例えば、僕の動画だと、「【JavaScript超入門講座】基礎文法だけでクイズゲームのアプリを開発!」など。

「PHPでブログを作ってみよう」「Ruby on RailsでToDoタスク管理アプリを作ってみよう」といった、○○を作ってみよう系のチュートリアルや書籍を使うと、「目的意識が芽生える」ので効果的です。

実際どこで役に立つのか分からない文法中心の学習よりも、ゴールのアウトプットがある方が目に見えてやる気につながるからです。

これらを繰り返して、アウトプット1,2,3と重ねていってなるべく引き出しを増やしていくというやり方が、特に最初はいいんじゃないかなと思います。

8.アプリを作り始めたら1週間でリリースしよう

以前、Teccoさんという凄腕のエンジニア社長と対談した動画で、本当に目から鱗の話をされてました。

Webエンジニア転職するまでにポートフォリオ30個作った神に方法を聞いてみた

プログラミング学習において、「学びのスピードが速い人」は、自分でアプリを作るプロセスを経る人が多いです。
しかもそのアプリは1週間程度の本当に短い期間でリリースしています。
逆に言うと2〜3週間くらいかけて作っていると、だんだんダレてきて結局いつになってもリリースできないんですよね。

なので、とりあえず「しょぼくてもいいからリリースしてみる」ことを意識しましょう。
これらを何回も繰り返していくと成功体験も積めるし、引き出しの数も増えてきます。

その後、「じゃあ次は2〜3週間かけて作ってみよう」という時に、より複雑なアプリケーションをちゃんと時間をかけて作ることができるようになっているはずです。

なので1,2発目にアプリを作るときは、本当に短期間で、「できれば数日以内にリリースしよう」という心意気でやることをおすすめします!

9.英語を使おう

やっぱり私も含めて日本人は英語にすごい苦手意識があるんじゃないかなと思います。
しかし、プログラミングは英語で書かれているので、英語から逃げられません。

でも、プログラミングって基本的に人間のコミュニケーションではないので、構文などはそんなにないです。
基本的には英単語を知っていればなんとかなったり、それこそ困ったらGoogle Translate等の翻訳アプリを使うと、かなり精度高く翻訳できる時代なので、そんなに「英語を読む・使う」ということにビビらなくても大丈夫です。

さらにプログラミングは英語でできていると言いましたが、英語の意味がわかるとすっと理解ができることもあります。
例えば、JavaScriptで言うと、「function」「let」「const」等のワードがありますが、この意味を知っておくと、「なるほど、だからこういうふうに使えるんだ」「こういう意味を持っているんだ」というふうに理解がスッとできます。
なので、これらのワードを記号的に覚えているよりは、意味と合わせて覚えていた方が記憶の定着が良いのです。

ビビらずに、英語を「しょうがないから使ってやるか」ぐらいのテンションでやっていただけると、より「プログラミングへの理解」というのは早くなるんじゃないかなと思います。

さいごに

というわけで今回は、「プログラミング学習1年目に知っておきたかったこと9選」について解説しました。
ぜひこれをプログラミングの学習に役立ててみてください!

また、BugFix LLCでは下記のサービスを展開しています。ご興味ある方はぜひ、お気軽にお問い合わせください!

YouTube・LINE・メルマガでも情報発信中です。


この記事が気に入ったらサポートをしてみませんか?