プロフィール
私はソフトウェアエンジニアです。主に製造業ドメインでアプリケーション開発をしています。仕事の傍ら、WebサイトやWebアプリケーションの開発を勉強中です。
経歴
2021/08-現在
車載カメラ向け画像認識アルゴリズムの実装および評価と、付随するWindowsアプリケーションの設計・開発を行っています。コラボレーションツールを使ってフルリモートで業務を行っています。
- 開発環境
- C/C++, STL, C#
- Visual Studio
- Git, Jira/Confluence
2017/01-2021/06
ICT建設機械の制御基盤上で動作する組み込みアプリケーションの開発プロジェクトに参画しました。数名規模のチームでプロトタイプを中心とするスパイラル開発を行いました。1人1機能を担当する体制の上で、要件定義/基本設計/詳細設計/実装/テストの上流から下流まで担当しました。
- 開発環境
- C++, STL, Boost, Python
- VirtualBox, Eclipse, Makefile, gdb, valgrind
- Git, GitBucket
2010/07-2016/12
物理探査装置の制御ソフトウェア開発および保守と、付随するWindowsアプリケーションの開発を行いました。お客様が同じの3つのプロジェクトに、それぞれ開発メンバーとして参画しました。基本設計/詳細設計/実装/テストを担当しました。また、お客様立会いのもと工場テストや現場テストのオペレーションも行いました。
- 開発環境
- C/C++, C#(Windows Forms, WPF), Java(AWT, Swing)
- Visual Studio, NetBeans
- Subversion, Redmine, Team Foundation Server
スキル
- 会議や対話を通じて行う課題整理や合意形成
- 文書や図を使って課題や提案内容の説明をするテキストコミュニケーション
- オブジェクト指向分析設計、UMLによる設計図作成
- 設計レビュー、コードレビュー
- リファクタリング
- C/C++を使ってゼロからアプリケーションを実装
- 標準ライブラリやSTLの効果的な利用
- gdbを使ったデバッグ
- valgrindを使った動的解析
- googletestを使った単体テスト
- コミュニケーションツールを使ったリモートワーク経験
- Linux上での開発経験
仕事で大切にしていること
動くモノを作って終わりにするのではなく、お客様の要望をできる限り反映したモノづくりをするように心がけています。そのためにはコミュニケーションと品質へのこだわりが大切であると考えています。
コミュニケーション
- お客様の要望を、質問や図解を駆使して正しく理解できるように努めること。
- ご提案内容がお客様へ正しく伝わるように、丁寧にご説明すること。
- お客様から頂いたご連絡やご確認に対しては、当日中に返信すること。
品質
- 設計案が複数ある場合、それぞれのメリット・デメリットを検討すること。
- 必要十分な設計を行うこと。過度な抽象化・部品化をしないこと。
- 定期的に静的解析・動的解析を実施し、品質維持に務めること。
- リーダブルなコーディングに務めること。