TIS ENGINEER NOTE

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

プログラミング

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

更新日:

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

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

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

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

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

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

学習編

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

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

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

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

学ぶための下準備

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

期間とゴールを定める

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

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

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

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

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

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

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

具体的には以下の通り

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

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

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

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

基礎学習

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

何はともあれ環境構築

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

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

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

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

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

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

好き勝手いじってみる

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

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

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

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

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

応用学習

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

よく読まれている記事

エンジニア独立

2019/4/26

プログラマー・エンジニアが情報発信をするべき2つの理由

こんにちは。フリーエンジニアのてぃすです。 プログラマー・ITエンジニアとして働いている人が、SNSやブログで積極的に技術的なTipsや働き方に関する考え方を発信しているのをよく見ると思います。 情報発信をしたことのない人からすると、なんでそんな一銭の得にもならない行為をやっているのか、という疑問も湧いてくるでしょう。 知っている人は知っていることですが、エンジニアにとって情報発信ってすごいメリットがある行為なんです。 そこで今日はプログラマー・ITエンジニアが今すぐにでも情報発信を始めるべき2つの理由を ...

続きを読む

エンジニア独立

2019/4/15

正社員エンジニアがフリーランスになるのは全く難しくないという事実

どうも、フリーランスエンジニアのてぃすです。 最近ではフリーランスエンジニアというのも珍しいものではなくなってきましたが、まだ誤解されている部分があります。 「フリーランスエンジニアになるのって大変なんでしょ?」 という誤解です。 エンジニアがフリーランスになるのに、 卓越した技術やセンス 業界内の幅広いコネ 仕事を取るための営業力 などは一切必要ありません。 今回はそのあたりの誤解を解消していきたいと思います。 フリーランス = ハイスキル ではない 世の中多くのエンジニアが誤解していることなんですが、 ...

続きを読む

エンジニア独立

2019/5/30

SIer・SESからWEB系エンジニアにキャリアチェンジする現実的な方法

エクセルで作らされる誰が読むかも分からないドキュメント 月に1回の帰社日 枯れた技術を言われた通りに扱うだけの毎日 スーツ勤務で下級労働者扱い SIer・SES系エンジニアとしての業務経験があり、かつ外の世界を知ったエンジニアから見たSIer・SES系のイメージってこんな感じですよね。 ここで言う外の世界の代表格と言えばWEB系ベンチャーやフリーランス。 カテゴライズの厳密さについては色々と意見はありますが、いわゆる自社サービスで利益を立てている企業と言えば分かりやすいでしょう。 最近ではエンジニアの待遇 ...

続きを読む

エンジニア独立

2019/4/25

【正社員並みの保証】安心フリーランスエージェント・Midworksを徹底分析

こんにちは、フリーエンジニアのてぃすです。 今やフリーランスエンジニアという働き方もだいぶカジュアルになってきています。僕自身 文系大学卒 大したキャリアもコネもない という一般的には心もとない状態から独立しましたが、正社員時代と比べて収入も5倍ほどになり、リモート中心で非常にストレスのない毎日を過ごせています。 先日エンジニアの集まりに参加して、そこにもフリーランスエンジニアが何人かいたのですが、その人たちの多くからMidworksというエージェントを使っているという話を聞きました。 気になって調べてみ ...

続きを読む

エンジニア独立

2019/5/29

エンジニアの強い味方、フリーランスエージェントとは?

このブログで度々登場する単語であるフリーランスエージェント。 これまで正社員として企業に所属してきたエンジニアにとっては馴染みのない単語だと思います。 なんとなく案件を紹介してくれるサービスだろう。 食べログの飲食店が案件に変わったようなものだろう。 派遣の意識高い系なのだろう。 くらいの印象の方もいらっしゃるかも知れません。 そこで今回はエンジニアにとって、フリーランスエージェントとは何者なのか、利用することによってどんなメリットがあるのかについて説明していこうと思います。 理屈はいいからどのエージェン ...

続きを読む

-プログラミング
-

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