メーカーエンジニア18年間の備忘録 ー 入門(更新編)
はじめに
過去に書いた自己紹介ページの更新版として、現在の経験幅をあらためて整理してみます。
メーカー系の開発現場で、長くソフトウェア設計に関わってきました。
比重としてはソフト寄りですが、実際の業務ではソフトだけで完結せず、機器制御、評価、試作、改善まで含めて見てきた時間が長かったです。
このページは、経歴書そのものではなく、いま自分がどんな技術領域を扱ってきたかをざっくりまとめたものです。
なお、個人情報や職場の呼称、企業名、製品名などの固有名詞は入れず、技術領域と経験の軸だけに絞って書いています。
重視したいのは、特別な武勇伝ではありません。
初心者から現場に出たあと、少しずつ積み上がっていく実務の考え方や、ものづくりの現場でしか身につきにくい感覚を、今後この備忘録で残していきたいと考えています。
一通りの技術内容
【経験デバイス】
- コンソール系: Windows PC、Linux PC
- 組み込み系: ARM系ボード、8bit/16bit/32bitマイコン、FPGAを含むSoC系の評価ボード、センサー・表示器・通信モジュールを含む機器制御対象
【経験アプリケーション】
- Windowsアプリケーション: デスクトップアプリ、設定ツール、確認ツール、保守支援ツール
- WEBアプリケーション: 管理画面、機器連携を伴うWEBシステム、フロントエンドとバックエンドをまたぐ実装
- 組み込みアプリケーション: 機器制御ソフト、ドライバ寄りの制御処理、起動・通信・状態管理まわりの実装、表示器やタッチ操作を含むGUI制御
【経験してきた役割】
- 設計: 要件整理、基本設計、詳細設計、システム構成検討
- 実装: コーディング、既存コード改修、機能追加
- 評価、改善: 不具合解析、原因切り分け、品質改善、起動時間や操作性の改善
- 周辺対応: 進捗管理、他チームとの調整、外部協力先とのやり取り、保守や現場サポート寄りの対応
【 経験OS・環境 】
Windows系
- 基本ツール: 文書作成、表計算、プレゼン資料作成、図面・構成図・簡単な画像編集
- ソフト開発環境: Windows向け統合開発環境、Visual Studio Code、各種マイコン向け開発環境
- ハード寄りの周辺環境: FPGA関連ツール、回路確認や評価用の測定環境
Linux系
- Debian系、Ubuntu系の利用経験
- 組み込みLinux環境の構築、調整
- クロスコンパイル環境での開発
- WEBサーバーや周辺ミドルウェアの利用
- シェルを使った開発補助や調査
開発現場で使ってきた考え方
- ソフトだけでなく、動く対象全体で見る
- 不具合時は、入力、通信、処理、表示の順に切り分ける
- 実装前に、どこが変更に弱そうかを先に考える
- 現場で使う人が迷わないかを意識する
【 経験言語、ライブラリ 】
- 組み込み系: C、C++、RTOS系の制御実装
- Windows系: C++、C#、デスクトップアプリ関連の技術
- WEB系: HTML、PHP、JavaScript、TypeScript、Python
- 周辺: シェルスクリプト、SQL、通信・ネットワーク関連の基本技術
【 個人で取り組んだこと 】
業務経験とは別に、個人でIoT機器の企画、試作、発信までを通して挑戦したことがあります。
この経験では、普段の受託的な開発や既存案件の改修だけでは得にくい視点を学べました。
- 何を作るかを決める企画の視点
- 原価や部材を見積もる視点
- 図面や外装まで含めて形にする視点
- 試作して改善する視点
- 人に伝えるために整理する視点
開発そのものに加えて、作る前から作った後までを通して考える経験になりました。
【 この備忘録で残していきたいこと 】
今後は、次のようなテーマを中心に残していきたいと考えています。
- 組み込み開発の入り口で混乱しやすいこと
- WEBアプリケーションを現場目線でどう理解するか
- 不具合調査や切り分けの考え方
- 設計時に見落としやすいポイント
- ものづくりの現場で積み上がる小さな工夫
出来るだけ説明を端折らず、誰にでも分かる形を目指します。
技術書だけでは見えにくい、現場の視点で情報を残せればと思っています。