プログラミングが楽しくない人は、「作れた!」という感動に出会えてないだけ

こんにちは、りんぬです。

最近Javaの案件に入ってます。

今までPL/SQLとかC言語を使ってきて、Javaは勉強しかしたことがなく、日々学びの連続ですが…

もう楽しすぎてしょーがないんですよ!

「作れた!」という実感が目に見える感動

なぜ、ここまでプログラミングを楽しいと感じることができたのかな〜と考えてみたんですけど、

たぶん今、ダイレクトに「作れた!」という達成感を味わうことができているからなんですよね!

今、Javaを使ってシンプルな画面を作る作業をしてます。

これがね、ちゃんと自分で作ってる感がハンパないんです!

というのも、

コードを打つ→コードに書かれている通りの画面が出てくる

という一見当たり前なことをしているのですが、

ちゃんと私の書いたコードが画面として目に見える形で反映されることに感動するんですよね。

例えば、こんな画面があったとして、

イメージ通りの画像にするために、試行錯誤してコードを打っていくと、

こ〜〜んなことをコード書いて試行錯誤を繰り返し、仕上がっていく過程を逐一見ることができるのです!

何をしているのかわからない時は辛かった

今まで実は、プログラミングに対して楽しいという気持ちは一切湧いてきたことがなかったんですよ!笑

どちらかと言うと「文系の私には向いてない職業なんじゃないかな〜」とうすうす感じつつも、仕事だからやっている、というような感じでした。

今考えると、いくつかの言語でプログラミングしてきましたが、

これと言って「今私が書いたコードがこんなところで役に立ってる!」っていう実感がイマイチ得られなかったんですよね〜

エラーばっかり気にして

コードを書く→エラーがないことを確認→テスト→納品

というような流れ作業的な仕事になってしまっていたことと、

目に見えづらい部分のシステム開発を担当していたことが多かったというのも大きな要因でしょう。

自分のプログラムがどこでどのように役立っているのか、というところをあまりわかっていませんでした。

これがピンとこないと辛いんですよね。

「こういうところで役に立ってるんだ!」という感動や誇りがない分、モチベーションも上がりづらいですし、

そうなると目が行くのは「エラーを解決すること」であり、ただひたすらエラーに追われることが仕事になってしまいます。

言語や現場によって達成感の感じ方に違いがある

先ほども書いた通り、可視化しづらい部分のシステム開発をしていたり、

流れ作業的にならざるを得ないくらい忙しい現場ではプログラミングの楽しさというものは感じづらいのかなと思ってます。

あとは、言語によっても達成感が目に見えやすいものと見えづらいものがあると思いました。

とはいえ、実際に仕事をしていると言語や現場を自由に選択できることは、なかなかありませんよね。

だから、現場では早期の段階でシステムの全体像を把握することが求められているんだな、とわかりました。

新しい現場に入った時に、必ず今携わっているシステムの説明がされるのですが、

これをどんどん質問するなりして早いうちに把握しておかないと、ただ言われたことをやるだけの製造マシーン(もっと言うとエラー解消係)にしかなれないわけです。

自分が何をやっていて、どこで役に立っているのかということを理解しないとモチベーションに繋がりませんからね。

私がオススメする楽しい言語

私がやったことがある言語は、

PL/SQL、C言語、Java、Ruby(勉強のみ)

です。

社会人でプログラミング始めてから一年で、わりといろいろな言語に手を出してる感じがしますが…笑

これは個人差もあるとは思いますが、私がやってて「楽しい!」と感じたのは、

JavaとRubyですね。

JavaもRubyも、けっこう直感的に書ける言語だなと思います。

つまり、「これを作りたい」というイメージが、コード書いて返ってきた結果(例えば画面とか)に素直に反映されやすい。

その中でも比較的Rubyの方が直感的要素が強くて理解しやすいので、

初心者が一番最初にやるならRubyをオススメします!

(というか、私が一年前に戻れるならRubyからやった方が絶対もっと早くプログラミング楽しい!ってなってましたね…)

いかに楽しくできるかを追求しよう

プログラミングは、もう日々勉強みたいなものです。

新しいエラーに出会って、なんとか解決してっていう繰り返し&積み重ねが自分のスキルになります。

ただ、そんなマゾいことプログラミング楽しい!と思えないと辛いだけなんですよ!

だから、「プログラミング楽しい!」といかに早い段階で感じられるかが、上達のカギだと思います。

プログラミング経験者もプログラミング初心者も、「楽しい!」を追求してお勉強していきましょうね。