やればやるほどプログラミングはおもしろい!
  • facebookページ
  • twitterページ
  • 2017.09.23

    やればやるほどプログラミングはおもしろい!

    何事でもそうですが新しいことを始めたときは始めはなかなかうまくいかないものですが、そういう状況であってもどこかには面白く感じる部分はあるものです。

    また、プログラミングでは「うまく処理できた」、「素晴らしいアルゴリズムを思い付いた」。という場合はとても面白く感じるのではないでしょうか。

    今回はそんなプログラミングの面白さをスキルレベルやアルゴリズムなど、様々な角度から見てみましょう。

    プログラミングの魅力・面白さとは

    初心者

    初心者がプログラミングに対して感じる魅力・面白さの1つは「動く」ということでしょう。どんな小さなプログラムであったとしても自分で作成したプログラムが動くのを見ると嬉しく感じ、プログラミングの面白さを感じることができるでしょう。

    2つ目としては、「バクが取れた」ときでしょう。
    作って動かしはしたが想定の結果が得られない。初心者は特にこのような場面に遭遇するケースが多いでしょう。頭を悩ませていた、なかなか見つからなかったバグが直ったときはとても嬉しく感じ、プログラミングの面白さを感じることができるでしょう。

    初心者の場合は本当にちょっとした間違いからくるバグが多いものです。初めのうちはそれが分からないものですが、少しずつ経験を積むことで怪しそうな部分に鼻が利くようになってくるものです。そうなれば、さらにバグ取りの面白さに目覚めるのではないでしょうか。

    3つ目としては「成長スピード」ではないでしょうか。
    プログラミングは、昨日まで作れなかったプログラムが作れるようになる。と言った短期間での成長を感じることができる仕事です。
    どんな仕事であっても経験を重ねて初めてできるようになるものですが、プログラミングはある日突然悟りを開いたように目の前のモヤが晴れるような感覚が訪れます。そんな感覚を日々感じることが出来れば、プログラミングを面白いと感じることが出来るのではないでしょうか。

    中級以上

    中級者以上になったとしても初心者が感じることができる面白さも継続しますが、これらに加え任される作業範囲の拡大することによってより面白さが増すことが多いでしょう。
    初心者では任されることがなかったシステムの根幹に係る部分などを任されることも多くなります。難しい部分を任されると当然、責任は重くなりますが、その分、やりがいも感じることができ、これまでとは違った面白さを感じることができるようになります。

    フリーランス

    フリーランスは問題のある現場に颯爽と現れて難問題を解決し、颯爽と去っていく。そのようなイメージを持っている人もいますが、実際にはさすがにここまでのフリーランスエンジニアはそうそうお目にかかれません。

    しかしながらマンガのフリーランス像から大きく外れていないような「真のプロフェッショナル」と呼べる人もいます。それらフリーランスエンジニアの楽しみと言えば「どんな難しい案件なんだろう」という点でしょうか。
    大抵の案件を乗りこなしてきているフリーランスエンジニアにとって難しい案件はある種の面白さとなっているのでしょう。

    面白いアルゴリズム2選

    ここからは少し趣向を変え、面白いアルゴリズムを紹介します。

    マージソート(しめじソート)

    アルゴリズムと言えばソートが代表的でしょうか。昔からどうすれば一番効率的にソートが出来るのかはエンジニアの頭を悩ませている問題です。
    そんな数多くのソートアルゴリズムからいくつかある代表的なソートアルゴリズムから一般的には安定的(=元データがどのような並び方であってもソートにかかる時間がそれほど変わらない)と言われているマージソートを取り上げます。

    マージソートは簡単に言えば「対象となるデータをn分割し、それぞれの中で一番小さなデータを取りだし、その並べ替えが終わるまで繰り返す」というものです。言葉にするとイメージしにくいですね。
    それを分かりやすくしたものが、NHKの子供向け番組で放送された「しめじソート」です。これを見たエンジニアが個人ブログやSNSに掲載していますので検索してみてください。

    ダイクストラ法(最短経路問題)

    電車の乗換案内やカーナビの行き先検索などで用いられるアルゴリズムですね。
    スタート地点からゴールまでの最短経路(電車の乗換案内でどの電車乗ってどの駅で乗り換えるか)を求めるために使われるアルゴリズムです。エンジニアであれば一度は聞いたことのあるアルゴリズムでしょうし、どうやって実装しているか気になっている人も多いでしょう。

    ダイクストラ法は簡単に言えば「スタートから一番近いノード(電車の乗換案内であれば駅)を順次探しながら最短経路を求める」という事になります。
    ただ、これだけだと、一番近いノードに結果的に遠回りしてしまうことがありますので、一旦、最短と仮決めした経路を再評価しなおし、その結果、別の経路が最短であれば経路を更新する。というアルゴリズムになっています。
    こちらも言葉だけでは分かりにくいので参考URLを確認してみてください。

    まとめ

    今回はプログラミングの面白さをエンジニアのスキルレベル(初心者、中級者、フリーランス)ごとにご紹介しました。また、一般的に知られているアルゴリズムについてもご紹介しました。

    他にも有名なアルゴリズムには「クイックソート」や「ページランク」などがあります。それぞれのアルゴリズムを紹介しているサイトやアプリがありますので確認してみてください。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件