第五十五回:プログラミングができるだけじゃ、プログラマにはなれないよ
今日は2020年9月20日です。実は最近「毎日、何か違うことをする」という試みをやっています。その一環として、今日はビール(発泡酒)を飲みながら、コラムを書いてみることにします。いやっふー!それでは今回もゆるく行ってみましょう。超不定期連載「分かりそう」で「分からない」でも「分かった」気になれるITコラムでございまぁす。このコーナーでは、各用語の説明ページでは取り上げにくいIT関連のネタをテーマに、だらだらと思いついたことを書いていきます。みなさんが「あぁ、なんか役に立ちそうな気もするけど、役に立たないかなぁ。でも、もしかしたら役に立つかも」と思える情報を発信できるように頑張ります!
はじめに
栄えある五十五回目のテーマは……ピヨピヨピヨピヨ(ぴよぴよ的ドラムロール)……じゃん!
プログラミングができるだけじゃ、プログラマにはなれないよ
です。
いつの頃からか「プログラミングの勉強」をする人が増えました。
杞憂かもしれませんが、そんな人たち(の一部)が「ちょっと誤解してるんじゃないかな?」と思うことがあるのでコラムで書いてみることにしました。
今現在プログラミングを勉強中の人には厳しい話かもしれませんが、プログラマの方(特にフリーランスのプログラマの方)にはご同意いただける内容だと思います。
気が向いたら読んであげてください。
ちなみに、お忙しい人向けに先に結論を書いておくと
プログラマとしてやっていくためには
1.プログラミングのスキルやノウハウ
2.プログラミング以外のスキルやノウハウ
の2つが必要で、プログラミングの勉強で学べるのは1だけだよ
です。
最後まで読んでくださる方は、この結論を知らないことにして読み進めてください。
プログラミングができるのは英語を話せるのと同じ
突然ですが、プログラムとは何でしょうか?
いろいろな説明の仕方があるでしょうが、私がよくする説明は
コンピュータさんに対する指示書
です。
コンピュータさんに対する「あーなったら、あれをやれ」「こーなったら、これをやれ」な指示がいっぱい書いてある紙がプログラムです。
それでは、プログラミングとは何でしょうか?
いろいろな説明の仕方があるでしょうが、私がよくする説明は
コンピュータさんに対する指示書を書く行為
です。
それでは、プログラミング言語とは何でしょうか?
今までの流れに合わせて説明すると
コンピュータさんに対する指示書を書くときに使う言語
です。
言い方を変えると
コンピュータさんに指示をするときに使う言語
ですね。
プログラミング言語も「言語」です。
大きなくくりで考えれば、日本語や英語の仲間です。
日本人に指示するときは日本語を使います。
アメリカ人に指示するときは英語を使います。
コンピュータさんに指示するときはプログラミング言語を使うのです。
つまり、プログラミング言語を学んでプログラミングできるようになった状態というのは
コンピュータさんに指示が出せるようになった状態
です。
ただ、それだけです。
英語を話せるだけでは通訳にはなれない
英語を話せる日本人は全員「日←→英」の通訳になれるでしょうか?
そんなことは、ありませんよね。
通訳になるためには英語を話せる必要があります。
それは大前提です。
ただし、英語を話せるだけでは不十分です。
通訳ならではのスキルやノウハウを習得しておく必要があります。
プログラマも同じです。
プログラマになるためには、プログラミングができる必要があります。
それは大前提です。
ただし、プログラミングができるだけでは不十分です。
プログラマとしてやっていく上で必要な、プログラミング以外のスキルやノウハウもあります。
これがフリーランスのプログラマとなれば、なおさらです。
会社に雇われているプログラマであれば習得の優先度が低い、営業や経理、あるいは経営のスキルやノウハウも必要です。
つまり
プログラミングができるようになっただけでは「在宅でプログラミングの仕事を請けて副業にする」なんてことは(不可能ではないでしょうが)現実的ではない
のです。
何故なら、プログラマとしてやっていく上で必要な、プログラミング以外のスキルやノウハウが習得できていないからです。
プログラミング以外のスキルやノウハウを学ぶ方法
前の節で
プログラマとしてやっていくなら、プログラミング以外のスキルやノウハウも必要だよ
と書きました。
それでは、どうすればプログラミング以外のスキルやノウハウを学べるのでしょうか?
いろいろな選択肢がありますが、一番手っ取り早いのは
どこかの会社に就職する
ことです。
起業直後の会社でもない限り、お仕事の流れは既にできあがっているのが普通です。
そのやり方でやってきて会社が存続しているのですから、ある程度の妥当性も担保されています。
ですから、どこかの会社に就職して、その会社のやり方を学ぶのが一番手っ取り早いです。
まぁ、就職ではなく、アルバイトでも取引を通じてでも良いですけどね。
いずれにせよ
どこかの会社のやり方を真似る
のが現実的です。
一から全部自分で考えて生み出すのは、大変な上に、上手くいく保証もありません。
プログラミング以外のスキルやノウハウを学ばなくて済む方法
あるいは
自分でお金になるプログラムやサービスを作り上げる
ことができれば、先の問題はクリアできるかもしれません。
自分で自分に依頼するのですから、見積書を作ったり請求書を送ったりする必要がありません。
商慣習とかも気にする必要は、ないでしょう。
プログラミングさえできて、お金になる物が作れれば、それでOKです。
それができる人は、かなりの少数派でしょうけどね。
可能性はゼロでは、ありません。
プログラミングができる状態はゴールじゃなくてスタート地点
結局、何が言いたいかと言うとですね。
(一部の例外を除いて)プログラマとしてやっていくには、もちろんプログラミングができないと話にならないけど、プログラミングができるだけでは足りないよ
ということです。
今プログラミングを勉強している人の中には「プログラミングをマスターして手に職を付けて、在宅でプログラミングの副業をするぞ!」みたいな考えの人もいるでしょう。
そのように考えている人の多くは、プログラミングができるようになった状態を準備期間の「ゴール」と認識しているはずです。
1.プログラミングができるようになる
2.ビジネスマッチングサイトとかでプログラミングの仕事を受注する
3.在宅で月に10万円くらい稼げたら取りあえず良いかな~
のような腹積もりでしょうか。
ちょっと厳しい言い方になりますが、認識が甘いです。
例えば「見積をください」と言われたら出せますか?
どんな項目を書いて、どれくらいの金額にするのが妥当か判断できますか?
お客さまから「良い感じにしておいてください!」のような曖昧な指示を出されたら、どう対処します?
お客さまの中には、丸投げしたくせに後からケチをつける人もいますよ?
請求書は、どのタイミングで送ります?
お客さまの中には、こちらから言わない限り、その話題に触れない人もいますよ?
プログラマとしてやっていく上で、プログラミングができるのは必須条件です。
ですから、プログラミングを勉強することは、方向性として間違っていません。
ただし、プログラマになるための道のりを少し短く捉えすぎてはいませんか?
プログラマとしてやっていくためには、特にフリーランスのプログラマとしてやっていくためには
1.プログラミングのスキルやノウハウ
2.プログラミング以外のスキルやノウハウ
の2つが必要です。
プログラミングを勉強して学べるのは、基本的に「1.プログラミングのスキルやノウハウ」だけです。
「2.プログラミング以外のスキルやノウハウ」は学べません。
まぁ、お客さまによっては「あぁ、この人は経験が浅いな」と判断したら、さり気なく導いてくれる場合もありますけどね。
そんなのは、有り得ないくらいの幸運です。
あなたがプログラマとしてやっていきたいのであれば「2.プログラミング以外のスキルやノウハウ」をどうやって学ぶかを考えておく必要があります。
「知り合いに仕事を回してもらう約束をしてあるよ」であれば、相手は事情を知っているので何とかなりそうですね。
「やってみないと分からないから、実際に仕事を請けて、痛い目に遭いながら学んでいくよ!」というのもアリでしょう。
どのような形を取るかはあなた次第ですが「プログラミングをマスターしたらすぐに稼げると思ったけど、そんなことなかったよ……」とだけならないように、ご注意ください。
まとめ
今回は
プログラミングができるだけじゃ、プログラマにはなれないよ
というテーマで好き勝手に語ってみました。
今回のコラムの結論は
プログラマとしてやっていくためには
1.プログラミングのスキルやノウハウ
2.プログラミング以外のスキルやノウハウ
の2つが必要で、プログラミングの勉強で学べるのは1だけだよ
です。
プログラマとしてやっていくためには、特にフリーランスのプログラマとしてやっていくためには
1.プログラミングのスキルやノウハウ
2.プログラミング以外のスキルやノウハウ
の2つが必要です。
プログラミングを勉強して学べるのは「1.プログラミングのスキルやノウハウ」です。
「2.プログラミング以外のスキルやノウハウ」は別の手段で習得する必要があります。
そのため
1.プログラミングができるようになる
2.ビジネスマッチングサイトとかでプログラミングの仕事を受注する
3.在宅で月に10万円くらい稼げたら取りあえず良いかな~
のような流れは(もちろん不可能ではありませんが)あまり現実的ではありません。
プログラミングができる状態はゴールじゃなくてスタート地点
だからです。
変な奴らにカモにされないためにも、どうやって「2.プログラミング以外のスキルやノウハウ」を習得するかは意識しておいてください。
思いつきで始めて惰性で続けている「分かりそう」で「分からない」でも「分かった」気になれるITコラムですが、いかがでしたでしょうか。また何かネタがあったら、ちまちまと更新していきます。コンゴトモヨロシク。






