Ruby Journey - 動的言語への誘い

転職してRubyを触るようになったので、言語的にキャッチアップするために行ったことを残しておこうと思います。

 

Java, Javascript(ほんのちょっと), Swift, Objective-C, C++が主に触れてきた言語ですが、大半は静的型付け言語です。いわゆるコンパイルというプロセスを通して、プログラムを生成するタイプのものですね。(厳密には型の保証性から静的型付けにも強いと弱いがある)

 

弘法筆を選ばず、とはいいます。しかし、その本質はどの筆でも同じことができるだけではなく、その筆の特性を生かしたアウトプットができることだと思います。

 

大きく分けて4つのプロセスを経てRubyに慣れていきました。

1. 動的言語との向き合い方を考える

2. Rubyの使われ方を理解する

3. Rubyの特性を理解する

4. Rubyとの付き合い方を知る

 

1. 動的言語との向き合い方を考える

静的言語を中心に触ってきた自分はコンパイラを信じることを盲目的に正しいと思ってました。オブジェクト指向パラダイムでは、相手のことを必要以上に知る必要がなく正しく機能するプログラムこそ、オブジェクト指向的だと言われてます。

動的言語ならではの設計と、オブジェクト指向の考え方を与えてくれた本が

こちら。

 

ダックタイピングの特性の話と、静的言語だったらかっちり作ってたものを柔軟に、そしてコンパイルなしで、うまく設計していく道筋について気づきを与えてくれました。

とても読みやすくスーッと読みきれました。「コンパイルの保証してくれることは実は何もない」という話があるなど、静的言語使用者にはなかなか刺激的な(?)内容となっております。 

2. Rubyの使われ方を理解する

現場で使える Ruby on Rails 5速習実践ガイド

現場で使える Ruby on Rails 5速習実践ガイド

 

Rails使ってる人の間では有名みたいです。Railsでのアプリケーション開発フロー、

リファクタリング、バグ対応、テスト、フロント、チーム開発、なんでも取り扱ってます。かなりフルスタックな内容となっているので結構時間かかりましたが、とてもよい予習になったと思います。おすすめです。

 

3. Rubyの特性を理解する

 Rubyでも書けるから、Rubyでなくてはいけない作りへとレベルアップさせる礎になるのが、言語特性をよく知ることです。

RubyにおけるClassを定義することの本質はなにか、Newした時に一体何が行われているのか。この辺りを説明した上で、Rubyの持つ特性の一つである、メタプログラミングへの世界へ案内してくれる本も読みました。

メタプログラミングRuby 第2版

メタプログラミングRuby 第2版

 

話としてはGenericsであったり、Template Programmingの話に近いです。

柔軟な言語の上で柔軟性を保ったプログラムを作る上では必要な機能です。

メタプログラミングは、Gem(Rubyのライブラリ管理システムで取り扱われるライブラリ群)の裏側では当たり前のように使われています。RailsActiveRecordも使ってます。

動的言語メタプログラミングで生産性が飛躍することを思い知らされます。

4. Rubyとの付き合い方を知る

Effective Ruby

Effective Ruby

 

裏側を知り、一般的な使い方を知ったらあとは「やってはいけないこと」と「やるべきこと」を繰り返すことです。 現場でたくさん経験してきた人にとってのRubyとうまく付き合うために避ける書き方や使うべき機能についてたくさん知れる本でした。

メタプログラミングとEffectiveはしばらくは繰り返し読むと思います。

 

根底には、C++やSwift、過去の言語経験があってこその移行プロセスかもしれませんが、基本的には新しい言語への適応手順は同じようになると思います。

 

困っていたら読んでみてください。

 

 

 

今回の転職プロセス - 転職ドラフトを使ってみて -

(こちらの記事は転職ドラフト体験談投稿キャンペーンに参加しています)

 

転職のきっかけは、という話とConnecting the dots。

 

今回、転職にあたって、転職ドラフトを利用しました。

形式は年収とか、働きたい環境の要望、そして今までやってきたことをレジュメに記入し、企業からスカウトを行うというものです。

 

なぜ転職ドラフトを使ったのか

1. エンジニアの界隈で一定の知名度があり、利用して転職した人も周りにちらほら

2. 最初はなんとなく使っていた程度だったが、自分を振り返るツールとしても優れていた

 

 

1. エンジニアの界隈で一定の知名度があり、利用して転職した人も周りにちらほら

 [転職ドラフト 感想] https://bit.ly/2DfKKKe でググるとチラホラでてきますが、

最近はベンチャー企業で使用するところも増えてきており、スカウトを受ける側としてもスカウトする側への期待値(こういう会社からもくるんだ)がかなり改善されていたことも大きいですね。

 

2. 最初はなんとなく使っていた程度だったが、自分を振り返るツールとしても優れていた

 個人的にはこの部分が転職ドラフトの強みなんじゃないかと思ったりします。

職務経歴書的なフォーマットのレジュメなんですが、自分のエンジニアとしての向き不向き(組織レバレッジ型、単体でフリーランスがた、プロフェッショナル、フルスタックとかとか)を自分の中で形に落とし込めるようになっているのがよかったです。

 

具体的なフォーマットは

* 2択形(水とプログラミングどちらが好き?とか、新しいことやるのと技術改善は?とか)

* マネジメント経験は?

* 関わってきたプロジェクトは? -> そして何を得ましたか?

* 好きな本はなんですか?

といった大項目を埋めるような形になっています。

 

プロジェクトと得たことについては

** 技術的なチャレンジとビジネス的な効果を両方記入できて、

〇〇な技術を導入したらビジネス的に××な効果がでました、と

自分の成長と会社の事業の成果を紐づけて乗せやすかったです。

 

好きな本に関しても

* エンジニアとしての志向性をアピールするのに非常に優れていて、

自分は

達人プログラマーリファクタリングウェットウェアを書いたことで、

今回の転職のきっかけにつながっていたりします。

 

※薄めの内容のレジュメだと運営から指摘が入るのも助かりました。

 

新装版 達人プログラマー 職人から名匠への道

新装版 達人プログラマー 職人から名匠への道

 
リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法

リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法

 

 

重要なのは、自分の持てる過去のアセット、経験、本、あらゆるものをアピールに使えるという点です。どんなキャリアにおいても、前のコンテキストの影響はあるわけで、

それを繋いでいく努力が必要です。言い換えれば、Connecting the dotsではないですけど、交点を見つけて自分にとっての価値に還元していくことがキャリアを繋げるということなんじゃないかなと思います。

 

その点で、今回転職ドラフトを使ったことは非常に良いことだったなあと思います。

2018年振り返り

今年は大殺界一年目かつ、八方塞がりの年ということでいろんなこともありましたが、学べたことも多かったです。キャリア・資産運用・価値のコード・来年の抱負に分けて書きます。

 エンジニアキャリア

 昨年はスクラムマスターをやり、今年は職能別組織のチームマネージメントをやる立場につきました。去年の、「やりたいこと(PM)とできること(開発チーム)」との間をとりもった経験もあって、「会社としてやるべきこと(プロダクトロードマップ)とやりたいこと(開発チームからの技術負債対応)」も比較的うまく良い塩梅で進められたのではないかと思います。

 

 自分自身がとりたててiOSのみに特化したタイプのエンジニアではないこともあって、開発チームに対して強く技術的なティーチングは行いませんでした。というのは、チームがうまく回るスクラムマスターはティーチングしてはいけないし、コーチングに集中するべきだ、という自分の経験に基づきます。

 ティーチングとコーチング、何が違うのかというと、こちらから与えるのではなくその人から引き出すことにあります。Educationの語源となるラテン語のeducateは「引き出す」という意味があります。チームを筋肉質にして、自走性を高めるためにも、与えてはいけないわけです。

 

 さて、年明けから自分は転職することになりました。マネジメントの立場で組織をうまく使うという経験と、その前のスタートアップの自分の実力をどんどん高めるというスタンス(よくManager / Playerで対比されるものですが)はお互いカニバルどころか、相補的な力を持っていると思います。そこに基づいて、組織のレバレッジの掛け方を理解しつつ、プレイヤーとして成果を出していくというフェーズに入ります。

 

 チームとうまく対話し、成果を出し続けて感じたことがありました。

それはエンジニアとて、一人だけでは、何者にもなれない、という結論でした。会社組織で働く理由はなんだろう。何者でもない人がたくさん集まって何かになれる、それが会社というものの美しさだとおもいました。自分がいたエウレカはかつてないほどそれを感じる組織でした。

 

エンジニア組織の話でいうと、やっぱり「エンジニアリング組織論への招待」がおすすめです。スクラムの現場の本と迷いましたがこちらかなと。エンジニア組織も経営とは色が違いますが、常に不確実性と向き合っているんです。人と人、コードと人、、

エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング

エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング

 

 

加えて、組織、社会、データの観点からいくつか本を紹介します。

コミュニティとは、形を変えてあらゆる所に顔を表します。その役割とはなんだったのか。分散化する社会にあって、みんなが繋がる理由はなんだろう。それを知るには「ジグムント・バウマン」の「コミュニティ」がおすすめです。そして、マクロな観点から社会で人と人がすれ違うことでアイデアはどう広がっていくのか。そこを知るには「ソーシャル物理学」をおすすめします。我々一人一人のデータから、自由な時間は存在するのか、幸せのデータ化を行おうとする科学的な見地をしりたければ「データの見えざる手」が良いと思います。

 

コミュニティ (ちくま学芸文庫)

コミュニティ (ちくま学芸文庫)

 
文庫 ソーシャル物理学: 「良いアイデアはいかに広がるか」の新しい科学 (草思社文庫)

文庫 ソーシャル物理学: 「良いアイデアはいかに広がるか」の新しい科学 (草思社文庫)

 

 

資産運用

資産運用の話について言うと、今年は-500万という結果になりました。

VIXショックと、10月の暴落をもろに受け、自分とお金とのスタンスを見直すよい機会になりました。

来年は、コンテキストを大切にした取引をしたい。コンテキストとは、この株価の値段を過去に買ってき他であろう人の文脈で評価し直すということです。この考え方のもと、今はBTC FXにて練習をしています。

今年は相場の心理を理解することに後半は費やしました。物の値段は需給と心理がすべて。それを学べただけでもよかったです。

 

心理と需給を学べた良い本は「一粒萬倍の株式投資宝典」と「相場の心理学」、そして「トレーディングエッジ」です

上げても下げても「買い」だけで生涯資産を作る 一粒萬倍の株式投資宝典

上げても下げても「買い」だけで生涯資産を作る 一粒萬倍の株式投資宝典

 
相場の心理学―愚者は雷同し、賢者はチャートで勝負する

相場の心理学―愚者は雷同し、賢者はチャートで勝負する

 
トレーディングエッジ入門―利益を増やしてドローダウンを減らす方法 (ウィザードブックシリーズ138)

トレーディングエッジ入門―利益を増やしてドローダウンを減らす方法 (ウィザードブックシリーズ138)

 

 

価値のコード

すべては相対なのです。

買いたい時に売ってくれる人は売りたい人がいるからで、上がったら売る人を買う人はこれから上がると思ってても、売りたい人はもう上がらないと思ってるから売るわけで。

そういえば、マルクスの本から抽象的な考え方を学ぶ本もよかった。

マルクスが長く讃えられているのは相対性を理解した上で、時代のどのコンテキストにも適応した文章を提供していることにあります。時代時代に応じた、価値のコード(評価価値観的なもの)に即した、内容となっているのが面白いところです。

最強の思考法 「抽象化する力」の講義

最強の思考法 「抽象化する力」の講義

 

    価値のコード、これは割とトレンディな話題だと思います。

世の中は分散化すればするほど社会の価値観を評価する基準が多次元になります。

言い換えれば、マスの物差しが一次元でなくなるということです。

 

自分が納得するからいいや、世の中とは違うけど、と言う従来の"変わり者"扱いされてきた人がいます。そう言う人たちが、テクノロジーを通じてコミュニティを作り、場合によっては通貨を発行できちゃう時代です。そういう時代では、自分自身にこだわりを持てない人が辛くなるでしょう。自分たちがなぜ物を食べるのか。服を切るのか。ストーリーを語りたいのか。「エモい」が普及した文脈にはそういう背景があるような気がします。

 

ひとはなぜ服を着るのか (ちくま文庫)

ひとはなぜ服を着るのか (ちくま文庫)

 
承認をめぐる病

承認をめぐる病

 

 

来年の抱負

価値のコードからもありましたが、「こだわりぬく」これを来年のテーマにすることにします。言い換えれば、自分のコード(価値判断基準)に誇りを持つこと、でしょうか。価値に絶対的な正解はありません。

だからこそ、自分が納得いくかたちで意思決定を行い、こだわってこだわって、こだわりぬくこと。そしてそれに誇りを持つこと。それに重きを置きたいと思います。

 

今年もお疲れ様でした。来年も頑張りましょう。よい、おとしを。

働くことの効用 - 結論で読む幸福論・コンビニ人間

幸せってなんだっけ。不意にそんな気持ちになることがある。

そこでこんな本を見つけた。

 

 

かたちがなくて、かたちがないからこそいいように使われてきた存在。

それが幸せの『実体』なのかもしれない。

 

資本主義では、幸せの定義を「XXXじゃないこと」と定義したがる。

なぜなら、その方が経済の発展に幸せを利用できるからだ。

 

結婚してないことは幸せじゃない。子供がいないことは幸せじゃない。

恋人が居ないことは幸せじゃない。お金がないことは幸せじゃない。

 

こうすることでお金を手にいれたら、次は恋人がいないからダメ。

恋人を手に入れたら、結婚していないからダメ。

 

そういう呪詛に幸せは使われてきた。

しあわせの実体はそういうもんなのである。

本書では、幸せの定義を歴代の哲学者、詩人、芸能人、あらゆる人の発言を通して考察をしている。

 

興味深かったのは

相田みつをの「幸せはいつも自分の心が決める」と

カールヒルティの「仕事に完全に没頭できる働き人はもっとも幸福」

というもの。

 

この二つの考え方と

少し前に、「コンビニ人間」の文庫本を読んだが、それと結びつけて考えたい。

 

コンビニ人間 (文春文庫)

コンビニ人間 (文春文庫)

 

 

この本では、社会の流れとは違って、年もいくつかとって、恋人もいない、定職もない、けど、コンビニでは輝ける人間の主人公の生活を強く描かれている。

 

昔からの知り合いや妹に会えば、

「早くいい人見つけてほしい」とか、「手に職つけてほしい」とか、

人間社会ルール(強いオスがよいメスと結ばれ社会発展に貢献するべき)という価値観でたくさん殴られる。そのルールの中では主人公は異物だ。

 

けど、コンビニでは自分は人間ではなく「コンビニ店員」という生き物として同質化する。そこに安心感がある。会社で働いて成果を出して自分のアイデンティティを持っている人はこういう感覚になんとなくのシンパシーを感じざるをえないのではないだろうか。

 

だから、働いていてそれだけを楽しめる人は「しあわせ」でいいのかもしれない。

だって、「幸せはいつも自分の心がきめる」ものだから。

 

 

コンビニ人間 (文春文庫)

コンビニ人間 (文春文庫)

 

 

 

できるってなに?

 実力って何だろう。仕事ができるってなんだろう。

 

大人になって、社会人になるとふとそんなことを考えることがある。

キャリアだってそうだ。

自分の市場価値、みたく定量化できるものでもない。

 

それに、どこでも使える定量的な価値はないし、

「置かれた場所で咲くスキル」も大事だ。

 

社会人の世界は、学生の頃と違って、点数という概念がない。

そこに何とかして定量かして評価するところが難しい。

 

結局のところ、できるできないというのは仕事の結果でしかわからないのである。

 

だから大切なのは「ハッタリ力」。これに尽きる。

 

すごーく大きな目でみれば起業だってそう。最初はハッタリにすぎない。

会社の価値だって自分が生み出した仮想敵だ。

その敵を倒せるくらいまで自分が成長するように頑張ればいいのだ。

 

だからハッタリでいい。

できなさそうな仕事をきたら「できる」と言うだけなのだ。

 

映画の「イエスマン」の本質は「ハッタリが自分を変える。」

そういったところなんじゃないかな。

 

そのハッタリを生み出すために自分をいかに解放できるか、

それが自分の人生のアッパーを生み出さない努力だ。

 

社会には正解なんて存在しない。

自分で正解にすればいいだけだ。

 

仕事なんてうんちだ。

どう消化しようが出てきたものでしかわからない。

 

読んでいない本について堂々と語る方法 (ちくま学芸文庫)

読んでいない本について堂々と語る方法 (ちくま学芸文庫)

 

 

今死ねるか。というKPI

人生はチャレンジの連続だ。というよりそうでなければならない。

こうしている今にでも、死ぬことへの時間は着実に短くなっているのだから。

大人になって忙殺されていると、こんな簡単なことも不意に忘れてしまうようになる。

 

情報の価値がほぼゼロの時代だからこそ、経験の価値がより高くなる。

だからモノ消費からコト消費へとかわってきたんじゃないか。

 

コト消費も、さらにバーチャルとリアルに変わりつつある。

VR観光よりも実際に行く観光の方が価値があがるだろう。

 

実際に経験を積み上げること、これは人生のストックに変わる。

お給料をもらって生きながらえて、というのはフローに過ぎない。

 

少しずつでも自分のやってみたい頂きに近づくためには

ストックを増やし続けることでしか叶わない。

 

ハウステンボスの社長の本「運をつかむ技術―18年間赤字のハウステンボスを1年で黒字化した秘密」はそのことを思い出させてくれる。

 

- 確かに失敗することは怖いが、本当に怖いのは、何もできずに死んで行くことだ。

 

本の中でハウステンボスの社長であり、HISの会長である澤田さんはそう語っている。

だから常に自分の首元にぶっとい針を仕向けながら「自分は今、死ねるか」

聞くことは非常に大事なことだと思う。

 

そこで、やっぱりあれが足りてないとか、これがやりきれてないとかが出てくるなら、自分が全力をもってリスクを取りに行って、チャレンジするべきだ。

 

チャレンジに失敗して半身をもがれることも、人生の全てを失うこともないのだから。

 

 

真善美の感性を磨くこと。

 

 こちらの本を読みました。受験エリート、システム偏重、サイエンスによりすぎた経営は生き残れる時代ではなくなってきていることを物語っていました。

 

世の中の価値観が「実定法」から「自然法」へのパラダイムシフトがおこっています。

言い換えれば、「実際に法律に従っているか」より「正しそうなことをしているか」が重要になりつつあります。

 

アウトプット主義に陥ったベンチャーは「実際の法律には違反していない」という名目のもと、事業をグレー(モラル・倫理的には微妙なライン)でせめて、バッシングを受ける事例が増えてきています。

かつてのDeNAであったり、ライブドアであったり。

 

我々の価値観も、中央集権的なもの、つまり国がこしらえたルールではなく、

個々人のモラル・道徳が判断する基準を重要視するようになりました。

 

こういう時代にあっては、私たちがおのおのの価値観を有し、あらゆるものを対自分として相対化していける力が求められます。

 

この本には、そういった物事の判断には自分の心に内在する「真善美」が非常に重要な価値をもつと述べられていました。

 

そしてその真善美は、ストーリーテリングを自分と対話しながら受け入れていくことで鍛えていけるようです。

 

具体的には、「小説を読むこと」「詩を読むこと」「哲学を考えること」「絵を見ること」でした。

 

小説はその世界の中での「真善美」を文章を通じて伝えるフォーマットです。

詩は、レトリックが真善美の中核となって伝えられるフォーマットです。

哲学は、考え方、考えた答えが合わさって真善美となっています。

絵は、凝視して自分の心と対話することでストーリーを引き出すものです。

 

ここに、昨今、マインドフルネスであったり、セルフアウェアネスの流れが来ているのかもしれません。

 

言語化できないのが悔しいところですが、「ロジカル」を「美しいと思うから」という”ロジック”が勝ることもあります。

 

街に出て、小説を読もう。絵を見よう。哲学を知ろう。

 

 

限界集落株式会社

限界集落株式会社

 
億男 (文春文庫)

億男 (文春文庫)

 
怖い絵 (角川文庫)

怖い絵 (角川文庫)