日常

プログラミング・海・植物・サッカー・家のこと

リーダーから開発者に戻った話

2年ほど開発チームのリーダーを経験したが、現在はいちエンジニアとして働いてる
リーダーで何をしていたか、なんで戻ったかを書く

リーダーの業務

主に週に1回メンバーと1on1して、あとは期初の目標設定と期末の評価が主な業務だった

  • 1on1
  • 目標設定
  • 評価
  • その他(採用面談、承認など)

PO(プロダクトオーナー)も兼任していたので、その業務はこんな感じだった

  • ステークホルダーとのコミュニケーション
  • ロードマップ策定
  • チケット整理
  • リリース判断

それでも業務の半分はコードを書けてたと思う

リーダーを経験してどうだったか

学びは多かった
メンバーをどうマネジメントすべきか、メンバーがどういうモチベーションで働いているか、チームでパフォーマンスを発揮するためにはどうすればいいか、経験して得られたことがたくさんあったので良かった
成果もある程度は残せたと思う

大変なこともあった
チームやプロダクトに対して責任をより感じるようになった
うまくいってないメンバーを継続的にフォローするのは割と精神力が必要

一番困ったのは、ミーティングやレビュー、コーディングなど複数のタスクを交互に行うことだった
1時間おきにこういったタスクが入れ替わると、頭を切り替えたり、集中した状態に入るのにエネルギーが必要だった
楽しくコードを書いてても「15分後にミーティングか」と思うと十分に集中できないこともあった

なんで開発者に戻ったか

マネジメント業務を単純に好きか嫌いかでいうと「別に好きではない」くらいの感じだったw
それであれば、ただプロダクトのことを考えて、技術検証や設計、コーディングに業務時間の大半を使うのが自分にとっては幸せだなと思った

ちょうど新しい挑戦をして成長したいとも思っていたので、社内の異動制度を使って別のプロダクトのチームに行くことにして、そのタイミングで役職は無くなった

開発者に戻ってどうだったか

ただただ楽しいw
どうすればプロダクトが良くなるかを考えて、技術検証したり、設計やコーディングをひたすらやってる
たまにミーティングもあるけど、それもチーム内でのシェアだったり、アーキテクチャの議論をしてるくらい

お給料はどうなった?

役職がなくなっても特に下がることはなかった
むしろ上がった(さすがに謎)
ただ特別ボーナスが出るような時は役職者の方が少し多くもらえると思う

サーバーサイドエンジニアの言語遍歴

7年くらい主にサーバーサイドでエンジニアをやってきた
ふりかえるといくつかの言語を色々な理由で使ってきたのでまとめる

Java

2015〜16年

初めて入った現場(金融系)で使ってた
独自フレームワークが使われてた

次の現場(転職サイト)もJava
Spring・DBFluteを使ってた

未経験からエンジニアになったので、プログラミングの概念の理解が大変だった
今でもJavaを使うシーンはある

Python

2017年

Flaskで書いたアプリケーションをZappaでAWS Lambdaにデプロイするというスタック
当時サーバーレスが流行ってたし、かなり楽しかった

入門Python3を読んで案件に入ったが、特に困ることはなかった
言語仕様がシンプルで個人的には書いていて違和感が無いというか、しっくりくる印象がある
ちょっとしたスクリプトを書くのにも便利

Pepperのアプリケーション(Pythonで書く)を作る面白い案件も経験した

Kotlin

2018年

初めて自分の意思で選定した言語
GoogleAndroidの正式な開発言語としたり、Springが正式サポートしたりちょうど盛り上がってた時期
会社の標準言語とチームメンバーの技術スタック的にはJavaを選定するのが順当ではあったが、以下の理由からKotlinを選定した

  • Javaと100%互換でJavaの資産をそのまま使える
  • 型推論など簡潔な記述ができる
  • Null safety
  • Javaエンジニアであれば学習コストが低い

Intellijを作ってるJetBrainsが開発してるのも安心感があった
関数が第一級オブジェクトであること、豊富なCollectionメソッド、拡張関数など個人的に好きなポイントもたくさんある

おすすめの書籍はKotlinイン・アクション

Node.js

2019年

参画したプロジェクトの資産があるため選定
フレームワークはExpress

副業でも使用することがあり、フロントと同じ言語で書けるのが一番のメリットだと思う
TypeScriptを使うこともあるが、個人的には純粋な静的型付けの言語が好き

Go

2022年

Kubernetesのエコシステムを活用したプロジェクトのため、チームで議論して選定
実行速度、コンパイルが速い、クロスコンパイルできる、シングルバイナリにできる、言語仕様がシンプル、豊富な標準ライブラリなど良い点がたくさんある

言語仕様がシンプルではあるが、コードが冗長になったり、ポインタ、エラーハンドリング、ダックタイピングなど他の言語から移ってきた時に慣れが必要だとは思う

GoLandを使用
CLIのツールを作るのにCobraが非常に便利

おすすめの書籍はプログラミング言語Go

これの発売を楽しみにしてる

フルリモートになり都内を脱出したら最高だった

f:id:ryuto86:20220405121336p:plain

1年半前になるが、都内から移住したら最高だった
しばらく経ったので移住生活について書く

経緯

コロナ禍になり会社がすぐにフルリモートになった
その後オンライン前提の働き方に制度が変わっていき、もう都内にいる意味なくない?ってなって移住することにした
海が近い街が良くて、いい物件があったのですぐ引っ越した

移住してよかったこと

ストレスフリー😊
これが一番大きい
東京だとどこに行っても混んでいて、出かけるとどっと疲れてた
今は休みは海でゆっくり過ごしていて精神衛生上とてもいい

家賃💰
3割くらい安くなった!
その他の生活費はあんまり変わってないと思う

あと人との距離が近い
都内にいた時より近所の人やお店の人との会話がなぜか増えた
散歩中のわんことのふれあいが癒し

都内を離れて困ったこと

思ったほど困ったことは無かった
引っ越す前は時々東京に行くことになるのかなと思ってたけど全然いかないw

美術館や美容室など選択肢が減るものはある
買い物は割と近くで満足していて、あとはネットで済んでる

フルリモートについて

個人的にはメリットしかない
好きな環境で静かに作業できるので、生産性はかなり上がってると思う
チームで議論するような場合も、オンラインでのツールが充実していて困ることはない
通勤してないので運動不足には注意しないといけない

新卒の人とかは会社で同期とのコミュニケーションがないと寂しいかもしれないけど

災害について

海が近いので津波の心配がある
自分の住んでいる場所は海沿いからは少し離れていて高台も近いのでましだけど、日々の生活のクオリティーとのトレードオフかな、、

アガベが冬を越えれなかった

去年の春にアガベのアテナータを植栽した
すごく綺麗で大満足だったのだが
初めての冬(関東)は残念なことに越えれなかった、、

かなり冷え込む時期があり(確か雨も降った)葉がシワシワになって元気がなくなり、ちょっとまずいと思いビニールを被せた
その後積雪もあった

凍傷?冷害?なのかどんどん元気がなくなって葉が黄色くしなしなに
葉の根元もぶよぶよになってた

その後

結局この春に葉を全て切り落とした😭
なんかパイナップルみたいになった
これ新しい葉出てくるのかな?

根元に出てた新芽は生きてるっぽいのでそっちは期待
次の冬はもっと対策を考えないと

近くのお家にあったアガベもビニール被せてたけど、おんなじ感じになってた

他の植物

アロエ、葉先が赤くなって枯れてる部分もあった
アガベベネズエラ、葉先が少し枯れた
どちらも葉先を剪定する程度で済んだ

みんなが元気になるのを期待しつつ今年の冬はもう少し対策をしよう

Knative v1.3のリリース内容

Knativeのv1.3がリリースされたので、リリース内容のまとめ

  • RevisionSpec.MaxDurationSecondsが削除された
  • Readiness ProbeのポートにcontainerPortとは違うポートが設定できるようになった
  • 脆弱性対応(prometheus/client_golang
  • 依存ライブラリの更新
  • バグ修正(activatorのdrainやcrashの対応、エラーメッセージの修正など)

ソフトウェアエンジニアの1日

午前

9時過ぎに起きる
朝ご飯食べる(だいたいトーストとコーヒー)

10時からデイリースクラム
PRのレビューしたり技術記事読んだり雑多なタスクをする

お昼

家でご飯食べる
たまに海に散歩に行く🚶‍♂️

午後

検証・設計・実装など集中して作業💪
疲れたらスタンディングに切り替えたりする
時々チームで集まって議論したり

3時くらいにチョコとか食べる
気が向いたら夕日を見に行く

家でご飯
ドラマ見たりサッカー見たりする

お風呂入って12時過ぎに寝る