最近プログラミング教育というのがメディアを騒がせるようになりました。ただ一見するとエンジニアやデザイナーを目指す学生向けのプログラムが多いため、自分には関係ないのでは、と考える人は多いのかもしれません。
しかしITベンチャー/スタートアップへ転職を行う場合、転職前にプログラミングを学んでおくことは転職後に実績を積む上で重要な要素ともなりえます。その理由について主に3点ほど述べさせていただければと思います。
- 目次 -
1.サービス開発のスケジューリング感がわかるようになる
WEBサービス開発は、IT経験未経験の方から見ると一人でも簡単に作れる、すごく楽なものに見えるかもしれません。確かにメディアなどの報道をみると気軽さを伝えるものが目立ちます。
しかし実際は製造業などと同様、多くの工程を持って開発します。WEBページは(1)自社のビジネスやその目的、ユーザーに提供したい体験を伝える企画フェーズ、(2)具体的に作る機能を決める要件定義フェーズ、(3)デザインなどを決める外部設計フェーズ、(4)データベースなどのシステム開発を行う内部設計・実装フェーズ、(5)実際の動作を確認するテストフェーズという5段階のフェーズを踏まえて行われます。
この各工程のスケジュール感を調整するのはとても大変です。短かすぎると製品の質が担保されないためクレームにより、長すぎるとサービス開始が遅れ競合に先を越される・・・。企業の業績を揺るがしかねない状況にも繋がるだけに、開発フェーズごとの適切な時間配分は、ITベンチャー/スタートアップに勤めている人なら開発チーム以外も気にしなければならない極めて重要な要素となります。実際一つのWEBサービスを作るのは、会社を設立するのと同じくらい大変なことだと考える人もいるほどです。
スケジュール感を知るのに役立つ有効策の一つがプログラミング学習です。プログラミングを学ぶことで、自分たちが発表しようとしているWEBサービスのある機能を使うにはこのくらいのソースコードやデータベースが必要で、どのくらいの時間がかかる、という感覚がわかってきます。開発のスケジュール感覚がわかるとサービスのリリース時期や新機能の設置時期、社員の能力測定などがわかるため、マーケティングや財務経理、人事など開発部門以外の職務においても役立つ要素は多いと思われます。
2. エンジニアの苦労がわかるようになる
前述したようにWEBサービスは5段階の過程を経て、アイデアが実際にユーザーに使ってもらう製品へと変化します。この開発業務を担うのがプログラマーを始めとするWEBエンジニアの方々です。
開発過程におけるWEBエンジニアの苦労は相当なものです。実際にサービス提供者から言われた通りにプログラムを書くだけでなく、サービスのアイデアをプログラミング言語の形に落とし込む思考の過程も含まれます。製品の細かいところまでバグをチェックするテスト過程など、時間をかける必要がある作業も数多く存在します。
このエンジニアの苦労を考慮せずにいると、WEBサービスの開発は難航し業績不振の原因に繋がりかねません。実は私の周りにも実例となる会社があります。その会社ではスマホアプリを始めとするWEBサービス開発を行っていましたが、各プロジェクトを主導していたのはプログラミングなどWEB開発の経験がない25歳前後の社員ばかりでした。そして開発の苦労がわからないがためにエンジニアの苦労を考慮せず、一度に何件ものプロジェクトを一つの外注先に発注してしまいました。結果外注先の会社が疲弊し多くのプロジェクトが破綻してしまい、売上の何割かが吹き飛ぶくらいの大きな打撃を受けてしまいました。これを受け9割の社員は会社を去ることになり、内定者は内定辞退を促され就職留年に追い込まれてしまいました。
実際に開発を行う人以外もプログラミングを経験する、というのはこの手のトラブルを防ぐにも大変有効な手段となります。プログラムを書いて動かすことは想定通りの動作を行うのがいかに大変であるかがわかり、エンジニアに余裕を持たせようという考えを持つ事につながります。ITベンチャー/スタートアップで新規事業を作りたい、社内制度を整えたいという場合は非常に役立つ技術になると思います。
3.子どもの学習アドバイスにつながる
これまでの2点は仕事上プログラミングを使うメリットを述べたものでしたが、お子様のいらっしゃる方の場合家庭においてもメリットに繋がります。
近年子どもの教育にプログラミングを、という考えが急増しています。2012年度には中学の「技術・家庭」において「プログラムと計測・制御」は必修科目となり義務教育の一部にもなっています。中学・高校生向けのプログラミング教育プログラムを提供するLife is Tech!などさらに高度な学習を目指すプログラムも盛んになっています。またリクルートライフスタイルが2015年に発表した「子供の習い事ランキング2015」においても、プログラミングなどのパソコン教育は小学校高学年の「習わせたい習い事」の8位にランクインするものとなっており、より早い段階からの学習も叫ばれるようになりました。
こうした流れを見るとプログラミングは今後子どもの間でより一般的なものとなる事が予想されます。子どもの学びたいという気持ちを促進する上でも、親世代がプログラミングを体験しその面白さを理解する事はとても大切なことではないかと思います。
プログラミング学習にはオンラインでも様々な手段が存在する
では、実際に学ぶ手段としてはどのようなものがあるのでしょうか。近年はプログラミング学習が中学での必須科目となったこともあり、手軽に受けられるオンラインでのサービスが増加しています。
主なプログラミング学習専門サイトとしては、Webページやサービスを作りながらRubyやPHPなどを覚えられるProgate、家庭教師のようにマンツーマンの指導を受けられるCodeCamp、様々な言語における3分間の動画配信を行うドットインストールなどが挙げられます。これらのサイトは忙しい社会人でも本格的に学ぶことができることから人気を博しており、多数のファンが存在しています。ITベンチャー/スタートアップを目指す場合は出勤前の朝時間帯や転職活動の際の休憩時間など細切れの時間を使ってこれらのサービスを使ってみるのも、いいかもしれません。
参考文献
・MASATO SEKI(2014)「保存版」はじめてのアプリ開発:発注側が知っておきたい基本的な流れ(フロー)、気をつけるべきこと」2014年8月7日 SEKAI LAB TIMES http://www.sekai-lab.com/times/?p=1137
・リクルートライフスタイル(2015)「子どもの習い事ランキング2015」ケイコとマナブ.NET http://www.keikotomanabu.net/kids/ranking/