プログラマの仕事はコードを書くことか

思考メモ

プログラマの仕事を端的に表すときに「コードを書く」と言ったりするが、それによって単調な仕事だと勘違いされることがある。その誤解は、カメラマンの仕事を「シャッターを押す」だったり、小説家の仕事を「日本語を書く」と言うようなもの。手を動かしてはいるが、実際は頭を使うことが主な仕事だ。

ソフトウェアは、一つのアプリケーションが一つの作品のようなもので、一部の改変が全体に影響を与えることがあるし、一部に品質の悪さがあると全体の品質を落としかねない。製造業のように同じものを沢山つくる訳 … もっと見る

プログラマの仕事を端的に表すときに「コードを書く」と言ったりするが、それによって単調な仕事だと勘違いされることがある。その誤解は、カメラマンの仕事を「シャッターを押す」だったり、小説家の仕事を「日本語を書く」と言うようなもの。手を動かしてはいるが、実際は頭を使うことが主な仕事だ。


ソフトウェアは、一つのアプリケーションが一つの作品のようなもので、一部の改変が全体に影響を与えることがあるし、一部に品質の悪さがあると全体の品質を落としかねない。製造業のように同じものを沢山つくる訳ではないから、多少の不良品を許容するような作り方はできない。製造でなく設計なのだ。


コードを書くことを単純作業だと誤解した経営者は、より多くのソフトウェアを製作するために人を増やせば良いと考える。しかし、実際には闇雲に人手を増やせば、むしろ全体の生産性を落としてしまうことになる。まさしく『遅れてるプロジェクトへの要員追加は、さらに遅らせるだけである』の言う通り。


沢山の人を入れても混乱せずに生産性と品質を出せるようにと考える勢力と、人を増やさず少人数のままで一人当たりの出来ることを増やして生産性と品質を高めるように考える勢力がある。抽象化や仮想化を重ねるソフトウェア技術の進歩の方向性は後者だと思うし、エンジニアの気持ちとしても後者を望む。


ソフトウェアをチーム開発していくなら、ソースコードの設計に対するポリシーや品質の価値観を揃えること、その上で少人数チームを維持すること、人の増員を単純な足し算で考えないことなど、ソフトウェアの本質とエンジニアのモチベーションについて深く理解した上でマネジメントしていく必要がある。

2020年10月20日の思考メモ

思考メモ
いかにチームで「問題 vs 私たち」の構図をつくることが大事で、心理的安全性は結果に過ぎない。問題や成果に向き合えさえできれば、対立でなく協力になる。 率直なフィードバックや意見の対立も、相手を負かすためや、自分の意見を通すためではなく、問題を解決し成果を出すことのためという共通認識をつくること。 心理的安全性のような新しいキーワードを自社に取り入れるためには会社や上司に対し「提案より相談」をすること。提案は現状に対する否定と取られかねない。 味方をつくるには相談から入ること。相手に意見を通 … もっと見る

いかにチームで「問題 vs 私たち」の構図をつくることが大事で、心理的安全性は結果に過ぎない。問題や成果に向き合えさえできれば、対立でなく協力になる。

率直なフィードバックや意見の対立も、相手を負かすためや、自分の意見を通すためではなく、問題を解決し成果を出すことのためという共通認識をつくること。

心理的安全性のような新しいキーワードを自社に取り入れるためには会社や上司に対し「提案より相談」をすること。提案は現状に対する否定と取られかねない。

味方をつくるには相談から入ること。相手に意見を通すのではなく、相手に相談を持ちかければ、共通の問題に一緒に向き合う構図になり、味方になってくれる。

これも「問題 vs 私たち」の構図のつくり方。ものごとをうまく進めたいならば敵を作らない。そもそも敵などいない。向き合うのは解決したい問題だけなのだ。

私たちがしていることは戦争でも競争でもない。問題を解決すること、成果を出すこと、社会を良くすること。その共通認識が心理的安全性の第一歩ではないか。

2020年09月24日の思考メモ

思考メモ
「納品のない受託開発」だったり、オフィスなくして全社員リモートワークとか、管理ゼロとか、何かをなくしたり、やめてしまうことで、生産性や創造性を高めてる。 「ない」ことは、メディア受けするインパクトがあんまりないし、アワードなどで良さを伝えるのも難しい。ビジュアルに見せられないし、一言で伝えにくい。 「ない」ことは、装飾がなくてゴチャゴチャしてないシンプルな状態だから、本質だけを捉えてるとも言える。どんなことも、本質的であることは大事にしたい。 増やすより減らす方が美しい。いかに増やさずにいられるかを維持したい。これって、メンテナンス性を高い状態に維持するというアジャイル開発の話と同じなのかもしれない。

「納品のない受託開発」だったり、オフィスなくして全社員リモートワークとか、管理ゼロとか、何かをなくしたり、やめてしまうことで、生産性や創造性を高めてる。

「ない」ことは、メディア受けするインパクトがあんまりないし、アワードなどで良さを伝えるのも難しい。ビジュアルに見せられないし、一言で伝えにくい。

「ない」ことは、装飾がなくてゴチャゴチャしてないシンプルな状態だから、本質だけを捉えてるとも言える。どんなことも、本質的であることは大事にしたい。

増やすより減らす方が美しい。いかに増やさずにいられるかを維持したい。これって、メンテナンス性を高い状態に維持するというアジャイル開発の話と同じなのかもしれない。

リモートワーク時代を生き抜くためのセルフマネジメントのスキルと思考法(その3)「オープンマインド」「自己認識」「自分軸で決断」

2020-04-15

セルフマネジメントは、リモートワークの際だけに限らず、通常の仕事を推進していく上でも欠かすことのできないものです。そして、セルフマネジメントのスキルと思考法は訓練次第で身につけることができるものです…

リモートワーク時代を生き抜くためのセルフマネジメントのスキルと思考法(その1)「時間からスタート」「タスクばらし」「そもそも思考」

2020-03-27

リモートワークが非常に注目されるようになって、よく聞かれることの一つが「リモートワークに向く人/向かない人は?」です。 それに対しては「セルフマネジメントが出来る人」と答えています。自宅や場所に関…

ページ 12
ページ上部へ