エンジニアのスキルアップにはアルゴリズムを学習したらいいかも!?

2018.11.12

こんにちは、フリーランス・副業エンジニア向け単価保証型の案件紹介サービスFindy Freelance社会人インターンの高橋(@YuukiTakahasi79)です。

エンジニアの皆さんは、「アルゴリズム」の学習をしていますか?私自身、アルゴリズム構築の訓練をあまりしないままエンジニアとなり、今ではアルゴリズムの重要性を感じております。そこで今回は、そもそもアルゴリズムとは何かを説明しながら、その学習方法についてもまとめてみました!

そもそもアルゴリズムとは

Wikipediaによると、下記のような記載がありました。

アルゴリズムとは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う

Googleの検索でもアルゴリズムは利用されていますし、アプリケーションを作製しようとすると必然的に利用することになります。

エンジニアがアルゴリズムを学習する意味

私自身の体験から、エンジニアがアルゴリズムを学習する意味について、以下のように考えています。

定番アルゴリズムを学習しておけば開発速度が向上する

以前、業務においてチェックボックスにチェックが入っているかを確認するという実装を担当することになりました。作業を依頼された際は「楽勝でしょ」と思っていたのですが、いざ実装を始めてみると、チェックボックスの状態をどのように確認するかというアルゴリズムを考えることができず、とても時間がかかりました。こういった実装を行う際に、定番のアルゴリズムを知っていれば、実装スピードも確実に上がるのではないかと痛感しました。

コーディングテスト対策になる

私が公務員からエンジニアに転職しようとした際に、アルゴリズムを構築する力があるか確認のため、コーディングテストを受ける機会がありました。テストの内容としては、ある文字列から指定された文字列を抽出するというものでした。エンジニアの実力を把握するには、アルゴリズムをどのように組むのかを確認した方がわかりやすいですよね。テストの結果は散々でしたが、その日からアルゴリズムの学習の重要性を認識するようになりました。

具体的にどう学習したらいいのか

私も学習中なので、効率的な学習ができているかはまだわかりませんが、以下の方法がとてもよかったと実感できました。

本で学ぶ

まずアルゴリズムの概要について理解するには以下の本がとてもよかったです。分量もそんなにないので、サクッと読むことができてよかったですね。ただし、コードについては書かれていないので、その点は注意が必要です。

アルゴリズムをはじめよう

実際にコードを書きながら学ぶ

本格的にコードを書きながら学習したいという方は、下記の本を写経するのもオススメです。この本はJavaScriptでゲームを作るというテーマで書かれています。例えば、オセロを作るサンプルがあるのですが、コマが反転するか判定するロジックを作製するので、アルゴリズムの勉強になります。ただし、タイトルに入門とありますが、中級者向けの内容だと個人的には思います。

ゲームで学ぶJavaScript入門 HTML5&CSSも身に付く!

アルゴリズムを学習してスキルアップをしよう!

私自身、今後のスキルアップする手段としてアルゴリズム構築を頑張ってみようと考えています。今では優れたライブラリなどもあるので、アルゴリズムを一から構築することは少ないかもしれませんが、エンジニアとして開発速度の向上、処理の内容を理解するという意味では、重要だと思います。

Findyでも「スキル偏差値」という、プログラミングスキルを偏差値として可視化するアルゴリズムを用いて、フリーランス/副業向け案件の受注のサポートや、中途転職のサポートを行っています。ぜひ一度試しに登録してみてください。

読んで頂きありがとうございました! 宜しければ、エンジニアの皆様はFindyでご自身のスキル偏差値を測定してみてください。

[正社員の方]
ハイスキルなエンジニアのプレミアム転職サービス Findy

[フリーランスの方]
フリーランス・副業エンジニア向けの単価保証型の案件紹介サービス Findy Freelance

また、Findyでは年齢や勤務形態を問わず、様々な働き方で採用をしています。興味のある方は、こちらからご応募どうぞ!

Findy Engineer Labを購読してみませんか?
エンジニアの働き方やFindyの技術的な話などをお送りします!
フリーランス・副業エンジニア向け
単価保証型案件紹介サービス

エンジニアにとって魅力的な、リモートOKで週2〜3可の案件をあなたの希望単価でご紹介サポートします。

担当より:
4月中盤から高単価の案件増加中!
CTO の佐藤も「リモートかつスキルアップできそう!」と気になるくらい案件がありますので案件の詳細を是非見てくださいませ!

https://freelance.findy-code.io/
  • Category

  • About

  • Service

    フリーランス・副業向け
    単価保証型案件紹介サービス

    ハイスキルなフリーランス・副業エンジニア向けに案件紹介

    https://freelance.findy-code.io/
    ハイスキルなエンジニアの
    プレミアム転職サービス

    スキル偏差値が高いエンジニアに、人気のテック企業からオファーが届く

    https://findy-code.io/
    リアルタイムAI求人票採点サービス

    AIを使ってリアルタイムに求人票を採点

    https://findy.us/