サイトアイコン IoT MCUのHappyTech

効果的MCU学習と開発方法

MCU開発者は、常に新しい事柄を学習しつつ、同時に開発成果の出力が求められます。MCU開発者の学習と開発の参考になる2記事を見つけたので紹介します。

  1. ソフトウェア開発者が「学習」について知っておくべき10のこと、2023年12月12日
  2. 時間外労働と生産性低下の意外な関係、2023年12月11日

※英語版は、参照。

MCU学習と開発の参考になる2記事

AI要約が望ましいのですが、無いので筆者が要約します。是非、ご自身で読んでください。

参考記事1要約:学習10のこと

人間記憶の仕組み、学習の仕組み、初心者とエキスパートの違いを示し、ソフトウェア開発者が学習を改善するための10個の事柄(#1~#10)解説。

筆者が特に印象に残った内容が、下記。

  1. 多くのコードを読み「理解」が、プログラミング熟練度を向上(#3)
  2. 1日の学習時間は、90分が限度(#5)
  3. 問題・課題のトライ順序を変える(ランダム化)のは解決に効果的(#5)
  4. エキスパートが初心者の目で見られなくなる「エキスパート盲点」は多い(#8)
  5. 休憩や散歩でトライ戦略を再検後、やり直す(#10)

参考記事2要約:意外な関係

欧米と日本、13000従業員の労働時間と生産性の調査結果。開発作業と生産性の関係説明。

印象に残った内容が、下記。

  1. 休憩無し従業員は、燃え尽き症候群の可能性が1.7倍(休憩時間と生産性)
  2. 理想的集中時間は、1日4時間。最長会議時間は、2時間。(仕事に集中できる時間)

know-how をリビルド

英語の「know-how」から来た外来語、日本語カタカナ表記「ノウハウ」は、専門的な知識や技術、手法という意味です。

知的財産の1つのため、日本発の公開例は少ない気がします。しかし、海外発know-howは、有用情報が多数あります。和訳が無くても、Microsoft Word翻訳やブラウザ翻訳を使えば、英文know-howが手軽に日本語化できます。

MCU開発者は、これら know-how活用をお勧めします。

但し、自分なりの解釈や理解を加えることが重要だと思います。これは、参考記事1が示したプログラミング熟練度を向上させるには、多くのコードを読み、その「理解」が大切なことと全く同じです。

つまり、 万人向け know-howをガイドとし、自分の頭で考えて理解する、これが、本当の学習や習得になるからです。ソフトウェア開発者的に言うと、「リビルド」です。

Summary:効果的MCU学習と開発方法

効果的MCU学習と開発には集中と多様性が必要

know-howの2記事を参考に、筆者がお勧めする効果的なMCU学習と開発方法をまとめます。

MCU開発者には、集中と多様性が必要です。

限られた集中時間(90分~4時間)に最大開発成果を上げるには、回り道のようでも1日の作業時間を、プログラミングとその他作業に分離して作業すべきです。

プログラミングも課題を複数に分け、壁に遭遇した場合には、そこに拘らず別課題プログラミングへ変えるなどが効果的です。課題への集中と、拘らずに変えることができる多様性が、効果的MCU開発になります。

多様性具体例の1つに、MCUベンダのサンプルコードと評価ボード活用があります。

自社ハードウェアが手元にある場合でも、逆にない場合はなおさら、評価ボード上で類似サンプルコードを動かすと、柔軟で多様な開発視点が得られます。これにより、例えば、隠し製品機能などの実装などもありえるでしょう。

その他の作業には、MCU関連の新しい学習なども含みます。

これら作業も、休憩やコーヒーブレイク、散歩などを挟みつつ様々な内容に分割しましょう。気分転換効果が期待できます。隠し製品機能などのアイデアも生まれ易いでしょう。

Afterword:盲点解決:サンプルコードと評価ボード

紹介した2つのKnow-how記事は、ソフトウェア開発者作業時間の科学的分析結果に基づいています。

MCU技術資料は、エキスパート盲点だらけです。内容が判り難いのは、読者のせいではありません。紹介Know-howやAI Copilotなどが、効率的な盲点解決手段を与えるでしょう。

一方、自ら気づき難い開発者のソフトウェア盲点やバグ解決手段が、サンプルコードと評価ボードです。

サンプルコードと評価ボードは開発者自身のソフトウェア盲点を浮き彫りにする

確実に動作するサンプルコードと評価ボードは、自分のソフトウェア盲点を浮き彫りにします。また、頭の中だけでなく、具体的なソフトウェア動作を目視することで、楽しく開発が続けられます。

MCU攻略の秘訣は、多様性を忘れず、楽しく、面白く開発に集中(集中時間はタイマ等で管理)、学習することだと思います。


モバイルバージョンを終了