デジタル化の時代においてのプログラマーたちは、ビジネス及び生活のほぼすべての分野において、ますます重要となってきている。近年のヘルスケア、化学、または教育の開発者のいずれについて語るにせよ、彼らはいずれの領域においても必要とされている。
プログラマーになるということは、必ずしも学位を必要とせず、かなりの職業の柔軟性や自由を与えてくれる。プログラミングの基礎を知れば、様々な領域で専門家となることが可能だ。そしてプログラミングで一番のことといえば?プログラミングの旅の開始には、コンピュータ、インターネットアクセス、そして心のみしか必要としないということだ。
どのプログラミング言語でコードするのがよいか?
ITの様々な領域で使用可能な、プログラミング言語や技術は何百も存在する。例を挙げると、
- ウェブ開発: HTML、CSS、 JavaScript、 Ruby、 PHP
- デスクトップアプリ開発: C++、C#、 …
- データ分析: Python または R
- モバイルアプリ開発: iOS にはSwift、AndroidにはJava…
- ロボティクスエンジニア: C、C++、…
- …
お分かりのように、プログラミングのスキルを何に使いたいかによって、多くの異なる技術を学ぶ必要がある。プログラミングを学びたいと考えるとき、大方、将来どのIT分野で働きたいかの考えを持っている場合が多いため、自分自身に問いかけてみよう。
なぜプログラミングを学びたいのか?
どのIT分野が一番面白そうか?
そして、自分のキャリアにどのプログラミング言語が適するかの簡単なリサーチをしよう。
どんなプログラマーになりたいかという大まかな考えを持つことは、プログラマーとして成功する近道になりえるが、必ずしも必要というわけではない。プログラマーとして踏み出すうえで、最初に選ぶのに適したプログラミング言語がいくつかある。Python,、C#、Java、そしてJavaScriptは職業の柔軟性を与えてくれるとともに、かなり役立つであろうプログラミング言語だ。
基礎を学ぶ
好みの言語を選択したら、ほとんどのプログラミング言語で使用する基礎を学び始めるとよい。以下に挙げるのが、プログラミングの基礎を学ぶ助けになる、コーディングコースや情報を提供してくれる、素晴らしい無料サイトのいくつかだ。
· Codeacademy
· Coursera
· freecodecamp
· Sololearn (さらに練習できる、優秀な携帯用アプリもある)
· W3CSchools
ほとんどのプログラミング言語の基礎:
· 変数とデータ型
· 条件
· ループ
· クラスとオブジェクト
· コンストラクタ
· メソッド/ファンクション
· デバッグ
練習、練習、練習あるのみ
定期的にコーディングコースをすることで、基礎に慣れよう。基礎を理解すれば、自分独自のプログラムやアプリを組むことができ、どんなプロジェクトがしたいかの考えが浮かぶことだろう。
また、すべてのプログラミング言語、それぞれのライブラリ、フレームワーク、そして拡張子を一度に学ぼうとしないことが大切である。代わりに、自分の選んだ一つの言語に100%集中するべきだ。一つの言語を学んだ後なら、別の言語を学ぶことはずっと簡単になるだろう。これはなぜかというと、プログラミングの最も難しいことが、言語を学ぶことではなく、自分自身で問題を解決することを学ぶことだからである。複雑な問題をコードの塊へと分解する方法を理解すれば、どんな言語でも簡単に学ぶことができる。
プログラマーの道具箱
すべてのプログラミング言語、エラー、技術に通じているプログラマーは存在しない。プロジェクトによって使われるテクノロジーは異なることが多いため、新規顧客ごとに全く新しい言語、テクノロジーを学ぶことになる。そんな状況から、自分自身で必要な知識を得る方法を知っておく必要がある。以下に挙げるのが、ほぼ全てのプログラマーが問題解決や新しい事柄を素早く学ぶのに使っているツールのリストだ。
· stackoveflow.com → このサイトは人々がそれぞれの問題を投稿し、コミュニティがその問題を解決する手助けをする、プログラミングの問題やエラーに関する公開討論の場である。エラーメッセージをネットで調べれば、大体の確率でstackoverflow にたどり着くだろう。
· github.com → 開発者のチームで働き始めると、GitHubかまたは、類似のウェブを使い、プロジェクトのソースコードをもとに、ほかの開発者とともに働いたり、協働することになるだろう。GitHub ではまた、特定の技術やその可能な解決策について、報告された問題を見ることができる。
· ドキュメンテーション→ すべてのプログラミング言語やテクノロジーには、ドキュメンテーションがある。これは、基本的にテクノロジーをどのようにして使うか、そのテクノロジーが何をするかについての手引書である。
· YouTubeチュートリアル → 初心者にとって、ドキュメンテーションから直接学ぶよりも、ずっと良く簡単な方法である。
初心者プログラマーとして、おそらくStackOverflowやGitHubから多くのコードを真似することになるだろうが、それでよい。しかし、コードを理解しようと努力してほしい。そうでなければ、何も学ぶことはできない。また、StackOverflowはルールに厳しいため、新米にはかなりつらいだろうから、StackOverflowガイドに目を通すことをおすすめする。
結論
この記事から何かを取り上げるなら、コーディングを学ぶ上で最も大事なスキルは実際、ソフトスキル、すなわち自分自身を指導する能力だろう。テクノロジーの変化は迅速なため、優れたプログラマーは最新のテクノロジーに継続的に気を配り、いつでも新しい言語を学び、新しいテクノロジーを見つけ出すのに熱心であるものだ。