So-net無料ブログ作成
検索選択
前の10件 | -

継続した学習 [プログラマー現役続行]

ソフトウェアエンジニアとして継続して学習をする習慣を身につけることは重要です。そのことは、多くの書籍で述べられていますし、私のブログでも何度も述べています。中途採用の面接でも、「継続した学習の習慣」を確認しています。

どうやって確認しているかと言うと、非常に簡単です。面接前の控え室で、一枚のアンケートに答えてもらいます。そのアンケート(A4の表裏)には、書籍の一覧が掲載されています。
  • プログラミング(ソフトウェア開発)一般に関する書籍の一覧
  • 言語別に、いわゆるバイブル本を含む書籍の一覧
  • 現在読んでいる書籍の自由記入欄
基本的に、読んだ書籍にチェックを付けてもらう簡単なものです。そして、30代や40代の応募者のほとんどが、書籍のチェック欄に何も付いていないことが多いです。

最近は、面接官が私である旨を応募者に伝えてもよいと、リクルーティング会社へ事前説明しています。その結果、面接の直前に私の『プログラマー”まだまだ”現役続行 』を読んでくる人がいたりします。しかし、それだけだったりします。

ほとんど書籍を読んでいない人は、今まで使用してきたいというプログラミング言語に関するちょっとしたことを質問しても答えられない人が多いです。ある意味、「サラリーマンエンジニア」だったりするわけです。そして、多くの場合、人事の担当者に準備してもらったホワイトボードが無駄になります。簡単なプログラミングの課題や技術的説明をしてもらうために用意してもらっているのですが、使う機会はあまりありません。
コメント(0) 

Java研修の目的 [プログラミング言語Java教育]

2000年にJava研修を始めた時の目的は、社内の技術者が社内の技術者を教えるというコースを立ち上げるということでした。そのための、最初として、私が始めたわけです。

現在も続いているJava研修ですが、現在の目的は異なっています。現在の目的は、以下のことを学ぶことです。
  • Java言語をきちんと学び、将来、他の言語を学ぶ上での基礎を身につける(『プログラミング言語Java第4版』)。
  • API設計の基礎を学ぶ(『Effective Java 第2版』)。
これらを若い段階で時間を費やして学ぶことで、その後に、他の言語を学び・プログラミングする場合のベースを作るということです。

たとえば、最近の言語は、リフレクションの機構を持っているものが多いですが、Java言語のリフレクション機構をきちんと理解していれば、他の言語でも、何ができて、何ができないかを理解することが容易になります。また、他の言語で開発するとしても、Java言語でできる設計手法をなんとか取り込めないかと考えるきっかけにもなります(Programming into a language)。

Java研修の大きな欠点は、受講の強制力がないことです。ある意味長所でもあるのですが。研修のための予習は、平均すると月に50時間は軽く超えます。そして、その予習はプライベートで行わなければなりません。したがって、受講を希望する人だけを対象としており、会社として強制的に参加させることはないです(ただし、途中で脱落する人もいますが、私の部下になった新卒新人は、必ず参加してもらいます)。

予習は、プライベートな時間に行うので、受講生は様々な工夫をしながら予習しているようです。最近なら、スターバックスなどの外で予習する人が多いようです。人によっては、自宅がよいという人もいます。そして、一年間は、継続して学習するという習慣を維持し、一人では最後まで読み切ることはできない3冊のテキスト(合計で約1,000頁)を読み終わることになります。練習問題やGUI課題のプログラミングも合計するとおそらく10,000行以上書いていると思います。

最終回の成果発表会では、「デジタル時計が出ていて、Javaで書かれていること」という条件で、集大成となるGUI課題を作成してきてもらいます。みなさん、力作を作ってきます。研修の第2回目で簡単なデジタル時計を作成するのですが、なぜ、そんな簡単な課題に苦労したのかと思えるほと、素晴らしいアプリケーションを最後に見せてくれます。

今週の金曜日から第22期が始まります。第22期からは、年に1コースに限定するための期となります。まだ、終わっていない第20期と第21期が終われば、第22期だけとなり、月に1コースだけとなります。一方で、今月末から『Java8基本技術習得』コースを開講し、最新のJava8について学ぶコースとなります。ただし、受講対象は、今までのJava研修を修了した人達だけです。
コメント(0) 

5年が過ぎました [プログラマー現役続行]

ちょうど5年前に「最終出社日」を書いています。この5年間には、Java研修を中心として、自発的な勉強会を開催したり、設計やコードのレビューをしたりと、若手を中心として育成を行う活動を行ってきました。また、翻訳本も5冊出版し、自著も改訂版ですが1冊出すことができました。

5年前には、次のように書いています。
明日からは、新たな会社で新たな開発組織で働きはじめます。少しでも良いカルチャを持つ開発組織になるように微力ながら貢献できればと思っています。
しかし、すでに大きくなったソフトウェア開発組織の中堅を変えることはできないということを、この5年間で再認識しています。

若手の人たちは、継続的学習も含めて、よい習慣を持つようになった人は多いです。一年間のかなり厳しいJava研修の修了生も、延べ72名です。最後の成果発表会では、「学習する習慣が付きました」と述べる修了生が多いです。言い換えれば、この5年間で若手のエンジニアが育ってくれているとも言えます。

しかし、「成長の場を求めないソフトウェアエンジニア?」でも書いたように、そのような若手を技術的に指導してリーディングできる中堅がほとんど育っていないとも言えます。Java研修は、かなり厳しい研修ということで、中堅のエンジニアが受講することはまれです。その結果、修了生のほとんどが、入社して1年目から3年目に受講しています。

あと5年も活動を続ければ、若手が中堅となって、30代後半になるかと思います。しかし、先の長い話です。
コメント(0) 

第19期Java研修終了 [プログラミング言語Java教育]

私にとって、通算第19期になるJava研修が終了しました。19期は、一年の予定が14か月のコースとなってしまいました。最終回は、いつもの通り、研修の振り返り発表と創意工夫をこらしたデジタル時計をデモしてもらいました。

今回の修了生は、8名でした。これで、リコーグループで延べ72名が修了したことになります。現在は、第20期、第21期がまだコースとしてして開催されています。また、9月からは第22期が開講しますし、同時にJava 8のコースも開講します。今までの研修の実績は、こちらです。

本来は、12回で終了するコースなのですが、第19期は14回(つまり、14か月)で終了となりました。最後の『Effective Java 第2版』の第11章「シリアライズ」は、残念ながら十分に時間もなく途中で終了となってしまいました。

java19.png
第19期生と私

コメント(0) 

成長の場を求めないソフトウェアエンジニア? [プログラマー現役続行]

ソフトウェア開発組織が持つべきカルチャー」と題して、過去に以下の記事を書いています。
また、「コードレビューの視点」として、以下の記事を書いていいます。
当然のことながら、これらの記事に書いている内容や、ブログに書いている記事は、ソフトウェアエンジニアリングに対する私の基準を反映しているわけです。もちろん、1984年に社会人になった時から、これらの基準を持っていたわけではありません。長年のソフトウェア開発経験を通して得られたものです。

これらの基準は、厳しすぎると言われることがあります。基準を下げないとエンジニアが集まらないとも言われたりします。そもそも、要求されるレベルが高い、あるいは、厳しく指導されるということで、ソフトウェアエンジニアとして、希望しないというのはどういうことでしょうか。

ソフトウェア開発で一人前になるには10年以上を要します。会社でのソフトウェア開発では、何も学ぶこともなくスキルも向上しない開発よりは、自分自身が成長する場となっている開発ががよいわけです。

しかし、現実には、「ソフトウェアエンジニアの成長カーブ(再掲載)」で述べている継続的学習をする習慣を失った人が多いのか、「ソフトウェア開発が好きでないサラリーマンエンジニア」が多いのだと思います。

そのため、中堅と呼ばれる年代のエンジニアにとっては、今までの自分のスキルでこなせるソフトウェア開発に従事していた方が楽であるのかもしれません。あるいは、今さら、高いレベルが要求されるソフトウェア開発に従事するために勉強したりする気にはなれないのかもしれません。
コメント(0) 

書籍『Java SE 8実践プログラミング』予約受付開始 [プログラマー現役続行]

Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング

Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング


私にとっては、14冊目の翻訳本になる『Java SE 8実践プログラミング』がAmazon.co.jpで予約受付が開始されました。

目次は、以下の通りです
第1章 ラムダ式とは
第2章 ストリームAPIの使い方
第3章 ラムダ式を使ったプログラミング
第4章 JavaFXによるGUIプログラミング
第5章 日付と時刻の新たなAPI
第6章 並行処理の機能強化
第7章 Nashorn JavaScriptエンジンの活用
第8章 その他のJava 8機能を理解する
第9章 Java 7の機能を復習する
インプレス社の紹介ページは、こちらです。

今年は、5月に『APIデザインの極意』を出したので、ほぼ4か月後となります。

APIデザインの極意 Java/NetBeansアーキテクト探究ノート

APIデザインの極意 Java/NetBeansアーキテクト探究ノート

  • 作者: Jaroslav Tulach
  • 出版社/メーカー: インプレスジャパン
  • 発売日: 2014/05/23
  • メディア: 単行本(ソフトカバー)


コメント(1) 

書籍『アンガーマネジメント入門』 [本]


この本のタイトルは、ちょっと紛らわしいですが、「アンガーマネジメント入門」です。アンガー(怒り)のコントロールについて書かれています。タイトルの前に「パワハラ防止のための」と付いていますが、今日では、同じことを話をするにしても、冷静に話をするのではなく、怒って話をすることがパワハラの一因になるということで、「パワハラ」を知るという章から始まっています。以下の5つの章から構成されています。
I パワハラを知る
II アンガーマネジメントは何か
III 怒りの性質を知っておこう
IV パワハラ防止に役立つアンガーマネジメント・テクニックの使用例
V 資料編 アンガーマネジメント・テクニック30

社会人となって、会社という職場で相手に怒鳴るような口調で話をする人には数名しか会ったことがないのですが、同じ言葉でも、冷静に話をすることと、怒鳴るような口調で話をすることに関して、本書で述べられていることを抜粋してみます。
  • 反射的かつ、感情に任せて怒鳴ることは人間関係をはじめ、様々なものを破壊します。後悔や反省をしたとしても、破壊したものが取り戻せるとは限りません。
  • 静かなオフィスでやみくもにガミガミ怒鳴り散らされても、「あー、なんか怒っているなー」ということはわかっても、何を伝えたいのかがわかりづらいものです。
  • 指導とは「教え、導くこと」という言葉の意味に立ち返り、相手に伝「え」るのではなく、伝「わる」ことを意識しましょう。伝われなければ、相手の成長や改善につながりません。感情に任せて怒鳴ることは、相手を傷つけ、自分自身も後悔します。
  • 今では「モーレツ社員」もいれば「イクメン社員」もいるのです。法令にのっとって働いている以上、働き方の良しあしを上司が決めることはできません。
  • 反射的に怒ると、熱くなりすぎて興奮が抑えられなくなり、強すぎる怒りの感情をぶつけてしまいがちです。
  • 人は、感情をより強く出すことで自分を表現しようとし、怒っていることが伝わらないと感じたら、余計に怒鳴ります。それは、「怒ればなんとかなる」「怒鳴ったほうが相手に響く」と信じているからです。
  • 人前で強く怒れば信頼や仕事を失う
  • 怒ればどうにかなると思い、強い言葉で説得を試みようとする人がいますが、語気を荒げたところで、相手には真意は伝わりません。むしろ、逆効果です。
  • 反射的に怒ってしまう人は、自分をコントロールできない人に見えます。怒ると、言い方が冷静さを失い、伝えたい真意も違った意味に聞こえてしまいます。
この本では、怒りをどのよう自分でコントロールするかについて述べられています。第III章「怒りの性質を知っておこう」では、怒りの性質が分類されて解説されています。第IV章と第V章では怒りを抑えて管理するためのテクニックが示されています。

コメント(0) 

コミュニケーション力(2) [プログラマー現役続行]

記事「コミュニケーション力」では、冷静な議論や質問と回答に対することを書いています。

ところが、冷静さが失われて話し方(口調)が変わってしまうと、同じ言葉でも、受け取る側は、異なる解釈をします。それは、冷静さが失われた時点で、たとえ、本人が冷静に話しているつもりでも、受け取る側が威圧的に感じた場合に、別の言葉を話したかのようになってしまうからです。

たとえば、「誰々に○○○と言われた」というので、「文字通り○○○と言われたのですか」と聞いてみると、答えは「いいえ」だったりします。つまり、「彼(あるいは彼女)の話した△△△は、○○○と言ったも同然だと感じた」ということに過ぎないのです。そして、なぜか、△△△と○○○の両方を言われたと思い込み始めて、人の記憶は嘘を付き始めるようです。

このような意図と違う解釈がされることは、電子メールやTwitterなどの、相手の表情が見えないコミュニケーション手段では容易に起きるようです(香山リカ著『ソーシャルメディアの何が気持ち悪いのか』)。しかし、直接相手の顔を見ながらのコミュニケーションでも、話し方(口調)を間違えると起きてしまいます。

そして、口調によっては(たとえば、怒鳴って話をするとか)、信頼関係がそこで壊れてしまいます。信頼関係が壊れるというのは、信頼口座の残高がマイナスになるのではなく、信頼口座そのものが解約されて存在しなくなるのに等しいです。そして、新たに信頼口座を開設するのは、非常にハードルが高くなってしまい困難だったりするかもしれません。
コメント(0) 

再び日本で聴けなくなったKOIT(2) [インターネット放送]

昨年、KOITが聴けなくなったことに気付いて「再び日本で聴けなくなったKOIT」を書いています。

確かに、今でも普通にPC上のブラウザーからhttp://www.koit.com/へ接続して「LISTEN LIVE」ボタンを押しても、「Sorry, this content is not available in your area」と表示されて聴けません。日本から接続しているためです。同じようにiOS用のKOITアプリでも接続できません。

しかし、先日たまたま、iPadのブラウザーからアクセスしたら聴くことができました。PC上のブラウザーからだとFlash Playerにより地域チェックが機能して聴けません。iOSだとブラウザーから「LISTEN LIVE」ボタンを押すと、Flashがないので別のURLヘ接続されます。そこでは、地域チェックが機能していないのだと思いますが、単に動画として放送が再生されるようです。

KOITは、サンフランシスコを中心としたいわゆるベイエリア(bay area)で放送されているFM放送局です。1991年5月から1993年4月までの2年間をシリコンバレーで過ごしたのですが、その頃、カーラジオでは、常にKOITを聴いていました。

日本に帰国してから、インターネットを経由して聴けたり、聴けなかったりを繰り返してきました。『プログラミング言語Java第4版』の「訳者まえがき」には、次のように書いています。
昔カーラジオで良く聞いた米国サンフランシスコの FM 放送局 KOIT (http://www.koit.com/)は、第 3 版の翻訳作業の時は途中でインターネット放送が中断されましたが、今回は長い翻訳期間中ずっと心地良い音楽を聴かせてくれて、シリコンバレーの青空を思い出させてくれました。

コメント(0) 

Java 8の研修コース [プログラミング言語Java教育]

社内研修として、Java 8に特化した「Java 8基本技術習得Jコースを9月下旬から開講するのに先立ち、受講生の募集を社内で開始しました。定員12名に対して、募集2日目でほぼ埋まりました。

何回で終わるのか分からないので、トライアルとして今回は開講します。社内の「プログラミング言語Java基本技術習得」コースの修了生を対象としています。第1回目は、テキストとなる本の出版が間に合っていないので、第1回目分だけは、翻訳原稿を印刷して配布するという、ちょっと変則的な運用となっています。

使用するテキストは、下記の本の日本語版です。

Java SE 8 for the Really Impatient

Java SE 8 for the Really Impatient

  • 作者: Cay S. Horstmann
  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2014/01/24
  • メディア: ペーパーバック



コメント(2) 
前の10件 | -