【IT】未経験者向け【雑談】

IT業界で生き残るには

IT業界では35歳定年説などもあり、他の業界と比べて変化が激しく日々勉強が必要と言われる。IT業界に興味がある人は「儲かる言語」や「どのような勉強するべきか」など疑問を持つのは当然だろうが、「今現在、年収が一番多い言語」は統計を取れば出せるが、1年後、5年後、10年後に同じ言語で戦える保証はない。

では、IT業界で生き残るにはどのような事をするべきなのか。私がタイムスリップして若き私にアドバイスしたい事をつらつらと書いていく。

英語を勉強していて損はない

プログラムは英語で記載するから英語を勉強する必要があるとは言わない。ではなぜ英語を学んでおく必要があるかと言うと情報量にある。日本の人口は約1億2千。アメリカの人口は約3億。日本とアメリカでは情報量が3倍近く違う。さらに英語を使う国はアメリカだけではない。日本語を使う国は日本しかないだろうが英語は様々な国でつかわれているため、その情報量は3倍をさらに上回る。

英語以外には何を学ぶべきか

これは学ぶ目的による。就活生で、A会社に就職がしたいなら、A会社の中途採用ページに書いてある必要スキルについて学ぶことをお勧めしたい。理由は特に書く必要はないだろう。趣味でプログラムを作ってみたい人はスマートフォンがお勧めだ。androidならJava、iphoneならswiftとなる。スマートフォンアプリを勧める理由としては情報量が多いことと、自画自賛・自慢できるからモチベーションを保てるからだ。

C言語やアルゴリズムを学ぶべきだと考える人も多いだろう。ポインタの概念はC言語にかかわらず参照型引数などで理解するのに役立つ。しかし勉強するにはモチベーションは非常に重要になる。他人からの評価、遊び感覚、アプリで一発当てやるなど野心などの原動力がないと長続きしないだろう。

学び方

ネットで大量の情報を得る事が出来る時代だが、書籍を購入するべきだと言いたい。なぜ書籍なのかと言うと、情報の正確性と学ぶ段階(順番)が比較的正しく。初心者向けに分かりやすく説明しているからである。購入する書籍は発売日が比較的新しく、そこそこの評判が良いもので入門や初心者などのキーワードが入っているものを選ぶべきだろう。そして開発環境は書籍に合わせること。新しいバージョンが出ていたとしても書籍に合わせることにより無駄なバグや試行錯誤する時間を省くことができる。

書籍をすすめていくと必ず不明な点や動かない箇所が出てくるだろう。その時は多少の時間を掛けて問題解決をするべきだが、そこで止まっては行けない。30分程度頑張っても解決できない場合は、思い切って飛ばして先に進むべきだ。本当に飛ばして大丈夫なのか?と不安に思うかもしれないが、先に進むに連れて過去の問題の解決策や理解を得る場合は多い。重要なことは進めることであり、止まることはやって決してやってはいけない。

飛ばし飛ばしにしても、完璧に1冊の書籍を暗記・再現させるようになったとしても、アプリ開発ができる能力が身につくことはない。アプリを作るにはフレームワークと言う物を学ぶ必要があるからだ。フレームワークの勉強に関しても書籍を買うべきだ。フレームワークの書籍を終わらせてやっと土俵に立つことになる。

書籍の種類

書籍の種類について大雑把にわけて5種類になる。

  • 入門書(言語)
  • 専門書(フレームワーク)
  • 辞書(機能の一覧や使用例など)
  • 概念(Object指向、イベント駆動など)
  • Hacks本(マニアの領域・チューニングなど)

すべてを理解・暗記する必要はない。試験やテストではないため、カンニングしてOKなのだから。「こういう機能がある。これを使えば実装できる」と存在自体を知っている事自体が一つの能力だ。実装する時は書籍やネットを参考に作れば良いだけで、車輪の再発明をしなくて済む。Hacks系の書籍は分厚く内容も専門特化してるため、そういう書籍が存在すると言う認識さえあればよいだろう。必要になる時はまだまだ先なのだから。

しょぼくても動くアプリを作る

最低限の知識を得たら何でも良いのでアプリを作ること。今ままでにないアプリの発想があればそれでもよいし、存在するアプリのパクリでもよい。実際に作ることが大切だ。作っていくと必ず壁にぶち当たる。書籍に載っていない問題もあるだろう。そういうときはググることで大抵は解決できる。なぜならば同じ壁に当たった人も当然おり、なおかつ解決方法をネットに公開してくれている確率は多い。ただし、コピペはお勧めしない。同じコードでも自分の手で記載したほうが良い。コピペだろうが手動だろうが結果は変わらないだろうが、自分の手を動かすことにより、どのような動作が必要なのか、なぜ動くのかなど必然的に疑問が湧いてくる。コピペだとこれが発生せず、手の運動だけになってしまう。

二足のわらじ

一点突破で一つの技術を極める事はあまりお勧めしない。1つの言語やフレームワークに特化しすぎると、その技術が廃れた場合に反動が大きい。最低限でも二足のわらじを得る事だ。1足目でお勧めなのは「今現在、流行っている言語・技術」、もう1足は「長く使われるだろう言語・技術」だ。具体的な例えで言うと1足目は「今現在使用されている人口が多い言語(Java)」。もう1足は「Linux」としよう。JavaはAndroidアプリ、デスクトップアプリ、サーバーサイドアプリと様々なところで使用することができる。そのこともありJava人口も多い。悪くいうとライバルが多いため単価は低くなる傾向が多いが数年は食いっぱぐれることはないだろう。Linuxと大雑把に宣言したが、Linuxは長年使用されており、クラウドサービス化が進んでいる現在でもサーバー構築にはLinuxの知識は必要不可欠である。LinuxはOSであるためサービスを導入しないと意味がない鉄の箱だ。データベースやネットワークなど概念の変わらない技術を学ぶ事で長くIT業界と付き合うことができるだろう。

企業寿命30年説

就業している会社・就職する会社に定年まで務めることは稀な時代になりつつある。終身雇用は珍しくなるが年功序列制度は残っている理不尽な状態だ。多くの人は社会人時代に転職・起業を体験する方が多い。就業している会社に不満がある場合、親の介護や体調不良など会社を離れる理由は様々だろう。自分の意思とは無関係でも転職を余儀なくする可能性もある。さらに、会社自体が潰れる可能性も視野に入れておかないといけない。自分が定年まで会社が存続している保証などどこにもないのだからだ。企業寿命30年説と言われるものがある。およそ30歳で起業した人が60歳で引退し、会社を引き継ぐ人がいなかったり、創設者の引退とともに会社がうまく回らなくなったりする事例が多く「企業寿命30年説」が生まれたのだ。「お前の代わりはいくらでもいる」と言われるのではなく、「会社の代わりはいくらでもある」と言える技術やコミュニティーを持っておくと良いだろう。だが、能ある鷹は爪隠すが如くあまり表には出さないようにしないと角が立つものだ。

銀の弾丸などない

銀の弾丸とは「『どんな場合であれ通用する』ような、『万能な解決策』」のことだ。シェアの多い言語でもいづれは無くなるだろう。それが1年後か10年後か100年後か分からない。ある時期を境に天才が突飛した技術を発明する可能性もある。1つの言語だけではなく複数の言語や様々な技術を得ることによりフットワークが軽くなり、会社に縛られることなく転職やフリーの展開も用意になる。

悪魔の証明

悪魔の証明を求められる事が多々ある。悪魔の証明とは「所有権の証明責任を負う当事者が、無限に連鎖する継承取得のいきさつを証明することの不能性および困難性によって必ずや敗訴する」※wikiより。身近な例を出すと痴漢冤罪で「痴漢をしていないことを証明する」ことや、「出来ないことを証明する」、「存在しないことを証明する」などなど。宇宙人が存在するかと言う答えを求められた時、宇宙人を一人でも見つけることができれば「存在することの証明」はできる。逆に存在しないことの証明をする場合は「宇宙全体を漏れ無く調べる」必要がある。「宇宙人が存在しない証明」をすることは限りなく不可能に近いだろう。

なぜ悪魔の証明について記載したかと言うと、書籍・ネット上で「ある処理」の実装例がある場合はあるが、「ある処理が実装できない証明」を記載していることが稀である。疑問点を調べる事は非常に重要だが「諦める・他の方法に切り替える」などの判断をしないといけない。

スポンサーリンク
レタリング(大)広告
レタリング(大)広告

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レタリング(大)広告