Programming

【プログラミング初心者向け】生産性を上げる方法6選

こんにちわ。しろです。
今回は、プログラミング初心者の方向けに、生産性を上げる方法をご紹介します。

プログラミング始めたばかり。仕事でどうにか生産性を上げたいけど、プログラミング言語の習得、ツールの使い方など覚えることが多くて何から手を付ければいいか分からない。

こういったお悩みを持っている方の参考になればと思います。

この記事の信頼性

僕は10年ほどWeb系、オープン系の開発に携わってきて、アーキテクト、システムエンジニア、プラグラマーといった様々な立ち位置で、20案件以上の開発に携わってきました。
その過程でたくさんの新人さん達とも関わり、作業で悩んでいる点をフォローした経験があります。
また、自社内の新人教育でプログラミングを教えたこともあります。
その経験から得た、プログラミング初心者が生産性を上げる方法をご紹介致します。

生産性を上げることのメリット

  • 仕事が早くおわる = 仕事が前倒せる。早く帰宅できてプライベートの時間が増える。
  • 仲間から信頼される & 評価があがる = 仕事が楽しくなる。給料UP?。

生産性を上げる方法6選

ツールのショートカットを覚える

開発現場では、必ず、統合開発環境(IDE)や、Visual Studio Codeのような高機能エディタを利用しているはずです。
それらの有用なショートカットキーを覚えておくと、微量ではありますが、生産性が向上します。

ショートカットキーでなくとも、それと等価の機能が実行できる操作手順でも良いです。
下記リンクを参考にすると良いです。

言語の基礎を理解する

どのプログラミングにも共通していると思いますが、以下の内容は最低でも抑えておくと良いです。

  • 基本データ型
  • 制御文(まずはif文、for文の2つでOK)
  • 言語標準のよく使われるAPI


世の中に溢れている便利なOSSやフレームワークたちも、細部まで深堀すると、この組み合わせで作られています。
つまり、プログラミングをする上では避けて通れないです。

これは、どの案件でも活きるスキルになるので、抑えておけば生産性向上につながります。

コピペしない

プログラミング時は、Webで調査するといったことにも時間を費やします。
そこで見つけたソースをコピペするのはなるべくやめましょう。

時間に余裕があれば、慣れるまでは手で書いた方が良いです。
手で書くことを繰り返すとプログラミングのタイピングに徐々に慣れてくるので、生産性向上につながります。

※プログラミングは、文章入力では使わない記号等を入力することが多いため。

下記サイトにて、各種言語に応じたタイピング練習が実践に近い感じで練習できます。
お試し下さい。

デバッグする

書いたら終わりではなく、デバッグして動きを見てみると良いです。

デバッグすると、理解できているつもりが、実はそうでなかった点が見えてきます。
その結果、手戻り作業も減り、自身がついて安心した心境でスラスラ書けるようになり、生産性向上につながります。

調査には見切りをつけて質問する

時間を決めて調査し、分からなかったら質問すると良いです。

質問することも生産性向上のスキルの1つです。
悩むだけで、1日が終わったら大変です。
※初心者の特権なので、堂々と行使しましょう。

注意点として、相手の時間を割くことを考慮し、

  • やりたいこと
  • その過程で起こった問題
  • 調査状況をまとめる(ここまでは調査できた。ここから先が分からない、という聞き方が良いかもです。)


をまとめて突撃すれば、自分にとっても相手にとってもベストです。

どう調査したらいいか分からないこともあると思いますが、その時は素直にその旨をお伝えして質問しましょう。
※質問されただけで怒る人なんて滅多にいないので恐れずに!!

自分が作るものの全体像をつかむ

いきなりかかない。
まずは、自分が作るものの全体像をつかむと良いです。

全体像が大ききく把握が難しければ、把握できる範囲で分割し、分割単位で作業を進めた方が良いです。
一見、いきなり書く人に遅れをとるように思われますが、以下の理由から追いつき・追い越せると考えます。

  • 効果的な作業順、共通化できる部分がみえてくる
  • 後工程の手戻りが減る


一つずつ解説します。

効果的な作業順、共通化できる部分がみえてくる

全体像がつかめてくると、共通化できる部分が見えてくるはずです。
Javaチックな例えになりますが、フェラーリ、ポルシェというクラスは作らないですよね?車というクラス1つで補えるはずです。

そういった共通化部分を先に作り、あとで複数の処理からそれを呼び出すよう作りこめば、効率的に作業でき、冗長コードの排除=生産性の向上につながります。

後工程の手戻りが減る

ものづくりには工程があります。
車を作るときでも設計 → 製造 → レビュー → テストという工程を経ているはずです。
(業界人ではないですがたぶんやってます。)

全体の把握、もしくは作業分割をせずに、いきなりゴリゴリ進めても、読みづらい、保守性が悪いという点で、レビューやテストの手戻り作業量増加、影響範囲が多岐に渡ってしまうので、工程全体でみると生産性が悪いという結果になります。

この節のまとめ

この節だけ長めになったので簡単にまとめますね。

  • 作るものの全体像をつかむ
  • 全体像把握が難しければ、可能な範囲で分割する
  • 効果的な作業順、共通化できる部分がみえてくる

その結果、最終的にはつぎはぎ感がなく、少ないコード量で、保守性の高いものができあができあがります!!

ちょっと面倒に感じるかもしれませんが、後工程の手戻りの面倒さに比べたらなんてことはないです。

読者さんへのメッセージ

いきなり完璧にこなすのは難しいと思いますが、何度も訓練すること少しずつ身につくはずです。
※普通人間の僕が身についたのだから、大概の人は身につくはずです。

ただ、僕自身も時間の都合上、完璧にこなせないことも多くあります。
時間には限りがあるので、完璧にこなすことばかりに捉われると期限オーバーなんてことも....。

なので、ある程度の質が見込めたら見切りをつけることも大切です。
自分の中でバランス調整しながら実践する、が吉と考えます。

おわりに

「タイトル、6選ではなく5選の方が切れがよくね?」と思いつつも、伝えておきたいことなので気にせず6選で投稿させて頂きました。
結局は「急がば回れ」ということですが、何事においてもおいしい近道はないと思いますので、無理せずに頑張って下さい。

最後に、この記事が、読んで頂いた方の生産性向上に少しでも貢献できれば幸いです。

というわけで以上になります。

-Programming
-, ,

© 2020 しろブログ