「松原ガレッジ」のブログ

大阪府松原市にあるウェブ開発・HP制作をするところ。管理人が思ったことや困ったこと、課題についてまとめていきます。

【読書感想】つよつよプログラマーになるための本 [情熱プログラマー]

こんにちは! 大阪府松原市でウェブを中心としたソフトウェア開発を行っています。

コワーキングスペース松原ガレッジスタッフの櫂谷です!

前回記事の課題図書に続いて、「情熱プログラマー」という本を読みましたので共有します。

「この本はクビにならずに済む程度の並のスキルを維持しようとあがくためのものではない。素晴らしい存在になるためのものである。勝利するためのものである。」という著者の熱いメッセージと共に、具体的な行動、考え方が盛り込まれていました。

ニッチなテクノロジに注力してみよう

オフショアの市場はシェアの大きいテクノロジに参入し、そのテクノロジでは価格競争が起こります。我々が一人材として戦略シェアの大きいテクノロジに熟練するのは仕事獲得への近道になりますが、価格競争に巻き込まれることになります。 エンジニアの数が少ないニッチなテクノロジに注力して市場の不均衡をつくと、希少価値が生まれて人材としての価値が上がります。 技術のトレンドを見極めて、学習のリソースを振り分けましょう。

1番の下手くそでいよう

「どんなバンドで演るときも、一番下手なプレイヤーでいろ」とうのは、伝説のジャズギタリスト pat metheny が若いミュージシャンたちにアドバイスするときの決まり文句だそうです。 いつも自分より優れた人たちと一緒に演奏すると、周囲の人たちにつられて能力が向上します。 開発者も同様に周囲の仲間に影響され、優秀な言動、思考を真似るようになり、自分も優秀になることができます。 仕事仲間、環境は慎重に選びましょう!

すぐに職場や部署、雇用形態を変えるのが現実的ではない場合、「優秀な人が集まるボランティアに参加する」という代替案を提示してくれています。 普段の環境を客観的に見ることもできますし、良い体験になりそうですね。

万能選手になろう

「自分の目標が解雇やオフショアの嵐の中で最後まで生き残ることなら、自分自身の汎用性を高めた方がいい。」と著者は言っています。チーム規模がわずか数名になったときに単なるテスターや単なるコーダーは必要なくなります。卓越し注目に値する存在になりたいのであれば、大局を見ることが大切です。

サービスを俯瞰的に見て方向性を示すことができるエンジニアやデザイナーのような万能選手はめったにいないため、そこに価値があります。

複数の技術を組み合わせることにより、相乗効果で希少な人材となることができます。 プラットフォームの垣根を越えたスキルを身につけて、自身の市場価値を高めましょう。

スペシャリストになろう

一見、前記の内容と矛盾したことを述べているような題名です。 この「スペシャリスト」は、他に何も知らないこと、と言う意味では無いということです。 バックエンドエンジニアが他のことを知らないから「スペシャリスト」というわけではなく、携わる技術の奥深くまでしっているから「スペシャリスト」なのです。 使っている技術の深い知識も持ってスペシャリストになりましょう。

魚の釣り方を学ぶ

老子「魚そのものを頼めば、それは一日の糧となる。魚の釣り方をを教えてくれと誰かに頼めば、それは一生の糧となる」

教えてくれるのを待たず、自分から訊きにいきましょう。 雇う側は自立した人、自走できる人を雇いたいと思っています。

もっというと、教えてくれと頼むのではなく、自分で勉強し始めて、わからなくてつまづいたところを聞きましょう。

なぜ、どうして を考える

「その仕組みはどうなっているのか」「そうなるのはなぜか」 この二つで領域の深いところまで掘り下げていきます。こうした質問について考えると言う行為そのものが、新しい考えをもたらし、自分が働いている環境について高い意識を持つことにつながります。 前述されていた「スペシャリストになる」手段でもありますね。

師匠を探す 師匠になる

師匠に期待される最も重要な務めは、弟子の手本になること。手本がないともっと上を目指そうという動機も生まれません。また、限りない選択肢から、数個に絞ってくれるというのも師匠の良いところです。

そして本当の意味で何かを習得したいとおもったら、今度は自分が師匠となって誰かに教えてみること。自分の理解をはっきりとした形にする一番の良い方法は、自分の言葉を使って、他の人にもわかるように説明することです。

自動化によって仕事を確保する

ソフトウェア開発の生産性を測定できる方法はまだ存在しません。 開発期間の短縮を実現する為に、作業員を増やすアプローチ、作業員の作業スピードをあげるアプローチは効果の証明が困難です。 「残された道は自動化のみ」と著者はいいます。

自動化を試みることによりプログラミングの技術や手数が増えて、能力向上も狙えますね。 著者は「自分がいつもコーディングしている処理を自動化する、コードジェネレータを作ってみる」という例をあげています。

デイリーヒット

真面目に勉強してれば仕事ができて業績をあげられるわけではありません。 良い方法としては実行予定を立ててそれを追跡調査しましょう。マネージャの期待以上の働きをしたのはいつか、どの作業なのか注目しましょう。

・報告できる成果を毎日あげる

自分にとっての適切な単位で目標を設定し、その達成状況を追跡調査するだけで、自分の行動を大きく変えることができます。 自分の行動をビジネスにおける価値に基づいて評価し、優先順位をつけられるようになります。

失敗する方法を学ぶ

我々はみんなミスを犯します。道理を弁えた人なら、犯したミスで他人を判断しません。どうしたって発生するミスにどう対処するかでお互いを判断します。

・間違いに気づいたら、そのことを直ちに問題として取り上げる。たとえ短い間でも間違いを隠そうとしてはいけない。

・責任を負う。責任の問題はできるだけ早く片付けて次の段階に進むべきだ。

・解決策を提示する。その時点で解決策がなければ、解決策を見出すための方策を計画して提案する。

・助力を求める。自尊心を脇に置いて常識ある態度をとる。

できないことはできないとはっきり言う

相手を失望させないための「できます」は、単なる嘘になります。 もちろん、なんでも「できません」は問題がありますが、正直な応答は信頼につながります。 正直である勇気を持ちましょう。

言って、成して、示す

自分でやる計画を立てて、実行し、結果を記しましょう。 まずは一日単位でリストにし、作業が完了したら「完了」と記入し、実際に声に出してみます。 遅れても、次の日にタスクを移動させます。

最初は週単位の報告から始めて、30~90日の行動計画についてマネージャに報告してみましょう。

計画を作成して有言実行していくと、気概と自立心を獲得することに役立ちます。

また計画報告は、自分自身を売り込むことにも役立ちます。 自分自身を売り込むための目標は、2つ。 みんなに自分の存在を知ってもらうということ。 持て余している難題を解決できる人物だとわかってもらうということ。

業界で名前を売ろう

企業がデプロイしようとしているテクノロジや方法論の本を書いた人物を雇わない手はありません。

平凡なプログラマが本の著者になったり後援者になったりするのは難しいので、Webからスタートしましょう。

まずブログを読む。

アグリゲータを作って目を通し、面白いと思った話について自分のブログで書き込んでみる。文章力を鍛えると自信もつく。

自分の意見が関心を持つ人たちに引用され広まっていく。

コミュニティのWebサイトや雑誌に寄稿した文章がサンプルになり、出版社への売り込みに役立つ。

ネットワークがさらに拡大して書く機会が増える。

やがてカンファレンスでの講演のチャンス!

時期尚早かなと思うくらいでスタートをすること。

まずは、、 ブログにかけそうなトピックのリストを10項目ほど書き出します。 10分か20分くらいで書けそうな話題にすること。

毎日リストから項目を1つ選んで記事を書します。あまり考え込まないこと。とにかく書いて公開します。 これを3週間連続で続けてみましょう。

目立つこと

目立つためには、周囲の人たちとの間に大きな差異がなければなりません。OSSをリリースし、本や記事を書き、会議で講演することが注目度を高めるのに役立ちます。

何かであるだけでは不十分、何かをしなくちゃいけない。

小さなことからでもいいので、今の仕事で何か目立つことをやってみましょう。目立つほどの生産性を目指してみましょう。1週間かかると思われた作業を1日で終わらせてみるなど。注目されたかどうかの効果、検証もやってみましょう。

自分のロードマップを作る

多様なスキルを学ぶことは間違いなく良いことですが、まとまりなく組み合わせただけでは人事担当者を混乱させるだけです。 これから進むロードマップを作ることによって自分の進み具合を確認するのに役立ちます。


どの項目も意識が高く実行していくのはハードルが高い内容もありますが、少しずつこなして偉大なクリエイターを目指します!