SSブログ
前の10件 | -

Tech Blogの一覧 [プログラマー現役続行]

あまり多くは書いていませんが、メルペイに入社してから書いたTech Blogの一覧です。新たに書いたら、このページに追加していきます。

コメント(0) 

書籍『あなたの24時間はどこへ消えるのか』と『News Diet』 [本]

あなたの24時間はどこへ消えるのか

あなたの24時間はどこへ消えるのか

  • 作者: スワン
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2021/01/21
  • メディア: Kindle版

News Diet

News Diet

  • 出版社/メーカー: サンマーク出版
  • 発売日: 2021/02/10
  • メディア: Kindle版

『あなたの24時間はどこへ消えるのか』の「あとがき」は、「私の父には、定年が来なかった。」で始まり、後半には次の言葉が印象的に書かれています。
週末の楽しみは平日に
定年後の夢は今年に
時間は有限であり、第3章「人生を進める1週間の使い方」では、仕事のタスクをプライベートのタスクを同等に扱うことが述べられており、著者によるタスクへの取り組み方が紹介されています。プライベートで行いたいことを仕事のタスクと同等に扱うことは、将来、あれをやっておけばよかったと後悔しないために重要だということは同意できます。

第2章「時間泥棒はすぐそこに」の内容は、まさに『News Diet』で述べられていることの実践例とも言える内容となっています。『News Diet』では、今日では、技術の進歩によってさまざまなニュースが「通知」されるようになっているが、次のようにニュースの害が述べられています。
  • ニュースという一口サイズのごちそうをたらくふ食べる行為は、間違いなく成功の邪魔をする要因の一つだ。
  • それなしでは生きられないほど重要なニュースなど存在しない。数え切れないほどのニュースよりも、たった一冊の良書の方が何千倍もあなたの人生と健康のためになる。
  • 仕事がある日に多くのニュースを消費すると、どれだけの時間を無駄にしたかとは関係なしに不満足な成果しかあげられない。何かをやり遂げられるだけの意志力が残されていないからだ。

『あなたの24時間はどこへ消えるのか』の第2章では、さまざまな通知をオフにすることとアプリケーションを削除することが書かれています。アプリケーションの削除まではまだしていませんが、私自身もiPadやiPod Touchのアプリケーションの多くの通知機能をオフにしています。

通信環境が発達したおかげで世界が狭くなり、リアルタイムに多くのニュースに接することが可能になった今日の社会では、意識してニュースを遠ざけることを行わないと、貴重な時間が失われていくことを示す2冊です。
コメント(0) 

推薦書籍(ソフトウェアエンジニアの心得) [プログラマー現役続行]

長年、「ソフトウェアエンジニアの心得」と題して、新卒新人向けの教育を行ってきました。その中で、推薦書籍として挙げている書籍です(改訂版が出ていれば、改訂版を表示しています)。

読みやすいコードを書く

【電子合本版】Code Complete 第2版 完全なプログラミングを目指して

【電子合本版】Code Complete 第2版 完全なプログラミングを目指して

  • 作者: Steve McConnell
  • 出版社/メーカー: 日経BP
  • 発売日: 2016/04/14
  • メディア: Kindle版

プログラミング作法 (アスキードワンゴ)

プログラミング作法 (アスキードワンゴ)

  • 出版社/メーカー: ドワンゴ
  • 発売日: 2017/01/30
  • メディア: Kindle版

Clean Code アジャイルソフトウェア達人の技

Clean Code アジャイルソフトウェア達人の技

  • 出版社/メーカー: KADOKAWA
  • 発売日: 2017/12/18
  • メディア: 単行本

実装パターン

実装パターン

  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2008/12/22
  • メディア: 単行本(ソフトカバー)

リファクタリング 既存のコードを安全に改善する(第2版)

リファクタリング 既存のコードを安全に改善する(第2版)

  • 出版社/メーカー: オーム社
  • 発売日: 2019/12/06
  • メディア: Kindle版

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/06/23
  • メディア: 単行本(ソフトカバー)

実践する開発者

達人プログラマー ―熟達に向けたあなたの旅― 第2版

達人プログラマー ―熟達に向けたあなたの旅― 第2版

  • 出版社/メーカー: オーム社
  • 発売日: 2021/01/18
  • メディア: Kindle版

ソフトウェア職人気質―人を育て、システム開発を成功へと導くための重要キーワード (Professional Computing Series)

ソフトウェア職人気質―人を育て、システム開発を成功へと導くための重要キーワード (Professional Computing Series)

  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2021/02/24
  • メディア: 単行本

情熱プログラマー ソフトウェア開発者の幸せな生き方

情熱プログラマー ソフトウェア開発者の幸せな生き方

  • 出版社/メーカー: オーム社
  • 発売日: 2017/07/15
  • メディア: Kindle版

アプレンティスシップ・パターン ―徒弟制度に学ぶ熟練技術者の技と心得 (THEORY/IN/PRACTICE)

アプレンティスシップ・パターン ―徒弟制度に学ぶ熟練技術者の技と心得 (THEORY/IN/PRACTICE)

  • 出版社/メーカー: オライリージャパン
  • 発売日: 2010/07/08
  • メディア: 単行本(ソフトカバー)

Clean Coder プロフェッショナルプログラマへの道 (アスキードワンゴ)

Clean Coder プロフェッショナルプログラマへの道 (アスキードワンゴ)

  • 出版社/メーカー: ドワンゴ
  • 発売日: 2018/08/01
  • メディア: Kindle版

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

  • 出版社/メーカー: オライリージャパン
  • 発売日: 2017/12/15
  • メディア: 単行本(ソフトカバー)


私自身は、翻訳のために読んだものも含めて、出版されるごとに(多くは英語の原著を)読んでいったので、12冊を読んでいます。しかし、若い人達は一度には読めないと思いますので、興味がある本から読んでもらえればよいかと思います。
※『達人プログラマー』と『リファクタリング』は初版を読んでいます。

今後もさまざまな良書が出版されると思いますが、20年後には、「これが私の推薦図書の一覧です」と若い人達に推薦できるようになってください。
コメント(0) 

コードの保守性とツール [プログラマー現役続行]

今日のソフトウェア開発では、使っているプログラミング言語がコンパイル言語なのかインタープリタ言語なのかに関係なく、そのソースコードを静的に解析して、さまざまな問題点を報告するツールもしくはIDEが揃っています。また、ソースコードのフォーマッタとして、Go言語標準のgofmtコマンドや、多くの言語で使われているPrettierなどがあります。

このようなツール群が存在しなかった時代(私で言えば、1978年〜)、使われていない変数、関数、メソッドなどは、コードレビューで指摘して削除してもうら必要がありました。プロジェクト(あるいは開発組織)で、ソースコードの読みやすさのために「コーディング規約」を決めることも多かったです。開発者がコーディング規約を守っているかも、コードレビューでチェックする必要がありました。

幸い今日では、コードレビューでこのような指摘をしなくても、プロジェクトで使う静的解析ツールを決めて、それをCIで実行することで、さまざまな指摘を行ってくれます。その結果、開発者自身で指摘箇所を修正できます。

見方を変えると、昔はコードの読みやすさを含む保守性を向上させるために、人によるコードレビューに頼っていたことになり、そのための工数が必要だったことになります。一方で、そのような工数を費やさなかった開発組織では、フォーマットがばらばらだったり、使われていない変数や関数が散見されたりと、保守性を下げる要因を多く持つソースコードが積み上げられていました。

今日では、ソースコード解析ツールやフォーマッタを導入してCIで適用すれば、人によるコードレビューでは、本質的なコードのロジックや保守性の観点に集中できます。その分、組織としての生産性が向上するわけです。

ソースコード解析ツールやフォーマッタを導入している開発組織に、ソフトウェア開発経験が浅い人や新卒新人が入ってきた場合、ある基準レベルのソースコードが作られることになりますが、当の本人は、ソースコード解析ツールが警告する内容の背景やフォーマッタを使う背景を理解しないままになってしまうことが多くなります。それらの背景となるようなひどい開発を経験する必要はないですが、知識としてはさまざまな書籍を通して学習してもらうのがよいかと思います。
コメント(0) 

一年間の在宅勤務 [プログラマー現役続行]

2020年2月18日から在宅勤務(WFH:Work From Home)を始めて、ちょうど一年が経過しました。この一年間、一度も会社には出社していませんし、最も大きな出来事は、2020年6月20日(土)に急性心筋梗塞で緊急搬送され、カテーテル治療で一命を取り留めたことです。

急性心筋梗塞になる以前と以降では、同じ在宅勤務であっても大きく変わりました。心筋梗塞になる前は、朝食後に仕事を始めて、昼食、そして夕方には仕事を終えるという生活でした。

6月27日(土)に退院してからは、週に2回か3回の心臓リハビリテーションで午後1時から4時まで外出するようになりました。心臓リハビリテーションがない日は、朝食後1時間ほど経過してから自宅でエアロバイクを30分行い、その後、シャワーを浴びるという生活を送っています。11月からは心臓リハビリテーションも週に1回となったので、自宅でのエアロバイクが主となっています。在宅勤務でかつ柔軟な勤務が許されていなければ、心臓リハビリテーションに通うのも難しかったはずです。

生活パターン

心臓リハビリテーションがない日は、次のような感じです。
  • 4時前後に起床して、柔軟運動やラジオ体操
  • 5時:仕事始め
  • 7時30分〜8時15分に朝食休憩
  • 9時〜10時10分:エアロバイク・シャワー休憩
  • 11時30分〜12時15分:昼食休憩
  • 17時30分:仕事終わり
  • 20時30分:就寝
心臓リハビリテーションがある日は、次のような感じです。
  • 4時前後に起床して、柔軟運動やラジオ体操
  • 5時:仕事始め
  • 7時00分〜8時15分:シャワー・朝食休憩
  • 11時30分〜12時15分:昼食休憩
  • 13時〜16時:心臓リハビリテーション
  • 17時30分:仕事終わり
  • 20時30分:就寝
食事やエアロバイク、それに心臓リハビリテーションなどは、勤怠としては細かく休憩時間として申請しているので、心臓リハビリテーションがある日はほぼ8時間労働で、そうでない日はほぼ10時間労働です。

金曜日は、企業向けの技術研修を行っていることが多いので、その場合は、9時30分〜17時30分が研修となります。そのような日は、早めに朝食を取ってエアロバイクをしたり、あるいは、エアロバイクをしなかったりです。
※ 「複業を20年」の「2. 技術教育や講演」を参照してください。

最も良かった点

在宅勤務で最も良かった点は、何と言っても通勤時間がなくなったことです。以前は、朝5時40分過ぎに自宅を出て、会社到着が7時30分。夕方16時には退社して、帰宅するのが18時前という生活を送っていました。労働時間は7時30分でした。

往復の通勤時間がなくなったおかげで、時間にかなりゆとりを持てるようになり、電車に乗らなくてもよいし、天候を気にする必要もなくなりました。

開発環境

在宅でソフトウェア開発を毎日行う上でおそらく最も重要なのは、無理のない姿勢で開発を続けられるかだと思います。オフィスでは、椅子、机、ディスプレイが用意されていて、無理のない姿勢で開発ができます。しかし、自宅というのは、一日開発を行う場所ではもともとないので、何も揃っていなかったりします。そのため、コロナ禍で在宅で仕事をするために机、椅子、ディスプレイを揃えた人も多いのではないかと思います。

私の場合は、自宅には書斎があって、机、椅子、ディスプレイも揃っていたので、特に何かを準備することなく作業できる環境でした。椅子はかなり昔に購入したアーロンチェアですし、ディスプレイも27インチと21インチの2つがあるため、自宅の方がオフィスよりも快適です。出社していた頃は、平日は書斎をほとんど使っていませんでした。

オンラインのミーティングは、当初は27インチのディスプレイ(古いApple Thunderboltディスプレイ)のカメラとマイクを使っていたのですが、今はマイクだけは別途購入したものを使っています。


技術教育

以前は対面で行っていた金曜日の技術教育は、今ではすべてオンラインで行っています。オンラインで行う上での最大の問題点は、受講生の表情が分からないことです。

対面ので教育であれば、説明を行いながら表情を見ることで、理解しているのか、理解していいないのかが分かるので、理解していないと思えたら説明を変えることができたのですが、オンラインでは難しいです。

オンラインでの読書会

以前は、会社で月曜日の朝8時から技術書の読書会を行っていましたが、在宅勤務になってからは行っていません。ただ、外出こともほとんどなくなったので、土曜日にオンラインでの読書会を開催しています。土曜日のオンラインでの読書会は、いつまで続けられるか分かりませんが、コロナが収束しても続けていきたいと思っています。

今後

いつまで在宅勤務が続くかは不明ですが、基礎疾患もあり、続けられれば続けていきたいと思っています。
コメント(0) 

第10期Go言語研修が終了しました [プログラミング言語Go研修]

昨年の9月から開講した、リクルートテクノロジーズ社向けのGo研修が、2月5日(金)に終了しました。リクルートテクノロジーズ社としては第5期ですが、私にとって通算第10期になります。今回は、すべてオンラインでの研修となりました。

スクリーンショット 2021-02-05 16.23.30のコピー.png

Go研修では、半年間の6回で書籍『プログラミング言語Go』を学びます。毎回、予習範囲が決められており、事前に予習範囲のテキストを読んで質問をまとめ、練習問題のプログラミングは解いてGithubに入れてもらいます。研修当日は、質問に対する回答や解説をして、練習問題の解答の確認を行います。

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

  • 出版社/メーカー: 丸善出版
  • 発売日: 2016/06/20
  • メディア: 単行本(ソフトカバー)


コメント(0) 

新たなオンライン読書会を始めます [プログラマー現役続行]

昨年から2つのオンライン読書会を開催しています。
この2つのオンライン読書会は、読んでいる書籍を読み終えたら、再び新たな参加者で最初から読むことを想定しています。

2月から追加で開催する読書会は、書籍を読み終えたら、次は別の書籍を読むことを想定しています。書籍としては、特定の技術に関するものよりは、ソフトウェア開発一般に関わる読み物的な書籍を読んでいこうと考えています。

最初は、書籍として『ベタープログラマ』を読んでいきます。

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

  • 出版社/メーカー: オライリージャパン
  • 発売日: 2017/12/15
  • メディア: 単行本(ソフトカバー)


コメント(0) 

総閲覧数が累計で900万を超えました [総閲覧数]

スクリーンショット 2020-12-17 3.52.06.png
2月から在宅勤務になって、ほとんど書かなくなってしまいましたが、総閲覧数が900万を超えました。800万から900万は、ほぼ1年でした。
コメント(0) 

長時間ランニングテストの勧め〜開発用ノートPCの活用〜 [プログラマー現役続行]

Merpay Advent CalendarとしてTech Blogを書きました。

長時間ランニングテストの勧め〜開発用ノートPCの活用〜

Tech Blogで言及している『APIデザインの極意』は、こちらの書籍です。

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

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

  • 出版社/メーカー: インプレス
  • 発売日: 2014/07/02
  • メディア: Kindle版

コメント(0) 

ソフトウェアエンジニアとして転機(7) [ソフトウェアエンジニアとして転機]

前回は、Fuji Xerox DocuStation IM 200の開発までの話でした。

富士ゼロックスを退職

IM 200の後継機の開発はなく、私自身は1996年8月末で富士ゼロックスを退職しました。1984年4月に社会人になって働き始めてから、12年5か月勤務したことになり、私の今までの経歴で最も長く勤務した会社となります。残念ながら、今年の4月から社名から「ゼロックス」の文字が消えて、「富士フイルムビジネスイノベーション」と変わります。

日本オラクル入社

1996年9月からは、日本オラクルで働き始めました。実は、データベースに関する知識というのは、日本オラクルに入社するまでほとんどなく、入社後の4週間の集合研修で学びました。当時は、中途入社した人達全員で同じ研修を受けました。

4週間の研修期間中に佐野力社長からの講話があって、内容はほとんど覚えていませんでしたが、次の言葉(正確には覚えていませんが)は今でも記憶に残っています。
5年後、10年後に日本オラクルを背負うのは、中途入社の皆さんではなく、新卒新人です。したがって、新卒新人は育てていきますが、みなさんは、即戦力として頑張ってください。
この言葉は、その後、私が若手のエンジニアの育成に力を入れるようになったきっかけです。それ以前の私は、「できなプログラマーにはプログラミングさせるな」という意識が強かったです。

研修が終わって、私自身は、Oracle Applicationsの一つであった人事・給与システムの開発マネージャとして開発の責任を負うことになりました。税制の違いもあり、Oracle Applications中で、日本で開発が許されていたのが人事・給与システムだけでした。

開発マネージャと言っても、一人3役に近かったです。開発のリーダー、開発チームの予算管理などを含むマネジメント、ビジネスパートーナーである日本ユニシスとの交渉役でした。開発内容や予算はすべて、英国へ報告し、そこから米国へ報告されるという報告ラインでした。私がマネージャとして仕事を始めた時点(10月)で、年間開発予算を使い切っていたので、追加予算の獲得のため米国へ出張もしました。

自分自身では開発はしなかったのですが、開発をリーディングする必要があるため、日本オラクル在籍中は、オラクルDB関連の勉強はかなりしました。

朝早くから夜まで、長時間働いていましたが、一人3役で仕事をこなし、自分では開発をしないのは、精神的にもきつく、転職することにしました。

日本オラクルでの思い出

7か月10日と短い期間でしたが、目まぐるしく、色々なことを経験した期間でした。記憶に残っているものを挙げると、以下の通りです。
  • 入社時の4週間の研修。
  • 前述の佐野社長の講話。
  • 同期入社した人達との毎月の飲み会。
  • その年の新卒新人5名を一ヶ月預かっての研修。全員が米国の大学を卒業していました。
  • 当時は、Oracle DBに保存されているPL/SQLのソースコードを見るために、開発者はSQL文を実行していたのには、私自身びっくりしました。それで、若手のエンジニアにJavaとJDBCを使ってビューアーを作成してもらいました。後に、彼が米国Oracleへ異動して、そこでもそのツールが好評だと聞いて、さらにびっくりしたのを覚えています。
  • 日本ユニシスや英国Oracleとのさまざまなやり取り。

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