プログラマーの三大美徳とは?3つの柱と「HRT」との違いを解説のカバー画像

プログラマーの三大美徳とは?3つの柱と「HRT」との違いを解説

公開日:2024/10/17最終更新日:2024/10/22

プログラマーやエンジニアなどのIT職で働く人は、仕事に対するマインドについて考えることが重要です。どのような姿勢・考え方を持って仕事に臨むべきなのか知ることで、プログラマーとして理想のキャリアを形成していくきっかけになるでしょう。


プログラマーとして働く際に参考となるのが、「プログラマーの三大美徳」という考え方です。怠惰・短気・傲慢という一見マイナスに思える要素を取り入れることで、一流のプログラマーになるためのポイントを学べます。


本記事では、プログラマーの三大美徳の概要と実践するためのポイント、別の考え方として定着している「HRT」について解説します。これからプログラマーを目指す人や、仕事でステップアップできずに悩んでいる人は、ぜひ参考にしてください。


1.プログラマーの「三大美徳」とは?

プログラマーの三大美徳を活用するには、まずその意味や成り立ちを把握する必要があります。

以下では、プログラマーの三大美徳の基本情報を紹介します。

1987年にラリー・ウォールが提唱した考え方

プログラマーの三大美徳とは、1987年にプログラマーである「ラリー・ウォール」によって提唱された考え方です。ラリー・ウォールはアメリカのプログラマーであり、プログラミング言語「Perl」を開発したことで知られています。


Perlは実用性と多様性を重視して作られたプログラミング言語であり、スクリプト言語として簡潔にプログラムを記述できる点や強力な正規表現とテキスト処理機能により注目されていました。

オープンソース化されているため多くのシーンで活用され、主にWebアプリケーション開発で人気がありました。


Perlはすでに誕生してから30年以上経過しているため、昨今はRubyやPythonといったプログラミング言語に置き換わりつつあります。

それでも開発者であるラリー・ウォールが提唱したプログラマーの三大美徳は、2024年現在もプログラマーの働き方に大きな影響を与えています。

キャリアアップやスキルアップのきっかけになる

プログラマーの三大美徳は、キャリアアップやスキルアップのきっかけになる考え方として広まっています。プログラマーとして働き続けるのなら、周囲と差別化できるスキルの習得や業務の効率化など、学ぶべきことは多数あります。


しかし、実際に何をすればいいのか、どんなことを基準に行動すればいいのか分からず、貴重な時間を浪費してしまうケースも珍しくありません。


そこでプログラマーの三大美徳を軸にして、自分の働き方や仕事に対する姿勢を見直すことがおすすめです。自分自身を見つめ直すことで、プログラマーとしてのキャリアアップやスキルアップにつながる可能性もあります。


これからプログラマーの仕事を始める人の他、現状の働き方に悩んでいる人も、プログラマーの三大美徳が将来を形作るヒントになることに期待できるでしょう。

2.プログラマーの三大美徳をそれぞれ解説

プログラマーの三大美徳は、怠惰(Laziness)・短気(Impatience)・傲慢(Hubris)の3つの要素で構成されています。以下では、各要素の特徴や具体的な考え方について解説します。

怠惰

プログラマーの三大美徳における「怠惰」とは、「楽をして作業を終わらせるにはどうするべきか」考えるきっかけになります。「怠惰」とは本来、怠ける・疎かにするといった悪い意味で使われます。


しかし、プログラマーの三大美徳のなかでは、作業の効率化などによって楽をするための方法を導き出し、実際に業務時間や負担を減らすことにつながる要素として重要視されています。


「怠惰」の反対語は、「勤勉」となります。勤勉に仕事をこなすことは美徳ではありますが、繰り返しの作業が多いプログラマーにとっては、精神的な負担となる可能性も懸念されます。

例えば顧客から頻繁に質問される内容に勤勉に対応し続けていると、作業に回せる時間が減少し、仕事に嫌気がさす原因にもなります。


一方で、プログラマーの三大美徳の1つである「怠惰」を尊重した場合、繰り返される質問に対応するマニュアルを作成するなどの方法を取ります。結果的に顧客への対応にかける時間を短縮し、より重要な仕事にリソースを割けるようになるでしょう。

短気

一般的にはマイナスな要素に捉えられる「短気」も、プログラマーの三大美徳を構成する要素の1つです。「短気」なプログラマーほどすぐに問題の答えを求める傾向にあるため、スピーディに目の前の課題を解決できる可能性が高まります。


「問題を放置していると気になって仕事にならない」「先に解決しないとイライラする」といった短気さは、ときにプログラマーの仕事においてプラスに働くでしょう。


逆に気長な性格をしているプログラマーは、例えば少しシステムの処理速度が遅かったり、作業の手間が複雑化していたりしても、気にせずに仕事を続けることが可能となってしまいます。それは結果的に業務の効率を低下させ、生産性を落とすことにつながります。


その点、「短気」なプログラマーは処理速度が少しでも遅いと、その状況を許せずに解決策を模索する傾向にあります。処理速度を改善するプログラムを組んだり、不具合を見つけて修正したりすることに力を使えるため、業務全体の効率化などに貢献できる可能性があるでしょう。


また、「短気」なプログラマーは仕様変更などによって作業が無駄になることを嫌う傾向にあるため、先に柔軟性の高いシステムを組んでおくという考え方ができる人材でもあります。

傲慢

「傲慢」な考え方は、プログラマーの仕事においてメリットになるケースがあります。「傲慢」も本来は相手を見下すなど、悪い意味で使われる言葉です。


いわゆるプライドの高い人ほど、「傲慢」と言われます。プライドが高くて「傲慢」なプログラマーは、自分の構築した成果物を批判されることを嫌います。そのため最初から文句を言わせないために、完璧なプログラムを目指す傾向にあります。


自分の「傲慢」さを理解しているプログラマーは、成果物に隙を残さない仕事をします。それは未熟な仕事をしてプログラムの甘さを指摘されることが、自分にとって大きなダメージになることを知っているからです。


そのため「傲慢」なプログラマーはケアレスミスが少なく、高品質な成果物を継続して提供し続けられる素質があると言えるでしょう。

3.プログラマーの三大美徳を取り入れるポイント

プログラマーの三大美徳である怠惰・短気・傲慢さを仕事に取り入れて、実践していくにはコツがあります。

以下では、プログラマーの三大美徳を自分の仕事に取り入れていくポイントを解説します。

普段の行動や考え方を見直す

プログラマーの三大美徳を仕事で実践するには、まず自分自身を見直すプロセスが必要です。普段の行動や考え方を見つめ直して、怠惰・短気・傲慢さがどれほど自分の仕事に浸透しているか確認してみましょう。


上記で解説した考え方や働き方ができている場合、その部分を意識して伸ばしていくのがポイントです。


しかし、プログラマーの三大美徳を構成する怠惰・短気・傲慢は、一般的に避けられる要素です。そのため多くの人が、意図的に仕事のなかに取り入れる努力をする必要があるでしょう。


最初から怠惰・短気・傲慢すべての要素を導入するのではなく、自分の性格に合った考え方を少しずつ仕事で実践し、働き方や考え方を変えていくのがコツです。

ITセミナーや勉強会などに参加する

プログラマーの三大美徳を取り入れる際には、他のプログラマーを観察するのも重要なポイントです。

怠惰・短気・傲慢な要素を仕事に取り入れているプログラマーを客観的に見て参考にすることで、自分に足りない部分を明確にしつつ働き方・考え方を変えていけるでしょう。


プログラマーとの出会いを増やすには、ITセミナーや勉強会などに参加する方法がおすすめです。異なる環境で働いているプログラマーと接することで、自分にはない考え方や仕事の方法を学べる可能性もあります。


プログラマーに成り立ての人は、セミナーや勉強会への参加によって単純なスキルアップにも期待できます。

具体的な目標を立てる

プログラマーの三大美徳を意識するには、具体的な目標を立てて仕事をすることも1つの方法です。怠惰・短気・傲慢それぞれの要素を育てるために、目標を立てて働き方を意図的に変化させていくのがポイントです。


例えば怠慢さを意識して無駄なタスクを自動化するプログラムを組んだり、不要な作業を省略する方法を考案したりする方法があります。


短気さを意識するには、自身のプログラミング能力を高めたり、最適な処理が行えるアルゴリズムの構築を目指して時間短縮を目指したりといった方法が検討されるでしょう。


傲慢さに焦点を当てる際には、成果物を見られることを常に意識し、分かりやすいコードを書くように備えるのがポイントです。誰が見ても理解ができ、疑問が生じないプログラムを構成するのが、傲慢なプログラマーになるコツです。

4.プログラマーの三大美徳に反しているプログラマーの特徴

プログラマーの三大美徳を構成する要素は、一般的にマイナスに捉えられるものです。そのためプログラマーの三大美徳を実践しているつもりでも、逆効果になってしまうケースもあります。


以下では、プログラマーの三大美徳に反しているプログラマーの特徴を紹介します。

スキル不足を実感できていない

そもそもプログラマーとしての基礎スキルが不足していると、三大美徳を実践するのが難しくなります。例えばプログラミングスキルが低いと、どれだけ考え方や働き方を工夫しても、作業効率を高められない可能性があります。


同様にコミュニケーション能力などの基本的なスキルが身についていないと、プログラマーの三大美徳を意識した行動が周囲に迷惑をかけることもあるでしょう。

プログラマーの三大美徳を実践する際には、まず自分のスキルを確認し、基本的な部分を伸ばしていくのが先決です。

雑な仕事で評価を下げている

怠惰・短気・傲慢といった各要素の意味を履き違えてしまうと、仕事が雑になって自身の評価を下げる可能性があります。特に怠惰に関する点を勘違いしている人は、品質の低い成果物を提供するケースが増えるリスクがあるでしょう。


傲慢さについても、「文句を言われても気にしない」と解釈してしまうと、仕事に支障が出る恐れがあります。あくまで「文句を言われない仕事をする」のが傲慢さであることを理解し、仕事の品質を高めていくのが重要です。

時間的な余裕がない

普段から時間的な余裕がなく、仕事に追われている人もプログラマーの三大美徳に反していると言えます。プログラマーとして働く限り、納期を守ることは基本中の基本です。


怠惰・短気・傲慢といった要素は納期を守らない理由にはならないため、時間に余裕を持って仕事をしていくのがポイントになります。


時間に余裕がないと、高品質な成果物を追求する暇がなくなり、傲慢さを実践できなくなります。精神的に追い込まれる原因にもなるため、悪い意味で短気なプログラマーになってしまう可能性もあるでしょう。

5.プログラマーの三大美徳と似ている「HRT」とは?

プログラマーの三大美徳だけでなく、「HRT」という考え方について理解を深めておくのも、プログラマーとして働く際にメリットとなります。以下では、HRTを構成する謙虚 (Humility)・尊敬 (Respect)・信頼 (Trust)の詳細を解説します。

HRTは「Team Geek」で提唱された考え方

HRTとは、謙虚 (Humility)・尊敬 (Respect)・信頼 (Trust)の頭文字を取って作られた言葉です。元は「Team Geek ―Googleのギークたちはいかにしてチームを作るのか」という書籍に掲載されている考え方であり、「優れたチームが優れたソフトウェアを作るのに必要な三本柱」として紹介されています。


プログラマーの三大美徳と同様に、3つの要素を意識することで働き方や考え方に良い影響が与えられるため、プログラマーとして仕事をする際には「HRT」についての理解も重要となるでしょう。

謙虚

「謙虚」には「自分が特別に偉いと思わない」といった意味があり、素直に相手の意見を聞いて受け入れていく姿勢を表します。プログラマーの三大美徳における傲慢とは反対の位置にあり、仮にプログラムの問題を指摘されても、素直にミスを認めて改善していく考え方です。


傲慢さを意識して完璧なプログラムの完成を目指し続けていても、些細なきっかけでミスが発生することはあります。その際に相手からの指摘を突っぱねるのではなく、「謙虚」さを持って受け入れる姿勢に切り替えることで、プログラマーとしての成長を見込めるでしょう。

尊敬

「尊敬」とは、「相手を敬うこと」「評価して認めること」などの意味があります。プログラマーの仕事はチームで行うため、周囲への気遣いや尊敬の気持ちは欠かせません。


ただ短気さをアピールしたり、怠惰な仕事によって迷惑をかけたりすると、チームの進捗に悪影響となる可能性もあります。


そこで「尊敬」の気持ちを同時に持ち、社内で円滑なコミュニケーションが取れるように備えることも重要です。

信頼

プログラマーはときに周囲を「信頼」し、仕事を任せたり相談したりすることも大切です。すべて自分1人でこなそうとすると、結果的に作業効率が低下し、周囲の足を引っ張る可能性があります。


信頼してチームに仕事を任せられるようになると、自分のやるべきことに集中しやすくなります。仕事の品質が高まれば、今度は自分が周囲から信頼されることにつながり、良好な人間関係を構築する結果を導けるでしょう。


関連記事

エンジニアの残業が多いのは本当?誤解?転職や就職に悩まれてる方へのアドバイス


Webエンジニアにおすすめの副業とは?求められるスキルや報酬について分かりやすく解説

6.まとめ

プログラマーの仕事には、さまざまな考え方・マインドが影響します。自分なりの働き方が確立されていない状態では成果を出すことが難しくなり、仕事に対するモチベーションの低下にもつながります。


そこでプログラマーの三大美徳やHRTを軸にして、仕事における考え方やアクションの方向性を明確にするのがおすすめです。


プログラマーの三大美徳やHRTといった考え方は、プログラマーの仕事をこなすうえで重要なヒントを与えてくれます。これからプログラマーに就職・転職する人や、IT人材として今後の成長につながる情報を探している人は、プログラマーの三大美徳やHRTをぜひ参考にしてみてください。


本記事が皆様にとって少しでもお役に立てますと幸いです。

無料で登録したらスカウトを待つだけ フリーランスの新しい仕事探しを始めよう

関連記事をあわせて読みませんか?

エンジニアの残業が多いのは本当?誤解?転職や就職に悩まれてる方へのアドバイスのカバー画像

エンジニアの残業が多いのは本当?誤解?転職や就職に悩まれてる方へのアドバイス

エンジニアの残業は避けられない? 実は、働き方改革が進み、残業時間の削減に成功している企業も。エンジニアの残業に関する疑問を解消します。

フルスタックエンジニアとは?仕事に必要な知識・技術やロードマップを解説のカバー画像

フルスタックエンジニアとは?仕事に必要な知識・技術やロードマップを解説

フルスタックエンジニアの仕事内容とは?求められるスキルやキャリアパスを徹底解説。

フリーランスエンジニアの単価相場目安を紹介!単価の決め方や単価交渉のポイントも解説のカバー画像

フリーランスエンジニアの単価相場目安を紹介!単価の決め方や単価交渉のポイントも解説

フリーランスエンジニアの単価相場を徹底解説!スキルアップで高単価獲得を目指そう。案件獲得のノウハウも紹介。

SaaS業界とは?特徴や成長した理由、将来性、転職におけるメリットなど解説のカバー画像

SaaS業界とは?特徴や成長した理由、将来性、転職におけるメリットなど解説

SaaSエンジニアの仕事内容や年収、キャリアパスを解説。クラウドサービスの知識を活かして、新しいキャリアをスタートさせよう。

フィンテック(FinTech)企業ってどこが有名?フィンテックに利用されている技術や将来性を解説!のカバー画像

フィンテック(FinTech)企業ってどこが有名?フィンテックに利用されている技術や将来性を解説!

フィンテックってなに?身近なサービスに隠されたテクノロジーを解説。最新トレンドも紹介!

エンジニアからコンサルタントに転職するメリットや転職理由などを解説!のカバー画像

エンジニアからコンサルタントに転職するメリットや転職理由などを解説!

エンジニアからITコンサルタントへ。仕事内容、年収、必要なスキルを徹底解説!キャリアチェンジを検討中の方必見。

キャリアの記事をすべて見る>

フルリモート案件を 無料登録した方限定で配信中

プログラマー(PG) のフリーランス案件・求人

【TypeScript/Node.js】テックリード★ソリューション事業部での設計・開発

70-120万円/月額
業務委託(フリーランス)

【Java】システムエンジニア★建築システム開発

90-100万円/月額
業務委託(フリーランス)

【Java】システムエンジニア★道路占用システム開発

90-100万円/月額
業務委託(フリーランス)

プログラマー(PG)のフリーランス案件をすべて見る >

おすすめフリーランス案件・求人

【SAP】電気機械器具業向けSAP導入支援

120-150万円/月額
業務委託(フリーランス)

【SAP】電気機械器具業向けSAP導入支援

120-150万円/月額
業務委託(フリーランス)

共済システム刷新PJのPM補佐支援

100-120万円/月額
業務委託(フリーランス)

共済システム刷新PJのPM補佐支援

100-120万円/月額
業務委託(フリーランス)

おすすめフリーランス案件をすべて見る >

新着のフリーランス案件・求人

【回路設計エンジニア】医療機器等の電子機器受託製造サービス企業/電子回路設計

35-40万円/月額
業務委託(フリーランス)

【PM】シェアードサービス・バックオフィス部門における業務効率化/0.2~0.4人月(一部出社)

20-20万円/月額
業務委託(フリーランス)

【ドットデザイナー】大人気スマホRPGゲームにおけるデザイン業務(週5日)

50-60万円/月額
業務委託(フリーランス)

【C/C++】医療機器等の電子機器受託製造サービス企業/ソフトウェア設計

35-40万円/月額
業務委託(フリーランス)

新着のフリーランス案件をすべて見る >

人気の検索条件でフリーランス案件を探す

JavaScript
Java
TypeScript
PHP
AWS
Python
Go言語
Ruby on Rails
Flutter
Kotlin
Swift
React
フルリモート

人気の職種の案件をみる

エンジニア
PM・ディレクター
クリエイター
コンサルタント
デザイナー
マーケター
フロントエンドエンジニア
バックエンドエンジニア
アプリエンジニア
インフラエンジニア
ネットワークエンジニア
データベースエンジニア
セキュリティエンジニア
情報システム
システムエンジニア(SE)
プログラマー(PG)