2020-01-17 :-|
_ 労
ストレージ労。ubuntu 18 とは
_ プログラミングを学ぶにあたって詰まったこと、そこから学んだこと。あるいはたんなる経歴について
プログラミングを学ぶにあたって詰まったことと、そこから学んだこと - mizchi's blog
みんなも何に詰まったか、書いてみてください
とのこと。
冒頭が武内覚さんだったりするので、つよつよ感がありますが、ぺーぺーの私の自分語りで。自分の日記だから好きに書くけど。
経歴を書いたほうが時系列として分かりやすいかと書いてみたら経歴書になった。
大学
プログラミングを始めたのはこのとき。初めて触った言語は C でした。はじめての C
大学の講義では C と FORTRAN77 やってました。FORTRAN はもはやまったく覚えてないです。
大学での C 言語はよくあるようにデータ構造とアルゴリズムです。ホワイトボード面接などの文脈で「たいていのプログラマはソートを書くこともできない」などと言われますが、はい。ソート書けません。
1 社目: 防衛装備品のテスト装置開発
入社して最初に触った言語は VB6 でした。VB6 です。なんちゃって class があるけど継承もできず、なんちゃってです。
とはいえ初めての Windows 上の GUI アプリケーションを書きました。 VB6 は GUI アプリケーションの入門としてはかなり良いかと。いまの VC# も IDE は同じようなインターフェースでして、 Form にポチポチ部品を置いていきながら作りますし。
ただ、VB6 でマルチスレッド且つRS232C 通信処理やってたときだったか、どうも RS232C 受信したよという Windows のメッセージ(WM_ナントカカントカ というアレ)の優先度が高く、スレッド間通信の優先度が低く設定されて、スレッド間通信できず不具合を発生させたことがあります。Windows OS 内で飛び交ってるすべてのメッセージを拾える Spy++ (これは VS2019 用ですが、当時は VC 6 だかなんだったかに付属していたツールだった気がする) でひたすら眺めていたときに「あれ?スレッド間通信できてなくないか?」などと気づいた気がします。
2 社目: どこぞのメーカーへ派遣
どこぞに派遣で行ってました。派遣契約のタイミングは 3 回あって
- カメラ開発者向けのツール開発とか開発環境整備
- 産業用ロボットアームのテスト(評価要員)
- カメラ開発
1 番目はとくに苦もなく。
2 番目は制御工学、画像認識とか( つまり ロボットビジョン - Wikipedia )など業務の知識はまさに工学系だったので泣きながらやってました。プログラミングは Python と bash でした。最後の 2 年はテスト要員でした。テスト設計者の隣で仕事ぶりを見ながらテストの設計を勉強してた記憶です。
3 番目は組み込みです。 RTOS だったんですが、 RTOS は若い頃に知識として本を読むだけはしてたんですが、実践はしておらず要するに未経験でした。最初はイベントフラグとセマフォの違いも分かってませんでした。実機でごちゃごちゃ触り、オシロスコープで波形を見つつ、泣きながら覚えました。
3 社目: なう
Linux なんも分からん。
何を学んだか
デバッグは辛い。
テスト要員にはゴッドハンドを持ったひとが居る。
Linux よりも RTOS のほうが分かりやすい。Linux は分からん。
ソフトウェアアーキテクチャのスキルは整理してないです。MVC(MVVM とか分からん) やデザインパターンはまあそれなりに使ってるつもりですが、クリーンアーキテクチャについては「階層構造を意識して設計する」程度にしか理解してないふんわりです。