ブログ,プログラミング

プログラミングの全体的な意味は読んで
字のごとく「プログラムを作ること」です。

もう少し細分化すると大きく、
「アイデア発案・設計」と「開発」の
2つの作業工程に分類できます。

(1)アイデア発案・設計
 ・実現したいアイデアを練る
 ・どのようなプロダクトやサービスを
  作るのか考える
 ・そのアイデアをどのようにして
  実現するのかを考える
 ・実現するための構成や構造などを
  考える
 ・実際に作るための設計図・設計書を
  書き起こす

(2)開発
 ・設計図や設計書を見ながら、
  プログラミング言語の文法にしたがって
  プログラム(コード)を書く
 ・書いたプログラムがきちんと意図通りに
  動くかテストする。

上記の関係は、建築士と工務店の関係に
似ているかもしれません。

ブログ,プログラミング

「アイデア発案・設計」と「開発」の2つの
作業工程は当然、車の両輪のように、両方とも
とても大切です。

そのため、個人でプログラミング学習を
進めていく場合は、アイデアを考え、必要な
機能を整理し、それをコードに変換していく
一連の流れを経験することが必要となります。

旧来のプログラミング教育の最大の難点は、
アイデアを考えたり、それを実現するための
仕組み検討することよりも先に、開発時に
必要な「特定のプログラミング言語の文法」を
学習させることにありました。

つまり、「先に理論・文法を学び、後で実践を
行う学習方法」です。これがあまり良く
ありませんでした。

一方、現在のプログラミング教育では、実際に
何かを作る過程を経験しながら(もしくは経験
した後で)、プログラミング言語の文法を
学んでいくという流れが主流となっています。

こうすることで、学習者はより具体的に
「今、学んでいることを習得することによって
何が実現できるようになるのか」を
イメージできるようになります。

このため、以前よりも圧倒的に挫折する人が
減り、また効率的に学習を進められるように
なっています。

ブログ,プログラミング

職業としてのプログラマーは、どのような
仕事の仕方をしているのでしょうか?
知りたくありませんか?

それには、①受託開発と自社サービス開発
②大規模開発と少人数(個人)開発、
③アプリケーション開発とシステム開発と
いう3つの視点があります。

①受託開発と自社サービス開発

 ・受託開発
  顧客の要求にしたがってシステムを
  開発します。

  たとえば「SE(システム・エンジニア)」は
  顧客とコミュニケーションを取りながら
  プログラムの内容を固めていくため、
  営業に近い仕事になります。

 
 ・自社サービス開発
  顧客から仕事を受けるのではなく、
  サービスそのものの企画から自分たちで
  行います。

  リサーチ能力や想像力が要求され、ある意味
  クリエイティブな仕事ともいえます。
  

次は、②大規模開発と少人数(個人)開発について、
書きますね。