devblog.thebase.inこんにちは。マネージャーの大窪(@bonnu)と申します。Engineering)、フロントエンド基盤を担う各グループのマネージャーを務めさせてもらっています。今回のアドベントカレンダーでは実用的なネタを思いつくことができませんでしたので、ちょっとしたコラムのようなものを綴らせていただこうかと思います。作られていたサービスが別言語にリプレイスされた話を聞く事もあります。採用されている言語とは言えませんが...テキスト処理に対して強力なユーティリティが多く、また豊かな表現力(TMTOWTDI1)と低レイヤーへのアクセスの良さ2から機能実現力が高く、コマンドラインツールに限らず掲示板や小規模サイトからブログシステム、大規模ウェブサービスまで様々なシーンで利用されていました。今もよく使われている言語に肉迫していたようですね。実用的な解説書)でプログラマの三大美徳を定義しています。限らずプログラマ界隈においてとても有名でよく引用されている言葉であるため、現在エンジニアとして活躍されている方にとっては今更説明の必要もないかもしれませんが、今回は改めてこの美徳をテーマにしたいと思います。programmer.全体的なエネルギー消費を削減するために多大な努力を払う気質。他の人が役に立つと思う省力プログラムを作成し、あなたが書いたものを文書化するので、それほど多くの質問に答える必要はありません。したがって、プログラマーの最初の大きな美徳。繰り返し行われる作業、同一の処理を表現するコード、同一概念を扱う多数の関数など、それらの抽象度を見極めて適切な粒度・単位でカプセル化することで同じ事を繰り返さないようにしたり、再開発しなくてよいように工夫する気質と読み取っています。それにはドキュメントを付属させることで、他者に伝えるための時間や手間といったものを省くことができるとまとめられています。私はエンジニアであった当時よりドキュメントを書くのがあまり得意ではなかったので(現在も目下の課題です)、この点については片手落ちだったと反省があります。programmer.コンピューターが怠けているときに感じる怒り。これにより、ニーズに対応するだけでなく、実際にそれらを予測するプログラムを作成できます。したがって、プログラマの2番目の大きな美徳。機械翻訳した上でですが、私の解釈として「怒り」という表現は「不便な事を思い通りにしようと直感的に思う」事を指すと考えています。ビジネス要件、機能要件に対して先々も応えられる処理として仕上げるべく熱量をもてたり、すぐにロジックの整理に頭が向かう様がイメージできます。短期的なニーズだけをただ満たすだけでは足りず、同一パターンの処理が想定できるならばそれらを予め想定しておけという意味合いがあるようです。小飼弾さんの記事ではテンプレート処理に関しての言及がありますね。短気の裏に潜む焦りや不安から、先んじて検討して対処しておけ、というところでしょうか。programmer.過度のプライド、ゼウスがあなたを驚かせる(神罰のような)もの。他の人が悪いことを言いたくないプログラムを作成(および保守)できる気質。したがって、プログラマーの3番目の大きな美徳。プログラマとして品質に妥協せず、またその品質を示すべく説明できること。プログラムであればテストをはじめとして、その成果物の妥当性・正当性を担保する仕組みを整えることで、その自尊心を守りなさいという美徳と言えます。これもまた小飼弾さんの記事を参考にしますが、傲慢さは他者に対して発揮されうる気質であり、互いに正当性を示し合うことで議論や競争を生み、それが結果として発展を促すという捉え方ができます。何を「愛して」いたのか美徳は必ずしも「態度」に表れることを指していない広くインターネットでの三大美徳に関する議論を眺めてみると、それぞれの美徳についての定義と定義名(Laziness、等)について意味が対照的でなく、ひねくれていると捉えられる事があるようです。氏のユーモアから来ていると私は考えます。美徳それぞれの意味はどれも高い視座を表現していますが、そのまま定義名を厳格に表してしまっては極論、あまりついてくる人はいないでしょう。「なんだそんな事でいいのか」と思わせるキャッチーなところから入り、その上で解釈が進むことで本来の定義が意識に刻み込まれるような、そんな美徳になっていると感じています。組織活動において、様々なしくじりが生じてしまいます。私は自分の失敗の数を数えていませんが。ツールを開発していた時代は一体どんな状況だったのでしょうか。なかった)、今よりも手元だったり、企業や大学のイントラ内にだけコードがあることが殆どで、プログラムが人の目に触れる機会はとても少なかったのではないでしょうか。安心して使えて高い品質を保つ事を担保するためにも、草の根活動的な呼びかけの一種としてこの美徳があったのではないか、と私は勝手に考えてしまいます。いま、マネージメント業務をする立場としてどう捉えるかここまで懐古厨として話を進めてきましたが、そろそろ現在の私の立場に話を戻します。私がこれまでプログラミングを公私ともにやってきて美徳を正しく体現できたとはとても言えず、その視座の高さに打ちひしがれる思いがありますが、やはりこの美徳は改めて自分の内に秘めて持っておきたいと感じました。マネージメント業務をする立場においては、各種業務改善や日々の運用をしていくにあたってこれら美徳を判断の参考にすることができます。会議量やフローの適切化やコミュニケーション・パスの整理など、怠惰と短気の美徳に従えばどうすべきか...。今回挙げた三大美徳を一種の宗教だと捉えた場合には当然その他の宗教を持つ方もいると思いますが、各々がその教えや意志を大事にしながらエンジニアリングしていくことで、傲慢の美徳に従ってコラボレーションを活発にさせることができます。最後に日々の業務でこれらの美徳をそこまで意識する事はありませんが、たまにでも思い出してみる事で自身の振る舞いや判断を振り返るきっかけにできると感じました。最近はコードを書く機会が減ったことで純粋にプログラマーとしての価値観や観点を忘れてしまうことがあり、今回は自戒の意味を含んで、この三大美徳をテーマとさせていただきました。グループの藤井さんです。)の開発チームによるブログです。Groupの大木です。Developerをしている東口です。Groupのマネージャーをしている山田です。12/1から始まっ...Archiveスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。