これまで、IT系の仕事をしながらもプログラミングについては理解が足りていない部分が多かったので、今結構有名なプログラミングスクール、Tech CAMPの説明会、プログラミング体験会に行ってきました。
Tech CAMPのURLはこちら。
https://tech-camp.in/
本日は、今プログラミングを学ぶべき理由の話と、勉強の進め方を体験しましたので、それを振り返ってみたいと思います。
今プログラミングを学ぶべき理由
説明会では、大きく以下の3つがプログラミングを学ぶべき理由として説明されていました。
- エンジニアの思考を理解したい
- 副業を始めたい
- プログラマーに転職したい
説明会でお話を聞く前の段階では、私の勝手なイメージでは2あるいは3が一番の理由だと思っていました。しかし、実際には知識として身に着けたプログラミングを仕事に生かすことにはこだわらず、「エンジニアの思考を理解したい」という理由で受講される方が理由としては最も多いとのことでした。
想像とは異なる部分もありましたが、確かに納得できる部分もあります。
今ではテクノロジーと企業の戦略は密接に結びついていますし、企業も積極的に自社業務をテクノロジーを使って効率化、あるいは代替しようとしています。私が社会人をスタートした頃は、例えば製造業のお客様あたりはテクノロジー(IT)の導入に懐疑的で、「意味あるの?費用かかるだけでしょ?」的な視点を持っている方が多かったですが、最近は積極的になっている感覚があります。そうした方々の意識の変化が、「エンジニアの思考を理解したい」に表れているのではないでしょうか。
これは私の過去のERP導入の経験でもありますが、テクノロジー導入を行うコンサルタント、開発者の立場としては結局のところ構想策定や要件定義フェーズでかかわる人々は経営企画、事業企画、あるいは業務部門の責任者レベルになります。このレベルの方々がテクノロジーの理解がない状況ですと、プロジェクトの進行においていろいろと不都合が起こります。
よくあったのは、お客様としては要件を伝えているつもりでもコンサルタント、開発者に伝え切れておらず、システムがある程度できてから追加要件が出てきてしまう、というケース。開発費がかさみますし、プロジェクトの遅延にもつながります。
他には、そもそもシステム導入を提案する営業の立場の人間がテクノロジーの限界を理解しておらず、なんでもできるかのようにお客様へ提案し受注、あとで導入コンサルタントや開発者が困る、といったケースもありました。(これはその営業さんの営業スタンスに問題があるのでちょっと別の問題かもしれませんが・・・)
と、いうわけで、プログラミングを理解することは、エンジニアと円滑に仕事を進めていくことにも生かせるため、コミュニケーションスキルの一つとして身に着けるべきものだと感じました。( 自身がプログラマーを目指すかどうかとは別の視点として)
勉強の進め方
勉強の進め方は、基本的に自主学習。教材を確認させて頂きましたが、自分自身でコードを入力して挙動を確認することを繰り返し、最後に演習問題がある、という流れになっていました。
最後の演習問題については回答の記載がなく、受講者自身に考えさせる方式をとっており、できれば担当のメンターを呼び出して確認、できなくても相談に乗ってもらう、という進め方になります。
メンターに相談する回数には制限はなく、月額利用料金は一定で、文字通り無制限に質問ができる環境となります。
カリキュラムを進めていくスピードは個人個人によるので、早く進めたい人はもちろんガンガン進めることができます。なので、早くコストを回収しようと思えば自分自身でどんどんカリキュラムを進めていくようなインセンティブも発生するので、独学で本を読んでやるよりもずっとやる気が出る方法だな、と思いました。
ちなみに、Ruby, HTML、CSS、Pythonあたりがカバーされているプログラミング言語になる模様です。
今後
私は過去にJava やPythonを独学で勉強しようと試みたことがあるのですが、見事に挫折したクチです。ですが、Tech CAMPでは聞きたくなったらいつでも聞けますし、お金を月々払うことによるプレッシャーもあるので、この転職を機にプログラミングをしっかりと学んでみようと思いました。
カリキュラムを進めていくと、独自のサービス開発なんかもしていくことになるので、開発したサービスを公開できる日を目指して、頑張ってみようと思います。