某問答サイトで秀逸な回答が出たので転載する。
アプリケーションプログラマーは何かしらのOS、SDK、フレームワーク等のシステムソフトウェアの上でプログラミングをしますが、プラットフォームソフトウェアエンジニアは、これらプラットフォーム側を開発します。
具体的には、
OSの移植、
デバイスドライバーの開発、
API、SDK、ライブラリー、フレームワーク等を開発します。
特にOSの移植やデバイスドライバーの開発では、ソフトウェアの知識に加えて、ハードウェアの知識とOSの知識が必要になります。
回路図を読み、それを動作させるデバイスドライバーやOSの下層部分をプログラミングして、適切にOSに組み込み、その環境をアプリケーションプログラマーに提供します。
なるほど。
じゃあ、
アスキー出版局の
WDMデバイスドライバプログラミング完全ガイド
とか
秀和システムの
作りながら学ぶ
OSカーネル
保護モードプログラミングの基本と実践
みたいな本を読んだり、Githubで関連するソースコードを漁ったりすればよいのだな?