えっ? わかる? やっぱり?
そうなのよ、あたし、今、恋をしてるの!
最近出会った人(兎?)なんだけどね。
えっ? ルックスはそうでもないわよ。身長も35cm位で高くないし。
仕事? 週に3日バイトしてるってー。生活キツそうよ。
無口でほっとんど喋んないしね。
でもね、その人(兎?)、真っ直ぐな赤い瞳で(白兎??)
「趣味はプログラミングだ」って言うのよ!
なんだか知的でしょー!? インテリジェンスーって感じでときめいちゃった!
あたしの周りなんて、亀と駆けっこしてる奴ばっかりだもん!
お近づきになるために、あたしも趣味でプログラミング、始めようと思うのよね。
・・・でもさ、よく考えたら・・・
プログラミングって、趣味でやれるもんなのかしら?
仕事がプログラマーってのはよく聞くけど。
実際、楽しんで続けられるのかなぁ?
こんな疑問にお答えします。
本記事の内容
本記事の信頼性
IT業界歴 20年、現役のプログラマーであり会社の経営者でもあります。
結論・プログラミングも趣味の一つになります!
コロナのせいで気軽に外出は出来ないから、
って人、多いですよね。
筋トレ器具を購入したり、ゲーム機を買ったり、楽器を始めてみたり・・・。
そんな中、趣味としてプログラミングを始めてみたいって方も少なくないようです。
一般的に「プログラミング」は「仕事の一つ」として認知している方も多いですが、完全な趣味として「楽しむために」プログラミングをやっている人がいるのは事実です。
でも、他の趣味と違って、腕立て伏せとか、プレステ5の新作RPGとか、ギターとか・・・っていう具体的なイメージが掴めないんじゃないでしょうか?
今回は、
- 趣味としてプログラミングを始めるとどんな事が出来るのか。
- そもそも趣味として楽しめるのか。
- 仕事としての違いは何なのか。
その辺についてお話ししたいなと思います。
プログラミングを始めたら何が出来るのか。
「プログラミング」とは何なのかに関しては、別の記事で詳しくお話しさせて頂いておりますが(※「プログラミングは独学できるか」)、端的にお話ししますと、
なので、「プログラミング」が実際に何をやってるのかというと・・・
そうなると、趣味でプログラミングをするというのが具体的に何をしてるのか、というと・・・
ですが、何の目的もなくただただタイピングを楽しんでいる「カタカタ中毒」な訳ではなく、指示書を書いて最終的に何かを作り上げるために作業しているんです。
まあ、単純にプログラムを書く事自体が好きな人もいるんですが、基本的に「趣味でプログラミングをする楽しみ」というのは「何かを生み出す楽しみ」とも言えると思います。
では、具体的にどんなものを作り出す事ができるのでしょうか。
プログラミングで何を作るか。
プログラミングで作れるものは数限りなく存在しますが、ざっくりカテゴリー分けすると下記の様になります。
- WEBサイト(WEBアプリ)
- ゲーム
- ロボット
趣味でこんなの作るの?
ミラクル大変そうっ!!
上記にはスマホの計算機から宇宙船に搭載する制御システムまで、つまり、趣味として楽しんで作れる程度のものから選ばれた人類のみが超絶高等技術を使って生み出せるものまで、幅広く含まれます。
趣味で始めるのであれば、とりあえずはごく初歩的でシンプルな目標に向かって始めてみれば良いのです(もちろんいきなり宇宙探索機作成を目指してみてもいいですが)。
1.WEBサイト(WEBアプリ)
私、プログラマーとしてIT業界に就職してから20年以上が経過致しました。
長い年月、おびただしい量のプログラムを書き続けてきたわけですが、今思えば最初にプログラミングで作ったのは
まあ、現在はネット上でWEBサイト(WEBアプリ)作成のための無料ツールを手に入れる事が出来ますので、プログラミングの能力がなくてもWEBサイトの作成は可能なんですが、プログラミングを学ぶ事でオリジナリティのあるデザインや動きを加える事が出来ます。
より魅力的で、より愛着のある「作品」として仕上げる事が出来ようになるわけです。
WEBサイトと言ったら、「ヤフー」などのニュースサイトをイメージする方が多いと思いますが、「アマゾンなどのショッピングサイト」や「保険の申し込みページ」など「WEBページ」と呼ばれるものの中で「アプリ」として機能しているものも多数存在します。
今や小学生から老人まで、先進国からジャングルの奥地にまで普及した「スマートフォン」。いつのまにか、「電話がおまけの機能」と思われる程に便利な電子機器になりましたが、そのスマホも
ためしに、お持ちのスマホからアプリを全部消去してみて下さい(鬼)。
これならガラケーの方がいいやって感じるはずです。
そして、つまるところ、その大事な「アプリ」も「プログラミング」から作られています。
プログラミングを学べば、自分の作った自分だけのアプリを自分のスマホで使える様になる。
なんだか、ワクワクしますよね!
2.ゲーム
もともとゲームが趣味で、その延長でプログラマーになりましたって人は沢山います。
もちろん、「最新技術を駆使した新作をプレイする」のも大きな楽しみですが、ゲーム好きあれば自分でゲームを作ってみるというのも魅力的なゲームの楽しみ方じゃないですか?
子供の頃にそれを夢見た人も少なくないでしょう。
実際に、オリジナルのRPGを作るゲームも発売され結構な人気でした。
(※名作「RPGツクール」の新作はこちら!)
このゲームでは、言うなれば「決められた選択肢を組み合わせてゲームを作り上げる」のが限界でしたが、プログラミングを学べば一からあなたのオリジナルゲームを作る事が出来ます。
流石に全世界が泣いた。ドラクエばりの超大作を趣味で作るのは現実的ではないかも知れませんが、最近ではスマホ用に作られた、単純なモバイルゲームなんかも主力ですし、ひとまずそれなら自分にも出来そうな気がしませんか?
もちろん、簡単なところから始めて
3.ロボット
とお思いになるでしょうか。
ところがそうでもありません。
流石に、「ドラえもん」まではやり過ぎだし、趣味で「ペッパー君」もハードル高すぎでしょうけど、簡単なものなら小学生でも作れます。
ご存知の方も多いかと思いますが、
なぜなら、子供はおもちゃやロボットが大好きですからね。
最後にプログラミングで動かしてみる
超羨ましいですよね!
こんな夢の様なロボットが、各メーカーから「プログラミング学習教材」としてたくさん販売されております。
(※今人気のプログラミング教材ロボはこちら!)
うちの子はまだ小さいですけど、いずれこんなので遊んでたら
なんて壮大な人生でしょう。マーベラス。
というわけで、実際のプログラミング作業だけをイメージすると、趣味として何が楽しいのかさっぱりだと思いますが、その作業が自分の大好きな何かを生み出すための作業だと考えると、もしかするとコレは「生涯の趣味」になりそうな気さえしますよね!
どうやってプログラミングを覚えるのか。
ご存知の通り、プログラマーは
こういった状況に合わせて、手軽にプログラミングを学ぶための手段は増え続けています。
書籍はもちろんのこと、プログラミング学習サイトも多くあります。
本腰を据えて学ぶつもりがあれば、有料のスクールという選択肢もありますね。
オフラインとオンライン、自身の好みや都合に合わせて選べます。
そもそもプログラミングは「挫折」の多い学習です。行き詰まった時に、
まあ、出費は平均して20万円前後かかりますが、完全独学ですと楽しさを感じる前に何が何だか分からなくてやめてしまった、なんてもったいない事になってしまう可能性もあります。
末長く続ける趣味に対する初期投資としては決して高くないんじゃないでしょうか。
(※こちらの記事もどうぞ ⇒ プログラミング学習に挫折しそうなあなたへ)
ただ、注意点も一つ。
スクールに通えばプログラミングの全てを覚えられるというわけではありません。あくまで導入部分です。
自分で解決する能力を身につける、というのも大事な学習の一つだという事は覚えておきましょう。
ゆっくりたっぷり、落ち着いて時間をかけて問題解決にあたってもいいんです。
だって、趣味ですもん。
仕事として始める「プログラミング」と何が違うのか?
さあ、プログラミングの先に待ち受けている魅力を知って、貴方もワクワクウズウズモヨモヨしてきたんじゃないでしょうか?
ですが、同時に貴方の中に新たな疑問も生まれているのではないでしょうか?
趣味で行うプログラミングと、仕事で行うプログラミング。
一体、何が違うのでしょうか?
結局のところ、どちらも「プログラミング」を用いて何かを作る、という作業に違いは無いように感じますよね。
しかしながら、同様の作業をしている様でも、両者の間には根本的な違いが存在します。
これに関しても別の記事で詳しくお話しさせて頂いておりますが(※プログラミングは独学できるか)、プログラミングの世界に身を投じるというのは
そんな中、進路が定まらず、漂い続けて溺れてしまわない様に、
趣味とするか仕事とするかでは、そもそもの目的地が異なるので、そこに至る航路も手段も、当然変わります。
では、具体的には何が決定的に違うのでしょうか。
「何のために作るのか」が違う
プログラミングを通じて様々な物を作れるようになる、という事はもうお分かりですね。
貴方は、何を作りたいと感じましたか?
ロボット?
それとも、最新のマッチングアプリ?
ですが、趣味で行うプログラミングで貴方が作るのは当然、「貴方が作りたいもの」であるはずです。
転じて、仕事としてプログラミングを行うのであれば
自分以外、誰一人として興味がないプログラムであったとしても、趣味であるならばそれを作り上げる価値がある。
これは大きな違いです。
目的地に至るまでの「期間」と「手段」が違う。
仮に、趣味で定めた目的地と仕事で定めた目的地が、すごく近かったとしましょう。
ほぼ同じ性格を持った、同じような機能のプログラミングを作り上げる、というのをゴールとします。
仕事でゴールを目指す際には、必ずタイムリミットが設けられます。
顧客が企業にシステム開発を依頼する際に、
必ず納品の期日が設定され、そこに間に合うように、各担当のスケジュールが決められるわけです。
ところが、これが趣味であれば、どれだけ時間をかけようとも、なんなら一生完成しなかったとしても、何ら問題ではありません。
プログラミングは、精神的な負担も少なくない仕事です。
「一生勉強」と言われるほど学ぶことは多いですし、「砂浜に落としたボタンを探す」と比喩されるように、ごく小さなミスを修復するためにひたすら原因探究を続けます。
加えて、タイトな納期までついてくると、正直やってられません。
さらに、仕事であれば、ゴールに辿り着くまでの手段、すなわち「プログラミング言語」も指定されるケースも多いです。
そうなった場合、使った事がなくても、もっと効率よく開発を進められる言語があったとしても、「定められた言語」を使ってプログラミングしなければなりません。
近年、初心者でも学びやすく使いやすい、かつ汎用性も高いプログラミング言語がたくさん登場しておりますので、自分の好きな言語でゴールに向かう事が出来るのも、趣味である事の強みです。
違いを一つ一つ紐解きますと、当然の事ですが、
好きこそ物の上手なれ
さて、趣味でのプログラミングと仕事でのプログラミング、その違いについて書かせて頂きましたが、実は、
仕事で作るプログラミングは最終的に販売して金になるが、趣味ではそうはならない。
ところが、最近では「副業とするために」もしくは「就職するために」、趣味としてプログラミングを始めようという話をよく聞きます。
もちろん、趣味として学んだプログラミングが、結果としてビジネスになる事はあるでしょう。
しかしながら,私は
プログラミングを仕事にするのが悪いとは微塵も思いません。
もっと言えば、仕事としても非常に魅力の高い仕事です。
ですが、「金を得るために趣味として学ぶ」というのは、完全に本末転倒であると思うのです。
趣味としてプログラミングをすることのメリットを軒並み失います。
そもそもにして、趣味の目的とは「楽しむ事」であるはず。
強敵を倒すための鍛錬の重要さを知るためにRPGをやるとか
より豊かに感性を磨くため、音楽を始めるという人はまずいないはずです。
趣味として、楽しみながら一生懸命取り組んだ先に、結果として成長や進化が待っているのです。
そもそもプログラミングの学習には目標設定が重要。
完全に「就職のためにプログラミングを学ぶ」となれば話は変わりますが、
もちろん、我々の業界には趣味でプログラミングを始め、その魅力に取り憑かれ、それを仕事とし成功した人も数多くいます。
しかし、一つ言えるのは、彼らは皆、すべからく「プログラミングを楽しんだ人達」であるという事です。
プログラミングは面倒なことの連続です。
独学で始めた人の9割は挫折すると言われています。
そんな中「自分のやりたい事をやり遂げる」
という欲求は、諦めずに学習を続ける強固なバックボーンとなる。
私は若い頃、ずっとギタリストになる事を夢見てました。
特に10代の頃は、寝る間も惜しんで、1日に8時間以上練習する事もよくありました。
完全に「ゾーン」と呼ばれる状態だったと思います。
友人達はそんな私をストイックだ、修行僧のようだと言いましたが、私にとってその時間は苦行ではなく、むしろ幸福なものでした。
何よりもギターを弾く事が好きだったからです。
好きこそ物の上手なれ。
ならば、プログラミングを「好きになる」べきであり、好きになるためには、「思い切り楽しむ」事が最重要ではないでしょうか。
さいごに。
さて、今回は
ただただ楽しむだけの趣味にするには、プログラミングは少々ハードルが高いかも知れません。
行き詰まったり、悩んだりする時間も多いことでしょう。
登頂するにはかなり高さのある山です。
しかし、その分、上り詰めた時の景色は格別ですよ!
子供の頃、思い描いた夢の景色が広がっているはずです!
さあ、皆さん! ご一緒に!!
「S・M・J・N」!
それ!
「S・M・J・N」!!
「S・M・J・N」!!!
※注 「S・M・J・N」=「好きこそ・物の・上手・なれ」。チャンチャン♪