駆け出しエンジニアから抜け出すためのプログラミング学習のポイント





現在、プログラミングを学び始めたばかりの人であれば以下のような悩みを持っているかもしれません。

「駆け出しエンジニアを抜け出すためにどうすれば良いのか?」

「どのような学習や考え方ができれば初心者を脱することができるのか?」

こういったプログラミングに関する初歩で感じる疑問や悩みに対して解決方法を解説していきます。

汎用性の広いPythonを0から習得するためのフロー及び実際にPythonで開発を行い開発案件を獲得するまでの筋道について解説しているチュートリアル資料と

コーディングの参考となる実際にPythonを使って作ったツールのソースコードを無料で配布していますので、こちらも併せてご覧ください。

初心者・入門者でも30日間で学習できるおすすめPython学習方法

 

おすすめのPython学習サービスをまとめてみました。挫折することなく一直線にエンジニアを短期集中で目指している人はこちらから確認してください。 

【おすすめ】Python学習サイトPyQが初心者に選ばれる理由

プログラミングを学ぶ上で作りたいものがない人へ提案させてください

 

駆け出しエンジニアから抜け出すために

これからプログラミングを学習していく中で、プログラミングを本業あるいは実務に活かしていきたいと考えている人は、いかに駆け出しエンジニアの状態から抜け出せば良いかわかりません。

ここでは、さらなるスキルアップを目指しプログラミング挑戦したいという人に向けて、考え方におけるテクニックをご紹介していきたいと思います。

ただ、間違いなく言えるのが実務経験を早く積むことができる環境に飛び込みさえすれば、駆け出しエンジニアからは速攻で卒業できるはずです。

しかし、そのような環境を明日から獲得できる人も大奥はないはずです。

そのため、ぜひ以下の内容をプログラミング学習の中で実践していきましょう。

・理解していないコードをコピぺしないこと

・出力されたログを確認すること

・問題の見つけ方・切り分け方・見極め方を身に付けること

これらを一つ一つ解説していきたいと思います。

理解していないコードをコピぺしないこと

これは、駆け出しエンジニアの中でもかなりの人がこの行為をしてしまっているように思えます。

まずはじめにしなければならないのが、理解していないコードを利用しないことです。

決して間違った解釈をして欲しくないですが、自分の求めていたソースコードが見つかり、それをコピぺしてはならないということではありません。

ググって解決できるコードを見つけることもエンジニアとして立派なスキルであるため、コードを再利用することは時間短縮あるいは作業効率化においてとても大切なものです。

ただし、コピぺしたコードを理解しないまま利用してしまうとアウトです。

やはり、コピぺばかりしていてもエンジニアとしてプログラミングスキルは磨かれないままです。

常に、ネット・他者に回答を求めるだけのエンジニアになってしまう可能性があります。

また、基本的にはプログラミング業務は未知の課題をいかに解決しながら、目的となるツール・アプリケーション等を開発するための手段になるため、今まで取り組んだことのない作業に従事した際、まず間違いなく手が止まってしまうからです。

残念ながら、実務をこなしているはずの現役エンジニアの中にも、コピぺプログラマーと呼ばれるような人は一定数存在しており、改修作業を余儀なくされる瞬間も経験したことがあります。

このように、未知の課題に取り組んだり、エラーが当たり前のプログラミングにおいて、理解していないものを利用してしまうことは、問題が発生した時に困るのが自分自身に他ならないということになります。

そのため、わからないままコードを単にコピぺして利用するのは回避しましょう。

出力されたログを確認すること

こちらの取り組みに対しては、特にエラーログを読み込むことに着目して欲しいの考えています。

例えば、Twitter APIを利用した簡易的なツール開発を独自で取り組んでいたと仮定しましょう。

その際に、出力されたログでエラーが表示されていたとします。

駆け出しエンジニアの場合、このエラーログをまともに読み込まない人が結構います。

エラーログを翻訳したりどんな内容でエラーと表示されているのかを確認せず、「Twitter API 動かない」とか「Twitter API ツール 作り方 〇〇」のように、エラーログから推測されたワードで検索するわけではなく、あくまで取り組んでいる内容から推測されたワードを連想して検索し、類似したものがないかを探し始めてしまいます。

そして、類似したものがなければプログラムの記述を諦めるか、知見のある人に丸投げする気持ちで質問するかの二択になります。

これでは、残念ながら駆け出しエンジニアからいつまでたっても抜け出せませんし、エンジニアとして成長はほぼ皆無です。

エラーログを確認しながら、自分の記述したプログラムのどの行が間違いなのか、どの機能が不具合なのか、そもそもAPI制限などに準じているのか、プログラム以前にその他利用しているライブラリや実行環境に不備があるのか、様々な要因がエラーログから推察できます。

ただ、エラーログもプログラミング用語でまとめられているものが多いので、最初は単語を調べながら取り組むことになり億劫かもしれませんが、必ず成長につながります。

しっかりとエラーログから何が原因でプログラムに不具合が生じているのか、そしてエラーになる原因に仮説を立てて解決策を考え、エラー内容から連想されるワードを絞り出し、検索できるようになりましょう。

筆者も含め、おそらくエンジニアとして活躍している人は、ほとんどの人がエラーと真剣に向き合ってきた回数がかなりあると思います。

こういった経験を積んでいくと、未知の課題の中でエラーが起きたとしても、冷静に対処方法を施して解決に導けるようになります。

問題の見つけ方・切り分け方・見極め方を身に付けること

最後にお伝えしておきたいのが、プログラミングにおいて問題が発生した時どのように問題箇所を見つけ出し、切り分け、対処方法を見極めるかによってエンジニアとして数段レベルアップできます。

これは最も重要な内容になります。

もしもこの問題の見つけ方・切り分け方・見極め方を身に付けることができれば、プログラミングに限らずあなたがこれから取り組むであろう様々な未知の問題は解決できるようになるはずです。

問題の見つけ方を身に付ける

これまでいくつもの案件をこなしてきた筆者ですが、基本的にはクライアント側が抱えているプログラミング業務における問題を見つけてあげることから始まります。

なぜなら、クライアント自身が問題箇所を見つけ出せていれば、案件として話が振られないこともあるからです。

クライアント自身がエンジニア出ない限り、基本的にクライアントは成し遂げたい目的にプログラミング業務が絡んだ時、プログラミング業務のどこに問題が発生するのか理解していません。

だからこそ、プログラミング業務に知識・経験があるエンジニアに相談と依頼が舞い込んでくるわけです。

クラウドソーシングであるクラウドワークスやランサーズでたくさんの案件を確認してみると良いでしょう。

様々なクライアントが存在しますが、依頼内容を見てどのような問題を抱えているか、そしてその問題に対してどのような解決策が施せるか想像できるように訓練すると良いです。

問題の切り分け方を身に付ける

問題を見つけることができたら、次に身に付けるべきは問題の切り分け方についてです。

例えば、あなたが今何かデータベースを利用し、入力フォームのページからデータを送信し、データベースへ入力データを保存する操作を行ったと仮定します。

そして、入力データを確認するために、入力データをデータベースからゲットして出力する確認ページがあったとしましょう。

この時にエラーが発生し、データが表示されていない状態とします。

あなたはこのエラーに対してどのように問題を切り分けていくか想像できますか?

①:入力データの不備

②:入力フォームの送信プログラムエラー

③:データベースのエラー

④:データベースからゲットするためのプログラムエラー

⑤:確認ページの出力プログラムエラー

深く考えずに、これだけのパターンが切り分け方として瞬時に想像できれば、駆け出しエンジニアから抜け出すことができると思います。

もちろん、かなり雑な例え話をしてしまったので、詳細な要件定義や設計のもと動かしているアプリケーションであれば、さらに複雑な値の移行が繰り返されることになるかもしれません。

それでも、様々な問題に出くわした時に問題をすぐに切り分けられる力は大切です。

問題の見極め方を身に付ける

プログラミング業務における問題を見つけ出し、切り分けたのち、最後に考えるのが見極め方になります。

問題を見事に見つけ出し、問題の箇所をしっかりと切り分けられたとしても、どの箇所から手をつけるか間違えてしまうと、時間がものすごくかかり効率性や生産性が落ちてしまいます。

プログラミング業務は、徹底されたスケジュールの中で取り組むことが非常に多いため、未知な課題や問題に対して、最適な解決方法を瞬時に見極めて期限の中で取り組む必要があります。

そのため、切り分けた課題や問題の中でも取り組まなければならないものに優先順位を付け、おそらくこの課題や問題を解決すれば、プログラムの修正は捗るだろうと考えられるようにしましょう。

つまり、問題の切り分け方というのは問題に対して様々なアプローチを考えることであり、問題の見極め方はそれらのアプローチの中でどれが正しいものかを判断・選択することです。

まとめ

いかがでしたでしょうか?

ここまでで、駆け出しエンジニアを抜け出すためのプログラミング学習のポイントについて解説してきました。

・理解していないコードをコピぺしないこと

・出力されたログを確認すること

・問題の見つけ方・切り分け方・見極め方を身に付けること

この3つのポイントを念頭に置いて、プログラミング学習を継続するとまず間違いなく駆け出しエンジニアを抜け出すことができるはずです。



ABOUTこの記事をかいた人

sugi

大学卒業後、IT企業に就職を果たす。システム開発・人工知能に触れながら大手企業と業務をこなす。2年半後脱サラし、現在フリーランス活動中。 2019年2月から起業する予定。 自社サービス及び製品を開発し、売り上げを立てている。