🏹

【ガイド】優秀なプログラマーになるための10のメソッド

2022/11/08に公開約3,600字1件のコメント

はじめに

今回の記事では、個人的に「優秀だ」と考えるプログラマーになるための10の具体的な方法を簡潔に解説する。あくまで個人の一見解に過ぎないが、今後プログラマーとして活動する上で1つでも参考になるものがあれば幸いである。

自分が使っているツールの使い方を再度確認する

自分が使っているツール(VSCodeやDockerなど)の使い方を再度確認してみよう。例えば、VSCodeの場合はショートカットキーや拡張機能を調べて自分の開発に役立ちそうなものを中心にインプットしておこう。

シングルタスクを徹底する

シングルタスクを徹底しよう。要は、一つの作業に集中することである。原則として、人間は複数の作業を同時並行で進めることはできないマルチタスクは生産性を著しく下げてしまう。例えば、動画を見ながらプログラムを書くことはマルチタスクになる。

知的労働の生産性を高めるなら、シングルタスクを徹底することが前提となる。

タスクを適切に分解・管理する

タスクを適切に管理・分解することも優秀なプログラマーになるための重要な要素の1つだ

仕事等で与えられたタスクをできる限り自分が「これならできるだろう」と思えるようなタスクに分解しよう。例えば、「アプリのログイン機能を実装する」というタスクを与えられた場合を考える。この場合、以下のようにタスクを分解できる。

  • 作業時間を見積もる
  • ログイン機能を実装するのに必要なAPIを実装する
  • データベースをAPIと連携する
  • ログインページのUIを作る
  • ダミーデータをAPI上で作る
  • 実際にテスト入力する
  • APIをターミナル上で実行して、正確なレスポンスが返ってくるかどうか確認する

このようにして、与えられたタスクを「これくらいならできるな」と思えるレベルにまで分解しよう

更に、タスクを適切に管理する上で理解しなければならない原則がある。それは、タスクのゴールをあいまいにしないということだ。自分が何をするべきなのかわかっていない状態では、自分の行動や計画が正解かどうかを認識できるものさしがない。どうすればいいのかわからないという不安の中で作業を進めるのは確実に生産性が低くなる。

このような事態を未然に防ぐために、最初に与えられたタスクのゴールをあいまいにしないことが重要である。

なるべくコードを書かないようにする

プログラマーはなるべくコードを書かないようにする方法を検討するべきである。この意見に関して異を唱える読者も少なくないだろう。

ところが、Qiitaの記事『成果を出すプログラマーが習得している「コードを書かない技術」』には以下のようなことが書かれている。この記事では、主に以下の3つの理由からプログラマーがなるべくコードを書かないようにする方法を検討するべきだと主張されている。

  • プログラマーの仕事は「コードを書くこと」ではなく「利益を生むこと」
  • 利益を生むのは「コードを書くこと」ではなく「コードを書いた結果の制作物」
  • いたずらにコードを書くのはシステムの複雑性を上げて、バグや業務ミスの原因になる

具体的にコードを書かないようにするための方法については、以下のように書かれている。(引用は上述の記事と同じ)

  1. 目的にあっているかを判断する
  2. 既存のシステムを使ってできないかを判断する
  3. ミニマムにできる方法を考える
  4. 「資産化」できる方法を考える

これらの4つの思考術をベースに今取り組んでいるタスクや書いているコードを再度検討してみよう。あなたが現在書いているコードは本当に書く意義のあるコードかどうかはじっくり検討する余地がある

複数の言語を学ぶ

プログラマーは複数の言語を学ぶべきである。これに関して、Qiitaの記事「良いプログラマとは、僕が今思っていることをまとめてみた」には以下のようなことが書かれている。

一つのプログラミング言語を学び続けるよりも、複数の言語を平行して学ぶほうが、言語をより良く理解できるはずです。なににも影響を受けていない言語というのは、ほぼ存在しません。どうしてこういう仕様になっているのか、その背景を理解するためには、異なるパラダイムの言語を使うことです。

プログラミング言語は、ほとんどの場合他の言語の影響を受けて開発されている。例えば、TypeScriptはJavaScriptの問題点を解決するために開発された。言語の構造やその背景を十分に理解するためには、複数の言語を学ぶことが大事になる。

先人の知恵を借りる

すべて自分からコードを書く必要はない。時と場合を十分に考慮してコードを書くことが重要である。GitHubには良質なOSSや開発を進める上で役立つ情報が数多く眠っている。むやみにツールを乱用するのは考えものだが、開発を効率的に進めるためには先人の知恵を積極的に使い倒そう。

知ったかぶりをしない

TwitterやQiita、Zennなどに流れるトレンドや文字面だけ追って知ったかぶりになるのはやめるべきだ。実際に自分の手を動かして、コードを読み書きして体感しよう。サンプルコードを自分で動かすだけでも考え方や見える世界は大きく変わる。

アウトプットをする

たとえ自分がなにか凄いことを成し遂げたり、素晴らしいスキルを持ったりしても誰かに認識されていなければ、それはなかったことになる。自分の頑張りや知識を評価してもらうためにも、積極的にアウトプットするべきである。さあ、QiitaやZennなどで自分の学びや知識を積極的に記録しておこう。

あなたの些細なアウトプットが、誰かにとっての重要なインプットになる

休憩を積極的に取る

プログラマーは積極的に休憩を取るべきである。長時間座り続けるのは体に悪影響を及ぼす。これについては個人差があるものの、どうしても集中を継続できない場合は20~30分くらい作業した後に休憩を取り入れてみよう。

lifehackerの記事によると、効果的な休憩のやり方は以下の通りである。

  • Webサイトやメールの閲覧をしない。スマホのチェックはもってのほか
  • 短い休憩を取る
  • リラックスする(例:運動、仮眠)
  • オフィスや書斎から出る

体調管理を徹底する

前提として、良質なコードを書いたり、仕事で生産性を上げたりするうえで体調管理を徹底することが一番重要である。体調を崩すと日々の生産性やパフォーマンスに悪影響を与える。これだけ言ってもあいまいなので、体調を適切に管理する具体的な方法を以下に示す。

  • 決まった時間に起き、決まった時間に寝る
  • ジャンクフード・菓子パンを食べない
  • 食物繊維・タンパク質多めの食事を摂る
  • 毎日入浴する
  • 週3~4回、30~40分程度運動する
  • 3時間以上座らない

あくまで一個人の見解に過ぎないが、1つでも参考になるものがあれば幸いである。

おわりに

今回の記事では、優秀なプログラマーになるために重要な10のメソッドを簡潔に解説した。

【優秀なプログラマーになるための重要な10のメソッド】

  • 自分が今使っているツールの使い方を再度確認する
  • シングルタスクを徹底する
  • タスクを適切に分解・管理する
  • なるべくコードを書かないようにする
  • 複数の言語を学ぶ
  • 先人の知恵を借りる
  • 知ったかぶりをしない
  • アウトプットをする
  • 休憩を積極的に取る
  • 体調管理を徹底する

参考サイト

https://dev.to/coffeestasia/productivity-tips-from-developers-to-developers-4j75

https://qiita.com/Fumi_Oc7/items/74f2791a4b6c832f9555

https://qiita.com/circular/items/5d6ac5bee994e3872de1

https://qiita.com/zaru/items/3da2b90b066ec69ab9e9

https://www.lifehacker.jp/article/161122_restbreak/

GitHubで編集を提案

Discussion

まだプログラマ初心者ですがこれらのメソッドを生かして利益を生み出すプログラマになります😊いつも良質な記事をありがとうございます☺️

ログインするとコメントできます