こんにちは。のっくんです。
「SOFT SKILLS ソフトウェア開発者の人生マニュアル」(ジョン・ソンメズ)を読んだ感想を書きます。
著者のジョンさんは現在、SimpleProgrammerというブログサイトを運営しているようです。
この本は3000円程度しますが、ソフトウェア開発者にとって有益な情報がたくさんあるので読んで損はないです。
SOFT SKILLSと言うのは、ソフトウェアのスキルではなく、ソフトウェア開発者としてうまく生きて行くためのスキルと言う意味で使われています。
あなたは友好的で親切で協力的な態度の持ち主ですか?
エンジニアだとどうしても技術のことを中心に考えてしまいますが、それだけだとうまく行かないってことですね。
私の周りにも技術のことばかりで相手のことを考えない方がいますが、そう言う人は大抵会社で損しています。
上司とうまくいかずに口論になり、他の部署に異動になったりするケースもあります。
あくまで 技術 < 人 ってことを教えてくれる良書です。
社交術
エンジニアが会社でうまくやっていく方法について、以下のように述べています。
自分の仕事はコードを書くことだと思っているなら、考え直すべきだ。ソフトウェア開発者としてのあなたの仕事は、ほかのあらゆる職種と同様、人と接することである。
(ジョン・ソンメズ「SOFT SKILLS」 第4章)
コードばっかり書いていて、人を蔑ろにしないほうが良いと言うことです。
私も開発していた時はずっとコードを書いていましたが、コードを書きながら人を大切にするって難しいものです。
打ち合わせなんて意味ない!コードを書かせろ!って人がいますが、この人はいろんな面で損をしているのを気をつけた方が良いですね。
ソフトウェア開発者である私たちは、全ての人が論理的な視点から物事を考えると思ってしまいがちだ。そのため、しっかりとした論理があれば、他人はあなたの考え方を否応無く受け入れるという間違った思考に陥りやすい。
:
そういうわけで、議論はなんとしても避けなければならない。泣き叫ぶ幼児の論理と純粋理性に訴えてもムダなように、あなたに冷たくされた同僚はあなたのやり方がベストだとは思わないものだ。
:
何かのやり方について賛成できないとき、たいていの場合はまずそれが命を賭けるに値するほどのものかどうかを判断しよう。特に、他人が関わっている時はそれが大切である。自分にとっては大した意味はなくても他人にとっては大きな意味を持つ小さな問題で自分の誤りを認め、自分の意見を諦める機会を設ければ、あなたは相手を計り知れないほど尊重したという実績を作れる。
(ジョン・ソンメズ「SOFT SKILLS」 第4章)
技術職に多いのですが、自分は技術が詳しいからっていろんなことに首を挟んで必要以上に議論する人っていますよね。
そういう人は周りから孤立します。会社では居場所が少なくなっていきます。
会社では基本的に相手の意見を尊重しておいた方が得です。
個人的に議論をするってことにあまり意味を見出せないので、この辺りは実践できていると思います。
議論をした結果、事態が好転することなんてまずありえませんよね。
大成功するブログの作り方
率直に言って、私のキャリアで経験した成功の大半は、ブログのおかげである。
(ジョン・ソンメズ「SOFT SKILLS」 第21章)
ブログ運営で生活しているジョンさんですから、そりゃブログが大事ですよね。
どうやったらブログで大成功するのだろう?と思って読み進めました。
あなたがブロガーとして成功するかどうかは、基本的にある一つのことでによって大きく左右される。私は、成功を収めた多くのブロガーと話をしてきたが、彼らは全員あるひとつのことで共通していた。それは、たくさん書くことだ。もっとも大きく成功を収めているブロガーの中には、毎日書くことを何年も続けている人がいる。
(ジョン・ソンメズ「SOFT SKILLS」 第21章)
どのブロガーさんも、たくさん書けって言ってますよね。たくさん書けばコンテンツの質が上がるので、良い記事が書けるようになるとも言われています。
じゃあ何を書けば良いの??
私は、話題として取り上げて詳しく話した内容なら、良いポストとしてブログに書ける。友達に電話をかけ、ディベートを始めたら、書く価値のあるポストのテーマが見つかるだろう。
(ジョン・ソンメズ「SOFT SKILLS」 第21章)
ディベートする友達がいない場合は、、、汗
まぁそれはさておき、友達とディベートするような内容ってブログに書きやすいってことなんでしょう。
試しに彼のブログを見てみると、確かに議論になりそうなものが記事になっていました。
「勉強するべきプログラミング言語は?」
「プログラマの心配性を解決する方法」
なるほど、確かに誰でも興味が湧くような内容ですね。
学び方を学ぶ:独学の方法
プログラミングの学び方って、オンラインスクールとか、本、ユーチューブ、色々あると思うんですけど、どれが正解って多分ないと思うんですよね。
手当たり次第技術書を買って全部読むってのは効率的ではないです。
じゃあどうするの?!ってなった時にこの本が答えを教えてくれました。
私たちはみな、実際にやってみて、さらに教えるとよく学べるように作られているのである。能動的な学習は、他のどの学習方法よりもはるかに効果的だ。
(ジョン・ソンメズ「SOFT SKILLS」 第29章)
まぁ結局はこれなんですよね。プログラミングでは本を読んだだけ、ブログを読んだだけではダメで、実際に自分で作った方が良いということです。そして学んだことをアウトプットすると良い。
自分で作るというのは、本やブログの内容をコピペして動かしてみるということではありません。
実際に自分の作りたいもの(成功基準)を設定して、それに向かって調べながら作っていくということです。
いい成功基準:
HTML5を使って、インターネット上に自分の履歴書と仕事の例を表示するホームページを作れるようになる
(ジョン・ソンメズ「SOFT SKILLS」 第29章)
このくらいはっきりした基準だと良いですね。これを達成するために、本やブログなどたくさんの参考資料を見つけるべしとも言っています。
私の場合、まずAmazonでサーチを行い、次にGoogleでサーチして、ビデオ、ブログ記事、ポストキャストと言った私が役に立つと思いそうなコンテンツが見つかるかどうかをチェックする。
(ジョン・ソンメズ「SOFT SKILLS」 第29章)
学習するにはいろんなコンテンツが必要なんですね。ところでポストキャストって何だ、、笑
そして、人に説明しようとすることは、自分が学んだことの中に含まれている隙間を埋めるための手段として非常に優れている。
(ジョン・ソンメズ「SOFT SKILLS」 第29章)
学んだことをブログやYoutubeでアウトプットしようということです。これは何度も本の中で出てきます。アウトプットの重要さを説明する本はこの本に限らずたくさん出版されています。
学んだことはどんどんブログでアウトプットしましょう。
効率的な独学方法
・目標を達成するために参考資料(ブログや本)を集める
・学んだことをブログでアウトプットする
以上になります。最後までご覧いただきありがとうございました。