フリーランスPMの開発日記

フリーランスSEとして、PM(プロジェクトマネージャー)をしています。仕事とか、アプリ開発とか、サークル運営とか。自由気ままに。

【読書録】『リーダブルコード』はプログラマーのバイブル

今回の読書録はこちら。

 

プログラマーなら一度は読むべき、と言われている有名な本ですね。

存在は知っていたものの、プログラムに触れる機会は多くないため、一旦後回しにしていました。

 

で、いつの間にかプログラムを教える立場になっていたため

基本を知らなければ、と思い購入。

 

確かに、プログラムを書く人は一度触れておくべき内容だな、と。

今回は、概要だけ抜粋します。

 

全体概要:読みやすいコードとは何か?を言語化した、プログラマーのバイブル

目的は、「読みやすいコードを書くには、何が大事か?」。

 

C++, Python, Javascript, Javaの4つの言語で、

具体的なコードを見ながら

「なぜ読みづらいのか?」

「読みやすくするには、どうしたらいいのか?」

を一般化しながら述べている。

 

  • 変数名やメソッド名の決め方
  • コードの美しさとは
  • コメントすべきこと
  • コメントの書き方
  • 読みやすいロジックとは
  • 読みやすいテストとは

などなど・・・

 

「読みやすいコード」という曖昧な概念を、

必要な要素に分解し、分かりやすく一般化しているのは物凄い快挙だと思う。

そりゃ売れるわけだ。

 

「読みやすいコードってこんな感じでしょ」って自己流でコードを書いている方は、間違いなく読むべきだと思う。

(ご多分に洩れず、僕もその1人である)

 

中でも、気付きの多かった2点を紹介しよう。

個人的な重要ポイント

コードは理解しやすくなければならない。

コードは、動けばいいものではない。

効率的に処理が走ればいいわけでもない。

コードは、理解しやすくなければならない。

 

コードを書くときは、

「見た人がどう思うか?」という視点を常に持たねばならない。

 

誰が見ても最短時間で理解できるよう、

1行1行に意図を張り巡らせながらコードを書いて行くのだ。

 

本書のすべての内容は、この考えを基盤に成り立っている。

  • 読み手が最短時間で理解するのに、この変数名は適切か?
  • 読み手が最短時間で理解するのに、どんなコメントを書くべきか?

などなど。。

 

この考えは今まで全く無かったし、

もはやプレゼン資料を作るのに近いな、と感じた。

 

プレゼン資料は「伝えるための資料」なので、

文字の大きさや、レイアウト、文章の書き方等

すべてに意図を張り巡らせる。

 

コードも、処理を記述した言語であることはもちろんだが

「自分の考えたロジックを読み手に伝える」という役割も持っている。

その意味で、「見た人がどう思うか?」という視点は思っているよりもずっと重要なのだ。

コメントの目的は、書き手の意図を読み手に知らせることである。

コメントは、変数名やメソッドの処理内容を記述するのみならず

書き手の意図を読み手に知らせる、という役割も持っている。

 

本書でのコメント例を紹介する。

このファイルには、ファイルシステムに関する便利なインターフェースを提供するヘルパー関数が含まれています。ファイルのパーミッションなどを扱います。

注意:このコードはリストの重複を処理できません。(実装が難しいので)

このデータだとハッシュテーブルよりもバイナリツリーのほうが40%速かった。

左右の比較よりもハッシュの計算コストのほうが高いようだ。

これらのコメントがなければ、読み手は関数の調査や効率化など

書き手が検討済みで、本来不要な作業に、時間を費やしてしまうかもしれない。

 

つまり、

  • コードから伝わる自分の考えは何か?
  • 逆に、伝わらない考えは何か?

という考えから、どのようなコメントを書くべきかを考える、ということだ。

まとめ:基本を知りつつ、現実に合わせて活用すべし

ということで、今回は『リーダブルコード』の紹介でした。

読みやすいコードをキレイに言語化しているだけでなく、

具体例が大量に紹介されていて非常に分かりやすいので、プログラマーは一度読んでみることをオススメします。

 

ただ、全てを現場で活かせるわけではない、とも思いました。

現場では汚いコードだらけだし、誰もが本書を読んでいるわけではない。

(書き手の意図までコメントに落としている人は、ほとんどいないかと思います)

 

自分の現場の書き方に合わせながら、

「どう工夫したら、読み手がもっと効率的に理解できるか?」を最大限考えていくことが大事だなー、と思います。

 

それを差し引いても、プログラマーが読むべきバイブル的な本であることには間違いありません。

非常に勉強になる本でした。

 

それでは、また。

【読書録】『営業の魔法』とは? エンジニアにも活きる12個の魔法

こんにちは。久々の更新ですね。

 

4月・5月は、引っ越したり仕事がピークに達したりと、色々な変化がありました。

最近落ち着いてきて、ようやく余裕とやる気が出てきたので、ブログを再開。

 

アウトプットし続けるのは大事ですねー。

ゆるっと頑張っていこう。

 

 

さて、今日はこの本の読書録になります。

営業の魔法

営業の魔法

  • 作者:中村 信仁
  • 発売日: 2007/10/02
  • メディア: 単行本
 

 

最近営業に近いことに取り組む機会が増えてきたため、営業本を何冊か読み漁ってたところ

「営業はこれ1冊にすべて凝縮されている」と言っても過言ではない本を見つけました。

 

で、タイトルこそ『営業の魔法』ですが、

すべての職業に応用できる、と感じたため、自分用にまとめていこうかなと。

 

どのあたりが応用できるか?は

本記事を読んでいただけると分かるかと思います。

 

 この本は、営業経験半年の新入社員と、トップ営業マンとの出会いから始まります。

 

新入社員はカフェで偶然見かけた、名前も知らない営業マンに「営業を教えてください!」と声をかける。

そこから、師匠と弟子としての、営業のレクチャーが始まります。

 

トップ営業マンは、営業に関する12個の魔法を教えてくれます。

どうすれば営業が上手くいくのか。

営業とは何なのか?

 

・・・

 

という風に物語は進んでいくのですが、

今回はその12個の魔法をまとめていきます。

自分用に、いつでも見返すことができる備忘録として。 

12個の『営業の魔法』

営業に必要な3つの力

  1. 集中力:相手を自分に集中させる力
  2. 会話力:一方的に話すのではなく、双方向で話し合う力
  3. 渦潮力:相手を自分の流れに巻き込む力 

魔法その1.瞬間の沈黙

会話では、必ず相手に考える『間』を与える。

相手の目線で『間』の始めと終わりが分かる。

『間』があることで、相手は選択と決断を繰り返すことが出来る。

小さな選択と決断の連続により頭が整理され、最終的に大きな結論へと導く。

 

魔法その2.人間力

能をいただき、欠点に気づき、学び、成長する。

出会いは成長のための必然。

常に謙虚で、正直であること。

 

魔法その3.売らない営業

営業の使命は、問題解決のお手伝いをすること。

そして、共に成長し感動を共有すること。

『ありがとう』が自分の報酬。

 

魔法その4.既成概念

可能性を広げるには、想像力を鍛える。

不可能とは、既成概念によって勝手に決めつけているにすぎない。

既成概念は、弱気な心のアドバイザー。

 

魔法その5.応酬話法

正しく使うこと。

説得ではなく納得してもらうための会話力。

相手の不安を取り除き、有意義な結論を導く。

 

魔法その6.二者択一話法

2つの引例を用意する。

大きなグループから、的を小さく絞っていく。

相手がイメージしやすい引例を使用する。

 

魔法その7.イエス・バット話法

肯定した上で、その意見に対して質問を繰り返す。

するとお客様は、自分自身で違う答えを導いてゆく。

※技術を乱用してはいけない。営業の使命を全うすること。

 

魔法その8.質問話法

ノーが出た時こそ、本音を聞くチャンス。

白旗を掲げ、明るく「本当のところはどうなのか」を聴く。

本心を教えていただいた瞬間から、徹底的にその解決に集中する。

 

魔法その9.類推話法

三者のことばとして活用することで、謙虚な姿勢を保ったまま活用できる。

徹底的な準備が必要。

 

魔法その10.推定承諾話法

活用することを前提に、様々な条件の確認作業を行う話法。

「もし、仮に・・・」がスイッチ。

二者択一話法などと組み合わせて使える。

 

魔法その11.肯定暗示法

曖昧さを排除し、すべて『イエス』の前提で『言い切る』。

購入を前提に結論に持っていく。

『先義後利』。

 

魔法その12.ボジティブ・シンキング(陽転思考)

明確なビジョンのもとで、それに向かって思考を集中し、断固たる勇気をもって行動すること。

ビジョンから目をそらさず、身を投げ出す勇気を持って動く。

 

以上、12の魔法でした。

 

自分にどう活かすか?

営業だけでなく、全ての職業は「問題解決のお手伝い」と言えます。

クライアントの問題を解決することで、対価が支払われています。

 

そのため、この『営業の魔法』は

営業だけでなく幅広い職種に応用可能なものだと思っています。

ほとんどの職種では、誰かが提案した内容に対する、選択と決断が行われる。

それを繰り返すことにより、物事が前に進み、大きな問題解決に繋がる。

この構図は、あらゆる職種ですべて同じだなあ、と。

 

そういった意味で、自分の仕事にも大いに活かせる、と感じています。

自分の開発技術やビジネススキルが、自分の商品。

それらを、クライアントの問題解決にどう活かすか。

どう伝えれば、相手に一番よく伝わり、実際の問題解決に繋がるか。

 

まずはこのブログにまとめた内容を何度も見返しながら、

仕事の心持ちと、『営業の魔法』たちを、自分の中に落としていきます。

 

補足

ちなみにこの本は、オーディオブックで聴くのが非常にオススメです。

本は全体的に対話形式で書かれていますが、

オーディオブックでは、その対話をプロの声優の方が演じてくれています。

そのため、会話の『間』や声色、トーンを通して『魔法』の内容がよりリアルに伝わってくるからです。

僕は、Audibleと本の両方を買いました。笑

 

今月は5冊くらい本を読んだので、しばらくはアウトプットをかねた読書録を書こうかなー。

それでは、また!

 

営業の魔法

営業の魔法

  • 作者:中村 信仁
  • 発売日: 2007/10/02
  • メディア: 単行本
 

 

フリーランスエンジニアは、リスクもあるよって話。【メリット・デメリットを語る】

f:id:ginoginogi-no:20200419154208j:plain 月舟さんによる写真ACからの写真

 

こんにちは。

Ginoです。

 

お久しぶりです。

久々の投稿ですねー。

最近のわたし(雑談)

最近、ブログを書くルーティーンが崩れていまして。

 

というのも、きっかけはこの記事。

ginoginogi-no.hatenablog.com

これを毎日実践してるんですが、まあーよく眠れる。

すごいっす。

 

この睡眠法を実践する前は、深夜にブログを書いて

予約投稿を設定する、みたいな書き方をしていたので

睡眠を重視した結果、ブログを書く時間が無くなりました。(笑)

 

で、友達がブログを更新しているのを見て

思い出したように投稿してるというわけですね。

 

ネタは溜まってるから、また更新していこうかなー。

 

 

フリーランスのリスクを考えた背景

そして、今回はちょっと仕事の話をしようかなと。

 

転職中のエンジニア友達から相談を受けてる中で、

フリーランスってどんな感じ?おすすめ?」

って聞かれることがありまして。

 

今日はその話になります。

 

結論、誰にでもオススメはできない、と思っています。

 

というのも、フリーランスのメリットも沢山あるけど

その分デメリットもあるんですよね。

それを加味した上で、どっちを重視するか?という話をすべきだなと。

 

なので、どこぞのYoutuberとかが

フリーランスエンジニア最高!全員なるべき!!」

とか言ってるのを聞くと、不親切(というより不誠実)だなーと思っちゃいます。

 

まあ、色んな意図が絡んでるんでしょうけど。

(再生数稼ぎたいとか、案件紹介して自分の利益に繋がるとか)

 

 

で、話を戻すと。

具体的なフリーランスのメリット・デメリットをまとめてみました。

 

フリーランスのメリット・デメリット

▼メリット

  • 同じ業務内容でも、収入が正社員時代の1.5倍〜2倍くらいに上がりやすい。税金を差し引いても、可処分所得は結構増える
  • 単価交渉ができるから、収入が上がりやすい(半年で月10万アップ、とか)
  • 具体的な業務内容を見て仕事を決められるから、やりたいことができる
  • 実力主義だからこそ、必然的にスキルアップする
  • 完全リモートワークも可能(契約によります)
  • 時間も自分で自由に決めれる(契約によります)

▼デメリット

  • 会社に所属しないから帰属意識が低い。疎外感もあったりする
  • 期間、案件ベースで契約を切ることが多く、契約が切れたら他の案件を探す必要がある
  • 税金(確定申告)とか保険とか、正社員と比べてやることが増えて面倒
  • 福利厚生がない、つまり有給も長期休暇も当然ない
  • 実力主義だから、「こいつ使えねーな」って思われたら契約を切られる

 

もっとあるとは思いますが、所感はこんな感じです。

 これをどう捉えるかですね。

 

正社員との違いとして1番認識すべきなのは、仕事が「契約依存」なこと。

 つまり、今高い単価で働いていたとしても、1年後にその収入は保証されません。

 

自分次第で、1年後に収入が倍になる可能性もあるし、

逆にサボってたら1年後に収入がゼロになる可能性もある。

 

チャンスと捉えるか、リスクと捉えるか、ですね。

 

 

 

 まとめ:自分が何を重視するか次第。フリーランスに「安定」はない。

僕個人としては、メリットがデメリットを上回ると判断したため、フリーランスの道に進むことにしました。

 

ただ、これは各個人でよく考えて欲しいと思っています。

人生において何を重視するかは、1人ひとり違いますからね。

 

世間でよく言う「安定」は、フリーランスには無いと思います。

(終身雇用とか、安定した収入とか、完全週休二日制とか)

 

 

ただ、フリーランスの世界では、

努力次第で上記の「安定」を得ることも出来るし、

プラスアルファを得られる可能性があるのも事実です。

 

 

僕はフリーランスになってよかったと思いますし、

実際の業務は、月〜金に1日4〜5時間自宅での仕事をしており、

それでも正社員時代の倍くらいの収入になっています。

(もちろん、相応の努力はしてますよ!)

 

 

ということで。

友人のフリーランスってどんな感じ?おすすめ?」という問いに対する答えは、

「リスクとリターンをきちんと理解した上で、フリーランスが良いと思うならオススメ」って感じですね。

 

それでは。また!

YouTubeで学ぶ、最高の睡眠とは??【スタンフォード式 最高の睡眠】

f:id:ginoginogi-no:20200413204858j:plain

 

最近、不眠症でして。

 

仕事もかなり忙しい時期のため、

12時に寝ても、2時半くらいに目覚めて、そのまま仕事する、みたいな

絶望的な生活をしています。。。

 

そして、ちょっとだけ仮眠取ろう、と思っても

つい寝過ぎたり。

睡眠に振り回される生活を送っています。

 

そんなときに、オリラジあっちゃんの動画で

ちょうど睡眠を取り上げてくれました。

www.youtube.com

 

出典はこの本ですね。

www.amazon.co.jp

 

1年前くらいにオーディオブックで聞いたことはあるんですが、

今回の動画を見て、まったく実践していないことに気が付きました。。

 

自分用のメモも兼ねて、

最高の睡眠を送るためのToDoを、動画から抜粋しました。

 

▼寝る前

  • 寝る90分前にお風呂に入る
  • 湯船に15分浸かる
  • 寝る前は頭を使わない

▼起床時

  • 起きたい時間と、その20分前にアラームをかける(1回目は小さい音、2回目は大きい音)
  • 朝起きたら必ず日光を浴びる
  • 軽く運動をする
  • 体温をちょっと上げる(シャワーを浴びる、等)

 

たった7つだけ。

なんですが、振り返ると

全部やってなかったなーと。。笑

 

そりゃ不眠症にもなりますね。

 

 

で、昨日から実践してみたんですが

早速、効果てきめんでした。

 

夜もすぐ眠れたし、

朝スッキリ起きれる。

 

頭もかなり働き、仕事がサクサク進みました。

睡眠って大事だなあ。。。

 

 

何より、睡眠は免疫力を高めるのに超重要とのこと。

コロナのリスクがあるからこそ、睡眠の質は高めて行きたいですね。

 

7つのToDoを実践して、睡眠の質を高めることで、

仕事もプライベートも、その質を高めていきましょう。

 

それでは、また。

在宅期間は料理を極めよう!おすすめレシピ4選

f:id:ginoginogi-no:20200411042611j:plain

こんにちは。

 

コロナウイルスの影響で、

晴れてすべての仕事がリモートになりました。

 

というわけで、5月6日までは自宅に引きこもることになりました。

やったね!

お家大好き。

 

で、せっかく家にいるから、何か普段出来ないことをしようかな?と思い。 

 

決めました。

在宅期間中は、料理を頑張ります。

 

 

というのも。

もともと料理が好きで、美味しそうな料理のレシピを見つけたら、メモしているんですが

仕事でずっと外にいたので、レシピが溜まる一方だったのです。

で、それを消化していこうかなーと。

 

 

なので、今日は作りたいレシピの紹介になります。(笑)

完全に自分用。

 

 

まずは、料理研究家リュウジさんのレシピ。

かなり有名な方ですね。

www.youtube.com

 

You TubeとかTwitterとかInstagramとかでレシピをあげているんですが、

いつもインスタで見てます。

 

友達のタイムラインに紛れて、美味しそうなレシピが出てくるんですよね。笑

 

個人的に作りたいレシピはこちら。

 

www.instagram.com

絶対うまいやつ。。

担々麺好き。

 

www.instagram.com

サイゼのやつの、再現レシピ的なやつですね。

あれうまいんですよねー。

 

この方のレシピは、「簡単に作る」ことに特化してるのも

個人的な好きポイントです。

どのレシピもめっちゃ簡単なので、見てみてください。

 

 

 

ほんで、次はこの方。

www.youtube.com

You Tubeのオススメでよく出てきて、つい見ちゃいます。

どの動画も、サムネの時点で旨そう感が溢れてる。ずるい。

 

作ってみたいのはこちら。

www.youtube.com

カルボ飯なんて。。。

ふわとろたまごなんて。。。

間違いない。 

 

www.youtube.com

究極の角煮。

こっちもめっちゃうまそう。

 

この方も、レシピが比較的簡単なのが嬉しいところ。

そして、調理中にちょいちょい筋肉アピールをしてくるのが面白い。笑

 

あと、動画主は21歳の学生らしいです。。

なんというか、この行動力と動画の完成度に驚きですね。

 

自ら価値を生み出す体験って

なかなか出来るものじゃないので。

学生のうちからそれをしていることに、素直に尊敬です。

 

 

ということで、美味しそうなご飯紹介でした。笑

作ってみたら、ブログにまた載せようかなー。

(こうして、どんどんブログの趣旨から離れていく・・)

 

作ってみたレポートは、乞うご期待ということで。

それでは、また。

なぜ「外出自粛」する必要があるのか?無自覚感染の恐ろしさ。

f:id:ginoginogi-no:20200405183404j:plain

東京では、新規感染者数が連日新記録を更新しています。

 

4/9時点で、過去最多の181名。

news.tbs.co.jp

あな恐ろしや。。。

 

緊急事態宣言も発令され、

外出自粛要請が強く出ています。

 

にも関わらず、相変わらず多くの人が外出しているようです。

たまたま見つけたツイート。

 

品川駅ですね。こわい。 

職場の都合があるので、仕方のない外出かもしれませんが。。。

リモートワークを実施できない(しない)会社にも、大きな問題がありそうですね。

 

 

 

ところで。

「外出自粛」って、いったいどんな効果があるんでしょうか?

 

 

自分の感染リスクを避けるため? 

 

であれば、健康な人と会うのは別にOK?

 

 

いやいや。

そんなことはないようです。

 

先日、こんな記事を見つけました。

gigazine.net

1番恐ろしいのが、感染していることに気付いていない可能性があることです。

そんな新型コロナウイルスの特徴の1つが、「感染してから症状が現れるまで平均して5~6日かかる」という点です。そのため、新型コロナウイルスに感染しても気づかず、感染を拡大させてしまう場合があります。 

コロナウイルスに感染した人が、

潜伏期間に人と接触し、ウイルスを複数人に拡散する。

 

そして、新たに感染した1人が外出することで、

さらに複数人にウイルスを拡散する。

 

それを繰り返すことで、感染者が爆発的に増えていくそうです。

 

 

つまり、外出自粛とは

「自分を守るため」なのはもちろん、

「周りの誰かを守るため」「感染爆発全体を防ぐため」に必須なんですね。

 

 

自分の勝手な外出行動が、社会全体の感染爆発に影響しうるリスクを考えると

のんきに外出なんか出来ないな、と思いました。

 

 

ムービーでは、こう締めくくられています。

 

「これは、あなたにとって大切な人が生きるか死ぬかの選択です」 

 

たしかに、この状況でも会いたい人は、

自分にとって大切な人ですよね。

 

 

ぜひ、記事を読んでみてください。

動画も見てみてください。

 

 

コロナに対する正しい知識を得た上で、

少しでも早くコロナが収束するよう、1人1人が行動を変えていけるといいな、と思います。

 

 

僕も、コロナが収束するまでは、家に引きこもって

いっぱい勉強して、自己研鑽に励みたいと思います。

 

それでは、また。

ビジュアルで理解する【フーリエ変換】が面白い!

f:id:ginoginogi-no:20200409103506j:plain

 

コロナの影響で在宅勤務になってからと言うもの、You Tubeを見る時間が極端に増えてまして。

面白かった動画でも、ちょこちょこ紹介していこうかな、と。

 

 

で、今回は数学っぽいお話。


フーリエ変換が視覚的に分かるよっていう動画です。


【物理エンジン】円板の組み合わせだけで何でも描けるフーリエ変換の話 Fourier transform

 

大半の方からすれば、「そもそもフーリエ変換って何?」って感じだと思いますが。笑

理系の大学生には、馴染み深いものだと思います。

 

いろんな形の波(正弦波)を重ね合わせると、どんな形でも書けちゃうよ!みたいな話ですね。

 

大学の授業とかでは、数式でしか説明を受けないので

こういった直感的に分かるものって、革新的でめっちゃ良いなーと思います。

大学当時に見ておきたかった。笑

 

最近勉強したAWSにしろ、Vue.jsにしろ

動画コンテンツでの学習って効率的だなと、しみじみ感じています。

(詳しくは過去記事参照)

 

ginoginogi-no.hatenablog.com

  

ginoginogi-no.hatenablog.com

 

今、プログラミング教えたりとか

高校生の家庭教師したりしてるので、補助教材として

動画教育も導入していきたいなー。

 

という雑談でした。

ではまた!