シベリア鉄道旅行記 更新中です。

文系出身未経験エンジニアからの10年で役に立ったこと

新卒から10年ちょっと経って、昨年ようやく、Webエンジニアとしてやっていける実感を得られた。
大学の文学部を卒業して右も左も分からない状態からエンジニアになった経歴を振り返り、役に立ったことをまとめて、似たような始まりでエンジニアになった方の参考になれば幸いです。

資格試験を通じた勉強

情報処理技術者試験

www.jitec.ipa.go.jp

今に続く基礎になっているのは 情報処理技術者試験 だと思います。
たまに役に立つ/立たないと議論の的になるけども、個人的には役に立ちました。

最初にSEとして働いていた会社が取得を推奨していたこともあり、半年ごとに毎回受験していました。
最初はITパスポートから、基本、応用、セキュリティ、データベース(DB)、ネットワーク(NW)、と受けて、セキュリティ以外は受かりました。

直接には(ライブラリの使い方を学ぶようには)現場での作業の役に立つわけではなかったが、Webシステムの仕組みを理解するのが楽になりました。
上位資格の方がより現場で役に立つ印象があります。
例えばDBはデータベース設計やモデリングにおいて、NWはAWSなどでのクラウドインフラの設定において、役に立ちました。

SEを辞めてWeb系に移ってもこの印象は変わらなかったので、私のように情報系の学習をしてこなかった方には勧めたいです。

勉強で読んだ本

試験勉強そのもの

試験勉強自体は、よく翔泳社の過去問でやってました。
過去問5回分くらいを時間測って問いて、わからないところを調べて理解する、を繰り返してました。

aewshyae.hatenadiary.jp

以下に挙げるのは、試験勉強の副読本として、またその後の実務で役に立った本です。

セキュリティスペシャリスト

Webシステムを扱うなら必読本だと思います。
脆弱性は、知識不足でエンジニアが作ってしまう部分があるので、代表的な脆弱性、攻撃手法やその対策を一通り学べます。

ネットワークスペシャリスト

ネットワークの理解が進んだ本。
基礎編の他にも色々あるが、インフラやネットワークを専門にしないならこれで十分。 

データベーススペシャリスト

めちゃくちゃ分厚いし全部は読めていないけど、データベース設計やモデリングSQLの理解が進みました。

Ruby Silver (Ruby技術者認定試験)

www.ruby.or.jp

ええ、また資格です。
資格はきっかけに過ぎず、良かったのは、勉強としてRubyの主要なクラスのメソッドを一通り触ったこと でした。
プログラミングにおいてやりたい操作は言語によってあまり変わらない*1ので、一つの言語で一通りやっておいたことで他の言語の習得も早くなりました。

自分にとっては、資格取得を目指すのは勉強としてやりやすく合っていました。

当時は『はじめてのRuby』(O'Reilly)で学んでいましたが、Rubyのバージョンが古いので、
もしこれからRubyを学ぶ場合にはいわゆる「チェリー本」が良いと思います。

その他

考えてみたけどあとは羅列になりそうなのでまとめました。

  • 転職で迷ったら面白い方へ。
  • 仕事でも、迷ったら面白い方へ。もちろん仕事で必要な品質を保てる範囲で。
  • Twitterは情報収集に使えました。
    • connpassなどでイベントで登壇している人の中から気になる人をフォローするところから始めると良さそう。
    • すごい人がたくさん見えるし、比較して自分が何もできないように思えることもあるけど、それは「すごい人のすごいところの和集合」と自分を比較しているからなので、それは止めて過去の自分と比較すると良かったです。
  • 「エンジニアに数学はいる/いらない」論議がありますが、要りますし、要りました。(要らない仕事もあるでしょうけど)
    • 具体的に使ったのは高校数学+線形代数線形代数はやってなかったので勉強した。
    • そもそもエンジニアの仕事って、ざっくり言えば「計算機科学×数学の現実への適用」だと思うので要るとか要らないとかじゃない。前提。

学び続ける人へ

エンジニアは学びの道なので、これからも楽しく学んでいきたい。
質問などありましたらコメントください。

*1:JavaScriptRubyPythonなどC系言語の経験が主という私の限られた知識と経験において。