Comments理系・文系のくくり方をもう止めた方がいいんじゃないの?と思います。高校で決めたら、基本的にそれが一生ロックされるというならわし。僕はハード・ソフト含めて10年あまりプロダクト作りに携わってきたので、その経験をもとに、どうしてそう思うのかを書いてみます。他の業界のことはよくわからないので、ぜひこのエントリーを読んでご意見くださいませ。この区別の起源Wikipediaの「文系と理系」の項を読むと、文系・理系という区別は、旧制高校の制度に起源があるようです。そもそもこんな区別があるのは、発展途上国の特徴である。黒板とノートがあればすむ文系にくらべ、理系は実験設備に金がかかるので、明治時代の日本は、学生数をしぼらざるをえなかった。そこで数学の試験をし、文系/理系をふり分けることにした。入試問題が別々なので、その前の段階で文系/理系を選択しなければならない。社会学講義2』(夏目書房、1997)63頁なるほど、結構納得感のある説明。旧制高校って今から100年以上も前の話。この制度いつまで続けるの?という点はしっかり考える必要はありそうです。自分の得意なこと(技術)世の中に求めてられていること(ニーズ)自分のやりたいこと(意思)の重なる部分でやるわけですが、最近この3要素間の比率が急激に変わってきているように感じます。これまでのものづくりでは、自分の得意なことを最重要視して、それをいかに売るかというアプローチが多かったと思います。うちは液晶が強いからテレビ作ろう!とか。いう風に、何を作るのかがビシッと決まっている時は完全に分業するのが正解で、技術者(理系の人)が技術を突き詰めた商品を作り、それを営業(文系の人)が売ってくるモデルが成立していたのでしょう。昨今、ものを作るための手段は、だんだんとコモディティ化が進んでいます。ハードウェアでは、チップセット、メモリ、基板、液晶、バッテリ、外装を組み合わせればそれなりの商品を作ることができます。ソフトウェアでは、開発フレームワーク、API、OSSライブラリなどを組み合わせることである程度のプロダクションサービスを作ることができます。そんな中で今最も大切なことは、ユーザー体験を起点に考え、世の中に求められているものをいかに作るかなのですが、この「世の中に求められるもの」を掘り当てるのが非常に難しいわけです。文系の人が、「これがニーズあるものです」という企画を作って、理系の人が「はいわかりました。それ作れば売れるんですね。いう役割の境界線さえも一旦忘れ、ユーザーの価値を作るというゴールからの逆算でアプローチする必要があります。境界線の中にこもったきりでは既存の思考の枠を出ることはできず、境界を超えて思考することで、はじめて破壊的なアイディアの可能性が生まれてきます。一人ですべてをやろう、というのではありません。expertise)はもちつつ、より幅広い分野の知見を貪欲に吸収していかなければ、得意分野の強みが活きない時代になってきているのです。思考停止の遠因もちろん、自らその境界を突破して知見を獲得しようとする人たちもいます。多くの人は、自分のコア領域の周辺には進出するものの、理系・文系の境界線に差し掛かると、無意識にそこで歩みが止まる人が多いのではないでしょうか。マーケティングを専門にしていた人が、営業や商品企画に進出することはあっても、「今後のマーケティングではプロダクトの中身もある程度理解していないといけないな」とエンジニアリング領域の勉強をするところまで行く人はあまり多くないと思います。そのリターンは非常に大きくなっているにも関わらず。このように無意識に境界線の前で立ち止まってしまうことこそが、理系・文系区別の一番のデメリットだと思います。多くの場合において、高校2年ぐらいで理系か文系を決めると思いますが、そのときなんとなく決断を下した結果、「あ、ぼくは文系なんだ」「あ、きみは理系なんだね」というレッテルが貼られ、自分でも意識しないうちに上記のような非合理的な決断を一生続けることになるのです。実際のところ、ぼくがプログラミングを勉強してる話なんて言うと、まわりの反応は「あれ、文系だよね?」が決まって第一声の反応です。2015アプリに選んでもらうなど一定の成果をおさめることができました。境界線を超えた「掛け合わせ」のメリットは非常に大きいなと実感しています。組織づくりまで理系・文系ベース理系・文系の区別は、そのはじまりは実利的な理由によるものだったかもしれませんが、今では、ほぼ宗教かと思うほど盲目的な信仰です。その証拠に、理系・文系の境界の延長線は高校、大学のみならず、実社会においても続きます。文系の人は企画部へ、理系のひとは開発部へ。何を作るかが明らかな時代においては、この機能切りの仕組みがワークしていたかもしれません。ユーザー視点から逆算してモノを作るべき現代、新たな価値を生み出さなければならないフィールドではことさらに、プロダクトごとの組織をつくるほうが成功確率は圧倒的に高いと思います。教育を逆算方式にでは、どうすればよいのか?まずは個々人が、無意識に持っている理系・文系を壁を意識的に取り払う必要があるのは言うまでもありません。いえ、個人の努力に頼るだけではなく、仕組みの改善も必要です。ぼくは、学校教育も実社会のように達成したいことからの逆算方式にするべきではないかと思います。これまでの教育は、いろいろな経験をした大人たちが、将来こういうツールが必要になるからいまから勉強しておくといいよ、というのを考えて子どもたちに「与える」というスタイルの教育でした。その結果、ぼくたちは、数学や物理や古典など理由もわからず学んできました。なんとか自分で意味を見いだせた科目はよいのですが、そうでない科目は苦行以外の何物でもありませんでした。世の中ではどんな問題があるという点を気づかせる。目的と意味付けを理解して学習するというアプローチを取っていくべきではないでしょうか。同じような知識が使われるはずですが、生徒の学習意欲、習熟スピードの観点で言うと現在の数倍の学習効果が上がるのではないかと思います。この時に取り組んだ「問題」が10年後、20年後に存在しない問題になってしまったとしても、問題から逆算して必要なことを自ら学んでいくというユニバーサルなスキルは廃れることはありません。そんな教育においては、理系・文系という区別は意味不明なシロモノでしか無いと思うのです。Comments最近、プログラミング(コーディング)を勉強しよう、という記事をよく目にするようになりました。プログラミングって難しいんでしょ?いくら頑張っても結局エンジニアの人にはかなわないんだから、そんなものに手を出さないで自分の得意分野に集中したほうよくない?という考え方もありますよね。この記事では、俗に言う「文系」人間がプログラミングを学ぶメリットについて考えてみたいと思います。何を隠そう私自身も、生粋の文系人間なのですが、1年前にiPhoneアプリづくりを始めて、なんとか2つのアプリをリリースすることができました。好きなものを一か所に集めてあなただけのランキングを作ろうたった1年でありますが、この経験をもとに、タイトル「文系人間もプログラミングを学ぶべきか?」への結論を書くと、たしかに大変だけど、それを補って余るくらい楽しい。全ての人が勉強する必要はないけど、少しでもテクノロジーに触れる仕事をしている、もしくはテクノロジーを使って世の中を楽しくする・便利にするのが好き、という人は一度トライする価値があると思います。具体的にどんな人にオススメかというと、下の3つの質問のうち2つ以上がYESならかなりオススメです。🙂テクノロジーを使って、実現してみたいことはありますか?新しいことを学ぶことは好きですか?好きなことは、とことん突き詰めてやるタイプですか?では、この3つの質問にそって、話を進めていきたいと思います。作りたいものを思いのままに作るための武器いま、ITの世界はものすごく面白いことが毎日起きていて、この先少なくともあと10年はさらに進歩が進んでいくと思います。そんななかで、あーこういうサービスがあれば、こんな風に問題が解決できるなぁ、というアイディアを思いついて、今日からでも動き出したいような人にとって、プログラミングは絶好のツールです。社内の人間(マネジメントやチームメイト)を説得すること無く、会社を起こすために資金を集めることもなく、今すぐ作り出すことができるのです。IT系の会社で働いる方は、本業にも必ず活きます。IT系の会社にとってのプロダクト開発は「本業」です。メーカーにとっての「生産現場」と同じです。ここでどのようにものづくりがされているかを知らずして、会社の戦略を立てることはできないと思います。企画・プロダクトマネージャー・ディレクターなどの仕事に従事される方はもちろん、管理部門や営業など直接関係のない職種の方でも、必ず本業のクオリティーを上げることができるはずです。たしかに難しいけど、英語よりカンタン。幸いなことに、開発の敷居はどんどん下がっていて、あなたがコンピューターを持っているなら、ほとんどの開発環境を無料で整えることができます。(スマホアプリをリリースしたいなら、AppleやGoogleに開発者登録をする必要がありますが。前者は約1万円、後者は約3000円程度。)ご存知かもしれませんが、プログラミングをするにはプログラミング言語を学ぶことになります。「言語」なので、英語などと比較したくなりますが、英語より断然カンタンです。英語だと読む、書く、話す、聞く、が必要ですが、プログラミングは読んで、書ければOkです。それにリアルタイムで反応を返す必要もありません。何か分からなければ、うーん、うーんと悩みながらGoogleを検索したり、詳しい人に聞いたりしながら、答えを出せばいいのです。言うと、最初は「書く」ことさえできなくても大丈夫です。ある程度アプリ作りの仕組みを理解したら、ウェブや参考書で自分が望む動作と似ているコードを頂戴してきて変更していきます。プログラミングでは「ライブラリー」という便利な道具があって、多くの人が共通で使うようなコードは、ただ部品を組み込んで呼び出すだけで目的達成です。自分が作りたいものを手段を選ばず作っていき、そのうちに少しずつ自分のオリジナルのコードが書けるようになればいいのです。目的を達成するために新しいことをどんどん学んでいくプロセスは楽しいものです。スポーツで試合に勝つために、新しい技術を習得していくプロセスにも通ずるものがあると思います。最後は情熱さんざんハードルを下げておきながら、相反するようなことを書きますが、プログラミングをしてると、必ず「ハマリ」ポイントがやってきます。自分では絶対動くはず、と思っているコードが思い通りに動かなかったり、どうやって目的を達成するコードを書くのか皆目検討がつかない状況です。そんなときにはひたすらドキュメントを漁ったり、識者にアドバイスを求めたり、自分が書いたコードを穴が空くほど見なおしたりして、なんとか迷宮から抜け出す必要があります。そんなときには、くじけそうになるのですが、「このアプリをなんとか作って世の中に出したい」という思いだけが心をつなぎ止めてくれます。何日か頑張っていると、不思議と光が見えてきます。私の場合、そもそもiPhoneアプリを作りたいと思ったのも、TreasureBoxのようなアプリを作りたいと考えたからです。作るのは難しそうだったので、まずは一つ練習をということで、3ヶ月かけてMailNowを作り、それから3ヶ月間MailNowの改善をしながらTreasureBoxの具体的な構想を立て、その後6ヶ月程度かけてTresureBoxの開発をしました。日曜プログラマーなので、こんなに長い時間かかりましたが、学生の方とかならこの半分の時間でいけると思います。自分はとても飽きっぽくて怠け者のの人間なのですが、自分のアイディアに興奮して世の中に本気で出してみたい!と思ったのと(興奮しているのは自分だけですがw)と、アプリを作るために新しいことを学んでいく過程がとても楽しかったです!さてさて、思ったより長文になってしまいました。最後になりましたが、プログラミング初心者の僕のハマリポイントで幾度も助けてくれた、のんちゃんとOgaogaに深くお礼して、このエントリーを締めたいと思います。このブログが誰か一人でも多くの方をインスパイアして、プログラミング仲間が増えることを願ってます。