プログラマ全般

「普通のやつらの上をいけ」コラムから学べること-その2

更新日:

前の記事からの続きです。前の記事はこちら。

愚者は経験から学び賢者は歴史から学ぶ、という言葉があります。

そう、自分の経験から学べること以上に、他の人の書いたものから学んでそれを活かすとすると、自分の経験よりも多くのことを学び、より賢く人生に役立てられる、という意味の言葉です。

あなたが、これから新しくプログラミングを学ぶ人、だとすると、長年のプログラマがどのようなことで苦しむのか、ということについて伝えておきます。先人たちの大変さを理解した上でこれから学んでいく方がうまく世の中を渡っていけると思います。

普通のやつらの上をいけなかった古いエンジニアたちの苦しみ

私が苦しい。という意味ではないですよ。(w

かつては、苦しみましたが、今は乗り越えたといえます。でも、長年この業界を経験していますので、そういうエンジニアを見聞きしてきています。

さて、古いタイプと呼ばれるエンジニアの人たちは何に苦しんできたのでしょうか。

「普通のやつらの上をいけ」コラムでも書かれているように、プログラミング言語とは思考を支配してくる傾向があります。これは、自分が使いこなせる言語で解決できる問題のみを解決していき、それが学ぶ喜びや仕事の楽しみに通じることになります。

エンジニアは、その自分の得意な言語でプログラミングすることが「経歴数年以上」という技術を売りにして、ビジネスとして金になる場合、その言語でのプログラミングを極めていくことが商売の売上上昇や仕事を効率よくこなして短時間で成果をあげることにつながります。

逆に、自分が得意ではない言語でプログラミングすることは「未経験」の能力しか発揮できないために、仕事の生産性を高めてくれるとは、みなせなくなります。

つまり「得意な言語」は、どんどん勉強して技術スキルを上昇させることが容易にでき、自分の能力があがることが目に見えてわかるのですが、反対に「未経験の言語」は、学ぶことが大変で、明日あさっての仕事に直結しないために、勉強する価値を見いだせない、となります。

だから、勉強時間をいくらつかっても、新しい言語を学ぶことはしなくなります。

かなり前の話ですが、COBOLしかできない古いタイプのエンジニアはそのまま取り残されていってしまいました。汎用機という大型コンピュータのCOBOLの仕事は今でも少ないながらもあるけれども、新しいパソコンを使ったDBやクライアントサーバー形式の業務には対応できない、そんな人たちが大量にいて困っている、ということが日経コンピューターとかそういう雑誌で取り上げられていた時代もありました。

また、それよりかは新しい時代ですが、Java や OracleDBの PL/SQL や VB.NET /C# という言語のプロフェッショナルの人であっても、世の中で広くWeb開発に使われている Ruby / PHP / Python /JavaScript のコードはほとんどかけない、ということは、今もよく見かける風景です。

そのような旧世代の言語を操るプログラマは、ある人は非常に高い技術レベルを持ち非常に多くのプログラミングの勉強をしてきた10年以上の技術者にもかかわらず、最新技術を新人のときから学んで経験して1年2年という若手プログラマから見ると「最新の技術を知らない古いエンジニア」というように馬鹿にされたりします。

IT業界の今の話

自分自身は、.NET C#/VB.NET を自在に使えるエンジニアでした。結構深く理解していたと思います。今は全く使いません。もはや主に Windows だけでしか動かせないプログラミング言語には未来を感じないからです。

C#は素晴らしい進化をしていて、Xamarinによってスマホアプリも開発できるようになってきていて夢のある話ですが、残念なことに、Webブラウザ上で動かないので、言語としてのパワーが劣るということになります。

また、Windows系の技術者は非常にたくさんいるために、業界の需要と供給のバランス的にニーズが高いわけでもないので、ビジネスとして旨味が全くありません。

C#を、そしてWPFを相当極めているレベルで学んでいても、重宝されないわけです。

Windows系のシステム開発では平均単価(つまり月収)がとびぬけて高額な仕事というのがなく、また、「週に5日働く」仕事しかなく、「仕事現場に通勤して働く」、「エンジニアなのにスーツ」という選択がほとんどでした。

Web系プログラマだと、たやすく高額になり、「週3日働く」ような仕事でもOKで、「リモートワーク」でもOK、「エンジニアは私服に決まっている」という、仕事を選ぶことができます。

プログラマとして、重宝されていることがすぐに肌で感じます。

.NET系のエンジニアではどんなにスキルが高くても重宝されません。JavaScriptエンジニアでは大してスキルがなくても重宝されます。

.NET系エンジニアだけではなく、Java系エンジニアにも通じることでしょう。

では、どのようにするべきなのか

賢いやりかたを見抜くべきです。

古いタイプのエンジニアは勉強しなかったわけではないのに、うまくはやれなかった。それは「普通のやつらの上をいく」ことができなかったといえるでしょう。

「普通のやつらの上をいく」には、自分が学ぶもの、自分が投資するものを何にするか、ということです。

もちろん、プログラミング言語以外の勉強をして自分に投資するのもいいのかもしれませんが、ここでいいたいのはそういうことじゃないです。

どんなツールについて学ぶのか、ということです。ツールというのは、プログラミング言語や周辺技術などです。

そのツール選択が、将来の成功につながるからです。

「ほげ言語」のパラドックス

「普通のやつらの上をいけ」のコラムでは、非常にわかりやすく、「ほげ言語」について書かれていて、そこでプログラミング言語のパワーの序列について語られています。

LISPは優れた言語なのでしょう(よく知らないよ)。でも、日本のITのビジネスで「売れる」言語じゃないです。

現代における JavaScript とその他の言語には、はっきりと区分けできるパワーの違いがあります。

以前に書いた記事で、細かく説明しています。

JavaScript をお勧めします。これは Web で最も動かしやすい言語なので、そこが圧倒的なパワーになります。「普通のやつらの上をいけ」のコラムに従うと、JS以外の言語を使っている人たちには見えていないところが、JS技術者にははっきりと見えています。

「普通のやつらの上をいく」ために、勉強しなければならないことは当たり前にしても、勉強したものが無駄にならずに効率よく役に立つようなものになるように願ってます。

終わりに

最後に、ひとつ、紹介しておきましょう。ポール・グレアムさんの言葉も多くの開発者に影響を与えましたが、実際の所、私は、StackOverFlow を作り出した、ジョエル・スポルスキさん、の言葉にも大きく影響を受けています。そういう方も多いのではないでしょうか。

その、ジョエル・スポルスキさんは、ポールさんのこのコラムをちょっとだけ紹介して、痛快な文章を書いています。こちらのコラムです。

そう、ポールがLispでアプリケーションを作り、そしてLispでアプリケーションを書いたがために何百万ドルも儲けたと話しているのは知っているが、正直なところその話をかつて真に受けた人間は2人しかおらず、そのあと全部書き直すことになったから、彼らも同じ過ちを繰り返すことはないだろう。

このジョエル・スポルスキさんのコラムも、一昔前の時代のものと言えるので、メジャー言語として JavaScript は紹介されてはいませんが、この時代以降に、Node.js によって、JavaScript は「発掘」され爆発的にメジャー言語になりました。

興味深いコラムですよ。ジョエル・スポルスキさんはコンピュータ業界で一番、開発者に大きな影響を与える素晴らしいコラムを書いた方だと思いますが、その彼が言っているのは

「メジャー言語を選んでおけ」ということです。

その点、JavaScriptは、しっかりと合致するわけです。

そして、言語的にも普通よりパワーがあるので、それを極めれば、「普通のやつら」をやすやすと超えていけるでしょう。

例えば、日本の中で、正社員ではなく、フリーランスの道を選ぶということも、一つは「普通」を超えていける生き方です。

うまくやる、方法。伝わったでしょうか。

みなさんが、効率よく勉強という投資をし、そして、うまく成功していっていただきたいと思っています。

-プログラマ全般

Copyright© プログラミングアカデミー ゼロプラスワン , 2024 All Rights Reserved Powered by STINGER.