IT プログラミング

プログラミングは趣味として成立するのか?【仕事と何が違うの?】

 

うふふ、最近あたし、毛並みが整ってると思わない?
えっ? わかる? やっぱり?
そうなのよ、あたし、今、恋をしてるの!
最近出会った人(兎?)なんだけどね。

えっ? ルックスはそうでもないわよ。身長も35cm位で高くないし。
仕事? 週に3日バイトしてるってー。生活キツそうよ。
無口でほっとんど喋んないしね。

でもね、その人(兎?)、真っ直ぐな赤い瞳で(白兎??)
「趣味はプログラミングだ」って言うのよ!
なんだか知的でしょー!? インテリジェンスーって感じでときめいちゃった!
あたしの周りなんて、亀と駆けっこしてる奴ばっかりだもん!

お近づきになるために、あたしも趣味でプログラミング、始めようと思うのよね。

・・・でもさ、よく考えたら・・・
プログラミングって、趣味でやれるもんなのかしら?
仕事がプログラマーってのはよく聞くけど。
実際、楽しんで続けられるのかなぁ?
悩む人


こんな疑問にお答えします。

本記事の内容

本記事の信頼性

記事を書いている現在の年齢が40歳
IT業界歴 20年、現役のプログラマーであり会社の経営者でもあります。

 

 

結論・プログラミングも趣味の一つになります!

コロナのせいで気軽に外出は出来ないから、

家で出来る新しい趣味を始めました
悩む人

って人、多いですよね。

筋トレ器具を購入したり、ゲーム機を買ったり、楽器を始めてみたり・・・。
そんな中、趣味としてプログラミングを始めてみたいって方も少なくないようです。

一般的に「プログラミング」は「仕事の一つ」として認知している方も多いですが、完全な趣味として「楽しむために」プログラミングをやっている人がいるのは事実です。

でも、他の趣味と違って、腕立て伏せとか、プレステ5の新作RPGとか、ギターとか・・・っていう具体的なイメージが掴めないんじゃないでしょうか?

今回は、

  • 趣味としてプログラミングを始めるとどんな事が出来るのか。
  • そもそも趣味として楽しめるのか。
  • 仕事としての違いは何なのか。

その辺についてお話ししたいなと思います。

 

プログラミングを始めたら何が出来るのか。

「プログラミング」とは何なのかに関しては、別の記事で詳しくお話しさせて頂いておりますが(※「プログラミングは独学できるか」)、端的にお話ししますと、

かずま
コンピューターに対しての指示書を書くことです。
コンピューターって「何でも出来ちゃう」ってイメージが強いですけど、その実、コンピューターの強みは「計算処理」と「記憶力」が超ヤバいだけであって、こちらから指示を出さないと何も出来ないんです。もちろん日本語で命令しても動かないので、「プログラミング言語」って言葉で、事細かに指示書を書いてあげなきゃなりません。

なので、「プログラミング」が実際に何をやってるのかというと・・・

パソコンカタカタやってる
悩む人
ってイメージ通りになります。

そうなると、趣味でプログラミングをするというのが具体的に何をしてるのか、というと・・・

やっぱりパソコンカタカタやってる
悩む人
って事にはなるんですよね(赤面)。

ですが、何の目的もなくただただタイピングを楽しんでいる「カタカタ中毒」な訳ではなく、指示書を書いて最終的に何かを作り上げるために作業しているんです。

まあ、単純にプログラムを書く事自体が好きな人もいるんですが、基本的に「趣味でプログラミングをする楽しみ」というのは「何かを生み出す楽しみ」とも言えると思います。

では、具体的にどんなものを作り出す事ができるのでしょうか。

 プログラミングで何を作るか。

プログラミングで作れるものは数限りなく存在しますが、ざっくりカテゴリー分けすると下記の様になります。

  • WEBサイト(WEBアプリ)
  • ゲーム
  • ロボット

え?
趣味でこんなの作るの?
ミラクル大変そうっ!!
悩む人
って声も聞こえてきそうですが、安心してください。
上記にはスマホの計算機から宇宙船に搭載する制御システムまで、つまり、味として楽しんで作れる程度のものから選ばれた人類のみが超絶高等技術を使って生み出せるものまで、幅広く含まれます

趣味で始めるのであれば、とりあえずはごく初歩的でシンプルな目標に向かって始めてみれば良いのです(もちろんいきなり宇宙探索機作成を目指してみてもいいですが)。


 1.WEBサイト(WEBアプリ)

私、プログラマーとしてIT業界に就職してから20年以上が経過致しました。

長い年月、おびただしい量のプログラムを書き続けてきたわけですが、今思えば最初にプログラミングで作ったのは

かずま
10代の時に自らがやっていたバンドのホームページでありました。
もちろん当時はスキルも知識も拙いものでしたので、今思えばちょっと照れ臭いくらいのクオリティでしたが、それでも自分の「作品」として強い愛着を持っていた記憶があります。

まあ、現在はネット上でWEBサイト(WEBアプリ)作成のための無料ツールを手に入れる事が出来ますので、プログラミングの能力がなくてもWEBサイトの作成は可能なんですが、プログラミングを学ぶ事でオリジナリティのあるデザインや動きを加える事が出来ます。

より魅力的で、より愛着のある「作品」として仕上げる事が出来ようになるわけです。

WEBサイトと言ったら、「ヤフー」などのニュースサイトをイメージする方が多いと思いますが、「アマゾンなどのショッピングサイト」や「保険の申し込みページ」など「WEBページ」と呼ばれるものの中で「アプリ」として機能しているものも多数存在します。

今や小学生から老人まで、先進国からジャングルの奥地にまで普及した「スマートフォン」。いつのまにか、「電話がおまけの機能」と思われる程に便利な電子機器になりましたが、そのスマホも

アプリが無ければほとんど何も出来ない
悩む人
というのが本当のところです。

ためしに、お持ちのスマホからアプリを全部消去してみて下さい(鬼)。

これならガラケーの方がいいやって感じるはずです。

そして、つまるところ、その大事な「アプリ」も「プログラミング」から作られています。

プログラミングを学べば、自分の作った自分だけのアプリを自分のスマホで使える様になる。

なんだか、ワクワクしますよね!

2.ゲーム

もともとゲームが趣味で、その延長でプログラマーになりましたって人は沢山います。

かずま
かくいう私も、その一人です。
私は小学生の時に買ってもらったファミコンがスタートでしたが、あれからゲームも大きく進化し、現実世界と見紛う程のグラフィックやオンラインでの同時プレイが当たり前になりました。

もちろん、「最新技術を駆使した新作をプレイする」のも大きな楽しみですが、ゲーム好きあれば自分でゲームを作ってみるというのも魅力的なゲームの楽しみ方じゃないですか?

子供の頃にそれを夢見た人も少なくないでしょう。

実際に、オリジナルのRPGを作るゲームも発売され結構な人気でした。
(※名作「RPGツクール」の新作はこちら!

このゲームでは、言うなれば「決められた選択肢を組み合わせてゲームを作り上げる」のが限界でしたが、プログラミングを学べば一からあなたのオリジナルゲームを作る事が出来ます。

流石に全世界が泣いた。ドラクエばりの超大作を趣味で作るのは現実的ではないかも知れませんが、最近ではスマホ用に作られた、単純なモバイルゲームなんかも主力ですし、ひとまずそれなら自分にも出来そうな気がしませんか?

もちろん、簡単なところから始めて

いつかは超大作で世界を泣かしたる
悩む人
という野望を持ってもいいですし、近年ではVRを取り入れたゲームも盛り上がっておりますので、夢は広がるばかりです。


3.ロボット

いやいや、ホームページやモバイルゲームは作れても流石に趣味でロボットは無理でっしゃろ!
悩む人

 

とお思いになるでしょうか。
ところがそうでもありません。

流石に、「ドラえもん」まではやり過ぎだし、趣味で「ペッパー君」もハードル高すぎでしょうけど、簡単なものなら小学生でも作れます。

ご存知の方も多いかと思いますが、

かずま
2020年からプログラミングが小学校の必修科目になりました。
幼い子供が初めて触れるプログラミングとして、ロボットはうってつけ!
なぜなら、子供はおもちゃやロボットが大好きですからね
我々が幼少期に経験したのと同様に、自分で組み立て、シール貼って、なんなら色を塗ったりまでして・・・
最後にプログラミングで動かしてみる
悩む人
うわーっ!
超羨ましいですよね!

こんな夢の様なロボットが、各メーカーから「プログラミング学習教材」としてたくさん販売されております。
(※今人気のプログラミング教材ロボはこちら!

うちの子はまだ小さいですけど、いずれこんなので遊んでたら

私、絶対夜中に一人で遊んじゃいます!
悩む人
おもちゃから始めてプログラミングに興味を持ち、ゆくゆくはドラえもん・・・いや、むしろ「鉄腕アトム」レベルのロボットを作る。

なんて壮大な人生でしょう。マーベラス。

というわけで、実際のプログラミング作業だけをイメージすると、趣味として何が楽しいのかさっぱりだと思いますが、その作業が自分の大好きな何かを生み出すための作業だと考えると、もしかするとコレは「生涯の趣味」になりそうな気さえしますよね!

 

どうやってプログラミングを覚えるのか。

ご存知の通り、プログラマーは

かずま
現在、最も需要が高い職業の一つであり、今後も間違いなく需要は上がり続けると言われております。
そんなわけでこの業界は「慢性的な人手不足」という状態なんですね。

こういった状況に合わせて、手軽にプログラミングを学ぶための手段は増え続けています

書籍はもちろんのこと、プログラミング学習サイトも多くあります。

本腰を据えて学ぶつもりがあれば、有料のスクールという選択肢もありますね。
オフラインとオンライン、自身の好みや都合に合わせて選べます。

そもそもプログラミングは「挫折」の多い学習です。行き詰まった時に、

「そもそも何が悪いのか」というのが自分ではわからない
悩む人
ケースが多いんですね。

自分で解決するのに1週間かかるものが、助言によって秒殺できた
悩む人
という事もよくあります。

まあ、出費は平均して20万円前後かかりますが、完全独学ですと楽しさを感じる前に何が何だか分からなくてやめてしまった、なんてもったいない事になってしまう可能性もあります。

末長く続ける趣味に対する初期投資としては決して高くないんじゃないでしょうか。
(※こちらの記事もどうぞ ⇒ プログラミング学習に挫折しそうなあなたへ

ただ、注意点も一つ。

スクールに通えばプログラミングの全てを覚えられるというわけではありません。あくまで導入部分です。

かずま
そもそも、プログラミングの世界は永遠に「トライ&エラー」です。
作ったら失敗して、自分で何が悪いのか追求して、解決策を見つけるために色んな情報を自分でかき集めて、修復して、という事の繰り返し。

自分で解決する能力を身につける、というのも大事な学習の一つだという事は覚えておきましょう。

ゆっくりたっぷり、落ち着いて時間をかけて問題解決にあたってもいいんです。
だって、趣味ですもん。

 

仕事として始める「プログラミング」と何が違うのか?

さあ、プログラミングの先に待ち受けている魅力を知って、貴方もワクワクウズウズモヨモヨしてきたんじゃないでしょうか?

プログラミング王に!! おれはなるっ!!!
悩む人
そんな幻聴さえ聞こえて来そうです。

ですが、同時に貴方の中に新たな疑問も生まれているのではないでしょうか?

趣味で行うプログラミングと、仕事で行うプログラミング。
一体、何が違うのでしょうか?

結局のところ、どちらも「プログラミング」を用いて何かを作る、という作業に違いは無いように感じますよね。

しかしながら、同様の作業をしている様でも、両者の間には根本的な違いが存在します。

これに関しても別の記事で詳しくお話しさせて頂いておりますが(※プログラミングは独学できるか)、プログラミングの世界に身を投じるというのは

かずま
延々と広がる情報の海に漕ぎ出す事に似ています。
覚えるべき知識・スキルが途方もない数存在し、さらにIT業界は今この時も進化し続けているので、その海はどんどん広がり続けています。

そんな中、進路が定まらず、漂い続けて溺れてしまわない様に、

かずま
プログラミングの世界において、何をゴールにするのか
という目標設定をする事が最重要課題の一つなんです。

趣味とするか仕事とするかでは、そもそもの目的地が異なるので、そこに至る航路も手段も、当然変わります。

では、具体的には何が決定的に違うのでしょうか。

 「何のために作るのか」が違う

プログラミングを通じて様々な物を作れるようになる、という事はもうお分かりですね。
貴方は、何を作りたいと感じましたか?

ゲーム?
ロボット?
それとも、最新のマッチングアプリ?
悩む人
趣味も仕事も、プログラミングを使っているのですから、同じ技術を使えば作り出せるものに変わりはありません。

ですが、趣味で行うプログラミングで貴方が作るのは当然、「貴方が作りたいもの」であるはずです。

転じて、仕事としてプログラミングを行うのであれば

かずま
「顧客の欲しているもの、作るように指示を受けたもの」を作らなければなりません。
そもそもの目標設定が、「プログラムを売って利益を得る」事なのですから、作り上げるものに対して貴方が興味が無かろうが魅力を感じなかろうが、それは問題ではないのです。

自分以外、誰一人として興味がないプログラムであったとしても、趣味であるならばそれを作り上げる価値がある。

これは大きな違いです。

目的地に至るまでの「期間」と「手段」が違う。

仮に、趣味で定めた目的地と仕事で定めた目的地が、すごく近かったとしましょう。

ほぼ同じ性格を持った、同じような機能のプログラミングを作り上げる、というのをゴールとします。

仕事でゴールを目指す際には、必ずタイムリミットが設けられます。

顧客が企業にシステム開発を依頼する際に、

いつでもいいから、出来たら教えてねーん
悩む人
なんて注文があるわけがありません。

必ず納品の期日が設定され、そこに間に合うように、各担当のスケジュールが決められるわけです。

ところが、これが趣味であれば、どれだけ時間をかけようとも、なんなら一生完成しなかったとしても、何ら問題ではありません

プログラミングは、精神的な負担も少なくない仕事です。

一生勉強」と言われるほど学ぶことは多いですし、「砂浜に落としたボタンを探す」と比喩されるように、ごく小さなミスを修復するためにひたすら原因探究を続けます。

加えて、タイトな納期までついてくると、正直やってられません。

さらに、仕事であれば、ゴールに辿り着くまでの手段、すなわち「プログラミング言語」も指定されるケースも多いです。

そうなった場合、使った事がなくても、もっと効率よく開発を進められる言語があったとしても、「定められた言語」を使ってプログラミングしなければなりません

近年、初心者でも学びやすく使いやすい、かつ汎用性も高いプログラミング言語がたくさん登場しておりますので、自分の好きな言語でゴールに向かう事が出来るのも、趣味である事の強みです。

違いを一つ一つ紐解きますと、当然の事ですが、

かずま
趣味で行うプログラミングは、「楽しむ」事に特化していると改めて感じますね。

好きこそ物の上手なれ

さて、趣味でのプログラミングと仕事でのプログラミング、その違いについて書かせて頂きましたが、実は、

かずま
金銭が発生するか否か
という違いもあります。

仕事で作るプログラミングは最終的に販売して金になるが、趣味ではそうはならない。

ところが、最近では「副業とするために」もしくは「就職するために」、趣味としてプログラミングを始めようという話をよく聞きます。

もちろん、趣味として学んだプログラミングが、結果としてビジネスになる事はあるでしょう。

しかしながら,私は

かずま
金銭を得るために学ぶ時点で、もはやそれは趣味ではないと考えています。
私も筋金入りのプログラマーです。

プログラミングを仕事にするのが悪いとは微塵も思いません。

もっと言えば、仕事としても非常に魅力の高い仕事です。

ですが、「金を得るために趣味として学ぶ」というのは、完全に本末転倒であると思うのです。

趣味としてプログラミングをすることのメリットを軒並み失います。

そもそもにして、趣味の目的とは「楽しむ事」であるはず。

強敵を倒すための鍛錬の重要さを知るためにRPGをやるとか
より豊かに感性を磨くため、音楽を始めるという人はまずいないはずです。

趣味として、楽しみながら一生懸命取り組んだ先に、結果として成長や進化が待っているのです。

そもそもプログラミングの学習には目標設定が重要。

完全に「就職のためにプログラミングを学ぶ」となれば話は変わりますが、

趣味程度に始めて、小遣いも稼ぎたい
悩む人
という程度の目標設定では、長く苦しいプログラミングの海は泳ぎきれない、そんな風に考えています。

もちろん、我々の業界には趣味でプログラミングを始め、その魅力に取り憑かれ、それを仕事とし成功した人も数多くいます。

しかし、一つ言えるのは、彼らは皆、すべからく「プログラミングを楽しんだ人達」であるという事です。

プログラミングは面倒なことの連続です。

独学で始めた人の9割は挫折すると言われています。

そんな中「自分のやりたい事をやり遂げる
という欲求は、諦めずに学習を続ける強固なバックボーンとなる。

私は若い頃、ずっとギタリストになる事を夢見てました。

特に10代の頃は、寝る間も惜しんで、1日に8時間以上練習する事もよくありました。

完全に「ゾーン」と呼ばれる状態だったと思います。

友人達はそんな私をストイックだ、修行僧のようだと言いましたが、私にとってその時間は苦行ではなく、むしろ幸福なものでした。

何よりもギターを弾く事が好きだったからです。

好きこそ物の上手なれ。

ならば、プログラミングを「好きになる」べきであり、好きになるためには、「思い切り楽しむ」事が最重要ではないでしょうか。

 

さいごに。

さて、今回は

かずま
「趣味としての」プログラミングについてのお話にお付き合い頂きました。
もし、貴方がプログラミングを始める気持ちになってくれたのであれば、プログラミングを始めるまでの準備についての記事がありますので、ぜひご覧になってください。(※プログラミングは独学できるのか

ただただ楽しむだけの趣味にするには、プログラミングは少々ハードルが高いかも知れません

行き詰まったり、悩んだりする時間も多いことでしょう。

登頂するにはかなり高さのある山です。

しかし、その分、上り詰めた時の景色は格別ですよ!

子供の頃、思い描いた夢の景色が広がっているはずです!

さあ、皆さん! ご一緒に!!
「S・M・J・N」!
それ!
「S・M・J・N」!!
「S・M・J・N」!!!


※注 「S・M・J・N」=「好きこそ・物の・上手・なれ」。チャンチャン♪

 

-IT プログラミング
-,

S