タグ

ブックマーク / yshibata.blog.ss-blog.jp (8)

  • 業務を通した技術習得の落とし穴

    業務を通した学習の落とし穴 新たな技術を習得するのに最も効率的な方法は、業務で使用している技術について学習することです。業務で使用していますので、すぐに業務に役立ちますし、多くの時間その技術に接しているため、効果的に学習することができます。 業務を通じての知識の蓄積は効果的なのですが、落とし穴もあります。それは、業務をこなすのに最低限必要な事柄だけしか学ばないで終わってしまうことです。 たとえば、何年もC言語を使用して組込みシステムを作ってきたエンジニアで、ポインタの使用方法を知らない人がいるとは想像できないかもしれませんが、実際には知らない人がいます。なぜ知らないかというと、グローバル変数を多用した設計しかしたことがなく、構造体であっても、決してパラメータとしてそのポインタを渡す設計をしたことがないからです。 長年同じ種類の開発を行っていて、自分は何でもできると思っても、それは、「井の中

    業務を通した技術習得の落とし穴
  • ソフトウェア開発組織が持つべきカルチャー(まとめ): 柴田 芳樹 (Yoshiki Shibata)

    2011年に主に書いた「ソフトウェア開発組織が持つべきカルチャー」を表にしてみました。評価列は、みなさんの組織ではどうかを振り返って記入してみてください。 ソフトウェア開発組織が持つカルチャーが、個々のソフトウェアエンジニアに大きな影響を与えるということで、一連の記事を書きますとした「まえがき」に相当するのが次の記事です。

    ソフトウェア開発組織が持つべきカルチャー(まとめ): 柴田 芳樹 (Yoshiki Shibata)
  • 成長の場を求めないソフトウェアエンジニア?:柴田 芳樹 (Yoshiki Shibata):So-netブログ

    「ソフトウェア開発組織が持つべきカルチャー」と題して、過去に以下の記事を書いています。 継続した学習習慣 コンピュータの基礎を教える 共に学ぶ マネージャが勉強会を主催する プロセス中心ではなく、スキル中心 スキル向上に真剣に長期的に取り組む カンファレンスへ積極的に参加させる コードをレビューする Source Code Controlへ最低でも毎日コミットする ビッグバン・インテグレーションを避ける テストを自動化する ソースコードを調べる 自分で書いたコードを自分で見直す 知識教育だけではなく、良い行動パターンを促進する また、「コードレビューの視点」として、以下の記事を書いていいます。 Copyrightを書く 必要なエラー情報を付加する マルチスレッドプログラミングに注意する 言語仕様を確認する 独り言コメントは書かない 説明とコードが違っていないか注意する 知識の伝達の場 エン

    成長の場を求めないソフトウェアエンジニア?:柴田 芳樹 (Yoshiki Shibata):So-netブログ
  • 継続的な学習という技芸の伝統: 柴田 芳樹 (Yoshiki Shibata)

    拙著『ソフトウェア開発の名著を読む【第2版】』を読み返して、次の部分が目に入りました。 経験豊富な優れた開発者を探し出す上での難点は、継続的な学習という技芸の伝統をすでに実践している人を探し出すという点にあります。これは、すでに優れた水準にあるものの、ソフトウェア開発の熟達度をさらに向上させようと絶えず努力している開発者を探すということなのです。 確かに、継続的な学習によって、自分自身のソフトウェア開発の熟達度の向上を行うと努力している開発者を探すのは容易でありません。それは、継続的学習を早い段階でやめてしまった中堅開発者※が多いからかもしれません(「ソフトウェアエンジニアの成長カーブ(再掲載)」)。 ※ 実際には、社会人になってからの年数が長いという意味だけでの「中堅」です。 私自身は、今は54歳です。現在は、小さな開発グループのリーダをしていますが、自分自身で設計・実装・デバ

    継続的な学習という技芸の伝統: 柴田 芳樹 (Yoshiki Shibata)
  • ソフトウェアエンジニアの成長カーブ(再掲載):柴田 芳樹 (Yoshiki Shibata):So-netブログ

    「ソフトウェアエンジニアの成長カーブ」 最近良く話していることなのですが、社会人として働き始めた新卒の技術者は、最初の数年は成長していきます。与えられた業務を遂行しながら、そのための学習もしていくからです。しかし、2、3年すると開発業務をこなせるようになり、特に新たな勉強をしなくても、日々、会社に行って開発業務が遂行できるようになります。 この状態、つまり、継続した学習をしなくなった状態で、10年とか経過すると、ソフトウェアの世界は大きく変化している可能性があり、新たな技術が登場し、その人の技量は相対的に今度は低下しはじめます。しかし、この時点で、新たなことを学習するのは困難だったりします。学習する習慣が無いわけですから、勉強しろと言っても、「なぜ、休みの日に勉強しなければならないのですか」ということになります。 そのような人に対して、マネジメントは、その人ができる仕事を与えて、何とか仕事

    ソフトウェアエンジニアの成長カーブ(再掲載):柴田 芳樹 (Yoshiki Shibata):So-netブログ
  • 初心者レベルの言い訳をしない: 柴田 芳樹 (Yoshiki Shibata)

    出来上がったコードの可読性も含めた品質の悪さを、時間がなかったとかプロトタイプだからと言い訳する人がいます。スキルが高い人の場合は、同じ時間制約でも高い品質のコードを書きます。それは、ある程度無意識になるまで、訓練を重ねているからです。無意識になるまで意識して普段から活動するのです。 ソフトウェア開発ではないですが、熟練者と初心者の差を比較するために短時間でどれだけの成果が出るかを競うテレビ番組を時々見かけることがあります。必ず熟練者の方が量も質も圧倒的に初心者を凌駕しています。つまり、時間がなかったとかプロトタイプを言い訳にした時点で、経験年数に関係なく、初心者レベルだということです。 1988年に米国への赴任前の送別会で今は亡きS.Uさんに言われたのは、「与えられた仕事をこなして初めて次の難し仕事が与えられる」と言われたことがあります。逆に言えば、できないと判断されたら、仕事を与えない

    初心者レベルの言い訳をしない: 柴田 芳樹 (Yoshiki Shibata)
  • ソフトウェアエンジニアの成長カーブ: 柴田 芳樹 (Yoshiki Shibata)

    最近良く話していることなのですが、社会人として働き始めた新卒の技術者は、最初の数年は成長していきます。与えられた業務を遂行しながら、そのための学習もしていくからです。しかし、2、3年すると開発業務をこなせるようになり、特に新たな勉強をしなくても、日々、会社に行って開発業務が遂行できるようになります。 この状態、つまり、継続した学習をしなくなった状態で、10年とか経過すると、ソフトウェアの世界は大きく変化している可能性があり、新たな技術が登場し、その人の技量は相対的に今度は低下しはじめます。しかし、この時点で、新たなことを学習するのは困難だったりします。学習する習慣が無いわけですから、勉強しろと言っても、「なぜ、休みの日に勉強しなければならないのですか」ということになります。 そのような人に対して、マネジメントは、その人ができる仕事を与えて、何とか仕事をしてもらいますので、「新たなことを勉強

    ソフトウェアエンジニアの成長カーブ: 柴田 芳樹 (Yoshiki Shibata)
  • 『Effective Java 第2版』翻訳終了: 柴田 芳樹 (Yoshiki Shibata)

    今年の5月にJavaOneへ参加して、帰国後に格的に開始した『Effective Java 第2版』の翻訳作業が終了しました。ほぼ4ヶ月間の作業でした。実際の印刷のスケジュールは、把握していませんが、どんなに遅くても日で開催されるSun Tech Days(12月2日~12月4日)の会場では販売されると思います。 第2版では項目数も増えて、索引の前までのページ番号が初版の224頁から309頁へと増えています。初版と同様に、Javaを使用する技術者にとっては、必読と言えると思います。特に、ジェネリックス、enum、アノテーションに関する項目は、第2版で追加された新たな内容であり、第2版を待たれている人も多いのではないかと思います。 日語版では、英語版の第3刷までの誤りは修正されています(つまり、日語版の翻訳作業で見つけた原著の誤りは英語版の第3刷には反映されています)。また、若干で

    『Effective Java 第2版』翻訳終了: 柴田 芳樹 (Yoshiki Shibata)
  • 1