タグ

ブックマーク / daiyamamoto.hatenablog.com (11)

  • 生産性が高いエンジニアを評価するための2つの仕組み - レベルエンター山本大のブログ

    仕事ができるプログラマって、できないプログラマに比べて「10倍」も生産性が高い。とか言う話がありますよね。 僕も体感的に、当にできるエンジニア当に生産性が5倍とか10倍とか変わることを見てきました。 でも開発の現場では「残業しまくってる」ほうが、なんだか仕事してるように見えてしまう。 そんな中で久々にこの記事を目にしました(漫画なので1分ぐらいで読めます)。 ■「残業しないで帰るSEってやるきないんじゃない?」 http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=000800 2006年の記事ではありますが、こういう話って普遍的なので古くもありませんね・ 残業しないで定時に帰れるって評価するべきだし、残業をせず家庭を大事にする社風にしたい。 すごく生産性が高いっていうエンジニアを評価したい。 でも残業してるのって分かりやすいから評価さ

    生産性が高いエンジニアを評価するための2つの仕組み - レベルエンター山本大のブログ
    lizy
    lizy 2014/02/18
    儲けやすそうなプロジェクトに人が集中したりしてw プロジェクト難易度と報酬を絡めたゲーミフィケーションなんかも面白いのかも
  • 人月は悪どころか、ものすごい善かもしれない - レベルエンター山本大のブログ

    人月計算は、悪だ。 という話はソフトウェア産業にいるエンジニアだったら、誰でも聞いたことがあるだろう。 よく言われる人月計算の悪とは、管理者の意識から個人個人の能力差などの情報が失われることが根だと僕は考える。 悪影響の一例としてエンジニア単価に能力差が反映されないという点がある。 また別の例として「10人月の工数の作業も20人でやったら0.5ヶ月で終わるんじゃね?」 という単純計算による安易な管理が横行しデスマを生む原因となる。 「人月」の捉え方はともかくとして、すくなくとも良い評判を聞いたことがない。 しかし、僕は最近、人月計算とはとてつもない善ではないかという考え方になっている。 とくにエンジニアに対して「善」、というよりもエンジニアに対して優しさをもって考えられた仕組みだと感じて仕方ない。 人月の神話 作者: フレデリック・P・ブルックス Jr.,滝沢徹,牧野祐子,富澤昇出版社/

    人月は悪どころか、ものすごい善かもしれない - レベルエンター山本大のブログ
    lizy
    lizy 2011/12/12
    Joelの「5つの世界」みたいに、どの世界を前提とした話をしているかに依存しそう
  • 信じられないDB文化「固定長DB」でもあうんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ

    ずいぶん時間があいてしまったけど、大規模コンシューマ向けサービスRDB設計の続き。 僕はこのプロジェクトを自分のRDBの知識を使って革新してやろうと思って臨んだ。 しかし結果として逆に、コンシューマ向けサービスに最適化されたRDBの使い方について教わることになった。 ※ あと、KVSでいいじゃんって言ってる人もいるけど、それはKVS導入の苦労を知らない人だと思う。KVSの苦労は後で書く。 僕らが最近手がけているのは、とても大規模なコンシューマ向けサービスだ。 100万人の契約ユーザが使い、1テーブルに1億レコード以上のデータを貯め、24時間止めることが許されず、 要求から応答までのターンアラウンドタイムが1秒以内という厳しいSLAのサービスである。 中でも僕はDBやフレームワークの設計とアーキテクトっぽいことを担当している。 僕がこの現場に来て、驚愕した文化が2つある それは「Join禁止

    信じられないDB文化「固定長DB」でもあうんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ
    lizy
    lizy 2011/08/09
    Oracleを高級物置として使う方法|さらなるスケールアウトはクライアント(ブラウザ)に処理させる、ですね
  • 信じられないDB文化「Join禁止」に「固定長DB」、、でも、合うんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ

    僕らが最近手がけているのは、とても大規模なコンシューマ向けサービスだ。 100万人の契約ユーザが使い、1テーブルに1億レコード以上のデータを貯め、24時間止めることが許されず、 要求から応答までのターンアラウンドタイムが1秒以内という厳しいSLAのサービスである。 中でも僕はRDBやフレームワークを担当している。 僕がこの現場に来て、驚愕した文化が2つある それは「Join禁止」と「固定長DB」だ。 ありえない。 とはいえ、正直に言えば「またか、、、」という感想でもある。 RDBを知らないレガシーな人たちが設計したDBではよくありがちな設計だからだ。 と僕は早々にこの文化と戦って、絶対に覆してやろうと考えてた。 過去の経験上それはたやすいハズだった。 しかし、この文化と戦うこと3ヶ月間。 屈した。初めて屈した。いや、屈したというよりは理解した。 大規模コンシューマ向けサービスのRDBという

    信じられないDB文化「Join禁止」に「固定長DB」、、でも、合うんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ
    lizy
    lizy 2010/09/07
    なるほど、統計情報を取るのは最適な実行計画を決めるためだから、それが不要なら統計情報自体不要ですね
  • はよプログラマとかエンジニアとかから脱却せんかい。 - レベルエンター山本大のブログ

    プログラマの誇りがどうこうと書いていていうのもなんだけど、 プログラマが下手に誇りを持ちはじめた昨今。 いい加減、うんざりしてきた。職業ぷろぐらまな面々に。 作る技術がスキルのすべてだと勘違いしてるぷろぐらまに。 誰をターゲットに吠えるわけではないけれど、 我慢してることを言います。 仕事=きれいなコーディング 仕事=疎な設計 仕事=きれいなドキュメント とか、そんなことで満足してんなって。 作る技術をバックボーンにして、 話をまとめる力をつけて、 要件をまとめる力をつけて、 交渉をまとめる力をつけて、 費用抑える力つけて、 お客さんの要件を引き出して、実現して、貢献して、 初めて仕事が成り立ってるんだろうが、 ビジネスが成り立つんだろうが。 目指さんかい、営業からテストまで1人で全部実現できるぐらいの境地を。 一周して来いって。 それができるまではずっとワーカー。 #追記 ワーカーは煽り

    はよプログラマとかエンジニアとかから脱却せんかい。 - レベルエンター山本大のブログ
    lizy
    lizy 2010/02/18
    無能な技術者の作り方|id:m-matsuoka 組織のデザインパターンとかあると面白そうですね
  • データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ

    データベースの醍醐味は、パフォーマンスチューニングにあります。 チューニングによっては、同じ処理でも1時間掛かる場合もあれば、 1秒で終わるということもあり得る世界です。 僕はDBの魅力に取り付かれた者の一人です。 DBという技術の奥深さが気に入っています。 DBを極めると、どこの現場に行っても絶対に必要とされます。 また、どこの現場に行っても正解を導く方程式は一緒なので応用が利くのです。 しかし、その基原理を体系的に学べる手段はあまりありません。 OracleMasterやMCDBAといった資格試験でも学べることは限られていて あとはWebで調べるなりマニュアルを読むなりするしかありませんでした。 とくに肝であるパフォーマンスチューニングについては、 経験則でチューニングしている部分も多いです。 OracleSQLServer、MySQLと色々なDBのチューニングをしてきましたが、

    データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ
  • 安全策が後手後手を生む - レベルエンター山本大のブログ

    場当たり的な対応で工数が少なくてすみ、影響範囲も少ないが、コードは汚くなるという案と 影響範囲が広いし工数も掛かりそうだが、コードは綺麗になるという案があるとき、 僕は、よほどの差でない限り、コードが綺麗になるほうを選ぶ。 ここで場当たり対応を選んでしまうことは、 「現実をみた大人の意見」のように思えるかもしれないが、 僕からすると、大事の前の小事にこだわるという、末転倒の考え方にしか見えない。 保守で、既存プログラムの修正をやろうという後輩から相談を受けた。 既存プログラムのSQLの一箇所が違うだけのメソッドを作る必要があるとのことだ。 メソッドをコピーして重複したコードを書くことに後輩は納得がいかず、うまい方法は無いものかと僕に相談をしてくれた。 僕は、このメソッドの引数を追加して条件分岐できるようにし、元のシグネチャオーバーロードとして別途定義する案を上げた。 後輩は、我が意を得た

    安全策が後手後手を生む - レベルエンター山本大のブログ
    lizy
    lizy 2009/04/22
    既存の物を書き換えて不具合が出たときの叩かれ方は異常|UnitTestがあればここまで拒否反応を示されなかったとは思いますけどね
  • テストのエビデンスが品質を下げてる実態 - レベルエンター山本大のブログ

    今の現場は、テスト結果の精密なエビデンスが求められる。 今日はバグつぶしそっちのけで、テスト実施結果に対するエビデンスを採っていた。 数100項目のテストケースに対する画面キャプチャやデータキャプチャのエビデンスを採る。 これを綺麗に整理して、お客さんのハンコを貰わなくては番にあげられないルールだ。 コア部分のバグ改修できるのは僕だけだが、まにあわないのでバグよりもエビデンスを優先した。 品質よりも品質保証を優先したわけだ。 う〜ん、事情はわかるけど、、、あほくさい。 バグを見つければ見つけるほど、強烈なエビデンス編集作業があるから テストをやってくれてるプログラマーさんも、恐る恐るテストを叩くようになってしまった。 っていうか200ページを越えるテストエビデンスをお客さんに確認させるのってどうやろ。 超大手sIerのBigなドMっぷりには、恐れ入りました。 質的なサービスに集中できる

    テストのエビデンスが品質を下げてる実態 - レベルエンター山本大のブログ
    lizy
    lizy 2009/03/06
    元々は品質向上?のためだったんでしょうけどね……こういうの(品質向上の名目で行う品質低下活動)は他にも山ほどあるけど、どう対処するのがよいのやら。
  • 革命に必要なのは英雄や発明だけではない。多くの熱い血を礎にした時勢が必要だ。 - レベルエンター山本大のブログ

    プログラマーの誇りを見せ付けろ - 山大の日記で 沢山のブクマ、コメント、トラックバック、スター、いただきありがとうございました。 プログラマの誇りを減衰しないビジネスモデルを - GoTheDistanceや プログラミングに誇りを持ちたいなら単価を上げること - yvsu pron. yasのトラックバックに励まされ、 またまとまりもなく少し意見を書きます。 この業界の構造を変えるために必要なのは、 有名企業や英雄的なエンジニアによる画期的で斬新なアイデアだけではなく、 時代の勢いだと思っています。 小さなソフトウェア会社の一人一人のエンジニアの意識が、時代の勢いになるのだと思います。 僕は、1人の顧客、1人のエンジニア、1人の経営者から 技術を重視するように意識を変えていきたいという思いがあります。 だから、僕の取り組みは、先のエントリのように、当たり前の些細なことです。 つまり、

    革命に必要なのは英雄や発明だけではない。多くの熱い血を礎にした時勢が必要だ。 - レベルエンター山本大のブログ
  • プログラマーの誇りを見せ付けろ - レベルエンター山本大のブログ

    僕は今回の案件で、システムのレスポンスに徹底的にこだわってる。 それには理由がある。 それは、プログラマの誇りを見せたいからだ。 この案件は、既存機能をコピーして似た機能を作るというものだ。 既存機能は、Webシステムなのに1アクションで 1分や2分以上のレスポンスタイムはザラで、 悪いときには数分後にタイムアウトして、 さらに悪いときには、アプリケーション全体をロックしてしまっていた。 顧客はそれでも我慢して使っていてくれたそうだ。 今回の改修に際して、顧客がパフォーマンスを要求するのは当然だった。 それにしても酷いアリサマだとコードを見てみると 酷い。 確かにパフォーマンスは出ないのも無理はない。 いや、それどころか僕は、このSI業界の問題を感じざるを得なかった。 この機能はそこそこ難しく、業務的にも重要だ。 しかし、そのコードは、新人〜3年目ぐらいのプログラマが書いたとしか思えないコ

    プログラマーの誇りを見せ付けろ - レベルエンター山本大のブログ
    lizy
    lizy 2009/02/12
    「新人〜3年目ぐらいのプログラマが書いたとしか思えないコードだった」と思いきや自称ベテランが書いたコードだったりする罠
  • Guice vs. SpringJavaConfig 翻訳完了 - レベルエンター山本大のブログ

    Guice vs. Spring JavaConfig: A comparison of DI styles http://jroller.com/page/habuma?entry=guice_vs_spring_javaconfig_a Guice vs Spring JavaConfigの記事を訳を完了しました。 今回は、ちゃんと目次をつけます。 【目次】 ■[翻訳]Guice vs. SpringJavaConfig (1) A Knight's tour of Guice ■[翻訳]Guice vs. SpringJavaConfig (2) Guice and AOP ■[翻訳]Guice vs. SpringJavaConfig (3) A Knight's tour of Spring JavaConfig ■[翻訳]Guice vs. SpringJavaConfig (

    Guice vs. SpringJavaConfig 翻訳完了 - レベルエンター山本大のブログ
  • 1