見出し画像

プログラミングの副業やエンジニアを始めたいと思った時にまず読んだ方がよさそうな本

Web系エンジニアになろう 勝又健太

約1年半くらい前(2020/11ごろ)に出版された本なのですが、読み返してみると色々勉強になりことがありましたので記事にしてみました。
そもそもこの本をなんで読んでみようと思った理由についてです。2年前くらいにプログラミングでの副業に非常に興味を持ち、色々YouTubeを観漁っている時に著者の「雑食系エンジニアTV」というチャンネルに出会いました。プログラミングに関する説明が非常にわかりやすいということはもちろんあったのですが、(著者も本の中で書いていますが)八方美人的な意見ばかり述べるのではなく、本当に思った意見を”炎上”を恐れずに述べているということが非常に印象的で好感が持てました。そのため、この方の考え方をもっと学びたいと思い、本を読んでみました。

この本を読んでいただきたい方

少しでもプログラミングやIT技術に興味のある方で、何から勉強していいのかわからない方。そんな方におすすめの書籍です。
今回の記事では実際の用語の説明を全てご紹介することやIT業界の構造などはほとんど省略して、他にも活用できそうな有益な考え方や勉強の方法(参考書籍)などをピックアップしてみました。ほとんど基本的な知識などのメモに近い形になっています。

Web開発とWeb制作の違いとは?

「機能要件」と「非機能要件」の数と難易度に違いがあるようで、Web制作系の案件ではあまりエンジニアとして高い技術は必要とされないようです。Web制作においてはWordPressのような教材がよく「情弱」層をターゲットにした高額な教材として販売されているらしくここは皆さん注意が必要です。著者曰く、昔から広く使われているようなプロダクトに関しては、すでに安価で良質な教材がたくさんあるとのことです。これは何を学ぶにしても同じことが言えますね。僕もいろんなことを勉強していますが、YouTubeやブログなどで無料の動画や記事が多く閲覧できますのでまずそれらを探すようにしております。

Web系エンジニアの必須知識

・Mac基礎
Web系エンジニアの開発マシンはMacが主流なようです。なるべく早い段階でMacの操作に慣れることが必要です。僕は会社で支給されたPCが今までずっとWindowsばかりだったので、いまだにMacの操作には慣れません。
・コンピュータサイエンス基礎
これはエンジニアになりたい方だけでなく、他の業界(例えばWeb広告関連)でも知っておくといい知識だと思っています(『スラスラわかるネットワーク&TCP /IPのきほん 第2版』がおすすめの学習書籍だそうです。)。著者曰く『n進数、集合、論理演算、文字コード、データ構造とアルゴリズム、ハードディスク、OS、ファイルシステム、データベースワーク(『おうちで学べるデータベースのきほん』)など、少なくとも「基本情報技術者試験」のカリキュラムに含まれる範囲のコンピュータサイエンスの知識は勉強することをお薦め』されています。『キタミ式イラストIT塾 基本情報技術者令和02年(情報処理技術者試験)』という本がおすすめの学習教材のようです。
他にも以下の内容を挙げられていますが、僕が全く詳しくないのでご興味ある方は調べてみてくださいね。
・Linux基礎(『Linux標準教科書』、『新しいLinuxの教科書』)
・Git/GitHub基礎
・エディタ/IDE
・パッケージマネージャ
・Linter /Formatter
・単体テスト/統合テスト
・セキュリティ
フロントエンドエンジニアの必須知識としては、Webブラウザの知識(どうやってブラウザが表示されるのかや各種Webブラウザの特徴)は必要ですね。
・HTML /CSS(『HTML&CSSコース』Progate、『はじめてのHTML』ドットインストール、『はじめてのCSS』ドットインストール)
・Java Script /TypeScript(『JavaScriptコース』Progate、『詳解JavaScript』(ドットインストール))
・フレームワーク
などについて習得が必要なようです。これらもエンジニアになる方以外にも知っておいていい知識かと思いますので、お時間ある方は調べてみるのもよさそうですね。

なおこれらの知識の学習方法をコラムとして筆者がアドバイスしているのですが、学習する際に教材を何周もすることはやめるように助言しています。とにかくスポーツを上達する時と同様に実践が非常に重要という考えで、プログラミングについても同様のことが言えるようです。

『外部発信』の重要性

エンジニア向けに「Qiita(キータ)」やTwitterで自身の考えやポートフォリを発信していくことをこの書籍の中で著者は何度が推奨しているのですが、特に重要な点は炎上をおそれないということです。技術的な解説をする際には炎上することはないが自分の考えを発信するとしばし炎上する恐れがありますよね。ただしここで筆者はありきたりな八方美人的な考えを発信することには反対しています。何かに忖度して発言しているということは結局のところ本音を言っていないという事にもなりますし、注目を集めることはできないというわけですね。知名度を高めるのであれば『一部の人たちからは嫌われてしまっても特定の層の人たちには強烈に支持されること』を目指すようアドバイスされています。

SNSやブログ等で情報発信するときに、他の人が言っているようなことを撫でるようなことを言ったり書いたりすることが多かったので、自分自身の考えをしっかり表現していくということを心がけようと思いました。

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