タグ

ブックマーク / shuji-w6e.hatenadiary.org (5)

  • ソフトウェア開発会社に入って学ぶべき最初の事 - やさしいデスマーチ

    主に受託開発がメインのソフトウェア開発を行っている会社に入って学ぶべき最初の事です。よく、プログラミング言語を幾つか学べとか、技術的な部分が重要と言われています。しかし、個人的にはそれも大切かと思いますが、最近は開発プロセス・テスト技法・ドキュメンテーション能力などを学ぶ方が重要なのでは?と感じています。 技術的な部分を後にする理由 技術的な部分は業務を行っている中で、いくらでも学ぶ機会があります。少なくとも1年目や2年目では自分で新しい技術を持ってきて設計したりという事は少ないでしょう。すると、その会社で使われている技術を吸収するというフェイズでも良いという考え方もできるのです。勿論、自分で興味のある分野をどんどん伸ばすことは悪い事ではありません。 開発プロセスを学ぶワケ 別にアジャイルを学べ!みたいな事ではありません。しかし、ソフトウェア開発を進めていく中での作業の1つを取ったとき、そ

    ソフトウェア開発会社に入って学ぶべき最初の事 - やさしいデスマーチ
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
  • Javaのチェック例外はクソ仕様 - やさしいデスマーチ

    Java言語のチェック例外は当にGood Partなのか?というエントリーを読んで自分の考え方を簡単にまとめておこうと思う。 まず、チェック例外自体はJavaの『あまり良くない仕様』とみるのが体勢であると思う。自分もどちらかといえば、『なるべく実行時例外で』という派。とはいえ、『クソ仕様なんでチェック例外はまったく使うべきではない』派ではなく、『必要に応じて使い分ける』派。そもそもクソ仕様とdisるくらいならクソ言語なんか使わない方が幸せ。 まずチェック例外自体に関する問題を改めて整理する。 いちいち定義するのがクソ面倒 常にtry-catchかthrows句を強制するのでクソウザい 横断的に処理しにくい 大規模プロジェクトになればなるほど、例外に関するスキルがないクソ人ばかり これらについては散々議論されているだろうし、愚痴になるだけだと思うので割愛。 で、自分はどうして『必要に応じて

    Javaのチェック例外はクソ仕様 - やさしいデスマーチ
  • 37-バグレポートの使い方 - やさしいデスマーチ

    「プログラマが知るべき97のこと」の37個目のエピソードは、バグレポートに関する話です。非常に悲しいことですが、効果的なバグレポートを書くことのできる人は多くありません。それがソフトウェア開発に関して無知なユーザであるならば仕方のないことかもしれませんが、ソフトウェア開発に従事しているーさらに言えばプログラマと呼ばれる職業の人でもバグレポートを書く事ができません。これは学ぶ機会が乏しいというのもあるかと思います。 ・バグの再現方法(できるだけ詳しく)と発生頻度 ・来の仕様(バグがない場合の望ましい動作。こうあるべき、ごいう自分の意見でかまわない) ・実際の動作(完全でなくとも、自分の記録した範囲で詳しく書く) バグレポートの書き方として、このように書かれていますが、何か気付くところはないでしょうか?ここで「これってユニットテストの書き方と同じでは?」と気付いた人はユニットテストについて普

    37-バグレポートの使い方 - やさしいデスマーチ
  • 開発サーバの起動引数メモ - やさしいデスマーチ

    GAE/Jの開発サーバの起動引数とappengine-web.xmlに関して、ちょっとはまっていたのでメモしておきます。 GAE/Jの開発サーバは、 com.google.appengine.tools.development.DevAppServerMain をエントリーポイントとします。これは通常のエントリーポイントの実行ですから、Javaの実行オプションを指定することができます。一方、プロダクションサーバではエントリーポイントや起動方法については開発者は触ることができません。しかし、起動引数については、appengine-web.xmlにて指定する事が可能です。 <?xml version="1.0" encoding="utf-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <system-pr

    開発サーバの起動引数メモ - やさしいデスマーチ
  • 1