Magnolia Tech

いつもコードのことばかり考えている人のために。

「ログを出す!ログを読む!」エンジニア版ベストキッド…「syslogに出す! loggerで出す!」「ログレベルアップ!ダウン!アップ!ダウン!」

ふとベストキッドの台詞を思い出して、雑に書いてみたけど、案外いいこと書いてるなーって自分でも思ってしまった。

loggerの使い方は入門書に載ってたり載ってなかったりするし、どんなタイミングでどんな情報をどこに出すべきか?みたいな話は一子相伝の秘伝の技みたいになりがちだし。

なんてところに、めっちゃ良いブログエントリーを教えてもらいました。

そう!こういう話がまとまっていて欲しかったんだ。

ほかにも息を吸うように自然にやって欲しいことがこんな感じで集まりました。

要はバランス師匠 「バランスが大事だ。コードだけでなく人生も。」

知識を、知恵にする、流通させるためには

自分が得た知識、その組織や、文化圏で通じる知恵となるまで整理している人って少ないよなーと思うし、さらにその組織や文化圏を超えて通じるように汎化していくなんて、できたらそりゃ偉業と言えるレベルなんだけど、まずは言葉にしてみる、ということだけでもやっていきたいと思っている。


それまでの文化的背景が異なった人同士で会話するのは凄く難しくて、それぞれの組織、それぞれの個人の培った独自の価値観や、ルールが有る...で、それが有るのは当たり前なんだけど、「それが今通じるか?」「通じない時に何も会話ができなくなるか?」という所は意識して会話していかないと、ですね。

そういう意味でも標準だったり、体系化された知識を学んだり、認定試験を受けたりするのは、一つはその「共通の語彙」を獲得するためなんですよね。「○○って資格が有ったからといって、仕事ができるようになるわけではない」という言われ方が時々有りますけど、「会話を成立させるために」有るんですよね。


と、昨日書いたエントリを自分で読み返していて思った。

blog.magnolia.tech

知識を、知恵にする、流通させるためには

自分が得た知識、その組織や、文化圏で通じる知恵となるまで整理している人って少ないよなーと思うし、さらにその組織や文化圏を超えて通じるように汎化していくなんて、できたらそりゃ偉業と言えるレベルなんだけど、まずは言葉にしてみる、ということだけでもやっていきたいと思っている。


それまでの文化的背景が異なった人同士で会話するのは凄く難しくて、それぞれの組織、それぞれの個人の培った独自の価値観や、ルールが有る...で、それが有るのは当たり前なんだけど、「それが今通じるか?」「通じない時に何も会話ができなくなるか?」という所は意識して会話していかないと、ですね。

そういう意味でも標準だったり、体系化された知識を学んだり、認定試験を受けたりするのは、一つはその「共通の語彙」を獲得するためなんですよね。「○○って資格が有ったからといって、仕事ができるようになるわけではない」という言われ方が時々有りますけど、「会話を成立させるために」有るんですよね。


と、昨日書いたエントリを自分で読み返していて思った。

blog.magnolia.tech

『ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ』を読めばアーキテクトになれるのだろうか

とても良い本だ!アーキテクチャのパターンは体系的に整理されているし、アーキテクチャを議論する上で、共通の語彙となり得る用語を解説している(コンウェイの法則や、凝集度など)。

後半は、リスクや、チームビルディング、交渉術まで多岐に渡るトピックを網羅している。

必要なことは全部書いてある...けれど、なんとなく初めてPMBOKを読んだときに抱いた感想...読み始めてからすぐに「果たしてこの本に書かれている通りの考え方に沿って振る舞えばアーキテクトになれるのか?」という気持ちになりはじめたところで1章の最後の方に出てくる「ソフトウェアアーキテクチャの法則」が出てきて、「そうだよなー」という気持ちに。

つまり、ちゃんと考えようということでした。

というわけで、この本を読んでどうこう、というより、この本に書かれていることをきっかけに考えたり、書かれていることを例示に先輩から経験や教訓を引き出したり、誰かを教育する時にトピックの網羅性を考えるときに使うと良いのではないでしょうか。


あと、4章の最後に出てくるこの言葉は良かったですね、こういう考え方でいかないと何も先に進まない。

決して最善のアーキテクチャを狙ってはいけない。むしろ、少なくとも最悪ではないアーキテクチャを狙おう。


経験に裏打ちされた色々なトピックが出てきますが、いたずらに「正しい」と盲信してはいけなくて、「考えるきっかけ」とか、自分の考え方を「わかりやすく、つたわりやすく」表現するためのネタ本として使うと良いんじゃないかなーと思います。


ちなみに、自分だったら、アーキテクトには、こんなことを決めてほしいと思っている。正解ではなく、指針をもたらしてほしい。

課題を解決できる”環境”を作る

もうツイートで全部言っているんだけど、「行動をしない」のは、「行動しない方へのインセンティブが強い」からなんだよね。

みんな得する方に動くわけだから、そうした方が「得なだな!」って思わせる制度やルールや、マインドをどう作っていくか?という話だし、目指すは「プログラマの三大美徳」の体現ではないかなって。

blog.magnolia.tech

かつての名作『ウルティマⅣ』がアバターが8つの徳を体現するゲームだったわけですが、プログラマが3つの徳を体現するゲームを作ればいいんじゃないかって思った。誰か作って!

違和感を作る

いろいろなプロセスを作り上げていく上で、「こっちじゃないな」という違和感をどうやって感じさせるか?というのは大事な設計観点だったりしますよね。