人様の反省というのは、自分にとっても「同じくらいに」貴重なので。
ちと相乗りをさせていただきつつ、内省したり考察したり。
元ネタ
スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ
http://blog.madoro.org/mn/84
1. 丁寧に正しく作ろう
全面的にYes。んでもって
まず、「今必要でないことはやらない -- YAGNI 」ということを常に考えよう。そして、その上で「今必要」となったものは全力で丁寧に正しく作ろう。
丁寧に正しく作られたアプリケーションは拡張がしやすくメンテナンスもしやすく不具合も起きづらい。当然のことを当然のようにやることがとても大切。
丁寧に正しく作る、というのは、基本の繰り返しでしかない。
このあたりもまた、素晴らしくYes。
基礎は間違っても初歩ではないし、「何を以って正しいとするのか」は常に考察をし続ける必要があるのだけれども。
そのあたりまでを踏まえたうえで、全面的にYes。
2. 丁寧に正しく作れないなら既存のプロダクトを使う
軽くNo。いやまぁおいちゃんは「理想論ベース」なので、時々現実と乖離しますが B-p
# 一応言い訳。「おいちゃんが仕切れる範囲の、おいちゃんの周囲では」ちゃんと理想に向けて走ってます。
独自フレームワークはやめよう
独自も一般的なのも、正直「どっちもどっち」。ただ少なくとも「まずは一般的なフレームワークをそれなりに触った上で」判定をしましょう。
より正確には「判断基準をちゃんと定めて」「一般的なフレームワークをそれなりに触って」って順番。んで、「基準をどうしても見させなくて、後々のコストを考えてもなお実装したほうがよい」んなら、ブランチ切るなり新規に全部作り直すなり、すればよいかと。
独自なスケーラビリティやパフォーマンス向上は最終手段
「分散やキャッシュなど、プログラマなら誰もが自分ならもっといいものが書ける」は否定するけど(苦笑)、まぁ「小手先を作りこむ前に根本的なところをちゃんとする」って部分で、Yes。
もう一つの問題点
-中略-
新しく加わった人の教育コストが高くなるということがある
ここは、色々と下心を込めて「No」といいたい。
ってのが、この文章を「誤読」すると「既存のフレームワークなら教育しなくていいんだ〜」とかいう、愚かというにも阿呆らしい結論にたどり着く御仁が、時々、ごく稀に、例外的に*1、存在するから。
ただ、誤読をせずに「ちゃんと真摯に受け止める」限りにおいて「教育のうち、手間のいくつか(全部じゃないよ? 一部だよ?)が、既存フレームワークのほうが省ける」ってのは、それ自体は概ね事実。
3. システムのモジュール化/疎結合を考える
かんがえないの?
…いやまぁ置いといて(苦笑
うんものすんげぇ大事。
4. 技術的負債はできるだけ早く返そう
技術的負債とは → http://ja.wikipedia.org/wiki/%E6%8A%80%E8%A1%93%E7%9A%84%E8%B2%A0%E5%82%B5
99%まで同意。残りの1%は「技術的負債を作らないようにしよう」。
5. ハードウェアは正しく適正なものを買おう
おいちゃん的には「コモディティサーバをたくさん買って、綺麗にスケールアウト」が好みかなぁ。
6. サーバ周りの人材をしっかり確保しよう
非常に大切。
まぁ、今は「背中を預けるに足る、いわゆる化け物級」なインフラ系エンジニアな方とつながっているので、この辺はわりと安泰(笑
7. クラウドも検討しよう
検討はしている。まだ踏み切れてない(笑
でもまぁ、インスタンスが激しく増減するようなサービスでは、必須なんだろうなぁ、っと。
そろそろ「遊び」じゃなくて「本気」のモードで触らないと、かも。
8. いい文化を作ろう
おいちゃん的には「相談し合って学びあって磨きあえる環境」がいいなぁ。
翻って「会話がなくてスキルが低くて十年一日のごときお仕事」をしているようなところは、やだなぁ。
ん…と…モヒカン族に言うところの「校正、共有、ツッコミビリティ、全体最適化、差異」が、おいちゃんは好き。
まぁ…「すでに出来上がっちゃっている、あまり受け入れるのが容易ではない」文化は…耐えられるうちは耐えて、無理になったら逃げ出すだけだ(笑
意見を申し述べてもいいんだけど、ほぼ確実に「場が形成されちゃってるので」ろくな扱いを受けない。
9. 途中から入ってきた人
きちんとコミュニケーションをとって、相手を知ることと、その次にこっちを知ってもらうこととが大事だと思う。
10. 朝礼? 日報? 週報? 社内勉強会?
朝礼はわりと賛成。
日報&週報は、本来的には賛成なんだけど、形骸化するくらいならやめたほうがマシ。
勉強会は「週に1回、1時間」やるよりは「毎日1〜2回、各15分」やったほうが、圧倒的に効果があります。
11. 社内の距離感 / 縦割り
この辺は「マネジメント者(マネージャ)」の手腕なんじゃないかなぁ、と。
十人隊長とか、それこそ五人隊長とか、それくらいのレイヤーから、丁寧に丁寧に「向かう方向性の共有と微調整」をかましていきませんと。
12. 採用について
育つ意欲のある子が好き。伸びる意欲が見えない子がキライ(含む「腰掛けちゃった」エンジニア)。
…とまぁ書いてみたけど。
概ね「元記事にほぼ全面同意」程度の内容だなぁw
まぁ、よい考察になったので、memoり。
*1:こーゆーくどい書き方をするときの意味はわかるね?