2022年4月に新卒未経験でプログラマ(SE見習い)として受託開発系の会社に入社して、だいたい半年が経ったので、これまでに技術を身につけるために読んだ本をここらへんでまとめておこうと思う。
半年で区切ったらけっこう長くなった。3ヶ月で区切っとけば良かった。
- 入社時の状況
- 現在の状況
- 入社1ヶ月目:2022年4月
- コンピュータ、どうやってつくったんですか? はじめて学ぶ コンピュータの歴史としくみ
- イラストでそこそこわかるLPIC1年生 (Linux教科書)
- たった2日でわかるLinux CentOS7.0対応
- コンピュータはなぜ動くのか~知っておきたいハードウエア&ソフトウエアの基礎知識~
- イラスト図解式 この一冊で全部わかるネットワークの基本
- 見るだけIT用語図鑑278 新入社員、ITに苦手意識を持っている人にも役立つ
- プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業
- Linuxブートキャンプ サーバ操作/OSのしくみ/UNIXネットワーク──10年先も使える基礎を身につける! (Software Design別冊)
- 入社2ヶ月目:2022年5月
- 入社3ヶ月目:2022年6月
- 入社4ヶ月目:2022年7月
- 入社5ヶ月目:2022年8月
- 入社6ヶ月目:2022年9月
- 振り返り
入社時の状況
わたしは馬鹿だったので、内定もらってから特に何もせずに過ごしていた。DNSとかIPアドレスの仕組みとかよくわからず、ITパスポートだけ持って入社した感じ。それで入って、うちは手取り足取りじゃないので、自分で勉強しなきゃやばいと思って本をいろいろ読み始めた。
PHPに関しても、関数?戻り値? どうやって受け取るの?という感じでまったくゼロから始まった。
現在の状況
基本的にPHPを書いてるけど、たまにウェブサイトも作る。処理を作ってるけど、画面新設しないといけなくなったりとか、ボタン足さないといけないってなったら、その画面も作ってるのでWebシステムに関してはなんでもやってる感じになるのかな。
よくあるサーバーサイドとか、フロントエンドとかそういうのがどこからどこまでなのかイマイチわかっていないけど、Webエンジニアとかになるのか? いやでも、まだただのよわよわプログラマーかも。最近はちょっとずつ設計にも挑戦するようになってるから、レベルアップ中ではある。いつもはすでにリリースされているWebシステムの機能追加や新機能の開発を行っているよ。
わからないことがあったときは体系的にまとまっている本を読むというよりかはググってドキュメントを読んだり、Qiitaの記事読んだりすることのほうが多くなったと思う。
自分が開発を担当した機能がリリースされると嬉しくてつい社内でにやけてしまう。
じゃあ、それでは4月から振り返ろう。
入社1ヶ月目:2022年4月
コンピュータ、どうやってつくったんですか? はじめて学ぶ コンピュータの歴史としくみ
いままでコンピュータには触ってきたけど、コンピュータの仕組みはよくわからなくて、「コンピュータはなぜ動くのか」とかをいきなり読むのはわたしにとってハードルが高かったので、これを読んでみた。かわいいイラストでそんなに分厚くもなくて、ハードル低くていい本だった。
イラストでそこそこわかるLPIC1年生 (Linux教科書)
Linuxの勉強する必要があったけど、分厚い基礎の教科書を読む気にはなれなかったので、ここあたりから。理解できたらなんでもいいよね、の精神。
たった2日でわかるLinux CentOS7.0対応
virtual box使って自分の手を動かして取り組んだ本。
コンピュータはなぜ動くのか~知っておきたいハードウエア&ソフトウエアの基礎知識~
情報系の本への耐性がついてきたところでこの本。レジスタの話とか面白かった。Windowsの32bitとか64bitとかそういう話だったのかーって納得もあった。
今度第2版が出るみたい。
イラスト図解式 この一冊で全部わかるネットワークの基本
見開きで1項目が説明されるタイプで、本自体も分厚くなくてとっかかりやすい本だった。
見るだけIT用語図鑑278 新入社員、ITに苦手意識を持っている人にも役立つ
端的に説明されていてさくさく読める。
プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業
結局どの言語で書くにしても、考え方の部分はだいたい同じで、構文が違うって感じなのかなってイメージできた。
Linuxブートキャンプ サーバ操作/OSのしくみ/UNIXネットワーク──10年先も使える基礎を身につける! (Software Design別冊)
なにか変なことしちゃうんじゃないかと不安でLinux触るの怖くて読んだ。
入社2ヶ月目:2022年5月
基礎からのIT担当者リテラシー
情報セキュリティとかも必須だよねって思って読んだ。
「ムダな操作の繰り返し」から解放される 疲れない パソコン仕事 大全
便利なショートカットとか覚えたかったから読んだ。
独習 オブジェクト指向開発 第2版
一応さらってはみたけど、あんまり理解できなかった。
改訂新版 ゼロからわかるPHP超入門
5月になって、本格的にPHP触るようになってきて、オライリー本は読むのがたいへんだったのでこれを最初に読んだ。
初めてのPHP
PHPにけっこう慣れてから読んだらだいぶ読めた。
3分間DNS基礎講座
ネットワーク周りのことは半年たってもうまく理解できてない。
15時間でわかる MySQL集中講座
コマンドでデータベース操作するとかそういうことはあんまり書かれてないけど、MySQL自体の操作については参考になったし、文字が大きいからとっかかりやすかった。
独学プログラマー Python言語の基本から仕事のやり方まで
読んだは良いけどあんまり印象に残ってない。また読んでみようかな。
基本がわかるSQL入門 ——データベース&設計の基礎から楽しく学ぶ
この本はだいぶ参考になった。SQLの考え方を理解するのに役立ったし、データベースの設計、データの正規化についてだいぶ紙面が割かれていて良かった。
入社3ヶ月目:2022年6月
絵で見てわかるOracleの仕組み 新装版
業務でオラクルは今のところ触ってないけど、データのコミット方法とか、ロックの仕方がMySQLとちょっと違うみたいな話を聞いて読んだ。
〔改訂新版〕 3分間ルーティング基礎講座 (3分間NetWorkingシリーズ)
いまだにルーティングとかよくわかってない。業務で使わないとなかなか身につかない。
オブジェクト指向をきちんと使いたいあなたへ
読んではみたけど「オブジェクト指向わからん…」となった。
アルゴリズムがわかる図鑑 まなびのずかん
子ども向けっぽい図鑑だけどもイラストがかわいくてわかりやすかった。一応pythonでやってみよう、みたいなコーナーもある。
HTML+JavaScriptによるプログラミング入門 第2版
JavaScriptわからんとなって読んだ本。Webで使いたい基本的な機能はネット上の情報でなんとかなるけど、自分でなんかやりたいってなったときにわたし何もできないなっていう自覚があった。最近はTypeScriptに興味ある。
プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識
いわずとしれた名書。プログラムが実行される仕組みがわかると、実装の解像度があがる気がした。
RESTful Webサービス
APIを作ることになって読んだ本。RESTってなんなの?をがんばって理解しようとした。
入社4ヶ月目:2022年7月
無事に試用期間を終えて、立派な正社員になれた。6月時点ですでに既存システムの改修とかやってたんでOK、合格って感じだったっぽい。
問題解決のための「アルゴリズム×数学」が基礎からしっかり身に付く本
数学身に付けないとなと思ってチャレンジ。確か途中までしか読めていない。
新・明解C++入門
C系統の言語を学ぼうと思って、競プロでも使えるC++を学ぶ。AtCoder灰色です。
エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする WEB+DB PRESS plus
読んだときにはつよつよエンジニア向けかなあと思って、あんまり吸収できなかったから再読したいと思っている本。
入社5ヶ月目:2022年8月
問題解決力を鍛える!アルゴリズムとデータ構造 (KS情報科学専門書)
基本情報技術者試験でもアルゴリズムの問題は出るらしいしなあと思って読んだ本。試験自体は2022年秋は申し込もうと思ったけど、土日の予約はとれないし、平日夜もとれないし、ってなって諦めて2023年に受けることにした。2023年からいつでも受けれるようになるみたいだし、混雑も解消されそう。
CSS3デザインブック 仕事で絶対に使うプロのテクニック
Webデザイン系の業務やってて、まじなんもわからんってなって読んでたデザイン系本の1冊。
プロとして恥ずかしくない 新・WEBデザインの大原則
同上
ウェブデザインコーディネートカタログ
同上
Webデザインの新しい教科書 改訂3版 基礎から覚える、深く理解できる。〈Flexbox、CSS Grid、レスポンシブ〉
まだGridレイアウトは使いこなせていない。
知りたい配色デザイン (知りたいデザインシリーズ)
色の組み合わせ難しい。
プログラマの数学 第2版
これまでの人生であまり数学に向き合ってこなかったので。
入社6ヶ月目:2022年9月
図解即戦力 Web技術がこれ1冊でしっかりわかる教科書
半年も経って今更この本?感はあるけど、いろいろやってみたあとだと納得感がある。
Web制作者のためのCSS設計の教科書 モダンWeb開発に欠かせない「修正しやすいCSS」の設計手法
とても助けられた本。CSSがどう書いてもごちゃごちゃするので、ストレスマックスだったんだけど、この本を読んで、ちょっとそのストレスが解消された。
この本に関連してポエムを書いたので、お暇な方はどうぞ。
振り返り
今回あげたのは記録が残ってるものだけなので、これ以外にもちまちま読んでると思うけど、だいたいこんな感じ。
プログラミングを始めた当初はオライリー本がまったく読めなかったが、最近は少しずつ読めるようになってきた。
ネット上にも情報は確かにあるんだけど、初心者なら本を一通り読むほうがわかりやすいと思う。ネットには断片的な情報や一面的な情報が多い。なんとなくコードを真似したら動くのかもしれない。でも、なんで動いたかが理解できないし、自分に使えるものになるかはまた別の話だと思う。
本も背伸びして字が小さいものを買わなくても、「これでわかる!」みたいな易しいものでまず概念とその技術に関する薄い知識を得てから少し難しい本を読めばいいと思う。いきなり難しいもの読んだって理解できないなら意味がないし。
技術本を読むときにわたしがつまづいたのは、
$str = "hogehoge"
みたいなのを読んだときに、$strっていうのが飲み込めなかったところ。今なら「ああ、文字列をいれることを表してる変数ね」みたいな感じで理解できるんだけど、最初は"str"の意味もよくわからず、いきなりなんでこんな文字列出てきたんだ?って感じだった。
でも、こんなおバカさんでも、今はなんとか仕事できてます。ありがたいね。もっとつよつよになりたい。
あと、デザインのことはほんとに何もわからない状態になってるのでなんとかしたい。