山本の日常

技術記事を書くためにブログを始めましたが、なんだかとりとめのないことを書いています。

「情熱プログラマー」を読みました

「情熱プログラマー」を読んだ感想です。

キャリアに悩むソフトウェアエンジニアにとって良い本でした。 ページ数も160ページと少ないので、数時間で読めました。

ソフトウェアエンジニアとして超一流になるための心構えみたいなものがずっと書かれているのですが、一つ一つが刺さるものが多かったです。

この本で書かれていることを大きくまとめると

  • 技術的に真の意味でプロフェッショナルになること(専門技術分野の深い理解、汎用的な技術理解、新規技術のキャッチアップ)

  • ビジネスサイドから評価され信用される人間になること

がキャリアを成功させる上で必要といっていました。(まとめにすると、当然のことをいっていますね..)

個人的に心に残った話は、目の前の仕事をおろそかにして面白そうで評価があがりそうな仕事しかやらないエンジニアのキャリアが成功するわけがないという話です。回り道に見えるかもしれないが、目の前の仕事に焦点を合わせて日々の仕事の小さな勝利を楽しむ方が成功に近づくという話でした。私も退屈な仕事から逃げたいと思うことが多々あるので、ぎくっとしました。

...................

以下、私的に刺さった内容です。(文言は本から引用しているわけではなく、私流に言い換えています)

技術(言語、ライブラリetc)を投資対象と見る

技術を投資対象として把握して、低価格で雇われるエンジニアにならないための戦略です。

  1. 需要が多く供給が少ないニッチなテクノロジに注力する。(めっちゃ古い技術 or めっちゃ新しい技術にそのような技術が多い。時代とともに変わる。リターンを得られない可能性もある。リスクはつきもの。)

  2. ハイエンドなスキルをつける。(基準を設定し、品質を保証し、技術的な指導を行うスキル)

...................
エンジニアとしての価値を市場価値でとらえるという意識は重要ですね。個人的には過去一世を風靡したような古い技術に注力するのも市場価値が高いというのが面白かったです。自家製のシステムは段階的に新システムに交換されるので、古いシステムと新しいシステムのやり取りができる必要があり、古いシステムを理解している人間が必要になるとのことでした。

ビジネス領域の選定

自分の強みとするビジネス領域を選定することです。エンジニアなので良いプログラムがかければビジネスドメインなんて関係ないと考えがちですが、ドメイン知識があれば、ビジネスサイドの人たちのコミュニケーションがスムーズに進み、ビジネスサイドの人間から安心され評価もされやすいという話でした。

...................
この視点は全くなかったです。確かにこの本でも何度も言われていますが、ソフトウェアエンジニアはビジネスに影響を与えてなんぼなので、自身の得意なビジネスドメインを持つべきということですね。

一番下手くそでいよう

レベルの高い集団に属しましょう。メリットは自然とその人たちの思考が身につく点と、その集団でもやっていけることがわかってきて自信がつく点です。

...................
本の中では、その集団に属するために何をすればよいかについても色々と書いてありました。(技術面を鍛えるのはもちろんのこと、OSSに参加してみること、コネを作ること、社会的に目立つことが大事など書いてありました)

一に練習、二に練習

実務で練習するという考え方を捨てて、技術に対して自分の時間を投資する。
e.g.).

  • ライブラリで提供されている普段使わないAPIを使ってみる

  • OSSに新規機能を追加してみる。

  • 短時間でOSSを理解するトレーニング。

  • 短時間で難しい問題を解いてみる(TopCoder)

...................
本の中では、プロフェッショナルとして求められる技術レベルについて例がたくさん挙げられていました。プライベートの時間では、作りたいものをつくるよりもうまくいかない可能性の高い研究的な取り組みをすると力がつくと書いてあったりしました。。
私はほぼ全部やったことありませんでした。。プレイベートでも悶々とするのは辛いです。。 情熱を燃やさないとダメとのことでした。。

今の職務を全力で

自分にはもっとやりたいことがあるのに、それをさせてもらえない。そんなもやもやを解決する手段として、より高い地位を求める。ただどこまで高めてもそんな状況は現れず、ずっともやもやしている。まどろっこしく感じるかもしれないが、気持ちを現在に集中する方が、目標そのものにこだわっているよりも目標に近づける。現在に焦点を合わせていれば、日々の仕事の小さな勝利を楽しむことができる。

...................
退屈でもビジネス的に求められる仕事をやった方が偉いと書いてありました。ビジネス視点、マネージャー視点で見れば、当然ですね。退屈な仕事をゲーム的に楽しむ。かつ面白いことも時間を作って取り組む。両方大切だと思いました。

世界を変えよう

会社で目立つためには、使命感を持つ必要がある。改善の余地があるなら自分から変えなければ。 世界を変えようとすると、必ず一部の人たちの怒りを買うことになる。でも意図が正しいなら、聖戦として戦おう。そうすれば職場の誰かが君はどんな仕事をしているの?と聞くことはなくなる。

...................
会社で目立つ人は一流であり、目立つには使命感が必要という話でした。。確かに全社員がいるチャットで戦っている人をみると、そのスレッドを読んでしまいますよね。。名前は覚えていませんが。。

まとめ

今後キャリアに悩んだときにまた読み返したい一冊でした。
エンジニアとしての幸福を追い求める人はぜひ読んでいただければと思いました。