オバマ大統領「プログラミングを学ぶことは自分のためだけではない。国の将来がかかっているのだ。」
オバマ大統領は、2013年、米国民に向けてそのように話したそうです。
詳しく知りたい方はこちらをご覧下さい。
2020年に小学校からプログラミング教育を必修化する事が検討されています。
「小学生にプログラミング教育?」と思ってしまう方が多いと思います。まだ、算数もおぼつかない小学生に、プログラミングを教えても、理解できないのではないか?と誰もが思うでしょう。
プログラミングを学ぶ事で得られるスキルとは。
プログラミング教育は、プログラミングできる事だけを目的としていません。
論理的思考力や創造力などを養うツールとしても注目されています。
ところで、「WBS」というものをご存知でしょうか?
某ビジネス系報道番組の事ではありません。
Work Breakdown Structure:作業分解構成図 を言います。
システムの開発プロジェクトで、まず全体を作業に分解して、これを構成図にまとめたものです。
詳しく知りたい方はこちらを。
このWBSというものは、見た目は、よくある項目を大項目、中項目、小項目で構成した表なのですが、開発プロジェクトでは大変重宝します。
なぜならば、やるべき事が全て書いてあるからです。そして、それを大まかにも、詳細にも捉える事ができるものだからです。
上のリンク先には、カツサンドを作る例がありますが、カツサンドを作るには、調理方法だけ考えていてもダメです。材料に準備や、下ごしらえが必要です。
多くの事には、準備が必要です。ちゃんと準備ができていないと、調理の途中でバターを買い出しに行かなければならない羽目になり、時間に間に合わなくなったりして、失敗を招いてしまう場合があります。
準備は大事ですが、何を準備すべきかは、まず結果がイメージできていないと考えられません。豚肉のカツにするのか、牛肉のカツにすうるのか、といったところの完成イメージです。
システム開発は、「準備に5割をかけろ」と言われるぐらい、準備が重要です。カツサンドなら、買い物リストに漏れていたバターは、買いに行けば済みますが、システムの場合、「調査に漏れがあって、見積りの数十倍の時間がかかる事がわかった」などという事態は、もはや悪夢でしかありません。プロジェクト全体の進捗を狂わせてしまいます。
ですから、まず最初に、WBSを作ります。大規模プロジェクトであればあるほど、念入りに時間をかけて作ります。
プログラミングでも同じで、ある程度の規模のものを、一人で作ろうということなった場合、まず、完成のイメージを明らかにした上で、作業(タスク)を洗い出し、分類し、検証します。
プログラマなら、この大切さがよく見に染みていると思います。当社でも、エンジニアは必ずこの作業を行います。
この作業、上手い、下手が、大きく分かれます。
WBSを上手に作るには、以下のスキルが必要だからです。
・優先順位をつける事ができるスキル
・俯瞰と注目を繰り返し行う事ができるスキル
・作ったものを客観的に検証するスキル
優秀なプログラマは、これがしっかり出来ます。だから、WBSの完成度も高いのです。新人プログラマは大体これが苦手ですが、熟練のエンジニアでも苦手な人は結構います。
これらのスキルは、技術力とは直接の関係がなく、プログラミングを行う課程で、意識する事で、自然と身につくものです。
プログラミングの付帯スキルは、社会人に必要なスキル。
ところで、上の3つのスキル。もう一度見て下さい。
何か気がつきませんか?
そうなんです。この3つのスキルは、今、社会人に求められているスキルなのです。
これらは、手戻りの少ない、効率的な仕事を進める上で、必須のスキルです。日本人には総じて不足しているスキルかもしれませんね。
「プログラミングを学ぶことは自分のためだけではない。国の将来がかかっているのだ。」
確かに、その通りかもしれません。