自社フレームワークで開発していますという案件を地雷と思ういくつかの理由
- これまでに4社ほど経験した
前書き
- すでにOSSとして公開済み、OSSとして公開されたF/Wの作者がいる、招聘したというケースは対象外です
作っているヒトたち
- OSSなF/Wのソコードリーディングなんてしたことがない
- 偏見かも知れないがマジメにOSSのF/Wを採択する人間の方がちゃんと読んでいる
- OSSなF/Wをちゃんと使ったことがない様に見える
- 大体がF/Wというよりは中途半端なアプリケーションや残念ライブラリとなっている
- F/WとアプリケーションのグルーツールやF/Wのプラグインすら作ったことがない
- この辺の知見があるヒトは上記に当たるわけないし、まずはここから
解決策
- まずは無料のOSSなF/Wをいくつかピックアップする
- とりあえず触って、コードを読む
- 自分たちだけで修正/拡張が出来そうなものを優先して選ぶ
OSSなF/Wを使うメリット
F/Wの価値は使う人間、コミッタの数、修正ペース、そしてコミュニティの活発さにある
- CPANソムリエになる方法
- この記事はそのまま選ぶべきF/Wの指針となると思っている
- 補足
- 新規にヒトを雇い入れる際に使ったことがあれば、学習コストが比較的安く済む
- コミッタやバグ報告する人間には雇うには高価なくらいに優秀な人間が多い
- さらにそういった人間がデバッグまでした上でリリースノートまで書いてくれる
- コワいヒトたちがマサカリ投げまくった後だったりするので比較的キレイだったりする
ところが自社F/Wだと
- 入ってからでなければ教育が出来ない
- 何か問題が発生した際に自分たちで(限られた時間内に)全て解決しなければならない
- 開発に携わった人間がいつまでもいるとは限らない
- ドキュメントが社内だけに向けたもので貧相だったりする
- 使う人間よりは出来る人間が書いているという誤解の元でクソースがままある
- 作者が行方不明で使い方もすでに分からないというケースがままある
- なぜ、OSSとして公開出来ないのか?ということを改めて考えてみるべき
- 業務のクリティカルな情報はF/Wに依存すべきではない
- 公開して恥ずかしくないものを作っていれば自ずと公開しましょうと言うはず
F/Wとは簡単な制約であるべき
- ex. 六本木から渋谷に行って下さい
- 無数の経路が存在する
- 誰かが落とし物をした際にどうやって見つけるか?
- 簡単な制約
- 恵比寿から渋谷までは山手線を使って下さい
- 誰かが落とし物をした
- 山手線に問い合わせをすれば見つかる可能性が少しは上がる
- 何のたとえ?
- プログラムのエンドポイントを探すことに似ていると思っている
- 問い合わせ場所が分かる(ロギング)が明白であるということは強み
結論
- とりあえず、最初はOSSなF/Wから始めよう
- パフォーマンスの問題を解決できない場合は軽いF/Wを探そう
- どうしても見つからなければ、F/Wの機能削減を検討しよう
- ここまですれば自家製する前にF/Wのソースを読むということは完了している
- 作るなら期限を決めてOSSとして公開しよう
最後に
- エンジニア名乗るならF/Wの一つや二つ作ったことがあって当然
- だけど、仕事でするなって昔偉いヒトに言われた