ホームへ戻る

カテゴリー

新着記事

ここ1ヶ月間の人気の記事

C言語を活かしたい人へ

C言語の技術を活かした転職活動

C言語の技術を活かした転職活動

今回は、C言語の技術を活かした転職活動についてお伝えします。

はじめに

C言語は1972年にAT&Tベル研究所のデニス・リッチーをメインに開発された、手続型プログラミング言語です。

他のプログラミング言語と比べて歴史も古く、関連本も多数出版されています。

C言語の用途としては、車載系機器のソフトウェアや最近だとIoT(Internet of Things)の分野に使うことが多いです。

今回の記事では、エンジニアがC言語のスキルを活かした転職活動を行う際に役立つ情報をご紹介します。

具体的には、C言語が

  • どんな分野で
  • どんな技術と併用され
  • 転職先としてはどういったところが候補となるか

といった情報をまとめています。

どんな分野で使われている?

C言語は車載系機器ソフトウェアのデバイスドライバなど組込み製品のソフトウェア開発に使われることが多いです。

これをファームウェア開発とも呼びます。

マイクロコンピュータ(マイコン)上で動作するソフトウェアです。

また、世界的に有名なLinux系OSのカーネルの開発にも使われています。

それ以外ですと、パチンコやスロットのソフトウェア開発ですね。

パチンコ機やスロット機には液晶画面がついて派手な映像が流れるイメージがありますが、その液晶画面を制御するプログラムであったり、画像処理を行うソフトウェアを開発する仕事もあります。

また、HEMS(Home Energy Management System)でもC言語が使われています。

HEMSとは家庭内のエネルギーを管理するシステムのことです。

2016年4月から電力の小売全面自由化が始まったこともあり、これから住宅で効率的にエネルギーを管理する需要が高まるでしょう。

それに伴い、HEMSの需要はさらに拡大していくと予測されます。

これらに関わる開発経験は今後さらに求められるでしょう。

必要とされる知識・技術

ハードウェアの知識・技術

他のプログラミング言語との違いという意味では、ソフトウェアの中でもどちらかと言うとハードウェア寄りだという点ですね。

他のプログラミング言語はハードウェアを意識しなくとも開発はできるのですが、C言語を使った組込みソフトウェア開発の仕事では回路図やハードウェア仕様書を読んだり、場合によっては半田付けを行ったりとハードウェアの知識・技術も要求されることがあります。

また、そうなるとソフトウェア開発者だけでのコミュニケーションではなく、ハードウェア開発者とのコミュニケーションを取って仕様を調整しなければならないケースも出てくるでしょう。

ソフトウェア開発者とハードウェア開発者とでは、前提となる知識も見ている視点も違いますので、コミュニケーション能力も重要となります。

Linuxの知識・技術

LinuxとはOS(Operating System)の一種で、普通のパソコン用のOSとしても有名ですが、組込み用としても使われています。

いわゆる組込みLinuxです。また、組込みソフトウェアの開発環境はWindowsやMacではなく、UbuntuやCentOSといったLinux OSであるケースも多いため、そういった環境でも開発ができる状態でいることが望ましいでしょう。

ネットワークの知識・技術

組込み機器がネットワークに繋がることなく、機器単体でクローズしていた時代はもう過去の話です。

今からはIoT時代が始まると言われるくらい、Things(モノ)がインターネットに繋がるのが当たり前となっていきます。

そうなると当然、ネットワーク通信を行うためのプログラミングが必要となりますので、関連分野の経験であったり、知識・技術が求められるのは確実でしょう。

人工知能の知識・技術

IoTと同じようにこれからさらに普及・進化していくことが予測されるのが人工知能(Artificial Intelligence、AI)です。

IoTによってモノがインターネットに繋がるようになればその機器にAIが実装されることも多くなるはずです。

転職先としての候補は?

転職先として第一に考えられるのは組込みソフトウェアの開発現場でしょう。

IoT化の流れはこれからさらに加速していくでしょうし、これまで組込み機器を開発してこなかった企業も流れに乗って参入してくることが予測されます。

C言語を使った開発経験を持ったプログラマーはさらに重宝されるようになるでしょう。

組込み機器と一言に言っても、その種類は多岐に渡りますので、まずは自分が興味や熱意を持って取り組める機器の開発できそうな企業を選択するのがよいでしょう。

ITの分野はとにかく技術の進化が凄まじく早いです。

実際の仕事としては、

  • 企画
  • 仕様検討作業
  • プログラム設計
  • プログラミング
  • デバッグ(バグ取り)
  • 単体/結合/総合テスト

の全てまたは一部工程があります。

企画段階では企画チームやデザインチームなど、別部署・チームとの話し合い仕様を調整します。

それが決まったらソフトウェア部分の設計→プログラミング→デバッグ→テストという流れで工程が進んでいくのが一般的です。

プロジェクトによっては違った工程で進むこともあるでしょう。

開発途中に、顧客の要望によって仕様が変わることは当然のようにありますから、突然の仕様変更に対しても動じることなく、冷静かつスピーディーに取り組める柔軟さが求められます。

まとめ

今回はC言語が使われる分野や用途、またを使う際に併用される周辺技術についてまとめました。

C言語は組込み機器のソフトウェア開発に使われることが多いため、転職先の候補としても組込み製品を開発している企業が挙がります。

IoT化に伴い、C言語プログラマーの活躍先はさらに広がっていきそうです。

組込み機器自体、他のシステムとは異なり、どんな環境でどのように使うのかが限定しづらいという特徴があります。

そのため、ハードウェアやネットワーク、AIなどいろんな分野に精通しておく必要もあるでしょうし、そういった別分野の人たちとも話ができる高いコミュニケーション能力も求められるでしょう。

今回お伝えした内容を少しでもご自身の転職活動に活かしていただきたいです!