自分に足りない技術を学ぶには?(ITエンジニア職)
大手IT企業に勤めて9年目に入るものです。今まで転職の経験はありません。
言語としてはC++、VB、C#をやってきました。ここ何年かは要件定義や仕様設計を行うことが多いです。
ただ、今までWindowsアプリのみに携わってきたため、それ以外のJavaやPHPなどの知識はなく、WEBサービス、クラウドの知識もありません。
その辺りの自分に足りない技術を学ぶのがITエンジニアの経験としてはいいのだろうと思いますが、なかなか技術の勉強はどこから始めたらいいのか、どこまでやれば「技術がある」と言っていいのかわからず、手を出さずにいます。
もしかしたらブログの中にそのような記事があるのかもしれませんが、技術の勉強の取り掛かり方など具体的に教えていただけませんか?
読者の方から相談メールをいただきました。
同じような悩みを持っている方向けに回答内容を一部紹介します。
足りなさの方向性
その辺りの自分に足りない技術を学ぶのがITエンジニアの経験としてはいいのだろうと思いますが、なかなか技術の勉強はどこから始めたらいいのか、どこまでやれば技術があると言っていいのかわからず、手を出さずにいます。もしかしたらブログの中にそのような記事があるのかもしれませんが、技術の勉強の取り掛かり方など具体的に教えていただけませんか?
「自分に足りない技術」というものを考える際には、
「何に対して足りないか?」→「何を目標としているか?」→「目標に対して何が足りないか?」
という基準が必要です。
たとえば、現在やっている仕事でJavaを使っていて、実行環境はクラウドなので、
「仕事をする上で必要なので、Javaとクラウドを学ぼう」
と考えるのは、「仕事で必要なもの」というのが基準になっています。
そうではなく、仕事ではWindowsアプリの開発をしていて、そのための技術(C++、VB、C#)は十分理解しているけれど、世の中ではWEBサービス、クラウド、Java、PHPなどのニーズが高いので、
「それらが自分に足りない技術だ」
と考えるのは間違っています。あなたの目的と関係ないからです。
Windowsアプリ開発をしている人にWEBサービス、クラウド、Java、PHPの技術は必要ないでしょう。
そうではなく、「これまでWindowsアプリ開発してきたけれど、今後はクラウド環境で動くWebサービス開発の仕事をしていきたい」ということであれば、良いと思います。
「Web系の仕事に移りたい」という目的があるからです。もちろん、仕事を変えたいというほどではなく、「興味があって知りたい」というのでもOKです。
なんにせよ、自分の中にある目的を軸とした学ぶ動機があることが重要です。
取り掛かり方としては、大きく分けて2通りあります。
1. 本やWebサイトなで、体系的知識を順番に習得していく
2. 作りたいものを作っていく過程で必要な知識をその都度習得していく
どちらにせよ、その技術を習得する目的(その分野の仕事をしたい/趣味の開発で使いたいなど)がないと勉強するだけで使わないことになってしまい意味がないと思います。
それに使う目的のない勉強はモチベーションも湧きにくいでしょうからね。
なので、今一度、自分の目的とそれに必要な技術というものを考えてみると、何をどう学んでいけばいいかが見えてくるんじゃないかと思います。