ITオンチの未経験者がプログラミングを勉強する理由
こんにちは!Jimmyです。
「プログラミングがわからないと絶対に困る!」
ある時強く思い、勉強しようと決意しました。
私は文系人間で、IT関係の知識に疎いばかりか、機械オンチでパソコンオンチでした。(今も得意ではありません)
文系の大学を卒業後、ずっと銀行で営業をしてきた私にとって、プログラミングは未知の領域でした。
パソコンをいじっていると、たまに接続に問題があったり、セキュリティの警告が出たりする時があります。
そんなとき、「デバック」、「キャッシュ」、「クッキー」、「ホスト」に「Java」、、、
専門用語がたくさん出てきて辟易としていました。
ある程度わかっている人も多いかもしれませんが、私は一つも説明できないようなレベルでした。
きっかけは、銀行を辞めてから、起業しようと事業計画を考えていたときです。
考える事業は、どれもインターネットが不可欠であることに気づきました。
今や多くの会社で、HPを作成しています。
販売する商品があれば、オンラインストアを設けている会社もたくさんありますし、専用アプリも見かけます。
情報を発信するにも、受信するにも、マーケティングをするにも、サービス自体を提供するにもインターネットを介さなければ成り立ちません。
当初、自分にとってITは最大の苦手分野。
今更苦手分野を克服するより、自分の強みに焦点をあてるべきだと考えていました。
ITは、別の人に任せるのがよいと思っていました。
今や、ネットを検索すればHPやアプリを制作してくれる会社もたくさんあります。
そこで、試しにWebアプリと携帯アプリの開発について見積もりをとってみることにしました。
大まかなサービス内容と必要な機能を記載し、送付したところ、すぐに見積もりが返ってきました。
「 700万円?????!!!!! 」
ゲームのような手の込んだものではないため、それほど高くはないだろうと思っていた私は茫然としました。
嘘だと思い、他の簡易見積もりも試しましたが、提示金額の幅は大きいものの、高いところはそれくらいの料金でした。
詳しく見てみると、料金のほとんどがエンジニアの人件費とのこと。
「よくわからないな、700万って、どれだけ時間をかけて作るのか?」
正直、騙されているような感覚になりました。
次に考えたのは、エンジニアを共同創業者として迎え入れようというものでした。
しかし、文系大学、営業畑出身、友達も少ない、こんな私に都合よくエンジニアの友達はいませんでした。
じゃあ新たに探すしかないということになるのですが、考えると同じ問題が起きることに気づいたのです。
自分が作りたいサービスを伝えるところまでしかできないのです。
つまり、開発にどれくらい時間がかかるか、費用はどれくらいかかるか、他に必要なサービスや必要な人材がいるか、どこと契約するべきか、更に問題が起こったとき、原因は何なのか、どういう対策を取るべきか、判断のしようがありません。
自分がエンジニアをするつもりはなかったのですが、今後、ご縁があり出会うエンジニアの方や事業に参画してくださる方に対して、議論ができないと思ったのです。
腹をくくって、信頼できると決めた人間に任せることはできるはず。
とは言うものの、全面的に任せることと、丸投げすることは違います。
当時の私にできるのは丸投げだけです。
これでは、善意で必死に作ってくれたエンジニアの方の苦労や提言を理解したり、感謝したり、問題発生時に自分が前面に立ち、寄り添うことができません。
せめて、議論が出来、わかってあげるくらいにはならないといけない。
何もわからないくせに、偉そうなことを言う上司になってはいけません。
会社員時代に、神に誓って、こうはなりたくないと思っていたリーダー像そのものに自分が近づいていくかもしれないと考えると、これではいけないと思うようになりました。
ということで、プログラミングを勉強しようと決心しました。
期間は1ヶ月、プログラミングだけに集中。
目的地は、プログラミングとは何か、アプリやWebサービスが出来るまでの過程を理解できるレベルとしました。
【決定】TECH::CAMPに入会
いざ、やろうと思っても、何をしたらよいのかわかりませんでした。
ネットを見ていると、本がたくさん出ていました。
独学で勉強している人のブログや、Web上で知識やノウハウを共有するページもありました。
プログラミングにも用語が何種類もあることがわかりました。
プログラミング講座もたくさんあり、料金も安くはない印象でした。
しかし、期間を設けている限り、最も効率的に身につけることを考えなければなりません。
やはり講座を申し込んだほうがよいだろうと思い、各社の講座を比較しました。
最終的にTECH::CAMPを選びました。
受講者の満足度が高かったことに加え、受講期間中、学びたい放題のコースがあったこと、私が当時住んでいた愛知県にも教室があるという理由で決めました。
入会金が税込みで131,300円、これで最初の1か月学び放題、2か月目からは毎月税込み13,824円で継続できるという仕組みでした。 (最近少し値上げしたと聞いています。)
オリエンテーションでご一緒した男性も、以前、独学でプログラミングを学習して途中で挫折した経験がおありでした。
やはり、ある程度のお金をかけても効率的に学ぶ方がよいでしょう。
はじめてのMac あとはひたすらやるだけ
TECH::CAMPに申し込むと、プログラミングをやる人の多くはMacパソコンを使っていることがわかりました。
私は、ASUSの安いパソコン(Windows)を使っていたのですが、開発環境としては、容量や性能に不安があったので、Macパソコンのレンタルをすることにしました。
TECH::CAMPでは、Webアプリケーションのコースを選びました。使用するプログラミング言語はRubyです。
開発はAWS(Amazon Web Service)のCloud9を利用しました。
カリキュラム通りに、開発環境の設定、Ruby on railsのインストールを進めていきましたが、はじめは自分が今何をやっているのかよくわかりませんでした。
メンター(呼び方は違ったかもしれません)の方からも、最初はわからないことだらけでも先に進んでください、後で必ず、点と点がつながって線になります!と言われていたので気にせず進めることができました。
1週間に1回、メンターの方と進捗確認の面談を実施し、目標を確認していきました。
基本的に自宅で学習し、わからないところは、リモートでメンターに随時質問ができました。
13時から22時まで受け付けてくれていたと思います。
それから1か月と9日、毎日、朝から晩までプログラミングの日々を送りました。
最低1日10時間と決めていたので、それをメンターに伝え、私の最終目標地点も共有したうえで、1週毎の進捗目標を打ち合わせて決めました。
20日ほど経過したころ、Webアプリケーションの全カリキュラムを二周完了しました。
だいたい200時間ほどかかったと思います。
このころには、Webアプリの仕組みについては一通り理解できるようになりました。
そしていよいよ、自分のオリジナルWebアプリの開発に進みました。
未経験者でも出来た!Webアプリ挑戦
まずは、オリジナルアプリの構想について、メンターとの相談からはじまりました。
どんなサイトを作りたいのか、どんな機能をつけたいのか、どういう風に開発していくのかを説明し、方針が決まりました。
私の場合、期間が限られているので、最低限の機能を選定すること、デザインは素人が独自でやるとよくないため、一つのサイトを見つけて参考にすることです。
200時間かけて基本知識は学んでいたのですが、開発途中は、新たに加える機能であったり、デザインであったり、至る所で壁にぶつかりました。
最も苦労したのが、エラーとの闘いです。
コードを書いて、実際に意図したように動くか試すのですが、エラーが何度も何度もでます。
その度に、どの部分が間違っているのか要因をつきとめる必要があります。
実に開発の時間の半分以上はエラー解決のために費やしました。
メンターの方が、エンジニアは皆エラーと闘いながらやっている、だれもやったことがない機能を作るときは本当に孤独だと仰っていた意味がわかりました。
私の場合、「いいね!機能」や「フォロー機能」など、ネットで解決のヒントになる記事を探しながら、試行錯誤を繰り返しました。
デザインも、真似するだけなのですが、思ったように表示されないことが多く、苦労しました。
何時間も同じエラーで足止めを余儀なくされることもありました。
気がづけば、1か月で、基本用語と仕組みを理解し、不明なところは、自力で調べて解決するということができるようになっていました。(もちろんもっと高度なこともあり、知らないこともたくさんありますが)
そして一通り、アウトプット専用サイトを完成させることができました。
無事1か月とプラスαの時間を利用し、400時間ほどの勉強時間を確保できました。
自分で一からアプリを作ったことよりも、開発で苦労したり、時間がかかるポイントや、難しいところなどを実際に体験できたことが何より重要でした。
全てわかったわけではありませんが、エンジニアの方とも会話ができるようになることは、事業を進めていく上で必ずプラスになります。
その気になれば、1か月でアプリ開発ができるようになる!という広告も嘘ではなかったと思っています。
参加者限定特典あり。TECH::CAMPオンライン説明会
以上、ここまで読んでいただきありがとうございました。
プログラミング学習のコストパフォーマンスはかなり良い! こんにちは!Jimmyです。 プログラミング学習が、間もなく小学校でも導入されることをご存知の方も多いでしょう。 プログラミングの知識やスキルが必須だと言われる昨今です。[…]