TIS ENGINEER NOTE

ITエンジニアのためのキャリア向上ノウハウブログ

プログラミング

扱うプログラミング言語を変更するときのポイント【学習編】

更新日:

プログラマーとして仕事をしていたり、趣味でプログラミングをやっていると、必ず一度は芽生えてくる他のプログラミング言語への興味

流行の言語であるという情報や、言語別平均収入についてのニュースを見たときに、気が移ってしまうことは当たり前のことです。

いいエンジニアの条件として、「常に新しい技術を追いかける」というものがあります。そういった意味でも多言語への興味関心は貴方のスキルアップや市場価値向上に大きく繋がります。

とはいえ慣れ親しんだ言語から未知の言語に移るという行為には、腰が重くなってしまう方も多いと思います。

今日はそんな方に向け、2年の経験でJavaエンジニアからRubyエンジニアに転身を果たした僕が、扱うプログラミング言語を変えるときのポイントについて解説して行きます。

まずは学習する際のポイントについて説明していきます。職業として転身を考えた際の面接等のポイントについてはまた改めて投稿していきます。

学習編

最初に、プログラミング言語が変わっても、基本的な仕組みは変わらないということを理解しましょう。

扱う言語を変えるということは、プログラミングに対する心得は少なからずある、ということになります。

この基本的なことは分かっている状態というのを上手く活かして学習を進めていきます。

ここで紹介するフローに則れば、副次的効果として現在扱っている言語への理解も深めることにもなります。

学ぶための下準備

最終的に習得にまでかかる学習時間を短縮するために、まずちょっとした下準備が必要です。いくら時間がかかっても問題ないと考えている人以外は絶対実施してください。

期間とゴールを定める

習得までにかける時間と、習得したと納得できるゴールを決めてください。

あらゆる学習や仕事に共通する話ですが、これがないとダラダラと時間だけを浪費して、結局諦めてしまう事態がかなり高い確率で発生します。

期間とゴールを設定することで学習にメリハリが生まれ、そうすることによって、学習効率も格段にアップします。

ゴールについてですが、その言語を使った本格的なプログラムを作成する、新しい仕事を見つける、など何でも構いません。

実現可能で自分の納得できるものであればOKです。大事なのは本気で目指そうと思えるものであること。

学ぶ対象のプログラミング言語を知る

次に新しく身に付けようとしているプログラミング言語についての下調べを行います。ネットで調べてもいいですし、参考書を斜め読みしてもOKです。

具体的には以下の通り

  • そのプログラミング言語で何が実現できるか
  • そのプログラミング言語を他の言語と比較したときの特徴
  • どんなフレームワークやライブラリが使用されているか

その他にも項目を追加するのはもちろんOKです。学ぶ対象にしっかりと照準を定めるためのプロセスとなります。

この段階で繰り返し/条件分岐/変数宣言などのプログラミング言語の基礎といえる構文についてはザックリ把握しておきましょう。

これまで使ってきたプログラミング言語と紐付け、比較しながら見ていけば更に効率アップです。

基礎学習

下準備が完了したら次は実際に学んでいきます。

何はともあれ環境構築

まずは参考書や学習サイトを全部読んで暗記する、というのは今回のケースにおいては大きな間違いです。

参考書を読むにしても、実際にソースを書いて動かしたりしながら読んだ方が知識の定着率は遥かに高いです。

どんな学習アプローチをとるにしても、まずは絶対必須になる開発環境を構築しましょう。今の時代ネットで調べれば、ほとんどの言語の開発環境構築手順が出てきますので、プログラミングの心得があれば、特に苦戦することなく完了できるはずです。

どうしても分からないことや、原因不明なエラーが出たときは、エンジニアのためのQ&Aサイトであるteratailなどで質問してみれば心優しい先人たちが助けてくれることでしょう。

そしてこの手順やつまずいた部分などはメモに残しておくと、後々活用できる備忘録を作ることができるのでオススメです。

更に開発環境を構築しておけば、万一途中で挫折したときも再開するときの抵抗が非常に低くなります。退屈な作業こそモチベーションの高いうちに手をつけておくべきです。

好き勝手いじってみる

次にやるべきことは作った開発環境で遊んでみることです。

最初にプログラミング言語の概要を把握する段階で見かけた構文を作って、電卓や○×ゲームのような簡単なプログラムを作ってみましょう。

もちろん忘れていたらネットなどで調べてもOKです。

大事なのは学習効率を上げるために好奇心・探究心を掻き立てることです。無理に楽しめというわけではありませんが、これまで触れてきた言語とは異なる文法で機能を実現するというのは刺激のある体験のはずです。

そこまで大掛かりな成果物をここで作り上げる必要はありませんが、抵抗なく基本的な処理を記述できるようになるまで続けましょう。

応用学習

貴方が最初に定めた言語習得のゴールにもよりますが、一番大事なものがここで説明する応用学習です。

実際に役に立ちそうな成果物を作る

これまで身に付けた基礎的な知識を持って、実際に役に立ちそうなモノを作ります。

例えばライブラリを作ってみたり、Webに良く使われる言語であれば、Webサービスを作ってみたりなどです。

「まだ初歩的な知識しか身につけてないよ」という声が聞こえてきそうではありますが、だからこそいいのです。初歩的な知識しかない状態で何かを作ろうとすると、そこには必ず試行錯誤が生まれます。

分からないエラーや上手く動かない部分が出てきたときに、自分で調べ、解決するというのを繰り返すことによって、あなたの頭の中にはその経緯と紐付けられた状態で言語の知識が刷り込まれることになります。

そこで得ることのできる学習効率は、ただ参考書を読んで、ソースを書き写した場合に比べ、圧倒的に優れたものです。

今の時代プログラミングのベストプラクティスやエラー解決策なんてものはネット上にいくらでも転がっています。プログラミングをこれまで使ってきた人であれば、ログの追い方や調べ方は一通り身に付いているはずです。自信を持って成果物の作成を進めましょう。

参考書や技術情報サイトを眺める

成果物を作り終えて、やっと参考書・学習サイトを最も有効に活用する段階になります。

ここまでくると言語に対する理解や特徴がかなり深まってきているはずです。その状態で体系的な情報を見ることによって、大事な箇所・見るべき箇所がはっきりと分かります。

「自分で成果物を作ったときはこの方法でやったけど、そんなやり方があったんだ!」

という発見がいくつも出てくるはずです。そういった刺激がよりその言語に対する理解を進めてくれます。

あとはQiitaや前にも紹介したteratailなどで、学習している言語についての記事や投稿を眺めてみると、最新情報や斬新な手法などの発見によって、好奇心を伴った知識向上を望むことができます。

まとめ:経験者は自信を持って学習を進めよう

ひとつの技術・ひとつの分野しか扱えないエンジニアは近い将来、仕事を見つけるのに苦労する事態に見舞われる可能性が非常に高いです。

今の技術を極めたい、という人でも他の言語を学ぶことによって、より深い理解を得ることができます。

せっかくプログラミング言語に関する基本的な知識を持っているのですから、それを持って他の武器を調達しないというのは非常にもったいないです。

初心者であれば高い学費を払って、スクールやサービスを利用しなければならないところを、無料でかつ短時間で実現することが可能なのですから。

是非自分の長所となったプログラミングの知識を有効活用してもらえればと思います。

閲覧いただき、ありがとうございました。

よく読まれている記事

エンジニア独立

2019/5/29

エンジニア歴2年の僕がポテパンフリーランスの個人面談を受けてきた

特定派遣会社の正社員からフリーランスエンジニアを目指す活動の一環として、フリーランス初心者に特化したエージェントであるポテパンフリーランスの個人面談に行ってきましたので、その感想と特徴について書いていきます。 前提として僕はエンジニア暦2年半、化石のような超マイナーフレームワークでの開発経験しかないというちょっと残念なエンジニアです。 そんな僕でもフリーランスエンジニアとして活動できるという実感を今回の個人面談で得ることができました。 フリーランスという働き方に興味を持ってはいるが、具体的にどうすれば実現 ...

続きを読む

エンジニア独立

2019/4/28

ITエンジニアが給与上げるために出来ることは限られている

どうも、フリーランスエンジニアのてぃすです。 今ITエンジニアってかなり稼げる職種として知られてきていますが、中にはその影響を感じられていない人もいるんじゃないかと思います。 ぼくは2年の間に正社員、派遣、フリーランスと渡り歩いて、月収は20万→40万→80万->100万と変動してきました。 その中でITエンジニアとして収入を上げるために出来ることがなんなのかが少しずつ見えてきました。 今回はその経験から感じたITエンジニアが収入を上げるために出来ることについて分析・解説していきます。 会社の中で給 ...

続きを読む

エンジニア独立

2019/5/29

エンジニアが会社員のままでいるのはヤバいなと感じた理由

現在会社員エンジニアからフリーランスエンジニアへの転身を目論んで活動中のてぃすです。 今回は僕が感じた会社に雇われた状態でエンジニアを続けることのデメリットについて語っていきます。 エンジニアは多くの現場で幅広い技術を習得するべきである 会社員としてエンジニアを続けることの最大のマイナスポイント。 それはキャリアのコントロールしにくいという点です。 エンジニアが携わるITの世界というのは、技術の流行り廃りが他の業界に比べて断トツで早いんですよね。 そうなるとその技術で生計を立てていくエンジニアという存在は ...

続きを読む

エンジニア独立

2019/5/12

エンジニアにとってSESが最良の選択肢ではない3つの理由

どうも、フリーランスエンジニアのてぃすです。 ITエンジニアが正社員として働く上での選択肢として、SES企業というものがあります。 非常に数が多く、特に未経験エンジニアに対して広く門を開けているのでSESを選ぶ人はかなり多い。 しかしこのブログでは度々言っていることですが、ITエンジニアにとっては不幸になる可能性が高い働き方なんですよね。 そこで今日はエンジニアにとってSES企業という選択肢がなぜオススメできないかについて解説していこうと思います。 SESとは? まずSES企業とはどのようなものなのかにつ ...

続きを読む

エンジニア独立

2019/4/15

ITエンジニアの働き方比較(正社員/派遣/フリーランス)

最近ではITエンジニアの需要が激増し、特にプログラマーを目指す人が増えてきました。 今の時代、プログラマーをはじめとするITエンジニアを仕事として選ぶことは賢明かつ的確な判断と言えるでしょう。 その一方で、世間ではプログラマーの不遇が叫ばれていたり、IT土方などの蔑称で呼ばれていたりします。 それは働き方の選択を誤っているプログラマーがあまりに多いことが原因となっています。 稼げる市場であるということは、依頼主と技術提供者の間に入って、不当に利益を得ようとする存在が増えることに繋がります。そういった存在に ...

続きを読む

-プログラミング
-

Copyright© TIS ENGINEER NOTE , 2021 All Rights Reserved Powered by AFFINGER5.