@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

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

エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド

エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド

8年ほど今の職場で仕事をしていて、別に変わることなく淡々と働いてるなと考えていたのだが、

  • 後輩ができメンターに
  • タスクを管理されてた側からタスクを確認する立場へ

と少しは違う立ち位置が変わっていることに気がついた。

自分がどうなっていきたいか少しだけ考えてみたけれど、誰かに管理をされていたくないがコードとかサーバ触ったりなどから離れるのは嫌だなとぼんやりと思い浮かべる程度だった。

半年に1回ある上司との評価面談や、隔週で行っている1on1などでは、チームを管理する役割を期待していると言われることが増えた。それを聞いた時に、ロールモデルってどんな人だろう、そもそもどういう役割があるのかも分からないなと思った。そんな時、この本が話題になっていることを知ったので読んでみた。

目次を見てみると、

巧みな管理のされ方→メンタリングの仕方→テックリード→部下が1人2人→チーム全体の責任を負う→複数のチームを管理→技術系の経営幹部

などたくさんの役割について書かれているみたい。

8年も下っ端エンジニアをしていたので、上司とのコミュニケーション、スキルアップのためのトレーニング参加、必要最低限の権限を委任してもらうなどまあまあ上手に管理をされていたなと思う。

下っ端から役割を変更し、管理をする側に変化していくと

  • 話を聞くスキル
  • プロジェクト管理のスキル
  • チームメンバを守るスキル
  • 評価をするスキル

など今まで使うことのなかったマネジメントスキルが必要になる。

エンジニアとして当たり前に使っている技術は、勉強会に行って情報収集したり、本を読んで勉強をして身につけてきた。しかし、マネジメントスキルについてはなにも勉強したことがない。
ということは、技術を身につけてきた時と同じように、マネジメントスキルに対しても勉強をして身につけなくてはいけないはずだ。経験だけでなんとなくやっても上手くいかないだろうことは予想がつく。

この本はエンジニアのためのマネジメントキャリアパスについて書いてあるからだと思うが、どの役割でも技術的な知識や勘は日々アップデートすることが必要だと何度も書いてある(実作業時間は上にいくほど減っていく、むしろ減らす必要があると書いてある)。管理をする役割になるためには、マネジメントスキルを身につけなければいけないし、技術の最新動向も勉強していかなければいけない。

まとめ

現場のエンジニア、テックリード、CTOやVPoE、技術系の経営幹部など人それぞれなりたい役割は違うと思う。この本はそれぞれの役割について、必要なスキル、取り組むべきこと、心構えが網羅的に書かれていると思う。どの役割の時でも学ぶべきことが沢山ある。

そしてどの役割においても、技術系に所属しているのだから、技術的な知識や勘を腐らせることは許されず、管理をする役割になった際にはマネジメントスキルを学ばなければならない。技術だけ、マネジメントだけのように偏ることは良くない。どっちもサボってはダメなのだと思う。

いろいろ思うところがあったので、

  • 自分の現在の役割
  • 必要なスキルとやるべきこと

を考え、足りてないスキルを1つづつ学んでいこうと思う。

まずは、以下の言葉を噛み締めて自分の管理から初めてみようと思う。

人の管理がうまくなりたければ、自分自身を管理できるようにならなければならない。
出典 : エンジニアのためのマネジメントキャリアパス (P. 279)

自分の小さな「箱」から脱出する方法

自分の小さな「箱」から脱出する方法

  • 作者: アービンジャーインスティチュート,金森重樹,冨永星
  • 出版社/メーカー: 大和書房
  • 発売日: 2006/10/19
  • メディア: 単行本(ソフトカバー)
  • 購入: 156人 クリック: 3,495回
  • この商品を含むブログ (418件) を見る

米海軍で屈指の潜水艦艦長による「最強組織」の作り方

米海軍で屈指の潜水艦艦長による「最強組織」の作り方

「ITエンジニアになる! チャレンジDocker仮想化環境構築入門」を試してみた

自分の知識が古いと思うので、Dockerを勉強し直してみようと。

本に書いてあるコマンドを順番に実行していくと、Dockerのインストールから始まりDocker Swarmを使ったクラスタの構成までを試せる。

章構成は以下。

Chapter0 インフラエンジニアになる!
Chapter1 Dockerについて理解しよう
Chapter2 Dockerをインストールしよう
Chapter3 コンテナの起動方法を理解しよう
Chapter4 手動で行うビルドの手間をなくして、自動化しよう
Chapter5 Docker Machineを使用してDocker用の仮想マシンを作成しよう
Chapter6 Dockerのネットワークを設定してコンテナ感のネットワークを構築しよう
Chapter7 Dockerのファイル管理について理解しよう
Chapter8 複数の役割のコンテナをまとめて起動しよう
Chapter9 Swarmモードによるクラスタ構成の構築
Chapter10 AWSを使用したRailsアプリケーションのデプロイ
Chapter11 Kubernetesとは

Chapter01ではインフラやDockerとはどのようなものかを20ページ弱で説明している。さくっと読み終えてしまえば良いかと。

Chapter2Dockerをインストールした後、Chapter3Dockerの基本的なコマンドを一通り実行できる。
3-13のコンテナ状態の説明は知っているとその時々で使えるコマンドが分かるので、エンジニアでも一度ざっと読んどくのが良いのかなと。

Chapter45では実際のDockerのコマンドを試すことができる。
Automated BuildDocker Machineを使って複数環境(ローカルAWSGCP)でのDocker実行ができる。

Chapter6でのネットワークの説明は実際に使っている人たちでも理解できてない場合が多いので、この章を実行して

  • ブリッジネットワーク
  • ノンネットワーク
  • ホストネットワーク
  • オーバーレイネットワーク

それぞれのネットワークを自前で構築して勉強してみるのは良いと思う。

Chapter7Volumeの勉強を、Chapter8Docker ComposeChapter9Docker Swarmを実行することができる。

Chapter10ではChapter9まで勉強した内容を用いて、AWS上にRailsアプリケーションを実行することを試せる。ここまで試せば自前のアプリケーションをデプロイして遊ぶことができるかと。

最後のChapter11ではKubernetesの概要の説明の後、kubectlを用いてPodのデプロイを行うことができる。
Kubernetesの簡単な理解には十分な気がするが実運用する分には他の本でしっかり勉強する必要があると思う。引き続き次はKubernetesの勉強をしていこう。

まとめ

  • Dockerコマンドを一通り実行して試してみることができる
  • Dockerのネットワークやボリュームについては詳しく章分けされているので勉強になる
  • Docker Swarmを使ってクラスタの概要、使い方、気をつけるべきポイントが勉強できる

エンジニアじゃない人はまずChapter5まで試してみてDockerを試してみるのが良い。すでにDockerを使っている人はChapter6以降を読みながら試すことでDockerについての勉強になると思う。

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門

コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤

コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤

Kubernetes完全ガイド (impress top gear)

Kubernetes完全ガイド (impress top gear)

入門 Kubernetes

入門 Kubernetes

「Webエンジニアが知っておきたいインフラの基本」を読んだ

2015年に買ったけど読んでなかった本。
積読をなくしていくために読みやすそうと思って通勤時間にサクサクと読んでみた。

8章構成で、章構成は以下。

  1. Webサービスにおけるインフラの役割
  2. インフラ技術の基礎知識
  3. Webサービスのサーバ構成ベストプラクティス
  4. インフラ手配の基礎知識
  5. システム監視の基本
  6. ステータスモニタリング
  7. ボトルネックの見つけ方
  8. チューニングレシピ

インフラ基礎

4章までの前半部分は、インフラについての基礎知識が広く浅く説明されている。
ネットワークについての説明、ACID、ロックと排他処理、キャッシュ、キューイングやCPU・メモリなどサーバについての説明と本当に幅広くわかりやすく読みやすく書いてある。
その他にも、サーバ構成の考え方や、故障時のフローの確認の重要性や、障害時におけるテスト&負荷試験などの必要性についても書いてある。
Webエンジニアだけではなく、開発物に関わる人はこの前半部分だけは読んでおくと良いと思う。
この知識をもっているだけで、話をするときの伝わり具合、理解が大分違うのではないかと思った。企画の人やデザイナの方にも是非ここまでは読んでもらいたい。

運用・チューニング

5章からの後半部分は、監視・チューニングを行うための考え方、具体的に見るべき箇所、ボトルネックに対する対策などサービスを運用するために必要な知識が目白押しだった。
OS、ApacheMySQLに関しては最後の章でチューニングレシピも載っている。
ここ数年ISUCONに同期と参加しているのだが、何故この部分を先に読んでおかなかったのかと思った。監視ツールやコマンドの使い方なども載っているのでサービスを持っている人は必読だと思う。
後半部分でのおすすめは5章のシステム監視の基本。ここに監視が必要な理由、監視の定義の決め方、障害対応方法、対応後の振り返りなど監視について知っておくべきことが30ページほどでまとまっている。ここの部分に関しては、人に説明ができるように何回か読み返しておきたい。

まとめ

サービスを運用管理する人は読んだほうが良い。

最後は一番気に入った箇所を引用して終わりにしたい。

運用とは育てること!
システムそのものだけでなく、手順や関して意義などもはじめから多くは望まず、随時育てましょう。
出典 : Webエンジニアが知っておきたいインフラの基本(P. 103)

インフラエンジニアの教科書

インフラエンジニアの教科書

インフラエンジニアの教科書2 スキルアップに効く技術と知識

インフラエンジニアの教科書2 スキルアップに効く技術と知識

201810 振り返り

体力がなくなってきて日々眠い。
自分に使える時間が減ってきていると認識しているので、取捨選択して自分への投資の価値をあげていこうと思う。

せんでん

勉強会の主催者に混ぜてもらった。
11/19 に楽天本社で「チーム開発の現場雑談会」という勉強会があります。
1人でモヤモヤしている人や、とりあえず話をしてみたいという人がいたら奮ってご参加ください。

connpass.com

べんきょうかい

一日Mercariの発表を聞いてきた。イベントとしては2回目なのに、とてもうまく回しているなと思った。できることとできないことを明確にしてできることだけを全力でやっているんだろうなと思った。
自社の技術について説明をできるのはすごく良いな、楽しく働けるんだろうなと思った。

ほん

積んであった小説、エッセイに関してはほぼ読み切った。
あとは技術書を徐々に読んでいくことで壁のようになっている積読を減らしていきたい。
まずはDocker, Kubernetes の本が今は読みやすいから徐々に読んでいこうと。

えいが

ついに、週1で見ることができなかった。
3D彼女もコーヒーが冷めないうちにも笑いもあるけど感動もあるので僕は好きだった。

その他

楽天テクノロジーカンファレンスが今年もあった。今年は手伝いが楽しくなかった。
最後の週にだけ手伝いに入ってずっと怒っていた気がする。きっと一緒に働いていた人たちも楽しくなかったろうな。
完全に僕が悪いです。ごめんなさい。

翌日に気づいた振り返りが次のtweet。気をつけよう。

ぶろぐ

何も書いてない。 orz

201809 振り返り

今月は最&高な講師と新卒による研修によくお邪魔させていただいた。
具体的な内容については実際に受講した方々がRSGT2019で話をしたがっています。
きっとみなさん興味あるはずですよね?ないわけないですよね?
忘れずにVoteをお願いします。

confengine.com

今月は、イベントへの参加、勉強会に行ってない、技術書が読めてないを見て自分の勉強時間が圧倒的に足りていないことがわかった。さらに研修に潜り込んで、すごい速度で成長する方々や先頭を走っているのに足りてないと思ってる方々とたくさん触れ合うことができた。自分がこのままだと置いていかれてしまう心配をものすごく感じた。
年末に向けて仕事も落ち着いていくはずのでまた勉強頑張るぞい。

べんきょうかい

今月は1回も行くことなく終わってしまった。
最近新しいものに全然触れれてないので少しづつ取り戻していかないと。

ほん

技術書が0 orz
小説で溜まってたのは少し読みすすめれた。
いまだに、積んである本の量が減っている気がしないので積読を消化するだけの旅行とかホンキで考える必要がある気がする。

えいが

適度の量を消化。
銀魂は前作に続き攻めているなと関心。
君の膵臓をたべたいは、小説も読んでいるし、実写版映画も見ているけど、アニメだとまた表現が違くて泣きそうになった。

その他

イベントとしてXP祭りに遊びに行き、ISUCONに参加してみた。
XP祭りはTDD+モブプログラミングでワイ ワイする会、『フレーズ』で体験する、あのチーム、LTに参加してきたがどれもエクストリームだなと思った。特に最後のLTはプロの方がたくさんいてとても勉強になった。
ISUCONは去年参加した同期メンバーで今年も挑戦してみた。まだまだ勉強するべきことはたくさんあるなという結果だったけどこちらも楽しかった。来年こそはぜひ本戦に行きたい。

XP祭り ISUCON8

201808 振り返り

1年の約7割が終わってしまった。
お盆に読もうと思って実家に送った本を開かずに送り返したのが夏の思い出だな。
最近研修でいろいろすごいエンジニアに会える機会があって追いつかないとなと思う日々。

べんきょうかい

後ろの方でガヤガヤしていてとても申し訳ないことをしたと反省。
そろそろまたチームでの開発をしたいなと最近思うことが増えた。

ほん

ちょっとだけ積読解消。
お盆で実家に帰った際に小説をいろいろ買ってしまい、そちらに割く時間が増えてしまったけど楽しかったからそれはそれでよし。

えいが

最近、僕のヒーローアカデミアのアニメを全部見たのだが、ベタなストーリーにハマってしまった。
ヒーローや努力友情勝利が好きな人には向いていると思う。
アニメ映画多かったけどどれもそれぞれ面白いところがあって良かった。
「怒りそうになったら、おっぱいのことを考えるといいよ。」

ぶろぐ

自分の中で曖昧だったところを埋めれる本を読んだのでまとめてみてた。
それよりも英語しなきゃなーと思ったのでもう1冊。

hihihiroro.hatenablog.com

medium.com

「ビッグデータを支える技術」を読んだ

ビッグデータという響きに乗って買ったけれども読んでなかったが、お盆で時間もできたことだしと読んでみた。

著者はGoogleを支える技術を書いた西田圭介さん。MapReduceの基本的な考え方を学んだのはこの本だったなと思い出した。

最近はデータ分析についての本が多いと思うが、本書はデータを活用するための基盤をどのようにシステム化するかについて書いてある。

データを

  • どのように集めるか
  • どのように保存するか
  • どのように処理するか
  • どのように可視化するか

がまとめられてわかりやすく説明されていると思った。
特定のフレームワークや技術について書いてあるわけでもなく、データを集め加工するために考えなくてはいけないことが体系立てて書いてあった。それぞれの技術がなぜ生まれたのか、その時々の実現したいことによって適切とされるアーキテクチャについても説明があった。

それぞれの処理で問題になりそうなこと、問題になった際の解決への考え方を書いているのも自分で運用していくために必要な知識としてとても勉強になった。

また、最後の章にはクラウドサービス(AWSGCP、TDなど。Azureはなかった…)によるデータパイプラインの特徴と違いについての説明もあった。
それぞれの違いについても軽く紹介されていたので自分が使う際にどれを使うか選ぶ際の参考になりそう。

まとめ

データの蓄積から分析基盤作りまでが図解込みで優しく説明されていた。いままで有耶無耶になっていた部分を埋めることや、これからデータパイプラインを作成しようとしている人にはとても良い本だと思う。
紹介されている技術については触りしか書いてないのでここで学んだものを自分で調べて使う、構築して綺麗なパイプラインを作っていきたいと思った。

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)