どうやってプログラミングを習得するか

プロジェクトオーガナイザの吉田聖書よしだみふみです。

最近、プログラミングスクールの話題が
ある界隈で盛り上がっていたので、
今回は、プログラミング技術の
習得について考えてみたいと思います。

私が最初にプログラミングの世界に足を踏み入れたきっかけは
実はファミコンです。
ファミリーコンピュータが発売されて
数年後にファミリーベーシックという
ソフトウェアのカートリッジとキーボードの製品が発売されました。
テレビCMを見て知ったんだと思いますが、
誕生日か何かに買ってもらいました。
この製品、刺さった人があまりいなかったのか、
私の周辺で持っている人はいませんでした。
そういえば今までに、
持ってましたという人に会ったことが無いかもしれません。

ファミリーベーシックはその名前の通り
BASIC言語で遊べるというものなのですが、
それ以外にも簡単なアプリが入っていて、
母はよくそれでタイピングの練習をしていました。

BASIC言語といっても、
ファミコン向けにカスタマイズされたものでして、
一般的なBASIC言語の参考書は全く役に立たなかったのですが、
製品にはA4サイズで厚めのマニュアルがついており、
ある程度プログラミングの基礎的なことや、
言語の仕様などが書かれていて、
当時の私が全ての意味を理解できたわけではありませんが、
それを読むだけでも楽しかったことを覚えています。

あとは、高校生の時、
母が職場からお下がりのノートPCをもらってきて、
それには本当のBASIC言語が入っていたので
参考書に載っているサンプルプログラムを打ち込んでは
実行して遊んでいました。
当時のお下がりのPCなんて遅くって、
そもそもOSがWindowsじゃなくてDOSですし、
機種もDOS/VではなくJ-3100シリーズという
今なら博物館に展示されてそうな代物でした。

さて、ここまで読まれた方は勘付いたかもしれませんが
私はプログラミングスクールに通ったことはありませんし、
プログラミング講座も受講したことはありません。

強いて習ったことと言えば、
大学の講義でFortran77をやったことくらいでしょうか。
それでもマシンがUNIXであることとか、
Fortranであることを除けば、
方程式をどうやって解くかとか、
どうやって積分を計算するかといった
手計算とは違うテクニックを教わったことは
新たな視座を得たという意味では
大きかったのかもしれません。

それ以外は基本的に独学でやってきました。
よく、仕事の面談を受けると、
「言語はどうやって習得しましたか」
と質問されました。
そんなとき私はいつも控えめに
「独学です」
と答えていました。

何故控えめだったのかというと、
独学=自己流のような
マイナス評価のイメージがあったからだと思います。
でも今になって改めて考えると全然そんなことはない。
ちゃんとした参考書で勉強していたのですから、
少なくとも自己流ではなくその著者の流儀です。

それに技術者を面談する立場になると、
やっぱり独学でやれている人の方が、
課題に直面しても自分で道を切り開いていけることを期待できます。

ちなみに私はC言語も独学でしたが、
ポインタで2~3回挫折しています。
大学の研究室の先輩に手ほどきしてもらったこともありますが
全くついていけませんでした。
それでも諦めず、
社会人になってソフトウェアの会社に入った時、
最初に与えられた仕事がC言語で組む案件でした。
(途中からC++に鞍替えしましたけど。)
その時初めてポインタを会得しまして、
C言語理解の階段を一気に登った気がしました。

今はC/C++言語でプログラミングする機会はぐっと減りましたが、
それでもデータの実体とアドレスを分けて考える癖は
その時に身に着いたものだろうと思います。

プログラミングスクールが全く無意味だとは思いませんが、
ちょうど私が大学の先輩に教わった(けれども理解しなかった)ような
土地を耕して種を蒔くのが精一杯で、
それが本当に実を結ぶ(=会得する)のは
必要に迫られて実際に使う時なのではないかなと思います。
そういう経験を一度でもしていると、
未経験の言語を使わなければいけないという時でも
さすがにベテランとは肩を並べられなくても
不安よりも何とかやれるだろう
という感触を持てることが多いです。

実践によって結実するのであれば
じゃあ、実践の機会を得るためにどうするか
ということになるのですが、
まずは何でも良いので
自分が欲しいと思うツールを作ってみる
ということなんじゃないかなと思います。
可能であれば公開して使ってもらうと。
気付いたら全然知らないサイトで使い方が解説されていたり、
本当に便利なものであれば出版社から連絡が来たりします。

その人が書いたソースコードだけでも
技術レベルが分かるかもしれませんが、
プロダクトを見た方がもっとよく分かると思います。



関連記事

プロマネの右腕

クロスイデアでは、新サービス・新ビジネスの 立上げや計画を中心に
プロジェクトマネジメントの支援を行っています。

新サービスの企画を任されたけど どう進めていいか悩んでいる担当者、
部下に新しい企画を任せたけど このままで大丈夫か不安な管理職の方、
以下のサイトをご参照ください。
https://www.crossidea.co.jp/services/right-hand-pmo.html

YouTubeにて動画配信中!

プロジェクトマネジメントのノウハウを
YouTubeで配信しています。
ブログと併せてご活用ください。

Comments are closed.