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/25

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

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

続きを読む

エンジニア独立

2019/5/29

エンジニア歴2年の僕がギークスジョブでフリーランスを目指してみた

ぼちぼちの偏差値の文系大学を卒業後、パッケージ運用系のIT企業に就職。9か月で退職。 その後特定派遣会社の正社員として働いてきた僕がなぜフリーランスを目指す気になったのか。 一番の理由はズバリ、お金が稼ぎたかったから。 正確にはもっと効率よくお金を稼ぎたかったからです。 こんな会社もう嫌だ・・・ 現在僕は正社員として2年以上継続して現場に赴き、プログラミングの業務に従事してきましたが、全く給料が上がらない。 ぶっちゃけると手取りが20万円に届かないレベル。ボーナスもお小遣い程度なので年収も悲惨。 給与明細 ...

続きを読む

エンジニア独立

2019/4/15

僕がITエンジニアとして独立しなかった場合の損失を計算してみた結果

どうも、フリーランスエンジニアのてぃすです。 僕はエンジニア歴が2年くらい経った頃に、月収が20万円を下回るような状態でした。 その後独立し、ほどなくして月収は100万円にまで到達しました。 実に5倍ほど収入が跳ね上がったことになります。 正直もう少し早く独立していればなぁと思っています。 今だからこそ考えられることですが、戦略さえしっかりしていれば、1年くらいは独立を早めることは可能だったと思うので。 こういう後悔というか振り返りをするたびに思うのですが、世の中僕以上に行動を遅らせることによる損失を食ら ...

続きを読む

エンジニア独立

2019/4/1

ITエンジニアがTwitter運用に本腰を入れ始めた話

どうも、フリーランスエンジニアのてぃすです。 私事ですが、最近Twitter運用を本格的に初めてみました。 以前からITエンジニアとしてのアカウントは持っていたのですが、キャリア関連の情報を発信していくために新しくアカウントを開設しました。 そこで今日はITエンジニアとして活動している僕がTwitter運用を本格化するに至った理由と今後の方針についてお話していこうと思います。 Twitterを頑張ってみようと思った理由 Twitterの運用を本格化して行くということは、当然他のことができる時間を削るわけで ...

続きを読む

-プログラミング
-

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