新着Pick
6Picks
Pick に失敗しました

人気 Picker
「子どもがプログラミングを学ぶ最大の意義は、言われた通りに正しく課題をつくりあげることではなく、忍耐強く何度も修正しながらやり抜く力を身につけることにあります。」

本当にこれですね。
ただ、よく考えないとダメかも知れません。

言われた通りに正しく課題(実装)するだけで プログラムは完成しません。それは上流工程の設計者が 実装に伴う洞察力を発揮出来ないからです。細かい所は プログラマーに丸投げしかできません。更に上流工程もビジネスやユーザビリティを正確に表現した仕様書を作れないだけでなく、ビジネスやUXを知らず、QCDバランスを持たない上司さえ居て、当然丸投げになります。

では、なぜプログラマーは試行錯誤するのか。
次の2つのレベルが存在します。

①なんか動かないから。ハードやOSやフレームワークがエラー吐くので、バグを潰しながら試行錯誤しちゃいます。

②ユーザビリティを評価する為。ビジネスモデルやプロセス、アルゴリズムのロバスト性やフレキシビリティを測る為。 インプットを定義してアウトプットを感じ、もっとレベルアップするにはどうしたら良いか、洞察力を高める為に 試行錯誤、こういうシミュレーションは大変重要な活動です。

①はダメです。この程度の試行錯誤では、不完全な条件文で エラー隠すだけ。中途半端な前提下でしか正常動作しない汚いコードを作らせてしまいます。こんな事をプログラマにさせないで下さい。この様なプロセスと体制では 責任逃れのレベルアップはしても 組織的な製品のレベルアップには程遠いです。

②が出来ますか。ユーザーとの接点を持つプログラマーによる お客様目線の思考錯誤を促せているでしょうか。こうすると旧来の上流工程の人はプログラミングを学び、旧来のプログラマは上流を学ばないと出来ませんが、その報いは個人にも組織にも多大です。

試行錯誤はレベルアップに大切な活動です。①は現実問題避けられませんが、反射的に嫌な事から逃げる試行錯誤ではなく、②の領域を拡大できる様、正しく導ける親になれますように。
その「場」をこっそりお膳立てしてあげれれば 素晴らしいです。

子供は①だけでなく②も含めて試行錯誤するので、夢中になってレベルアップできてるのだと思います。大人にも是非。