Posts for: #Drinking

excel が utf-8 で保存する csv ファイルは bom 付き

昨日の定例会議で csv ファイルのエンコーディングの話しになって excel 2016 以降では utf-8 で csv ファイルを保存できるようになった。もう cp932 対応しなくてよいといった話題が出た。そのときにうろ覚えだったものの、excel は byte order mark (bom) を付けていた気がして、実際にファイルを作ってもらったらそうだった。bom の有無は file コマンドや od コマンドでなどで調べられる。

$ file book1.csv
book1.csv: Unicode text, UTF-8 (with BOM) text, with CRLF line terminators

ファイルの先頭に 0xef 0xbb 0xbf の3バイトがつく。

$ head -1 | od -t x1 book1.csv
0000000    ef  bb  bf  68  65  61  64  65  72  31  2c  68  65  61  64  65
0000020    72  32  2c  68  65  61  64  65  72  33  2c  68  65  61  64  65
...

印字可能な文字ではないため、テキストにするとわからないが、byte 列だと bom が付いているのがわかる。16進数の 0x68 が ‘h’ になる。bom がついていると header1 という文字列比較したときに別の文字列になってしまうので取り除かないといけない。

文字列: 'header1'
byte列: 'efbbbf68656164657231'

いろんな対応方法があると思うが、so の回答 でみつけたこの方法がコードの見通しもよくて気に入った。次のように io.Reader をラップするようなコードになる。

func newBOMAwaredCSVReader(reader io.Reader) *csv.Reader {
	transformer := unicode.BOMOverride(encoding.Nop.NewDecoder())
	return csv.NewReader(transform.NewReader(reader, transformer))
}

Transformer という仕組みがあって、準標準ライブラリの golang.org/x/text/encoding で実装されている。so の回答をみただけでコードを追加するのもよくないかと思って unicode#BOMOverride が返す bomOverride transformer のコードを読んで把握した上でテストを書いてマージリクエストを送った。実際の変換処理は次のようなもの。

  • fallback として encoding.Nop を使う
  • 最初に呼ばれたときに d.current (fallback) をセットして、2回目以降は fallback が呼ばれる
  • 与えられた byte 列が 2byte 以上のときに bom のチェックを行う
  • bom があるときはそのバイト数を読み飛ばして d.current (fallback) で変換する
func (d *bomOverride) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
	if d.current != nil {
		return d.current.Transform(dst, src, atEOF)
	}
	if len(src) < 3 && !atEOF {
		return 0, 0, transform.ErrShortSrc
	}
	d.current = d.fallback
	bomSize := 0
	if len(src) >= 2 {
		if src[0] == 0xFF && src[1] == 0xFE {
			d.current = utf16le.NewDecoder()
			bomSize = 2
		} else if src[0] == 0xFE && src[1] == 0xFF {
			d.current = utf16be.NewDecoder()
			bomSize = 2
		} else if len(src) >= 3 &&
			src[0] == utf8BOM[0] &&
			src[1] == utf8BOM[1] &&
			src[2] == utf8BOM[2] {
			d.current = transform.Nop
			bomSize = 3
		}
	}
	if bomSize < len(src) {
		nDst, nSrc, err = d.current.Transform(dst, src[bomSize:], atEOF)
	}
	return nDst, nSrc + bomSize, err
}

自分で実装してもなにも難しくないけど、すでに実績のあるコードがあるならそれを再利用した方が保守コストを削減できる。

同期飲み会

新卒入社した会社の同期との飲み会。2ヶ月前と同じメンバー で飲んできた。4人で飲む予定が、また1人が障害対応でドタキャンになったから3人で飲んでた。日本酒原価酒蔵 という、おいしい日本酒を原価で提供するお店があるみたい。プレミアム飲み放題プランだったのでよいお酒をいろいろ飲み比べできた。どれもおいしかったし、ちょっとずついろいろ飲み比べできておもしろかった。飲み放題メニューに神戸のお酒がなかったのがよいことなのか残念なのか。前半は辛口の日本酒を飲んで、だんだん酔っ払って味がわからなくなるから、後半にコクや甘みの強い日本酒を飲むとおいしく飲めると教えてもらった。本当にその通りで日本酒の飲み方のよい勉強になった。お店で飲んだお酒のカードがもらえる。酔っ払って忘れてしまっても後で思い出せる。

特徴的なお酒で記憶に残っているもので 三井の寿 がスラムダンクに出てくる三井寿に由来して命名されていて、その背番号である14番と同じアルコード度数14度、日本酒度 (辛口甘口の度合いを表す) +14 と意図的?にあっているとのこと。日本酒の中ではトップクラスの辛口らしい。たしかに過去に私が飲んだことがないキレだった。もう1つは 讃岐くらうでぃ という、カルピスのような風味に近い珍しいお酒。甘いので後半に飲むとよい。うちらは酔っ払って訳がわからなくなってきたときに口直しのように飲んでた。そういう飲み方をするものかどうかはわからないが、飲みやすいのでついつい飲んでしまい、さらに酔ってしまう典型的なお酒。同期飲みは記憶をなくす感じで飲む。この歳になってこんな飲み方する相手いないなと思うとまた楽しい。

キャリア談義

たまたまだけど、お昼にキャリアセミナーの動画をみて、夜にキャリア相談にのった一日だった。

キャリアセミナーと転職

あんちぽサロン に参加されているメンバーがキャリアセミナーで話されている動画を紹介されていたのでみた。その方も5回転職していて、私と似たようなキャリア形成をされてきたようにみえた。そのせいもあって価値観も共感できるところが多かった。私もそうだが、一定回数以上の転職をする人は自身の好きなことに価値を見出す人が多いのかな?とその動画をみていて思った。転職について私自身の考えを考察してみる。

私の考える転職で得られるメリットは次になる。

  • どんな組織にも良いところと悪いところがあるとわかる
  • 多様な人間関係や価値観に触れるきっかけになる
  • 新しい知識やスキルを身につけるきっかけになる
  • コンフォートゾーンを抜け出すことで変化に対応するスキルが身につく
  • 年収をあげやすい

一方でデメリットもある。

  • 10年とか時間のかかる知識やスキルを身につけられない
  • 1度転職すると、その後も転職を繰り返しがちになる
  • 転職後の変化に対応するストレスが大きい
  • 転職が嫌なことからの逃げ道になってしまう
  • 一定数を超えると長期のキャリア形成を望む組織に信頼されない

いまの時代、転職におけるもっとも大きなメリットは変化に対応するスキルが身につくことだと個人的には思う。誰もが慣れた環境や人間関係、同じ業態・業種のお仕事をずっと続けていると、それが当たり前になってずっと続くような錯覚をしてしまう。そして、実際には3年、5年、10年と世の中は変わっていって普段しているお仕事がなくなっていく。個人と比べて組織はずっと変化に疎い。同じ組織にいると世の中の変化に鈍感になる傾向はあると思う。しかし、転職はリスクのある判断で一概に奨められるものでもない。とくに年齢が高くなると自身が求める待遇と先方から求められるスキルセットのマッチングが難しくなっていく。そしてマッチングで失敗するとキャリアにおけるダメージも大きい。私は20代の頃から転職してきたからリスクも折り込み済みで働いてきたが、過去を振り返るとよかった転職とわるかった転職は五分五分だと思う。そして40代になって転職先がなくなって自分で会社を経営するしかなくなった。その選択に後悔はないが、あまり他人へ奨められるようなキャリアではない。キャリアや働き方を大きく左右する転機の1つとして、若いときに転職するかどうかがあるように思う。

キャリア相談

夜にコミュニティの仲のよいメンバーと飲みに行った。急に誘いがきたからなんとなくそういう系の話しかな?という予測はついていた。そのメンバーはスタートアップで働いていて、あまりうまくいっていないという話しを以前から聞いていた。どうやら創業者が体調不良で会社を清算するらしい。事業を他社に売却するものの、従業員はどうなるか分からないらしい。黒字化していない事業だからあまりよい値段がつくとも思えないことから従業員までは雇わないのではないかと推測する。予定通り事務手続きが進めば今月末に会社がなくなるらしい。

そこで個人事業主でやっていくか、転職するかの相談にのっていた。まだ30代の若い方なのでどうしてもやりたいことがあるなら自分でやるのも1つの手だけど、個人事業主はいつでもなれるから転職して経験を積んだ方がよいとお勧めした。一番起業の成功率の高い年齢は、40代半ば にもあるように、起業して成功する確率が高いのは統計的に40代になる。当たり前の話しだけど、経験のある方がうまく経営したり失敗を避ける上での知恵が働くのだと推測する。うちの会社が受託開発できるのも世の中にシニアエンジニアは少なく、30代で身につけたスキルの貯金で食いつないでいるといえる。

あと貯金が減っていくのは精神的によくないという実体験を話した。起業するなら3年ぐらいは収入がなくても生活できる貯金を用意した方がよいとアドバイスした。生活費がなくなると目先のことしか考えられなくなって判断を誤るというのは「貧すれば鈍する」と昔からの格言にある。脱サラした経営者がキャッシュフローをみてないといった失敗談もたまにみかけるが、想定外のことが起こっても資金繰りに困らないだけの十分な余力として3年ぐらいの生活費をみた方がよいと考えている。

落ち着いた開発とふりかえり

今日は出張中で飲み会があったので運動はおやすみした。

4次開発の大きなふりかえり

前回の大きなふりかえり 。約4ヶ月の開発フェーズが終わってからの大きなふりかえり。もう4回目なのでメンバーも慣れてきたし、過去の知見もたまってきた。そして、私がいまあまり調子がよくないのもあってなにか目新しさがなくなってきたところでもある。今回の開発は2つの大きな失敗があった。

  • 想定していた開発機能を1つ落とした
  • QA 検証を網羅的に進めることができなかった

これらは私のマネジメントの失敗になる。これまでうまく進み過ぎていたと言えるのかもしれない。プロジェクトマネジメントは毎回うまくいくとは限らない。スクラムガイドにもある見積もりより経験主義の重要性を認識する開発期間でもあった。これまでの順調な進捗に、私自身マネジメントの驕りがあったのだとも思う。次の開発フェーズでまた気を引き締めてプロダクトの品質を担保していく。

いつも通り gitlab の統計情報を眺めながら定例イベントのふりかえりなどもやっていった。UI 周りのふりかえりを口頭での報告や文章で表現するのが難しくなってきたという意見があった。UI は画面の操作をみないと本当の意味で理解するのは難しい。テックブログを読む会も、自分が読みたい記事をすぐにみつけるのが難しいから事前に読みたい記事を探しておくといった「準備」をするメンバーもいる。実は私もたまにその準備をしているのでその気持ちはわかる。記事を探すという作業には一定の時間を取られるという事実がわかってきた。

記事を読んだ後に軽く雑談する時間があってもよいのではないかという意見もあった。これはこれであってもよいとは思う。ふりかえりは隔週でもよいが、メンバー間での確認事項は毎週やった方がよいのではないか?という意見も出た。これは話す必要があるときにハドルすればいいでしょうというところで一旦は見送った。みんなで集まる会議時間はコストが大きいので慎重に判断する。1on1 の隔週30分もそろそろ調整や見直しがあるかな?とも考えていたけど、逆にメンバーからはなんやかんやで30分話すことはあるからこのまま継続した方がよいといった意見も出ていた。

開発のやり方がだいぶ定着してきて、大きなふりかえりも1つの型ができて落ち着いてきた感じはある。よくもわるくも。

同期との飲み会

たまたま新卒で入った会社の同期から連絡がきて、関西で働いている同期が2年ほど単身赴任で東京出張になるらしく、久しぶりなので飲みにいこうという話しになった。本当は4人で飲む予定だったのが、1人がお仕事でドタキャンになって3人で飲んできた。10年以上会っていなかった同期だから近況を話すだけでもおもしろかった。今日会った3人に見た目は昔とあまり変わってなかった。私は体脂肪コントロールした後でよかった。ある同期は課長になっていて、単身赴任である省庁へ出向になった。外からみたら国家公務員やね。本当は話したらダメなんだろうけど、同期というよしみもあって飲みながらいろいろと話しを聞いてた。ここには書けないが、おもしろかった。飲み過ぎた。

私は最初の会社を3年でやめたものの、飲んだ同期たちはもう20年以上、1つの会社で働いているわけで価値観もだいぶ違うだろうと思う。同期って本当によいもので、価値観が違っても会社が違っても未だに仲良く気軽に話しができる。私はたまたま新卒で入った会社が大企業のグループ企業だったから100人ほど同期がいて、5つのクラスに分かれて30人ぐらいのクラスで4ヶ月ほど研修を受けた。いまとなってはその頃の同期とはほとんど会わないし、みんながいま何をしているのかも知らない。おそらく半分以上はその会社をやめてしまっていると推測する。やめた同期とも会う機会があれば楽しく話せるとは思う。

資本金変更を完了

今日の運動は腹筋ローラー,腕立て,スクワット,散歩をした。統計を 運動の記録 にまとめる。昼間は大雨警報が出るぐらい雨降っていたので今日も外にほとんど出ていない。

資本金の変更を完了

先日 資本金の変更登記 を行った。4営業日以内に連絡がなかったら変更登記を正常に完了したとみなしてよい。その期限が今日だった。とくに法務局からの連絡がなかったので書類に不備はなく、問題なく変更登記できたようだ。初めての行政手続きを終えて気分がよかったから勢いで会社のお知らせにも書いてみた。今後の会社としての取り引きを行う際、資本金が理由で足切りされることは少なくなると思う。

出張雑談会の調整

先日 ちょっとした書評 を書いたときに知人のエピソードを紹介した。そういえば、その知人ともう1年は会っていないなと思い出して、次の出張は4泊するから飲みにいけそうだと気付いて、メッセージ送ったら先方も予定が空いてそうなので飲み会をすることにした。私は体脂肪コントロールしているから、この数ヶ月、外食をほとんどしていないし、夜に飲みに行くのも控えている。たまに行って飲み食いしても1週間もあれば元に戻るというのもあるけれど、自己管理の一環として控えめに飲みに行ってもいいのかもしれない。もしかしたら、久しぶりに会う人たちと飲んでいるうちに楽しくなって羽目を外してしまうかもしれない。それはそれで楽しかったらまぁいいやというぐらいのお気持ち。

4次開発の仕掛り

2時半に寝て6時過ぎに起きた。

今日の運動は腕立て,スクワットをした。統計を 運動の記録 にまとめる。

定例会議

4次開発が始まって最初のマイルストーンを終えた。私はプロジェクトマネジメントの業務が残っていて、いくつか調整やドキュメント作成にも時間を割いた。プロジェクト初期からのメンバーは順調に新しい機能開発へ遷移できたように思える。この2人は放っておいても自律的に仮説を組み立てて業務を遂行できるだろう。そして、前の3次開発から参加した新規メンバーのサポートが、今回の開発フェーズにおける私のメイン業務になると考えている。いまのところ、まだプロジェクトや開発に貢献できる状態にはない。お手伝い先の経営陣にお願いして開発以外の業務はすべて剥がしてもらうようにした。これで言い訳ができない状況になったので開発に専念してほしい。

ハニカムさんと飲み会

先日 ハニカムさんの社長とランチ へ行ってきた。今回は社長と cto と一緒に飲みに行ってきた。18時半から始めて3軒はしごして23時半まで飲んできた。楽しかった。精霊の守り人 がおもしろいと教えてもらったのでまた時間のあるときに観てみる。

ざっくばらんにいろんな話しをして、同じ世代なので話しも共感しやすい。いくつかの話題があった中で教育の話しがもっとも盛り上がったように思う。みんな、よいおっさんなので後進を育てることに関心が向く。私もチームの若い子を指導しているのでその経験からの考え方を共有した。教育という分野は政治同様、誰でも一家言あって発散しやすい。飲み会のネタとしては鉄板に思える。縁があればハニカムさんとビジネスで協業する機会があるかもしれない。

昼も夜も課題管理の話ばかり

昨日はホテルへ戻って19時に寝て21時過ぎに起きて、23時頃に晩ご飯を食べて、1時に寝て6時半に起きた。

今日の運動は腕立て,スクワット,背筋,散歩をした。統計を 運動の記録 にまとめる。

プロジェクトの進捗報告

出張したときの月例報告の13回目。前回の進捗報告はこちら

開発はいま QA テスト期間であと2週間で今フェーズの開発を終える。今回は2週間遅延したけれど、あるメンバーにとってその分の成長も垣間見えたので中長期でみればこの遅延はよいものだったと思うといったことを上申した。優先度の高い要件は満たした上でメンバーの成長を実感したり、プロダクトの品質も上がってきている。私からみて十分に課題管理をうまくこなすチームになってきた。1年以上かかったけれど、よい開発文化をもつチームに成長したと思う。

今フェーズの唯一のよくなかったところとして新規メンバーの受け入れに失敗した。2週間の遅延もそこに起因するものではある。受け入れに失敗した背景や私の所感、今後の対応についていくつかお手伝い先の経営陣とも話し合いをした。開発とは結局のところ、人の問題になってしまう。それはスキルや生産性の個人差が大き過ぎるから。人に向かい合ってその人の価値観や行動を変革して、よりよい開発文化を根付かせていくことがチーム開発には重要。それは一朝一夕ではできなくて、半年とか1年とかそのぐらいの時間がかかる。

お手伝い先の経営陣も私が取り組んでいる課題管理の価値を認めてくれつつあって、開発方法論の手法を学んだことがないというのが最も大きいところだろう。よい開発文化をもつ組織で働いたことがあれば自然に身に付くが、知らない人はまったく知らなくて徒手空拳で戦車と対峙しているようなものになる。課題管理でよい開発文化をつくるという私の PoC はほぼ検証できたと言っていいかもしれない。

筋肉食堂へ行ってみた

MIYASHITA PARK に RAYARD というショッピングモールとレストランが合体したような大きな複合施設が出来てた。昔はただの公園だったと思うのだけど、いつの間にか再開発されたらしい。水曜日の夜で外も寒いせいか、施設が大きくて広い割にお客さんはまばらで閑散とした雰囲気だった。それはそれで人混みがなくて私にとっては心地よくはあるけど、施設の真新しさに比べて寂しい感じはした。

RAYARD にある 筋肉食堂 でお仕事のお願いも兼ねて知人と晩ご飯を食べてきた。たまたま渋谷でどこかお店を探していて、いま筋トレしているからちょうどよいんじゃないかと思って店名からエイヤで決めた。接待でもあるので和牛フィレ肉ステーキコースを頼んでみた。ちょっと高めの価格帯だから接待にも使えるのかな?と期待しつつ行ったのだけど、高タンパク低脂肪なメニューがいくつか提供されて、料理自体はおいしかったし、ヘルシーなら言うこともないのだけど、コンセプト的に量は提供されないし、料理の品数も少なかったのでディナーという視点からこのコースのみでは物足りなさもあった。コース料理を食べ終えてからもう1軒行きましょうとそそくさと退出した。本当の意味でトレーニングやっている人たちがご褒美のような晩ご飯を食べにいくところかもしれない。

まん丸のボールみたいなハンバーグが私は一番おいしかった。中心はレアになっていてその食感も楽しめた。これは私の好み。メインの和牛フィレ肉ももちろんおいしかったのだけど、私はもともと牛肉ステーキをそれほど好きでもないのでハンバーグで十分満足できることにも気付いた。

うしとらスタンドで飲んできた

筋肉食堂は RAYARD の SOUTH エリアにあり、同じフロアの NORTH エリアに うしとらSTAND があった。会食前に付近散策で歩いていてたまたま発見した。別店舗のうしとらに何度か行ったことあるのでこんなところにもあるんだと懐かしく思うところもあって2軒目はここに決めた。筋肉食堂でヘルシーな料理を食べて、結局ここでポテサラと餃子とナッツといった、ややジャンクな食べものとクラフトビールを飲んでヘルシーな食事をおじゃんにした。しかし、接待という意味では気張らず、こういうところで飲み食いして雑談するというのもとてもよかった。さすがうしとらさんだ。

おいしいなりんご という名前の、柑橘系ビールがあまり飲んだことのない風味で、おいしかったというよりはモノ珍しかった。なんかいつもとは違うモノを飲んで非日常感を味わうことができて満足した。

仮想化と観光案内

1時過ぎに寝て4時に起きて、その後の記憶はないが気付いたら6時半になっていて7時に起きた。

今日の筋トレは腕立て:15x1,スクワット:20x1,背筋:10x1をした。夜に3-4kmほど歩いた。

テスト環境の再構築

テスト環境の見直し を進めている。今日はこれまで project specific gitlab runner として使っていた物理マシンを、gitlab runner の機能は別マシンへ移行したので、その物理マシンをテスト環境の仮想マシンを管理するホスト OS にしようといろいろ作業していた。

rhel が開発している cockpit というツールが本当に使いやすい。rhel はエンタープライズ向けなので、あまり一般の開発者が rhel が提供するツールを意識する機会は少ないかもしれない。いろいろ便利なツールを出しているのだけど、会社の色が付いているのを oss な開発者が嫌うのか、マーケティング不足なのか、よくわからないけど、私がまったく知らないツールをお手伝い先で教えてもらって驚くことがある。その1つがこの cockpit というシステム管理ツール。サイトにはシステム管理用の gui ツールとある。うちらは仮想マシンを管理するために使ったりしている。virtualbox のような使い勝手とほとんど同じような容量で仮想マシンを作成したり、管理したりできる。virt-manager (libvirt) の api 経由で低レイヤーは kvm, zen, qemu がサポートされているらしい。デフォルトは kvm なのかな?なにで動いているのだろう?

神戸ルミナリエ散策 (2回目)

たまたま出張でよしださんが関西へ来られた。せっかくの機会なのでルミナリエをみていきなよと案内してきた。わたなべさんも参加してくれて3人でわいわいやりながら楽しくできた。

東遊園地の横に神戸市役所があり展望スペースがある。ルミナリエの時期は閉鎖しているんじゃないかと勝手に思っていたら、普通に空いていて10分ほど並べば24Fの展望スペースに上がることができた。実は初めて展望スペースへ上がってきた。ルミナリエが展望できるならさぞ人気があってもっと並ぶんじゃないかと思ったんだけど、登ってみてみたらそれほど夜景の見晴らしがよいわけではなかった。付近に高いビルがちらほらあって真下の東遊園地のルミナリエはよくみえたが、メリケンパークのルミナリエはそれほどきれいにはみえなかった。想像よりも展望スペースの人気がない理由がわかった。

その後、晩ご飯を食べにいって、初めてのお店へ行ってみた。まぁ悪くはなかったんだけど、知人からよいお店と紹介を受けていたほどではなく、それほど特別でもなく、何も知らずに行ったらよいお店だなと普通に思ったのかもしれないけれど「よいお店ですよ」とお勧めされて期待値を上げていった分だけ普通に思えてしまった。マーケティングと期待値の関係は難しい。私が誰かを案内するときはあまり期待値をあげないよう、気を遣って控えめに表現することが多い。20時過ぎから始めて22時で解散した。お互いの近況などを話して楽しかった。

一周まわって飲み会も大事

0時に寝て何度か起きて7時過ぎに起きた。9時までにはオフィスへ行くつもりが、気が緩んで9時はまわっていたと思う。年末でだらけている。

税理士さんとの打ち合わせ

この3ヶ月ほど 税理士さんとやり取り してきた懸念事項の共有または改善も含め、電子帳簿保存法 への対応の打ち合わせをしてきた。打ち合わせのため、姫路市にある税理士さんの事務所を訪問してきた。オンラインでできないわけではなかったが、1度も直接会ったことがなかったので、こちらの言い分や相手の言い分も気兼ねなく出し合う機会にしようと思って出掛けた。打ち合わせ後に一緒に晩ご飯を食べに行って、その後も2件飲み屋さんをはしごして、結果的には親睦を深めてお互いの考え方や人間性などを理解する機会になってよかったと思う。17時から22時まで飲み歩いてた。古い時代の人間関係では当たり前だったことが、いまどきの付き合いでは珍しいことかもしれない。

晩ご飯は プロ酒場 というお店を紹介してもらった。路地裏の隠れた場所にあって地元の人が行くお店って感じだった。「プロ」はプロフェッショナルではなく、労働者を指す プロレタリアート に由来するという。

あまり先方からはどういった運用をしたいという考えや既存のワークフローはないようで、ほぼこちらの言い分は通って改善へ向けての最初の切り口として収穫は大きかった。実際にそういった運用ができるかどうかはこれから徐々に実践して取り組んでいく。当社としてもこちらの要望だけを主張するつもりはなく、先方の状況や考えも聞いた上でお互いに合意できるところを探っていきましょうと伝えた。業務をうまくまわすために協調しましょうということは理解してもらえたのではないかと思う。

姫路駅の雰囲気

姫路駅の北側には姫路城がそびえている。駅を降りるとすぐに姫路城が目に入るようになっている。そして観光客向けのお店とアーケード街のお店も並んでいて、それほど人がいるわけではないけど活気がある。20分ほど駅から北側へ歩くと姫路城に辿り着く。

駅の南側はうってかわってオフィス街となっている。ビルが立ち並びお店などはあまりない。駅の南北で役割分担をしているような、おそらく都市計画でそういった整備が行われているのだと推測する。税理士さんの事務所まで、姫路駅から徒歩20分ぐらい歩いた。あらかじめ調べた上で歩いたわけだけど、それでもやや遠かった。体力が落ちていて駅から徒歩20分とか、普通には歩けないようになりつつあるのかもしれない。帰りはタクシーを使ったら運賃が1300円だった。三ノ宮から姫路まで JR で990円なのにこの距離で1300円なのかとか、いろいろ思うことがあるな。

SakeBash と LT 発表

2時に寝て4時に起きて5時に起きて7時に起きた。呪術廻戦ゲーム の初心者ミッションだけクリアしたらやめようと思って、なかなかミッションのレベルが高くて届かない。あともうちょっと。

SakeBash

神戸に acall (アコール) さんという会社があって、コロナ禍が始まる前に SakeBash イベントを開催されていた。2019-2020年にかけてのとき。それ以来ずっと開催されていなかったイベントを復活させたみたい。コロナ禍が acall さんの転機になったようで、オフィスのオートメーションに関するプロダクトを開発していて会社が大きくなっているらしい。

acall さんは go でプロダクト開発をしていると知っていたので神戸で go の話しができると思って次の LT 発表をした。発表したら向こうから声をかけてくれて go の話しができるかな?と期待したのだけど、あまりそういう雰囲気でもなかった。私はコミュ障なので知らない人に話すのが苦手。

acall さんの社員でしやさんという方が宮崎県から来られて、始めて LT 発表するということで応援しながら聞いた。

私の周りでも flutter を採用している人たちがいるので気にはなっていた。最近は flutter web というのも出ていて、flutter でフロントエンドとスマホアプリの両方に対応できそうにも思えた。次にスマホアプリ対応が必要になったら flutter を採用してみてもいいなと思えた。acall さんの制度をみていてユニークだなと感じたものに「いまあい旅費」がある。リモートワーク前提の会社だからこそ、こういった制度の価値が出てきたとも言える。一昔前は出張するのが当たり前だったのでこんな制度に意味はなかったが、リモートワークにより出張しないことが当たり前になったのでこういう制度設計になったんだと思えた。

いま、あいにいきます旅費

リモート勤務でオフラインで集うことが難しいメンバーと「会うこと」の価値を再認識し、オフィスで自社プロダクトのプラクティスを行うことで、製品のアップデートに貢献することを目的とした制度です。自宅から100km以上離れた神戸または東京オフィスに行くための旅費を支給します。(1往復分の交通費と宿泊費/ケ月)

イベントに acall の社員さんが10人ぐらい参加していた。勢いのある会社は会社イベントに参加する人も多くてよい雰囲気にみえた。宮崎県から来られていたしやさんの他にも埼玉県から来られていたとしさんという方もいた。他にも遠方から来ていた方もいたのかもしれない。

2次会

いまひとつ飲み足りなかったので三ノ宮.dev の仲のよい人たちと飲みに行った。RailRoad no.57 というバーでよい雰囲気のお店だった。またなにかの機会で使いたいと思う。葉っぱ (ハーブ?) がたくさん入っているはちみつカクテルがおいしかった。

そこで以前コミュニティで起業相談にのった方の経営について話題になった。創業してから1年弱かけて少し前にある web サービスをリリースした。その web サービスはコモディティで、すでに競合も数社ある。あまり新規のベンチャー企業にとって勝ち目のある分野だと私からはみえない。どうやってこの web サービスを黒字化するのだろう?と私は疑問に思っていた。創業者の相談に乗った方も今後の戦略について尋ねても明確な答えは返ってこなかったようでとても不安になったと話されていた。融資を受けたという話しを聞いていたのでしばらく会社を存続できるのかもしれないけど、作った web サービスを収益化しないと次の融資を受けられることはないだろうから先行きは厳しいのではないかと推測する。外部からみえる範囲内では今後の先行きは危ぶまれる。創業して1年もたつのに、若い開発者にすら心配されるような戦略しかもっていない経営者というのはちょっと想像できない。融資を受けることが出来たぐらいだから、起業や経営について相談にのってくれる人は周りにいるんじゃないかと思うんだけど、経営目線で厳しいことを言ってくれる人はいないのかもしれない。

フルリモートとヒトリ

1時に寝て珍しく夜中起きずに7時ぐらいまで寝ていたかもしれない。午前中は昨日受け取ったスタンディングデスクを仮組みの状態からネジを締め付けて本組みした。ちょうど探していたものにぴったりはまる感じ。

友だちを探しに勉強会へ

もくもく会 に参加した。今日の参加者は6人とやや少なかったものの、初めて来られた方が2人いて、どちらもフルリモートで働いているものの、技術の話し相手や相談する場所がなくて、そういうものを求めて来ましたと話されていた。私も5年前に東京から神戸へ引っ越してきたとき、友だちがいないから探そうと思ってこのコミュニティへ来た。みんな同じところで落とし穴にはまるなと思って親近感を覚えた。以前 Python Boot Camp のお手伝い をしたときに知り合った、現地スタッフのにしたにさんが淡路島出身で、三ノ宮.dev にも関心があったようなので来られて挨拶した。そうやってつながりが増えていくのもまた嬉しい。

今後はフリーランスや個人事業主、マイクロ法人といった1人で働くスタイルがより増えていくと私は考えている。以前にも マイクロ法人のススメ を書いたが、1人で働くメリットは大きいものの、デメリットとして相談相手がいなかったり、困ったときに他者へ助けを求められないなどがある。コワーキングや勉強会コミュニティはそういった1人のデメリットを補う形で発展していくのではないかと想像している。そして、そのときのための準備を2年前ぐらいから始めている。

ストレッチ

土曜日に実家へ帰っていたのでストレッチを日曜日の夜に変更していた。昨日、車でジモティーのスタンディングデスクを引き取りに行ったり、実家との往復をしたので腰への負担が大きかった。それ以外は大きな疲労や張りなどはなかったと思う。勉強会後に飲み会へ行って、軽く1杯だけ飲んでやめとくつもりが、ビール2杯とハイボール1杯飲んでしまって、酒臭かったら悪いなぁと思いながらストレッチを受けていた。トレーナーさんはお酒の匂いしないと言ってくれてたけれど、本当のところはどうだったのか。ほろ酔いでストレッチを受けていた。今日の開脚幅は開始前152cmで、ストレッチ後157cmだった。

穴場のビアバー

穴場のビアバー

0時に寝て何度か起きて6時半に起きた。移動日の疲れもあってか、いつもよりよく眠れた気がする。

朝食バイキング

先々月から大崎探索 をしていて ニューオータニイン東京 に泊まってみた。川沿いの道を歩きながら朝食バイキングもおいしい。食品の品数があると満足度が高い。

プロジェクトの進捗報告

出張したときの月例報告の11回目。前回の進捗報告はこちら

まだ開発の序盤なので 事前に準備した資料 の内容を一通り終えて雑談の時間も多かったように思う。3回目の開発フェーズになるのもあり、メンバーの練度も上がって、開発の手際はかなりよくなっているように私からはみえている。それらも含めて、メンバーが自律的に issue を作ったり、タスクを自分に割り当てたりしながら開発が進むようになっていると報告した。プロジェクトオーナーからも、最近のマイルストーン定例をみていて、メンバーが気付きが増えている、自律的によくないところを改善しようという意思がみえるといった話題も出ていた。課題管理のプラクティスを実践してきて、着実によい開発者の習慣を身につけて、よい開発チームに育ってきているように、私からもみえている。あとは課題管理についてのコンテンツを私が書かないといけないのを、バーンナウトの影響もあってか、先月はさぼってしまっていたので、今月こそなんか書きますと、自分を追い込む意図でもその場で話題にした。

mongo とトランザクションとレプリカセット

mongo には トランザクション の機能が提供されている。しかし、トランザクションを使うためには レプリケーション を有効にしないといけない。レプリケーションは通常は複数台のマシンでクラスタリングを構築するものになる。うちらはシングルノードの mongo を扱っているのでレプリケーションを必要としていない。それでも、ドキュメントを読んでいると、スタンドアローンでも本番環境ではレプリカセットを使う方がよいといった説明もみつかる。

ちょうど開発の要件としてトランザクションを必要とする状況も出てきた。mongo のレプリケーションやトランザクションの仕組みを理解するよい機会かもしれない。11月中には調査したいというところ。

エビスバー

大崎探検の2日目。YEBISU BAR 大崎店 へ行ってみた。大崎駅横の駅ビルの2階にある。アクセスもよい。水曜日なのに20-21時半ぐらいまでいて、お客さんは3組ぐらしかいなかった。よい意味で空いてて静かにゆっくり飲めてよかった。穴場のバーをみつけた。ビール2杯とつまみ2品でちょうど3000円程度。ちょっと割高かもしれないけど、場所とお店の雰囲気とゆっくりできたことを考慮するとちょうどよい価格帯にも思える。またゆっくり軽く飲みたいときに行こうと思う。