【書評】 実践! タイムマネジメント研修

仕事で残業が多くなんとか業務を効率化できないかと思い、色々読んだ本のうちの一つ。一番読みやすく一番実践的であった。

時間をどう効率的に使うか、そして、無駄な作業をしないためにはどうすればいいかという実践的なテクニックが書かれている。前者は、細切れ時間を有効活用するクラスタリングという手法が紹介されている。後者は、無駄作業は成果物イメージの曖昧さから生まれているため、成果物をどのように具体化していけばいいかが書かれている。

研修を実際に受けているような形式で、実際に研修を受けると感じるであろう疑問点も、登場人物の思考や発言を使って先回りして答えてくれる様な感じで、ストレスなく読むことができた。

ソフトウェア開発者向け | 2022年読了したおすすめ本

2022年を振り返って読んでよかった本を紹介します。ソフトウェア系に偏っています。

開発系

ソフトウェアアーキテクチャの基礎/著:マーク・リチャード

いろんなアーキテクチャとその特性の比較を知りたいと思って手に取ったが本書はまさに自分の知りたいことが書いてあった。各アーキテクチャの説明に1/3を費やしている。そして、それ以外の章を読み進めていくと、なぜそんなに章を費やすのかがわかる。それは冒頭にある通り、ソフトウェアアーキテクチャトレードオフであるからだ。本書はまさにトレードオフをするための基礎を培うために存在するといえる。

ユースケース実践ガイド/著:アリスター・コーバーン

ユースケース駆動設計の記事や書籍でユースケースの重要さが語られているが、そもそもそのユースケースをどういう粒度や基準で書いたものか指標がなく悩んでいたが、この本を読むとなんとなく掴める。自分的には「ユーザがそれをやることでお金をもらえる操作単位」というのがしっくりきた。また、良い例悪い例が豊富なのでどうすると良い例に近づくのかもよくわかる。絶本なのが惜しい。

ITエンジニアのためのUXデザイン実践ノウハウ/著:宇津木 希

UXを意識した開発をやってみたいと思っても巷にある書籍はデザイナーやプロダクトオーナー寄りが多い。本書はタイトルにある通りITエンジニアが良い顧客体験のためにどんな活動をするといいか、が書かれている。UXの標準に照らして、開発プロセスごとにどう落とし込んでいけばいいのかが書かれておりエンジニアが自分ごととして捉えやすい内容になっている。巷にあるUX本と比べるとUI寄りのことが書かれているとは思うが、エンジニアはUIの方がとっつきやすいので、エンジニア視点のUXの入門としては良いと思う。

マネジメント系

成果を生み出す組織の条件:実践!チームマネジメント研修/著:坂本 健

同著者の別の書籍(タイムマネジメント研修)がなかなかよかったので読んでみた。実際の研修の様子を物語調で語られていくので、研修を受けているかのような感覚ですらすら読める。印象的だったのが、能力の評価と動機付けの話。 ある人の能力の評価・レベル分けについて、これまで会社とかで使われている基準は主観に強く依存したり、普通に仕事してたらそんな状況にならんだろ、てのを拠り所にしてて納得出来なかった。この本では通常の人間が行動を起こす際は、まずある場面を確認し(状況)、何をするべきかを定め(意図)、そのために何をするべきかを考え(思考)、実際にやってみて(行動)、結果を得る(結果)というサイクルをとっている。この書籍ではそれらのサイクルのどのレベルを打破できるかに基づいてるため、普段の自分の行動サイクルとしてどこを意識することで一段上に行けるのかということが想像できるので、必ずしも定量的ではないが、論理的なもので納得感があった。 また、自分の動機づけの分析でモチベーションカーブが出てきて、例に漏れず会社でやったことあるが何の意味もない分析だと思っていたけど、衛生要因と動機づけ要因で分けて分析すると知りはじめてこの図に意味があると感じた。

新1分間マネジャー/著:ケン・ブランチャート

振り返りの考えをマネージメントに昇華したような本。一分間目標、一分間修正、一分間称賛。とにかく短時間でフィードバックを与え続ける。1on1を常日頃からやる感じ。内容は真新しい考えというわけではないのだが、コンパクトさ、読みやすさからおすすめ。実践してみようと思わせる。

もし高校野球の女子マネージャーがドラッカーの「マネジメント」を読んだら/著:岩崎夏海

組織としてどうあるべきか、自分はどう動くべきか悩んでいたので、超有名本を今更ながらに読んでみた。当たり前ながら、企業とは顧客の要望を満たすために存在している。顧客が誰なのか、そして顧客が望んでいるものは何かを定義することを定義することが重要。書籍としては高校野球部としての顧客は何かを定義することから始まる。高校野球の顧客って何?と思うが、そこをうまく説明しており、ドラッカーの考え方をうまく噛み砕いて説明することに成功していると思う。

その他

惑星探査機の軌道計算入門/著:半揚 稔雄

力学の基礎から始めて惑星間軌道の計算まで計算過程を細かく説明してくれている。高校物理レベルなので、素人でもついていける。これも絶版なのが惜しい。

プロジェクト・ヘイル・メアリー/著:アンディ・ウィアー

宇宙を舞台にした困難に対して科学と工学を武器に立ち向かうアンディ・ウィアー節全開の本。

Wシリーズ/著:森 博嗣

森博嗣は「すべてがFになる」や「スカイ・クロラ」は読んでいたがそれっきりだった。しかし、改めて別の作品を読んでみると科学知識や人工知能の話などふんだんに盛り込まれており、一気にハマってしまった。また、本シリーズではツンデレ要素も随所に含まれており、科学×ツンデレの金字塔とも言える(誇張)。アクションシーンも多いので映像化すると絶対受けると思う。アニメ化しないかなぁ。

「【翻訳】プロダクトマネジメントトライアングル」を読んだ

以下のブログ記事を読んだ。分量はブログ記事としてはやや長いが、書籍化されてもいいような内容が凝縮されていて参考になる。そのまとめと感想。

ninjinkun.hatenablog.com

 

プロダクトマネジメントとは何か?プロダクトマネージャーの役割は何か?それは会社ごとに異なっている。それはなぜか?

プロダクトマネージャーの責任は記事では以下としている。

プロダクトマネージャーはプロダクトネットワークの全ての領域を健全に機能させることに責任を持っている

ここでいうプロダクトネットワークとは、プロダクトを中心とした、デベロッパー、ユーザ、ビジネスを頂点とした三角形のネットワークであり、プロダクトマネジメントトライアングル、と定義している(記事参照)。記事ではプロダクトマネジメントとは以下の二つをなすことだと言われている。

  1. プロダクトを中心とした空白領域を認識しそれを埋めること
  2. 空白領域の接点(融合領域)におけるインプットの衝突を統合すること

1.は足し算の仕事、2.は引き算の仕事。プロダクトマネジメントトライアングルを自身の会社に当てはめてみて、空白部分がある場合は時にはそこを補うことがプロダクトマネージャーの仕事である。また、空白部分が埋まっており(例えば、デザイナーが在籍している、など)融合領域で衝突がある場合はその部分の意見を統合することもプロダクトマネージャーの仕事である。このような事情は会社ごとに異なるため、プロダクトマネージャーと称する人のやっている仕事は千差万別となる。

プロダクトマネージャーとしても自身の得意な仕事は、1.なのか2.なのか、それはどの領域なのかを意識してアサインやキャリアを考えることが重要だと思う。

windowsバックアップエラー(0x8078015B)の原因はsambaのバージョンだった件

windows11からraspberrypiに構築したsambaの共有フォルダに対してバックアップを実行すると最後の数パーセントが終わらず最終的にエラーになる。

イベントログで確認すると「0x8078015B」というエラーが出ていた。

最初はクライアント側かと思いウィルス対策ソフトを無効化したりしてみたけど効果なし。

調べてみるとsambaのバージョンが古いことでバックアップが失敗することもあるとあったので以下を実施。

vi /etc/samba/smb.conf
 [global] 
# 以下を追加
max protocol = SMB2

編集後再起動するとバックアップが正常に完了するようになった。

生活に革命を起こしたモノ

1. ストリーミングメディアプレイヤー:Amazon Fire TV Stick

Amazon Prime会員なので映画やアニメを見るのに買いました。これのおかげでもう地上波を見ることはほとんどなくなりました。時間を選ばすに好きな番組が見れる、CMがない環境は最高。子供ができてからはちょっと手が離せない時とかに子供向けの番組を見せたりしてます。

2. 電動自転車:Panasonic ギュット・クルームR・DX

子供の保育園送り迎え用に購入。走り出しにアシストを感じます。坂道も楽々。もう正直普通の自転車には戻れない。

3. ヘアブラシ:タングルティザー

子供が天パで髪をとくのが大変だったので妻が購入。今までのがなんだったんだというくらいサラッととかせます。櫛のトゲトゲの密度が高く微妙に柔らかいのがポイントっぽい。優しくとかしてくれる感じです。

Macのコンピュータ名が勝手に変わる

Macのコンピュータ名が勝手に(1)等がついてしまう。何回戻しても変わってしまう。コンピュータ名、ホスト名、ローカルホスト名が設定されていない場合に勝手に設定しようとするらしい。調べてみたらホスト名が設定されていなかった。ホスト名を設定し直すと再発しなくなった。

 # 参照
 sudo scutil –-get ComputerName
 sudo scutil –-get HostName
 sudo scutil –-get LocalHostName
 # 設定
 sudo scutil –-set ComputerName MyMac
 sudo scutil –-set HostName MyMac
 sudo scutil –-set LocalHostName MyMac

以下を参考にした。

www.sirochro.com

Node.js + Expressでファイルサーバ上のファイルを介してチャットするツールを作った

サーバを立てることができないためrocketchat等のOSSを使うことはできないが、共有ファイルサーバは存在するという環境。この共有のファイルサーバを使ってなんとかリアルタイムなコミュニケーションができないかと思った。以下のブログを参考に実装した。

sandambara.com

実装

構成

ブラウザアプリにしたかった。手軽にWEBサーバを構築できるNode.js+Expressを採用。ブラウザから定期的にサーバに問い合わせを行いファイルの行数をカウントする。ブラウザ側で保持しているカウントより多い場合は更新がったとして画面に反映する。

画面デザイン

画面はbootstrapを使用。チャットアプリ用のテンプレートhtml/css/javascriptを以下のサイトから入手。

www.bootdey.com

更新通知

更新があった時通知をしたかったので、お手軽なpush.jsを採用した。

pushjs.org

使い方は簡単で、まず以下のようにライブラリを読み込む。

    <script src="https://cdnjs.cloudflare.com/ajax/libs/push.js/0.0.11/push.min.js"></script>

その後、javascript内で以下のように実行する。

Push.create([通知内容]);

できたもの

こんな感じでそれっぽいものができた。

チャットツールイメージ

リポジトリはこちら。 github.com

あとがき

実務で使ってみているが問題なく動作している。ただ、ポーリング間隔が短すぎるとエラーが起きてしまうので調整しながら使っている。