タグ

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

  • スーツとギークという区分けがなくなった時代の理由 - 山本大@クロノスの日記

    id:gothedistanceのエントリで話題になってた1つのコメントが、まさに僕のブログに対してつけられたコメントでした。 http://d.hatena.ne.jp/iad_otomamay/20100216/1266333904#c1273690204 上記の「コメント主」に対して言いたいことはなにもないのですが、 id:gothedistanceの話題に少し触発されて、僕がリーマンショック以後の日SIerにいて感じることを述べます。 テーマは「スーツとギークという区分けがなくなった時代の理由」です。 (とりあえず、皆がスーツとかギークとかいう論争に飽きたことという理由は除いて語ります。) もはや、今の時代のSI業界では「要件定義だけやるからあとヨロシク」と言って逃げられる人はいなくなりました。 理由のひとつは、簡単な話です。 理由 1. 不景気で逃げる先の仕事がなくなった さ

    スーツとギークという区分けがなくなった時代の理由 - 山本大@クロノスの日記
    asip
    asip 2010/06/07
  • 責任に対価を頂くという意識 - レベルエンター山本大のブログ

    知識労働者の仕事とは極論すると、責任に対価を頂いているのだ。 知識はそれそのものでは売り物にならない。 発信側が責任を負っているからこそ買い手がつく。 ブログの情報に買い手はつかないが、書籍は買い手がつく。 書籍の読みやすさを買っている人もいるだろうし、 体系的なまとまりを好んで書籍を買う人もいるだろうが、 紙媒体になっていても、体系化されていても、 責任が伴っていない情報に、お金を払う価値はない。 知識労働者が働くときは、責任に対して対価を支払ってもらっているのだといえる。 だから、成長や成功を得たいなら、より大きな責任を求めることだ。 そして、与えられた責任に対して、より大きな成果を挙げることが 次により大きな責任を受けるために、とても有利だ。 現在の責任範囲での仕事を前倒しにするための残業はしてはいけないが、 管理者が予想しなかったような責任を受け取る。そのための残業なら有意義だ。

    責任に対価を頂くという意識 - レベルエンター山本大のブログ
  • スケジュールを作るプログラマが一番効率が良い。 - レベルエンター山本大のブログ

    現場の周りのプログラマさんたちが残業する中、 僕が毎日定時で帰って高品質なプログラムを作れる理由は、 僕が自分でスケジュールを作ってから仕事を始めるからだ。 僕が今の現場に入って始めにリーダーさんからこういわれた。 「スケジュールがきついので、 管理工数がもったいないから、管理資料に手間をかけたくありません。 イキナリ作業に入ってもらってかまいません。」 若い頃ならうっかりその言葉に惑わされているところだが、 そうはいかない。スケジュールがきつい時ほどコントロールが必要なのだ。 何を先にやっておかないといけないか、 今週末までにどこまで進めておけば安心か。 これらがわからなければ、不安に駆られるばかりだ。 不安を取り除くという意味だけでもスケジュールを組むことは非常に役に立つ。 ドラッカー風に言えば、 「ミッションに集中するにはマネジメントを駆使しなくてはならない」 ということだ。 プログ

    スケジュールを作るプログラマが一番効率が良い。 - レベルエンター山本大のブログ
    asip
    asip 2009/03/25
  • 設計書よりもユーザーマニュアルを書こう! - レベルエンター山本大のブログ

    僕が今やってる例のプロジェクト*1で、 この前、設計書を作ってお客さんに確認してもらった。 分厚い設計書で、何回も社内レビューをしてもらって、 メッセージIDのマッピングなど細かい点をイライラしながら直して 何度も印刷して、「最終版」、「最終版2」、「当の最終版」という お馴染みのサブディレクトリができて、 やっとの思いでお客さんに提出したんだけど、どうやらぜんぜん見てくれてないみたいだ。 しかし、一緒に提出したユーザーマニュアルには、隅々まで目を通してくれていた。 お陰で、重要な仕様の誤解を発見することが出来た。 ユーザーマニュアルはそのままHTML化されて、 システムのHELPボタンから呼び出されるから、 お客さんとしても念入りにチェックしてくれたんだ。 ところで、設計書には大きく3つの役割がある。 ・お客さんが仕様を確認するため ・エンジニアが実装するため ・保守のため 僕は今回、

    設計書よりもユーザーマニュアルを書こう! - レベルエンター山本大のブログ
    asip
    asip 2009/02/16
  • Guice2.0 beta 紹介記事の翻訳(4) - レベルエンター山本大のブログ

    原文:IBM Developer : Sorry, that page no longer exists 訳1:Guice2.0 beta 紹介記事の翻訳(1) - 山大の日記 訳2:Guice2.0 beta 紹介記事の翻訳(2) - 山大の日記 訳3:Guice2.0 beta 紹介記事の翻訳(3) - 山大の日記 実装クラスを選択する(Selecting your implementation) So let's say you have more than one Vehicle in your application. The equally heroic Weasel Girl can't drive the FrogMobile! At the same time, you don't want to hardcode a dependency on the Wease

    Guice2.0 beta 紹介記事の翻訳(4) - レベルエンター山本大のブログ
    asip
    asip 2009/01/08
  • Guice2.0 beta 紹介記事の翻訳(3) - レベルエンター山本大のブログ

    原文:IBM Developer : Sorry, that page no longer exists 訳1:Guice2.0 beta 紹介記事の翻訳(1) - 山大の日記 訳2:Guice2.0 beta 紹介記事の翻訳(2) - 山大の日記 インジェクションの別のやり方(Other forms of injection) So far, I've shown @Inject applied to constructors. When it finds this annotation, Guice picks through the constructor arguments and tries to find a configured binding for each of them. This is known as constructor injection. Accord

    Guice2.0 beta 紹介記事の翻訳(3) - レベルエンター山本大のブログ
    asip
    asip 2009/01/08
  • Guice2.0 beta 紹介記事の翻訳(2) - レベルエンター山本大のブログ

    原文:IBM Developer : Sorry, that page no longer exists 訳1:Guice2.0 beta 紹介記事の翻訳(1) - 山大の日記 Guiceによる基的なインジェクション (Basic injection with Guice) I hope I've convinced you that DI adds value to your designs and that using a framework will make your life even easier. Let's dive into Guice, starting with the @Inject annotation and modules. DIが設計に価値を加えることと、フレームワークを使うと日常的な開発が簡単になることについて、あなたを説得したいと思います。 では、@

    Guice2.0 beta 紹介記事の翻訳(2) - レベルエンター山本大のブログ
    asip
    asip 2009/01/05
  • Guice2.0 beta 紹介記事の翻訳(1) - レベルエンター山本大のブログ

    Guice2.0のベータに関する記事があったので、またぼちぼち訳してみます。 Dependency injection with Guice Testable code with less boilerplate決まり文句の手間が少ないテストコード http://www.ibm.com/developerworks/library/j-guice.html?ca=dgr-jw22Guice&S_tact=105AGX59&S_CMP=GRsitejw22 Level: 中級 Nicholas Lesiecki (ndlesiecki@apache.org), Software engineer, Google 2008/11/09 Guice is Google's open source dependency injection framework for Java〓 developme

    Guice2.0 beta 紹介記事の翻訳(1) - レベルエンター山本大のブログ
    asip
    asip 2009/01/05
  • jQueryを使う7つの理由 - レベルエンター山本大のブログ

    JavaScript腰を入れ始めて日が浅いのですが、よく悩むのは、どのライブラリを使うか?です。 とりあえずナマのJavaScriptだけでゴリゴリ書くのはちょっと限界があるので、 ライブラリを使おうと思うのですが、一度ライブラリを決めると 他のライブラリに乗り換えるのは難しいように思います。 いろいろ調べて、結局jQueryにしようと思います。 やっぱり流行るだけことはあるなぁ。 【jQueryを使う7つの理由】 1.prototype.js などと混ぜて使える 標準では $ にショートカットが割り当てられるのですが、jQuery.noConflict()と書くことで prototype.js などと混ぜて使えます。 ウノウラボ Unoh Labs: JavaScriptライブラリといえば jQuery(入門編) 僕の場合は、意外とこれは大きい理由になりました。 prototype.

    jQueryを使う7つの理由 - レベルエンター山本大のブログ
    asip
    asip 2008/08/07
  • わずか数行で"ものすごいテーブル"に! - jQueryプラグイン「Flexigrid」 - レベルエンター山本大のブログ

    ■わずか数行で"ものすごいテーブル"に! - jQueryプラグイン「Flexigrid」 via マイコミジャーナル ここではテーブルで組んだリストに対して、まるで表計算ソフトのような操作性を提供するFlexigridライブラリを紹介したい。 マイコミジャーナル ・(1) ドラッグ&ドロップでカラム幅を変更可能 ・(2) 既存テーブルにFlexigridを組み込む ・(3) ページャ/ソート機能付きテーブルリストを作る ・(4) オプションも豊富 すごい。これだけでも手軽に何か作れそう。 ■jQueryを使ってるならコレ! ウィジェットライブラリの決定版 - jQuery UI jQueryにはjQuery UIと呼ばれるウィジェットセットが用意されており、デベロッパは同ライブラリを利用することでグラフィカルなユーザインタフェースをより簡単に開発することが可能となる。 マイコミジャーナル

    わずか数行で"ものすごいテーブル"に! - jQueryプラグイン「Flexigrid」 - レベルエンター山本大のブログ
    asip
    asip 2008/07/30
  • JavaScript + Canvasの参照サイト集 - レベルエンター山本大のブログ

    あとでなんかつくる。 ■Canvasチュートリアル canvasはスクリプト(一般的に JavaScript)を使って図形を描くために使われる新しい HTML 要素です。 http://developer.mozilla.org/ja/docs/Canvas_tutorial ■canvasタグ リファレンス このページはHTMLタグの http://www.openspc2.org/HTML/appendix/canvas_param/index.html ■Canvasで文字 http://taken.s101.xrea.com/blog/article.php?id=838 ■GoogleExplorerCanvas IEでJavaScriptのCanvasを利用するためのライブラリ「ExplorerCanvas」 http://phpspot.org/blog/archives/2

    JavaScript + Canvasの参照サイト集 - レベルエンター山本大のブログ
    asip
    asip 2008/07/17
  • Java with CGLIB でC#ライクなDelegateを使う(2) - レベルエンター山本大のブログ

    昨日の日記(Java with CGLIB でC#ライクなDelegateを使う。)の続きで、ちょっとサンプルを作ってみる。 Delegateでオブジェクトメソッドの列挙フレームワークを作る。 (実はそんな大げさなもんではありませんが) オブジェクトのメソッドをループする部分(MethodProcesser)を フレームワークとして作っておきDelegateを使って処理を呼び出し元に委譲しておく。 これで、メソッド毎の処理を呼び出し元で切り替えることが可能となる。 配管的処理をMethodProcesser側でもちょっと増やしてやれば意義がでてくる。 Start.java import java.lang.reflect.Method; import net.sf.cglib.reflect.MethodDelegate; public class Start{ public static

    Java with CGLIB でC#ライクなDelegateを使う(2) - レベルエンター山本大のブログ
    asip
    asip 2008/05/10
  • 1