泥水エンジニア日記

泥水の数だけ強くなれる

『エンジニアのためのマネジメントキャリアパス』を読んだ

キャリアとかよくわかんねえよ、といいながらオフィスで檸檬堂を飲んでたら、お隣のチームの人がそっとこの本を差し出してくれたので読んでみた。

タイトルの通り、技術系の管理職に求められるスキルを解説した書籍。メンター、テックリード、エンジニアリングリード、技術部長、CTO (または VPoE)と立場が変わるにつれて、求められる役割がどんな風に変わるのかが知れて面白かった。

ぼんやりと思ってたことが明快な言葉で書いてあるのを目にして「やっぱそうだよね!」と膝を打つようなシーンがあった一方で、めちゃくちゃ耳の痛いことが書いてあってお腹が痛くなるシーンもあり、なかなか読み進めるのがツラかった。本に書いてあるアンチパターンを他ならぬ自分が踏み抜いてるなあと気づくようなシーンもあり、なんというか、今読んでおいて本当によかったなという気持ち。

読書メモはこんな感じ。

技術系の管理職は、辛いし、コード書けなくなるので面白くない、みたいなイメージが先行しがちだけれど、そういった先入観はいったん捨てて試しに読んでみると新しい発見があるんじゃないでしょうか。

で、読んでて辛くなってきたらとりあえず檸檬堂を飲みましょう。

2019 年の振り返り

去年に引き続き、今年も振り返りを書いてみる。

副業にチャレンジできた

厳密には副業とはちょっと違うけど、今年は「自分が趣味で書いたコードがお金になる」という稀有な体験をさせてもらった。流れとしてはこんな感じ。

  • 姉の事務作業を自動化するべくちょっとした GAS を書いた
  • データ量が増えて辛くなってきたので Web アプリケーションに作り変えた
  • 姉貴の所属企業の IT 部門の目に止まり、ひょんなことから売却できる運びになった

「話をしたい」と言われて恵比寿のドトールに呼び出され、御社の CTO(!)に自分が作った Web アプリケーションのプレゼンをする、というドッキドキのイベントがあったのだけれど、思いのほか好意的に受け止めてもらえ、お褒めの言葉までもらえたのは非常に嬉しかった。御社のドメインを勝手に取得したことについては怒られました。

技術スタック等についてはざっくりこんな感じ。

ちなみに aneki.js は僕の実装した Web アプリケーションの俗称です。

「代表作」と言えるようなものが開発できた

こちらは本業の方の話で、去年の 4 月くらいから開発していた機能群が今年の 7 月頃にリリースできた。お客さんへの提案活動みたいなのに同行させてもらったり、チーム横断で PM 業っぽいことをしてプロジェクトを推進したりと、初挑戦だらけのメモリアルなプロジェクトでした。

提案業については、「自分の知ってる周りの優秀なエンジニアたちはみんな経験してるけど、俺にはその経験がないんだよな……」っていうコンプレックスみたいなものがずっとあって。なんとなく今のままじゃダメなような気がして、怯えながらも手を挙げてやらせてもらったんだけど、

  • 「課題はそもそもなんなのか」から話を進めるクセが身についた
  • 人前で何かを説明するのに物怖じしなくなった
  • 資料を作るスピードがなんかようわからんが早くなった

みたいな感じで、色々とベーススキルが上がった気がする。「ウチ以上にウチの会社のことを考えてくれていてありがたい」と言ってもらえたのもじんわりと嬉しかった。まあ、そこに到るまでに色んな人とたくさん揉めたんですが……。

ともあれ、色々あってリリースした機能が、きちんと売上に貢献できていて、正しくドヤれるものになったのは非常に嬉しかったです。

学んだこととか

技術系

gushernobindsme.hatenablog.com gushernobindsme.hatenablog.com gushernobindsme.hatenablog.com

ブログに書いたもの以外だと、AWS の CodeBuild、Deploy、Pipeline、ECS、ECR、Parameter Store、SSM、ライブラリ の Jib などを触りました。

業務知識系

gushernobindsme.hatenablog.com gushernobindsme.hatenablog.com

ブログに書いたもの以外だと、『怒りに負ける人 怒りを生かす人』と『ヤフーの 1on1』を読んだりしました。

怒りに負ける人 怒りを生かす人

怒りに負ける人 怒りを生かす人

ヤフーの1on1―――部下を成長させるコミュニケーションの技法

ヤフーの1on1―――部下を成長させるコミュニケーションの技法

今年は読書量が少なくていまいちなので、来年はもう少し頑張りたい。

その他

あとは、子供部屋おじさんを卒業したり、作りおきをしたり、トレラン大会に初出場したり、ボルダリングをちゃんとやり始めたり、日本語ラップをちゃんと聞き始めたり色々ありました。

特に日本語ラップはすごくて、聞き始める前と後では心の持ちようがまるで違ってきていて、大変ポジティブに日々を過ごしております。俺は今まで何をやってきたんだ。 ギアを入れたい時によく聞いている曲のリンクを 3 つほど載せておきます。

www.youtube.com www.youtube.com www.youtube.com

おわりに

来年からはやる仕事の性質が若干変わりそうなので、変化に対応するための努力をしつつ、ボルダリング行ったり、山に行ったり、日本語ラップの音源を集めたり、作りおきをしたりして健やかに過ごそうと思います。オススメの音源をお持ちの方は教えてください。おわり。

『内部統制の仕組みと実務がわかる本』を読んだ

色々あり、最近は内部統制に片足を突っ込んでおります。

制度の意義とか、関連法規はどれかとか、業界におけるベストプラクティスとか、何もわからない。何もわからない時は本を読みます。

大事っぽい部分を無理やり三行でまとめるとこんな感じ。

  • すべての上場企業は金商法のもと、「財務報告に係る内部統制報告制度(J-SOX)」への対応が義務付けられている(違反したら当然罰則がある)
  • 監査法人は、経営者が作成した「内部統制報告書」を独立した立場から監査する責任を有する(チェックするのが仕事なので手伝ってくれる訳ではない)
  • 内部統制報告制度は会計の業務。だけど IT に関する内容も含まれる。遵守に向けては、経理とエンジニアが協力しながら進める必要がある

とにかく初心者向けに書かれているので読みやすかったな、という印象。他にももっと論点あるでしょ、って言われると怖いので、いつもの読書メモを先に出しておきます。

で、関連法規やらガイドラインとしてはこういうものがあるらしい。

管轄 件名 通称 内容
金融庁 財務報告に係る内部統制の評価及び監査の基準並びに実施基準 実施基準 内部統制制度対応の最も基本となるルール。
企業はこの「基準」と「実施基準」に基づいて内部統制評価手続を実施する。
監査法人等はこの「基準」と「実施基準」に基づいて内部統制監査手続を実施する。
金融庁 財務計算に関する書類その他の情報の適正性を確保するための体制に関する内閣府令 内部統制府令 内部統制報告書の用語、様式、作成方法などについて定めている。
金融庁 「財務計算に関する書類その他の情報の適正性を確保するための体制に関する内閣府令」の取扱いに関する留意事項について 内部統制府令ガイドライン 「内部統制府令」の補足資料。
金融庁 内部統制報告制度に関する事例集〜中堅・中小上場企業等における効率的な内部統制報告実務に向けて〜 事例集 中堅・中小上場企業向けに簡素化事例をまとめたもの。
金融庁 内部統制報告制度に関する 11 の誤解 11 の誤解 中堅・中小上場企業向けの問答集。
金融庁 内部統制報告制度に関するQ&A Q&A 中堅・中小上場企業向けの問答集。
日本公認会計士協会 財務報告に係る内部統制の監査に関する実務上の取扱い - 監査法人等が内部統制監査を実施する際に準拠すべき監査の実務指針。
監査法人向けに書かれた資料だが、監査法人と協議したり、交渉する際の材料として使える。
日本公認会計士協会 IT を利用した情報システムに関する重要な虚偽表示リスクの識別と評価及び評価したリスクに対応する監査人の手続について - IT 全般統制の実務内容について説明された資料。
日本公認会計士協会 重要な虚偽表示リスクと全般統制の評価 - IT 全般統制の実務内容について説明された資料。

全体的にタイトルが長くてつらい。が、原理原則に立ち返りたい時はこの辺を漁ると良さそうだな、ということが分かり勉強になりました。全然知らない世界の知識を久々に身につけられた感があって、これはこれでおもしろい。

内部統制に関わることになった経理の人やエンジニアの人は読んでみるといいんじゃないでしょうか。

『Pragmatic Terraform on AWS』を読んだ

そろそろワシらも Infrastructure as Code とかちゃんとやらなきゃね、ってことで会社で Terraform 使うようになってきたんだけど、イマイチ使いこなせてる感がなくて。技術書展で売ってたこの本よかったよ、という噂を聞いたので読んでみました。

結論としては、すごくよかった……。

booth.pm

書名の通り「Terraform の使い方について学習しよう」という内容の本なんだけど、

  • 実際に手元で動かせるサンプルコードが豊富に用意されている
  • ECS Fargate などのマネージドサービスを組み合わせた今風のアーキテクチャを実際に作ってみる、という実践的な内容になっている
  • AWS を使う上でのベストプラクティス、アンチパターンについても触れられている
  • Terraform を扱う上でのベストプラクティスやモジュールの設計指針なんかについても書かれている

ので、ものすごく満足度の高い一冊でした。

第 2 部(4〜16章)の「実践編」の内容が特に素晴らしかく、珍しく写経などしてみたのでリポジトリを晒しておきます。 terraform apply できるところまでは確認したので、困った時にリファレンスすると色々役に立ちそうかなあ。

github.com

そして、うかうかしてたら商業誌版が発売されたようです。

電子書籍で技術書読むのがどうしても慣れなくて、わざわざコンビニプリントしてマーカー引きながら読んでたんだけど(老害)、そのせいで無駄に印刷費に 2,000 円くらいかかってて、そんなことするくらいなら商業版買えばよかったよね、っていう。

たくさん加筆されているそうなので、気になる人は買ってみるといいんじゃないでしょうか。老害からは以上です。

『決済システムのすべて』を読んだ

決済システムって一般的にはどうなってるのが望ましいんだっけ、と不安になることが多く、決済システムについて網羅的に書かれた本はないものか、と探していたところ『決済システムのすべて』という本を見つけたので読んでみました。

決済システムのすべて

決済システムのすべて

「あ、これ社内でいうところのあの業務だな」とか、「決済リスクってうまく言葉にして整理できてなかったけど、そうそう、こういうことだよな」とか、長年のモヤモヤがじんわりと解決していく良書でした。

  • 決済のプロセスについて(ペイメント・クリアリング・セトルメント)
  • ファイナリティの概念について
  • DTNS システムと RTGS システムについて

あたりの説明が特によかったです。そうか、こういうのってすでにこういう名前がついてたのか……みたいな。業務理解とかちゃんとやりたい系エンジニアの人は、試しに読んでみるといろんな発見があって面白いと思います。

読書メモはこんな感じ。

「米国の決済システム」「欧州の決済システム」「我が国の決済システム」「他通貨決済の CLS 銀行」「決済および決済システムの新潮流と金融業務」あたりは全然まとめられてないので、気になる人は買って読んでみてください。

最後に、

この本の存在は、このツイートのおかげで知ることができました。感謝。

『プログラマのための Docker 教科書』を読んだ

Docker は本業でも副業でも使っていて、 Dockerfile の読み書きもある程度はできるんだけど、なんとなく使ってる感があって。そういうのやめたいなー、と思ったので入門書を一冊通読することにしました。

プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化

プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化

Docker コマンドや Dockerfile、docker-compose.yml の文法についてちゃんと把握できるようになれればいいかな、くらいの気持ちで読み始めたんだけど、

  • Docker が動く仕組み
  • Docker Machine の使い方
  • Kubernetes の概要

なんかも書いてあって満足度の高い一冊でした。

普段インフラ寄りの仕事をしていない人でも理解しやすいような構成だったので、アプリケーションエンジニアのステップアップやら、新人研修やらにも使えそうな印象。とりあえずこれ読んどいてね、でいろんなことが解決しそう。安心の WINGS プロジェクト本。

で、個人的には、Kubernetes の概要がざっくりだけど把握できたのが嬉しかったです。先日『一晩で Kubernetes を覚えて帰ろう。ワンナイト BootCamp!』という勉強会に参加したのだけど、Kubernetes の基礎がそもそも分かっておらず、うまく知識を持ち帰れなかったので……。

いざ本を読んでみたら「あ、あの勉強会で言ってたやつだ!」的なアハ体験があり、理解が進みました。

cnd.connpass.com

いつもの読書メモはこんな感じ。

Docker をちゃんと理解して使いたい人や、(コンテナ技術を使うことを前提として)インフラ寄りの話にもうちょっと詳しくなりたい人は読んでみるといいんじゃないでしょうか。

『Vue.js入門』を読んだ

  • 趣味で作った GAS が限界を迎えたので、いい感じの Web アプリケーションに作り変えたい
  • せっかくなので今風のフロントエンド技術を使った SPA にしよう
  • 最近新しいこと学んでないのでついでに色々試してみよう

みたいな背景から、ちょうど気になっていた Vue.js に入門してみました。

Vue.js入門 基礎から実践アプリケーション開発まで

Vue.js入門 基礎から実践アプリケーション開発まで

フロントエンド開発の知識はちょうど jQuery で止まってて、ES2015 とか webpack とか AltJS とかなんもわからん、みたいな感じだったんだけど、まさにそういう初学者向けに書かれた入門書になっていて、驚くほどサクサク読めました。双方向バインディングすごい。俺は今まで jQuery でコソコソと何をやっていたんだ、という感じ。

あとは、「便利になったもんだ」という感想を持った一方で、「フロントエンド側の業務領域って随分増えたんすね」とも思った。昔はルーティングの制御とかはサーバ側のお仕事だったのにねえ。フロントエンドエンジニアの気持ちがちょっとだけ理解できました。

で、この本と『サーバーレスシングルページアプリケーション』のおかげで人生初の SPA をサクッと実装してデプロイするところまでいけました。作ろうとしてたものの性質的に DynamoDB とかを使うのがマッチしなくて、結局サーバレスな構成にはしなかったんだけど、こちらも良書だったのでリンク貼っておきます。

いつもの読書メモはこんな感じ。

「Vue.js の高度な機能」「Vuex によるデータフローの設計・状態管理」あたりは読み飛ばしちゃいました。必要になったらまた読むかも。

そんな訳で、

  • フロントエンド開発の流れに全然ついていけてない
  • でももはやどこから手をつけていいのか全然わからない
  • 本職はサーバサイドエンジニアだけど、フロントエンドの技術要素についても知っておきたい

みたいな人は手に取ってみるといいんじゃないでしょうか。

この本を参考に作った SPA の話はまたいずれ。