koheitakahashiのブログ

2020.07.01にプログラマーとして生を受けた私が学んだことや、日常について徒然に書いていきます。

『達人プログラマー』を読みました

はじめに

以前から、チョコチョコと読み進めていた、Andrew Hunt & David Thomas 著 『達人プログラマー 職人から名匠への道』を読み終えましたので、その感想をまとめたいと思います💪

要約

「知識のポートフォリを作成する」、「割れた窓を放置しない」、「自分の作品には署名をする」など本書では今より効率的に生産的なプログラマーになるために、やるべきことがまとめられています。

多くの達人プログラマーには以下のような性格が備わっています。

  • 自分の技術に関心を持っていること
  • 自分の仕事について漫然と取り組まず、常に考えていること
  • 無知や誤りを恐れないこと
  • 新しい物好きであること などです。

また、本書で紹介されているティップスは、個人レベルで完結するものではなく、チームに対しても応用できるものとなっています。ソースコード、ドキュメントの管理から、学び方、意思伝達の仕方まで多岐にわたり、様々なティップスが紹介されています。

感想

達人プログラマーとなるためのティップスが色々な領域において紹介されているため、要約がまとまりのないものになってしましました💦 ここからは、個人的に印象に残った点とそれについて考えたことを書いていきたいと思います。

知識のポートフォリオを作成する

私がハッとしたのが、「エンジニアにとって経験と知識は資産である」という部分でした。資産である以上はそれを管理する必要があるでしょう。本書では知識、経験という資産と、金融資産の管理方法は似ており、金融資産の考え方をそのまま応用できるとしています。

それが知識のポートフォリオを意識するということです。金融資産のポートフォリオを作成する際に、基本はリスクを分散させるという考え方になると思います。同じようにエンジニアも知識、経験という資産を一つの分野領域だけに集中して投資するのではなく、様々な言語、分野に分散することが大事だと述べられています。

また、一度作ったポートフォリオはそのままではダメで、更新していく必要があります。そのために月に1冊技術書を読んだり、講習を受けたり、毎年一つ新しい言語を学んだりということが必要です。

このようにエンジニアの経験、知識という資産を以下に管理するかということが、これからの時代を生き抜いていけるエンジニアになるためには非常に重要な考え方だと感じました。 また、これはエンジニアとしてのキャリア、学び方の基本となる考え方でもあると思うので、知識のポートフォリオを都度都度意識していきたいと思います。

自分の作品に署名すること

これは、自分がその作品を作ったという責任から逃げないことだと思います。 私なんかはそうですが、失敗することや間違いを犯してしまうことが怖いという節があります。

しかし、達人プログラマーは失敗や謝りを恐れないそうです。この態度が自分には必要だと感じました。

さらに言えば、失敗や謝りを恐れている状態は自分のことしか考えていない状態なのではないかと考えました。失敗すること、間違っていることから逃げて誤魔化してその場をしのいでは、さらに問題が大きくなってしまうこともあります。プロジェクトに参加していればそれはプロジェクト全体の打撃になることでしょう。

そのような自分中心の考え方から脱却して、もっと広い視点をもち、間違いを恐れない開放的な態度を身に付けたいと強く思いました。

適切に伝達する

fjordbootcampで学習を進めてきて、最近薄々思ったことが、コミュニケーション力、特に適切に伝達する力がエンジニアには求められるということでした。

文書を書くという機会が多く文字で適切に伝達すること、自分はまだチーム開発の段階ではないのですが、チーム開発をする場合にはメンバーと自分の考えを適切にメンバーに伝えることが重要になってくると考えます。

ではどのようにすれば、適切に伝達することができるのか。本書には「まずは自分が言いたいことを知ること」が大切だと書かれていました。

自分が文書や言葉で中々伝えられない時は、自分が言いたいことがシンプルではなくなっていると思いました。まず、一度、落ち着いて「自分は何を伝えたかったんだっけ?」と立ち止まって考えることで、より伝わりやすいコミュニケーションが取れるのだろうと思うので、実際に実践していこうと思います。

最後に

生産的なプログラマーはどのような考え方をしているのか、ということをが知れてとてもためになった本でした。これからのエンジニアとしてキャリアや生活を考えていく上で、非常に重要な考え方が記載されており、そのような点でも有意義な本でした。 学んだことを一つ一つ取り入れながら、自分のエンジニアとしてのキャリアを積み上げていきたいと思います🔥