このエントリでは、「IT ど素人」で SIer に入社した私が、SE(システムエンジニア)を目指し、「ど素人」という真っ暗闇を抜け出し、「技術がわかってきた」と思えるまでにやってきたことを 3 つ書きます。
何から手をつけてよいのか、どこまで手を広げてよいのか迷い、苦しんでいる方の参考になれば、とてもうれしいです。
かれこれ 15 年くらい前の話です。それでも、参考になるところはあると思います
やったこと、できるようになったこと
やったことは、この 3 つです。
- 基本情報技術者試験の勉強
- プログラミング(写経)
- ぷちシステム基盤の構築
できるようになったことは、この 3 つです。システム、サービスが動作するイメージがつかめ、闇を抜けました。
- 知っている技術用語がものすごく増えた
- 簡単なプログラムが書けるようになった
- 簡単なシステム基盤が組めるようになった
かかった期間は、全部あわせて 1 年くらいです。
IT ど素人のレベルは?
本題に入る前に、私の「IT ど素人」っぷりを表すエピソードを、少し紹介します。
- 学生時代 → 非 IT 系。IT 関連の科目は、必須を除いて全拒否した
- 入社時 → キーボードを打つのが遅すぎたため、自己紹介の目標欄に、「タッチタイピングができるようになりたい」と書いた
- 新人研修 →「サーバ」の意味が不明すぎて、講師の方に何度も質問した
けっこう、絶望的じゃないですか?
私がやった 3 つのこと
ここからは、私がやった 3 つのことを紹介していきます。
と言っておきながら、実は、あせって色々な分野の色々な書籍に手を出してしまいました。はっきり言って、完全に無意味でした。どうでもよい知識やノウハウばかりを得て、それをひけらかして、ほんのいっとき喜んだだけでした。
結局、意味があったのは、さきほど紹介した、この 3 つだけです。
- 基本情報技術者試験の勉強
- プログラミング(写経)
- ぷちシステム基盤の構築
IT ど素人が、これらを「一人で」「業務外で」こなすのは、けっこうしんどかったです(といっても、平日であれば 2 時間くらいしか勉強していませんでした。普通に飲み会とか行ってました)。
こういったことが、「業務」や「研修」なんかで経験できると、とてもよいですね。そうなれば、業務外では、伸ばしたいスキルに特化した勉強ができますから。
1. 基本情報技術者試験の勉強
情報処理技術者試験の勉強のきっかけは、当時いた会社で、「合格しないと一人前とは認めない」と言われたからです。その経営判断の是非はおいておきます。
やったこと
やったことを端的に言うと、過去に試験で出題された用語の暗記です。午前も午後も、9 割とれるようになるまで勉強しました。
基本情報技術者試験では、過去に出題された問題が、繰り返し出題されます。ですので、とにかく過去問をつぶしました(市販の問題集は過去問が中心となっているため、素直に進めていけば、勉強方法を誤ることはないと思います)。
基本情報技術者試験の出題範囲は、かなり広いです。その分(?)、各単元の理解は浅くてよいです。ですので、とにかくたくさんの用語を暗記しました。試験の性質上、一問一答にしやすいです。小さなメモ帳に問題形式で書き出しておき、移動中などに眺めていました。
できるようになったこと
用語とその意味を覚えただけなので、「これができるようになった!」ということはありません。
ただ、とにかく「たくさんの」 IT 技術の用語がわかるようになりました。それも、たった半年(実質、数か月)で。
とりあえず、経営や自部門の期待には応えられましたw これも大事です。
なんとなく IT に慣れてきたように感じましたね。少し、自信もつきました。
2. プログラミング
あこがれのチームリーダが、超絶エンジニア(特に、Linux カーネルまわりのプログラミング)だったので、触発されました。
やったこと
簡単なプログラム(C/C++, Perl)に関する書籍(超基礎)を購入し、写経しました。つまり、書籍を見ながら、エディタに書き写しました。てか、それしかできませんでした。
具体的には、こんな感じのことをやりました。
- 教科書的な内容(e.g. 逆ポーランド記法を用いた計算)
- 簡単なネットワークプログラミング(e.g. ソケットを使った HTTP の通信)
- 何かのフレームワークを使って軽く GUI(e.g. ボタンを押したら、HTTP の通信を行う)
初めは書籍を読んでいるだけだったのですが、全く理解ができなかったので、自分で動かしてみることにしました。なぜか、ただ読むより、理解できたような気がします。是非、やってみてください。
できるようになったこと
当たり前かもしれませんが、簡単なアプリケーションであれば、なんとか作成できるようになりました。
しかし、もっと大きな成果がありました。IT 技術関連の書籍や記事が読めるようになってきました。書籍や記事に、コードが書いてあっても、臆せずに読めるようになったからでしょうか。それまでは、コードで表現されているようなコアな部分を読み解けなかったからかもしれません。
3. ぷちシステム基盤の構築
恐ろしく Linux なチームだったので、触発されました。
やったこと
お家のネットワークをちょっと改造して、Linux を使って Web サーバを立ち上げました。「それだけ? 1 時間で終わるぢゃん」となりますよね。でも、それだけです。「Linux って何?」、「Web サーバって何?」からスタートしたので、1 ~ 2 か月くらいかかったはずです。
具体的には、こんな感じの作業をしました。まとまった書籍がなかったため、色々調べながらやりました。
- 独自ドメインの取得
- ブロードバンドルータの購入とDMZ の作成
- 中古 PC の購入と Linux のインストール
- Linux の設定(ぷち要塞化)
- Apache HTTP Server のインストールと設定
- 簡単な HTML の作成
最近だと、クラウド環境でお手軽に始められるのがよいですよね。小さいサービスであれば、課金はほとんどありません。それに、サービスの構築の仕方まで書いてある書籍も出版されています(とはいえ、書籍の情報は、すぐに古くなるため、なかなか手順通りにはいきません。私は何度か泣かされました)。
できるようになったこと
これも当たり前ですが、しょぼいながらも、当時の典型的なシステム構成が実装できるようになりました。
システムがどうやって動いているのか、サービスがどうやって提供されているのか、なんとなくわかりました。ネットワークと OS の知識が身につきました。コマンドラインにも慣れてきました(そこからです)。
まとめ
今回のエントリでは、私が暗闇から抜けるまでにやった 3 つのこと、それによってできるようになったことを紹介しました。
今、過去の自分へメッセージを送るとすれば、きっとこんな感じになると思います。
最初が一番苦しいです。
だからこそ、あせって、たくさんのことに手を出すのはおススメしません。細かい知識やノウハウは、後からいくらでも身につきます。
まずは、1 年間、やることをこの 3 つに絞りましょう。
- たくさんの用語を覚えるために、基本情報技術者試験に上位合格する
- 簡単なプログラムが書けるようになるために、教科書を写経する
- 簡単なサービスが構築できるようになるために、実際に基盤を組んでみる
これだけで、かなり楽になります。
ですのでどうか、地に足をつけて乗り切ってほしいです。そうすれば、ここで得た経験が、後々必ず役に立ちます。
何から手をつけてよいのか、どこまで手を広げてよいのか迷い、苦しんでいる方の参考になればよいなぁ。