プログラミングをしたことがない初心者が、C言語を学び始めてから仕事で通用するレベルになるまでのロードマップをご紹介します。
- これからC言語を勉強して、プログラマーに就職・転職したい
- プログラミングは専門性が高いから今からでは無理だと思っている
_吹き出し.png)
C言語を勉強するロードマップを紹介するよ!
初心者からプログラマーは難しい?
まず、初心者の方からするとプログラミングは難しいというイメージの人がほとんどだと思います。
「文系の学生だけど、C言語を学んでプログラマーになってみたい・・・。」
「既に営業職に就職をしているけど、今からC言語を学んでプログラマーに転職したい・・・。」
「だけどプログラミングって専門性が高くて難しいイメージ。今からでも大丈夫かな・・・。」
大丈夫、今からでも遅くはありません!プログラマーに遅いということはないのですから!

今からでも大丈夫!
プログラマーはモノづくりの中でも自分の想像したことを自由に実現し、世の中に価値を生み出すことができるとても楽しい世界です。
皆さんもぜひ、この記事を読んでプログラミングの世界へ踏み込んでもらえたら幸いです。
仕事で通用するプログラマーとは
ここでいう”仕事で通用するレベル”とは、既に開発・リリースされたプログラムに対して変更を加えることができることを想定しています。
確かに、0から新しいソフトウェアを開発するのは難しく、ある程度C言語を勉強したというだけでは通用しないでしょう。
ですが実際のところ、このような業務を任される人はプログラミングについて何でも知っている超優秀な人だけです。
一般的な方は、まず既にリリースされているソフトウェアの機能アップや仕様の微修正など、ちょっとした変更から任されてスキルアップしていき、徐々に大きな仕事を任されるようになっていくのです。
ちょっとした変更をすることができるだけでも立派なプログラマーとして、胸を張ることができる仕事です。

おれ?今はプログラマーの仕事をしてるよ。(ちょい変だけどね)
_吹き出し.png)
かっこいいー!
会社にはどれくらいのレベルの人がいる?
私の会社にいる人を参考に、会社でプログラミングをしている人のレベルをご紹介します。
C言語初心者の新入社員がいきなり実装チームへ配属
私の会社ではこれまで全くプログラミングを触ったことのない新入社員が、いきなりC言語でプログラミングをするチームに配属をされることがあります。
テスト作業や、リリース作業を経験してソフトウェアとはどういうものかを学ぶことから始まり、次にプログラムのちょい変をすることでプログラミングの基礎を学んでいきます。
下請けとして雇われている50代の方がソフトウェアのテストチームへ配属
下請けとして雇われてきた50代の方が、ソフトウェアのテストを実施するチームへ配属されています。
実際にコーディングをする訳ではありませんが、テストをすることでソフトウェアの特性を学び日々成長されています。
テストをすることで、ソフトウェアとはどういうものか、どういうところにバグが生じやすいかを知ることができるとても重要な仕事です。
超優秀な人
中には、どのように人生を歩めばそこまでのプログラミング超人になれるのか、という人が存在します。
やはり、そういう人のところには大きな仕事が舞い込むのが会社というものです。上司からすれば、大きな仕事は頼れる人に任せたいと思うのも当然です。
超優秀な人を見て、自信を無くす必要はありません。
目の前のプログラムに真面目に向き合いながら業務をこなすことで、あなたも着実にステップアップできるのがプログラミングです。
_吹き出し.png)
一体なにもの…
仕事で通用するまでのロードマップ
では、具体的に仕事で通用するまでのロードマップをご紹介します。
レベル1:C言語に関する初心者向けの本を1冊読破する
既にリリースされているソフトウェアの微修正をする際に使用するテクニックは、初心者向けの本に記載されているものばかりです。
何冊にも手を出すのではなく、一つの本をじっくりと読み込むことをお勧めします。
プログラミングは実際に手を動かしてコーディングをすることで、読むだけでは何とも思わなかったところに次々と疑問が湧いてきます。
練習問題などはサボらず実践して、疑問に思ったことはネットなどで調べる癖をつけましょう。
_吹き出し.png)
しっかり手を動かそう!
私は初めてC言語を勉強するときに、周りの人がみんな使っているという理由で以下の本を使用していました。
C言語について優しく解説されており、例題も豊富なのでとても勉強になりました。
レベル2:デバッグ機能を駆使する
初心者がプログラミングをしていてまずつまずくのはエラーでしょう。
正しくコーディングしたつもりでも、エラーがでて何を直せばいいのかわからない状況が必ず来ます。
仕事をしていても、エラーの原因がわからず時間だけが過ぎていくことはざらにあります。
このエラーの原因を突き止める行為をデバッグと呼びます。
ブレークポイントやprintfといった技を駆使することで論理的に原因を突き止められる力が必要になってきます。
基本的にどんな人も似たような方法で原因を突き止めていきます。ネットで調べるなどしてメジャーな方法を勉強しましょう。

_吹き出し.png)
あっ、セミコロンをつけ忘れた…
レベル3:メモリを意識する
C言語に関する本を買うと、最初に統合開発環境(プログラミングを開発するソフト)をパソコンにインストールすることになります。
本によって違いはあるかもしれませんが、ほとんどの場合Visual StudioというMicrosoft社が提供するソフトをインストールすることになります。
このソフトでは、メモリと呼ばれる2進数や16進数で表された数値が羅列したウィンドウを見ることができます。
C言語の勉強をしている間はこのメモリウィンドウを常に表示して、意味を理解する意識を持ちましょう。
_吹き出し.png)
2進数、16進数に慣れよう
Visual Studio 2019では以下の手順でメモリウィンドウを開くことができます。


次に、デバッグを開始した状態で以下の手順を実施します。


_吹き出し.png)
なんじゃこりゃぁ…
レベル4:プログラムを読み込む
レベル1~3をある程度学べたら、世の中に出回っているプログラムを読み込んでみましょう。
これまでインプットした知識が、実践でどのように使われているかを知ることができます。この時、見たことのない構文がでてきたら調べてみるといいです。
仕事でもわからないことがあれば調べる、ということを繰り返すことで知識を蓄えることになります。
何を読んだらいいかわからないという人は、サーティファイ情報処理能力認定委員会というところが公開しているC言語1級資格のプログラムがおすすめです。
自分の現在の力量を知ることができ、もし資格を取ることができたら仕事でも通用すること間違いなしです。
まだ難しいという人は、2級や3級の問題を解きながら苦手なところを復習していくといいでしょう。
_吹き出し.png)
意外と本に書いてあるテクニックの寄せ集めで書かれているよ
レベル5:(応用)規模の大きいソフトに向けて
ここからは、規模の大きなソフトを開発していく人向けの内容になります。
下記の内容について余裕があれば勉強してみましょう。
- スレッド、タスク、プロセス
C言語についてある程度本で勉強した人は、main関数というものをつかって1本道の処理を実際にコーディングしたと思います。
ですがスマートフォンなどを使っていると、音楽を聴きながらブラウザで調べものをするなど、複数のことが同時にできるはずです。
これは、スマートフォンが音楽を再生するプログラムとブラウザのプログラムを高速で切り替えながら処理をしているから可能になります。
- タイマー、割り込み、GPIOなど
これはプログラミングで機械を動かしたい人向けですが、CPUのタイマーや割り込み、GPIOなどについて勉強してみましょう。
機械を動かすようなプログラミングをする場合、プログラミングだけでなく電子回路などの知識が必要になってきます。
オススメの勉強法は、arduinoという機械で遊んでみることです。
_吹き出し.png)
arduino楽しいよぉ~
arduinoとは、組み込みソフトを勉強するために作られた機械で、必要最低限な機能だけをもっているので効率よく勉強することができます。
まとめ
C言語が仕事で通用するまでのロードマップをご紹介しました。
初めての方からすると自身を無くす内容のように思えるかもしれませんが、実際にプログラマとして仕事をしている人でも、きちんと理解していない人はいっぱいいます。
焦らず着実に知識を蓄えることでプログラミングを楽しみましょう!
コメント