CodeCampで講師をつとめ、本質をとらえた的確な指導を通じて多くの受講生を育ててきた松木先生。60才をこえてもなお現役エンジニアとして開発を続け、「フリーランス」という言葉がなかった昭和の時代から独立し、技術力を武器に活躍をされてきました。
「技術の素晴らしさ、面白さを伝え続けたい」と語る松木先生の、エンジニアとしての生き方や講師としての想いについて語っていただきました。
【プロフィール】松木 敏紀先生
高専を卒業後、40年に渡ってエンジニアとして活躍。1978年に信販系会社で開発者としてキャリアをスタート。83年にはフリーのエンジニアとして独立。87年にソフトウェア会社を設立し、ソフトウェア開発事業を全国へ展開。
2000年頃から個人で初心者に向けたWeb技術サイトを開設、06年からは業務系Webサイト、会員管理サイト、Windows系ローカルサーバー、Linux系Webサーバー構築等を手掛ける。15年に副業としてCodeCampの講師に就任。
若さと勢いで、エンジニアの世界に飛び込む
ーー松木先生はこれまでに、エンジニアとして40年に渡ってご活躍されています。まず最初にプログラミングを始めたきっかけや、これまでのご経歴についてお教えください。
私とプログラミングの出会いは学生時代の頃でした。
当時は高専に通っていて、化学専攻だったのでコンピューターに触れる時間は限られていたのですが、授業でFORTRAN(米IBMの開発者が発明した初期のプログラミング言語)に初めて触れた時は人が操作しなくても機械が自動的に動いてくれる事に感動したことを覚えています。
当時のコンピューターは今みたいに小さくなく、部屋にどーんと鎮座しているような大きなもので非常に高価だったので、授業以外で生徒が勝手に使うことができませんでした。
そこで、ワンボードマイコン(簡素なマイクロコンピューター。一枚の基盤の上に電子部品と入出力装置が設置されている)を手に入れ、ルーレットやゲームなどの簡単なプログラミングを作り遊んでいました。
そういった趣味が高じて、高専を卒業した後は地元、愛媛県にある信販系の会社の電算室(コンピューターを用いて計算やプログラムを開発する部門)に就職しました。
もともと化学専攻の学生だったので、就職の面接の時には「おまえ、本当に電算わかってるのか?」と聞かれたりしたんですが、そこはもうハッタリで「はい!できます!」と言い切って。笑
最後は、若くて適性がありそうだから「まぁいいだろう」ということで、なんとか採用してもらうことができました。
入社するまでに、「これを読んでおくように」とドサッと山のような書籍や書類を渡されて、入社日まで必死にCOBOL言語やシステムについて勉強したのを覚えてます。
フリーのエンジニアとして1983年に独立
入社後は、電算室でシステム開発に従事していたのですが、プログラミングの仕事に慣れてくると「先輩の作ったプログラムが読みづらい」と感じることが増えてきました。
そこで冗長なプログラムをコンパクトに読みやすくする為、社内のプログラムを少しずつ書き直していたら先輩に認められて、「私にしかできない」という重要なプログラムを何度も任されるようになりました。
そのうち、その会社の制約の中で自分が出世していくよりも、一人で自由に仕事がしてみたいと思い独立しました。
独立したのは1983年で、当時は「フリーランス」という言葉もありませんでしたし、エンジニアが会社に所属しないで働くことが珍しい時代だったので驚かれましたね。
当時、エンジニアという仕事は『35歳定年説』という考え方が当たり前のように言われ、単価も納期もタイトで無償残業が多いという劣悪な環境も多く、労働環境の悪さから体力が持たなくて一定の年齢になるとエンジニアを辞めていくというのもよく聞きました。
今は当時と比べるとかなり環境が変わっていますが、今でもタイトな環境に身を置いてる方もいらっしゃると聞きますね。
自分としては、独立することでクライアントから直接仕事を請けて、それなりに高い単価でゆっくりと開発ができるようにしたいという想いもあって独立しました。そこから4年半ほど個人事業主として働き、その後に会社を設立しています。
当時は私のような働き方をする人はほとんどいなかったのですが、自分としてはよい選択だったと思っています。もしダメでも「若いのだから他の働き口を見つければいい」という選択肢もあったので、若いうちから独立することにはそこまで抵抗もありませんでした。
いち早く、パソコンの可能性に目をつける
ーーかなり若い頃に独立をされていますが、当時はどのような考え方でお仕事をしていたのでしょうか。
私が独立した当時(1980年代)は、コンピューターといえばメインフレーム(大型コンピューター)やオフィスコンピューターなど、企業やオフィスのフロアに1台ずつ導入されるようなものがメインで使われていたのですが、私はずっとパソコン(個人で利用するコンピューター)に注目していました。
まだあまりパソコンが普及していない頃から、パソコンだけでホテルの管理システムを構築したり、みかん工場のコントロールシステムを制作したりしていましたね。
当時のエピソードとしては、ホテルの管理システムをたった一台のパソコンで、エアコンのON/OFFや電話料金の課金、別部門のレジの集計、それらをすべてフロントで一括精算できるというものを作ってました。そのためにパソコンと電気回路を繋いだりして、かなりの力作でしたね。笑
当時それを見た大手システム会社の人がたいそう驚き、「そんなものを売られたらうちが商売できなくなる」と言われたのを覚えています。笑
その頃はそういうシステムを実現するためにはパソコンよりも大きなコンピューターを複数台投入して構築するというのが当たり前でしたから、それをパソコン一台で構築してしまったので、すごく驚かれました。
顧客が求めることを、シンプルに実現
私はエンジニアとして、「お客さんがやりたいことをいかに簡単に、安く実現するか」という事に信念を持って仕事をしてきました。時間をかければ立派なシステムをつくることもできるのですが、それでは機能面も料金も嵩んでしまう。
この部分は時代が変わっても、根幹の考え方として変わってないですね。結局システムはお客さんの目的を達成するために作成するものなので。
パソコンからスマホにインターフェイスが変わったり、利用できる技術や言語が変わったりしていきますが、求められていることは常にシンプルです。自分の仕事としても技術的にあまり最先端に行きすぎないように気をつけています。
どの技術にも流行り廃りがあるので、流行っているけれども安定しない技術を採用すると管理に手間がかかったり、軌道修正に時間が掛かったりしますので、逆に一歩遅れているくらいの安定した技術をつかうようにしています。
新しい技術を使うべきだという意見もありますが、経験的に特に大事にしてるのは、安定して動くこと、継続的なメンテナンスがいつまでもできること、その軸はぶらさずに仕事をするようにしています。
プログラムは「私の分身」
エンジニアの仕事のやりがいは、システムを通じて人や社会に貢献できることだと思います。「ありがとう」とか「便利になった」と喜んで貰えると嬉しいですし、これまでに携わってきたプログラムは私の分身や子どものようなものだと思っています。
自分の手を離れた遠いところで、私が書いた通り、考えたとおりに動いて、誰かの代わりに仕事をしてくれているんです。自分が作った、生み出したものがいつまでもそこにいるということがこれまで仕事の自信として積み重なってきました。
私がつくって長く活躍しているものだと数十年間、メンテナンスを重ねながら安定して働いてくれているプログラムもありますし、いいものを作ったからこそ逆に他に変える必要がないのかなと思っています。
現在もお付き合いがあるお客さんは、かなり長い期間ご一緒させていただいている企業が多いですね。
ーー今はエンジニアとして活躍されながら、CodeCampの講師としても働いていただいています。どのようなモチベーションで講師業をスタートされたのでしょうか?
CodeCampで講師をする前からパソコンの講師としても働いていたり、個人で初心者の方向けにHTMLやCSS、JavaScript、PHPを教えるサイトを運営していました。
そのサイトがそれなりにPVを集めていたのでせっかくだから広告でも入れようと思って探して偶然見つけたのがCodeCampでした。
最近はこういうサービスもあるのかとサイトを眺めていたら『講師募集』という文言を見つけて「これは向いてるかも」と思って講師募集にエントリーしました。もともと、自分が持っている技術を誰かに継承していきたいとずっと思っていたんです。
CodeCampでプログラミングの未経験者を教える上で心がけているのは、「できるだけ優しく」ですね。私が熱心に教えようとするあまり、時に口調がきつく感じられてしまう時もあるようです。笑
受講生に伴走して、ゴールを目指す
それと、未経験でプログラミングを学びにくる方が多いので、あまり専門的な言葉を使いすぎないように、例え話として家を建てる時の話や大工道具の使い方のような日常のものになぞって説明をすることがありますね。
よく話しをする内容で言うと、コンピューターに水を飲ませる動作を依頼するならどうしますか?と、手からコップまでの距離や握り方、握る時の強さ、水の量、コップを傾ける角度は?どれくらいの時間続ければいいか?等、プログラムをつくるには一つ一つ丁寧に教えてあげなければいけないので日常を例に出して説明しています。
教えていく中で、受講生の方が「判りました!」とか「なるほど!」と言ってくれた時は本当に嬉しくて、心の中で秘かにガッツポーズしてます。笑
「あぁよかった、教えていてよかった」と思える瞬間です。講師という仕事を通じて受講生さんのプログラミングへの理解が進んだり、できるようになったことを喜んでくれる瞬間を大切にしています。
これからエンジニアを目指すならば、くぐり抜けなければならない関門がいくつもあるので、そこに向かって受講生さんと一緒に前進していくわけです。
その過程で諦めそうになったり、自分の苦手な所を避けて通ろうとする人もいるのですが、そこをぐっと堪えて後押しし、一緒にくぐり抜けられた時は自分のことのように嬉しいですね。
プログラムを書くこと、人を育てること
私が自分の持つ技術を受講生の方に教えた結果、その人が一人前のエンジニアとして働いてくれるようになるのは、私がプログラムを書くことと同じことだと思っています。
これまでにたくさんのシステムを作成してきて、自分の分身となるシステムが色んな所で動いてくれていますが、それを作成するためのノウハウや考え方は継承することができていなかったんです。
自分がこれまでに好きで磨きこんできた、考え方や思想を誰かに伝えていきたい。それを教えられる場があるのはすごく嬉しいですね。理解力を持った受講生の方には、どんどん深く私の技術や考え方を伝えるようにしています。
それらをインストールした分身が、私の手を離れ、いずれ一人で活躍できるようになる。講師という仕事を通じて一人でも多くそういった技術者を育てていきたいですね。
今は人生100年時代といわれていますが、現役で働き続けるためにはしっかりとした地盤を作ることが大切だと思ってます。
プログラミングは言語が変わっても基礎の部分は共通するところが多いので、一番根底になるところをガツンと固めてもらって、揺るぎのない地盤の上に、何が乗ってもぐらつかないようになってもらえればな、と。
エンジニアは、人をつなぐ架け橋になれる
ーープログラムを書くことと、人を育てることが同じという考え方は仰る通りですね。これからエンジニアを目指す方へのメッセージをお願いします。
私からみなさんに伝えられることは、ものを作る喜びですよね。出来上がったものが自分から離れて誰かに使ってもらえる喜びです。
相手の為を思って一生懸命考えて作ったものが、喜ばれていつまでも使ってもらえるというのは本当に素晴らしいこと。
自分が作ったものの向こう側には人がいる、そういう繋がりがあることを意識しないと生きがいや楽しみも感じられません。これからエンジニアになる方には、人と人や人とモノを繋ぐ橋渡し役をしているということを意識してプログラムを書いてほしいですね。
また、プログラムを書くことが仕事のエンジニアであっても、お客さんの生の声を聞くことが何よりも大切です。何がやりたいのか、いま何に困っているのか、それを聞いて解決していくことがエンジニアのモチベーションになります。
利益を追求するだけでなく、仕事をした結果として一体誰がどれくらい喜んでくれているのか、しっかりフィードバックを受けることが大切です。
技術の面白さを伝えていきたい
コンピューターやプログラミングの面白さは、人を楽にしてくれるところにあると思います。「なんで自分がやらなければいけないの?」という問題を短時間で処理してくれるようになったり、プログラミングを通して機械を操る事だと感じてきました。
既にコンピューターやプログラミングをはじめて40年ほど経ちますが、自分の目で技術がどんどん進化していく過程を見ることができているのは、すごく楽しいんですよ。
「今はこんなに便利なものが出たのか!」と、昔の苦労を思い返しながら触るようにしています。
私の場合は好きでこの仕事を続けているので苦にならないんですが、お金のために働いている人だと「また新しいことを覚えなきゃなきゃいけないのか」とマイナス思考になったりするので勿体無いと思いますね。
自分としては、ただコンピューターを弄ることが好きでこの職についてますが、それがちゃんと収入に繋がっているというのは恵まれていると思います。好きなこと、やりたいことを仕事にできていることは本当に幸せです。
新しい技術を覚えることで、今まで大変だったことがどれだけ楽になるか、その技術がどれだけ素晴らしいものなのか、感動を持って人に伝えられるようにあり続けたいですね。
CodeCampでは指導している受講生によく「私でも一人前のエンジニアになれますか?」と聞かれることがあるんですが、私としては「レッスンを受けて知識が付けば勝手に仕事ができるようになるというわけではないですからね」と少し厳しめに伝えるようにしています。
プログラミングを自分の仕事にしようと思っているのであれば、技術の面白さや素晴らしさにも関心を持ってもらえたらと思います。
【お知らせ】CodeCampでは講師を募集しています
プログラミング/Webデザインの講師として働きたい方はこちらからご応募ください!
https://codecamp.jp/lecture_offer