Rのつく財団入り口

ITエンジニア関連の様々な話題を書いているはずのブログです。

【雑記】2022年を振り返る【おしごと編】

年が明けてから振り返るスタイル...(いいわけ)

 ひとつ前のRust言語の本総まとめ記事、多数のアクセスをいただきありがとうございました。はてブ150超え、新年から幸先のよいスタートとなりました。

iwasiman.hatenablog.com

 さて2022年の師走はTwitter社を騒がせたイーロン・マスクCEOの進退とかはてなブログ企業技術ブログオープンなどが話題になりましたね。年末年始は例年通り様々な方のふりかえりや新年の抱負、買ってよかったものシリーズなどを拝見していました。
 今年もいつも1月にやっていたので今回も自分用に振り返ってみます。KPT法のKeep/Problemあたり、YWT法のYatta/Wakattaのあたり、Fun/Done/Learn法の各要素のあたりに一応なります。

ふりかえり2022おしごと編 / Go言語風です Font: Go

 まずはおしごと関連から。前の年はこんなことを書いていました。

iwasiman.hatenablog.com

おしごとでYattaこと・doneしたこと

 関わったプロジェクト数は5つほどだったので2021年から-1、あまり変わらなかったですね。

WebAPIがバックのWebコンテンツシステムを拡張していくおしごと

 事業部で開発して出しているドキュメント管理のパッケージ製品にデータを登録してDBの代わりにデータソースとして扱い、WebAPI経由で通信して内容を表示するシステム。PHPによる純然としたWebアプリケーションでもあり、グループ社内の別の部署がメンテしている社内Webサイトでもあるという両方の側面を持っています。通信部分の部品、Webアプリ部分は僕が前にPHPに入門したころに作った軽量級のWebフレームワークを使っています。

 全社ポータルサイトでも会社の歴史やらの紹介で時々取り上げられて、周囲に聞くとコンテンツを見たことのある人も意外にいたりして良かったですね。あまり大きな変化はなかったですが昨年はクラウド移行の話が出てきて、紆余曲折あった末にVMware Cloud on AWSを使いそうな感じになってきました。あまり技術的な知見は貯まらなさそうですが、AWSに触る機会なのでやっていきたいと思います。そして2021年に果たせなかったPHP7から8へのバージョンアップ対応も確かめてみよう。

aws.amazon.com

ザ・業務システムのPHP継続開発のおしごと

 リリースしてグループ社内で本番稼働している、業務仕様がめちゃんこ複雑な業務システムのおしごと。サーバーサイドはPHP、独自要件や背景があるのでフレームワークは上の案件と同じく僕作成のフレームワークで稼働中です。フロントは開発開始当時はそれほど膨らむ予定がなかったり事情があってJavaScript+伝統のjQueryで作り、今でもここを最初からReactVue.jsでやっていたらどうなるだろう……と思いながら処理が複雑すぎて移行のコストが大きいのでそのまま機能拡張が続いて今に至っています。

 こちらも当初は作って稼働して終わりかと思いきや、機能追加の要望が定期的に来てずっと対応していきました。実に仕様追加200回以上を経ています。2022年はWebアプリ以外の部分の修正もあったりで他のプロジェクトとの並行稼働が大変でしたね。リリースはJenkinsを使ってほぼ自動化済みでステージング環境へのリリースは随時、まとまったらプロダクション環境でリリースの流れは既に構築済みだったのでこのへんは助かりました。
 大きな改修テーマは事前に精度を細かく変更箇所を洗い出して積み上げてリスクも考えて見積もりし、着実にやってきました。このへんは慣れているのでパズルをやっている感覚です。関わるのが一人なのでコミュニケーションロスもなく、リモートでやりやすい仕事でしたね。
 今まで読んできた様々な本、2022年ですと『Clean Craftsmanship』『良いコード/悪いコードで学ぶ設計入門』あたりで得た知見も役に立ちました。
 このおしごともこれからクラウド環境へのそっくりそのままの引っ越しが控えています。そしてこちらもPHP8へのバージョンアップを確かめよう。

LCP関連のおしごと

 エンプラ界隈だとなぜか話題になるLCP(Low-Code Platform)の、とあるツールでエンタープライズな大規模開発への下地となる基盤をつくっていくおしごと。ソフトウェアエンジニアリングの観点からはもうこんなのマッチするのはマスタメンテレベルのすごく簡単なシステムだけでは?と強く感じるのですが仕事なので仕方なくやっていました。
 2022年の分は開発終盤でタスクマネジメントが主になり、海外オフショアとの連絡窓口をしたり自分側のチームメンバやより大きい本体と伝達したり、Slack打ったりTeams打ったりOneNoteに書いたりExcelから集計したりWBSに書いたり。人と人との間の情報の伝達経路、情報のまとめ役の役割を担っていました。
 この時思ったのはプロジェクトの規模が大きいと、こうしたコミュニケーションコストだけでもけっこう掛かるので専任の人をアサインした方がいいということですね。僕が担当したのは技術が本分の身からしたら単純作業に近い(と自分ではつい思ってしまう/笑)ものだったはずなのですが、これはこれでけっこう大変で手間がかかりました。Engineering Managerの仕事の一部ってこんななのでしょうかと思ったり。
 まあ完全に仕事として割り切っていたし、空いた時間リソースは他の事に充てつつ、やることはやってやり終えたのでヨシとしましょう。

他社さんとのアジャイル開発のおしごと

 上のツールで簡単な資格を持ってたりするのが縁で召喚されてしまい、縁のある他社さんの大プロジェクトにジョインして夏ごろにやっていたおしごと。こちらもとても大きなシステムの一部をチームで開発していきます。
 ほぼフルリモートなのはよいですが、Azure Virtual Desktopに会社とはまた別のアカウントでサインイン、メールもTeamsも全部別アカウントなのが意識が分断されてなかなか辛かった。社内のいつものアカウントを使っての仕事なら、3~4プロジェクトまで並行でも自分的には大丈夫なのが過去の経験から分かっています。でもこのおしごとに関してだけは掛け持ちが本当に大変でした。
 完全にアジャイル開発なのは良いのですが、線表やWBSがなくて大きな状況が見えないのが外部から一時参加の身だと辛い。沢山あるタスクの中からアサインされて進めていくのですが、そもそもタスクの見積工数が荒すぎてガバガバで、実際やってみるともっと時間が掛かるものがほとんどでメンバーみな苦労したり。契約した予定の工数以上の稼働を暗に求められて結局残業したり朝に残業したり...と負荷が高かったです。超過労働分は満額しっかり払って頂いて弊社の売り上げに貢献したのですけどね。

 普通の開発では我々は、機能ごとに主たるメンバーアサインしたりしてその機能への変更が入ったらまずはその人が担当...という感じでやっています。こちらのプロジェクトはアジャイルだからなのか、タスクを実施するたびにひとつの機能に複数人いろんな人が薄く触ってその都度設計書を変えてレビューしたり実装を変えてレビューしたり、で進捗が出なくて有識者に結局聞いたり、後戻りが発生したり...などの繰り返しが多く、作業効率的にはちょっと疑問でした。
 これはアジャイル的にメンバーの成長を促すという目的があったからのようなのですが、そもそも一時的に工数を貸して参加しているだけの我々からするとあまり意味を感じないところでもあります。そして向こうさんのチームメンバー自体も途中で異動したり出入りがあり、固定メンバーでずっとやっていく訳でないのにこのやり方は効果あるのかな...? と思ったりしました。

 スクラムミーティングで各自が持ち回りでトークしたり、スプリントレトロスペクティブで世話になったメンバーを称賛したりするのもそれはそれで楽しいのですが、別にアジャイル関係なくそれってやれるよなあという気持ちもあります。スプリントごとの納期にとにかく追われ、納期が短くて辛いだけのウォーターフォール開発だったような感もあり、終わってから振り返ると果たしてあれはアジャイルだったのだろうか...?と思ったり。

 途中で状況が変わり、やることはきっちりやって円満に引き上げてきたので終わってしまえばヨシなのですが、「仕事用アカウント掛け持ちは辛い」「プロジェクト掛け持ちでアジャイルは辛い」という知見をGet。そして「そもそもアジャイルとは何なのか?」という根源的な疑問を改めて持ちました(笑)。う~ん哲学っぽいぞ。
 僕の会社にもアジャイルを愛好する人々はおり、アジャイルのTeamsコミュニティもあって僕も入っており、社内の啓蒙資料にもよく関連ワードは出てきます。その一方で大きい組織に適用はなかなか難しいんじゃないかと僕も懐疑的に思っている部分はあり、このへんまだ掴めていないですね。

 このおしごとの期間中は後半特に、自分の活動のために充てる予定だった時間がだいぶ浸食されていました。仕事の前の朝活が滞り、読書も滞り、ブログ更新も滞り、会社の部署で始めた勉強会も滞り...と、だいぶストレスでしたね。LCPを使う開発なのでコードを書けずなんら自分にプラスにならないのもストレスであり、その反動でRust言語を学んでしまいスッキリしました。(笑

エンタープライズな大規模プロジェクトのおしごと

 上のおしごとから引き上げてきた後、適切な当面の開発プロジェクトがなくて合流することになった社内のおしごと。こちらもかなり大きいシステムの作り直しの大規模プロジェクト、参加人数も多く体制図もでかく、事業部をまたいであちこちから集まっています。オンラインの定例ミーティングもえらい人数です。バックエンドは伝統のJavaでもいいからしっかり標準を定めて作ればよかったのにな...と自分の知見からは思う所、諸事情あってLCPの技術を使っています。
 一部のJavaコード部分のコードレビューをしたり他システムとの連携部分を見たり、久々にJMeterSeleniumに触れて負荷テストに関わったりしているところです。
 このおしごとも自分のやりたい方向性とマッチしているかというとしていないのですが、上の社外とのおしごとに比べたら気持ち的にもずいぶん楽です。並行した他のプロジェクトや自分の部門部署の活動、自分のスキルアップのための時間とバランスをとりながらやってきました。

 LowCodeとかNoCodeとか、技術が分かってない人が飛びつきそうなバズワードが大企業にいると注目されているのですが、これらの有用性に大きな疑問があることはことあるごとに所属上の上司やその上に訴えたりもしています。大規模プロジェクトへの適用を通して大して効果がないことに、そろそろ社内でも気づいていくといいなあ...と思っていたら年明けにやっとその兆しが出てきました。正しい理解が広まっていって欲しいものです。

ふりかえり&Problem&Wakattaこと、FunやLearn

コードの改善やリファクタリングを続けました

 単に動くプログラムが書ける人以上のソフトウェアアーキテクト的な視点から、今あるコードをより良くし新たな部分を加える作業は既存案件ではしっかりやれました。様々な本から得た知見も役に立っています。
2022年は『Clean Craftsmanship』を読みながらTDDやってなくてスンマセン...とまた思ったのですが、本格的なTDDやアプリケーション全体に渡っての自動テストのような本格的な取り組みはなし。まあ処理を切り出して単体でテストしたりはやっているのでヨシとしましょうか。

リモートワーク(テレワーク)に移行後3年目が終わりました

 2020年4月の緊急事態宣言以降、弊社グループもリモートワークに移行して最初の混乱期を越えた後、継続しています。プロジェクトの都合などで物理出社している人もいますが僕は物理出社は数か月に1回程度。ほぼフルリモートの勤務と生活に完全移行して落ち着いています。
 2022年の変化としては会社の事業部のフロアが移転して、全部フリーアドレスのオサレなフロアに生まれ変わり、遂に個人席も完全になくなりました。よい断捨離の機会だったので机の中の昔の物を全部捨てたり、まだJava言語がOracle傘下になる前に取った資格のバッジを持って帰ったり、物理の蔵書で名著と思うものは持ち帰ったりしました。
 記念にフロアの写真を撮ったりしたのですが、なんかイケてるキラキラなベンチャー企業のサイトに載っているオフィス写真なんかとほぼ同じです。ジャパニーズトラディショナルビッグ(以下略)系統のへーしゃのオフィスがこういう風になるのはなんだか面白いです。
 買ってよかったものは後で書こうと思いますが、2021年春時点でいろいろ揃えたGearは以下の記事で紹介しました。この後マイナーチェンジを繰り返していますね。次の【生活趣味娯楽編】の記事でまとめます。

iwasiman.hatenablog.com

 ご近所の部署では新人が来たので最初は時々物理出社して互いに顔を合わせて仕事をしているところもあり、このへん年齢層によってそれぞれ対応を変えてやっていくべきところですね。自分的には子育てエンジニアなのでもうリモートワーク万歳です。ITエンジニア界隈の世界ではもうこのリモートの流れは続くでしょうね。

引き続き効率的な作業を心がけました

 僕は残業しても給料が増えない、手当が一定の裁量労働制の人なので残業しても無駄になります。いつも定時+αの範囲内で効率的にやっていくようにしていますが、2022年も一時期負荷が高かった時以外は達成できました。定時後に子供の保育園のお迎えという不動のタスクがあるのも効果がありましたね。会社でも残業は基本月20H以内のお達しが出ています。
 スマートワーク、ライフワークバランスのが重視、このへんは世の中全体が良い方向に向かってきて本当にありがたい。どんどん良くなっていってほしいものです。

AWS認定8冠達成しました

 2022年の1〜3月でSAP、CLFも受かって8冠いきました。所属事業部でこの話をするとやっぱりインパクトがあって驚かれますね。社内でもクラウド関連コミュニティを覗いたりしていますが、詳しい人たちや11冠コンプを達成している神もいます。だいたいインフラ・プラットフォーム系の事業部でその方面の案件をやってますね。
 相変わらず実務でほとんど使えずにモチベーションが下がりっぱなしなのですが、2023年も動きを期待したいところです。

iwasiman.hatenablog.com

できなかったことシリーズ
  • 上のように2022年も肝心の本格実務でAWSを使えませんでした。2023年は移行でちょっと携わる予定なのでそこでちょっと復活するかもというところ。
  • ReactTypeScriptも本を改めて読んだりしたのですが実践投入の機会もなく。まあそもそもフロントエンドに詳しい人が周囲にあまりいないのですが、新技術導入の機会を窺うならバックエンド系の言語の方がまだ望みがあるかなと思ったり。
  • いずれかの案件でPHP8へのバージョンアップが2022年は果たせなかったので、2023年は実行予定です。
ぷち異動して小さな勉強会を始めました

 以前に部門レベルでちょい異動したのですが、春にその部門の中で部署異動して、前から知り合いのマネージャー+僕+若手陣という新しいマネージャーグループの集まりになりました。毎日の朝会ファシリテーションはなんかまた僕がやっています。メンバーが変わるとかなり新鮮で、これは2022年の良い変化でしたね。
 朝会で読んだ技術書の紹介をしてGo言語すごいぞ!と話していたら、そういう技術情報を展開していく集まりを作りましょう! という流れが発生。話を聞きつけたご近所の部署の若手メンバーも意欲高く参戦してくれて、小さいですが勉強会コミュニティが結成。不定期ですが計5回のミニ勉強会を実施しました。今のところ講師は毎回僕がやっています。
 PowerPointのフォーマットやカラースキーマは社内のものを使わず、社内のみの情報は扱わず、Webや書籍や社外の公平な情報をベースに...ということで毎回資料を作ってSpeaker Deckにも上げています。第1回がGo言語の特集だったので、なんとなくゴーファー君がマスコットになって他の回でもいつも表紙にいますw

speakerdeck.com

 ネットで知り合いから反響を頂いたり、これらのアウトプットが順次ポートフォリオサービスにも反映されたり。そしてそれを見ました!というのを採用畑の方からのスカウトメールで頂いたり。新しいアウトプットの種類として増えたしこれは今後も続けていきたいですね。

オンラインのコミュニケーションを保ちました

 前からネットで活動している手前、僕は呼吸をするように軽い気持ちでイイネをつける人なので会社のMicrosoft Teamsでも同じように振舞っています。お堅い弊社ではそうでない人もまだまだいるのですが、メールベースよりもっと気軽なコミュニケーションはもっと広がるといいなあと思っています。
 うちはTeamsとZoomを併用していますが、1on1、それとは別に部門内で雑談をするミーティングも定期的に行われていますし、最近は所属部門で上位管理職層との1on1、各部署の自己紹介をする取り組みが始まりました。これも毎回感想を投下するように自分にタスクを課していますw
 所属事業部でもリモートワークのテクニックを出し合って上位者には景品が出る催しが開催され、ルーターを強化した話やデスク環境の話を投下したりしました。
 オンラインコミュニケーションの課題感などなどはあちこちで語られている通りですが、このへんも引き続きやっていきたいですね。Teams上でもアバターで仮想オフィスを歩き回ってコミュニケーションしあうような未来は果たしてやってくるのか...?

変化の様子をWatchしました

 ここ数年でへーしゃも大きく変革をしようとしています。オフィスもリモート前提に移転したし、上司の承認なく異動して新しい仕事にチャレンジに希望を出せる仕組みが整備されたり、諸々変わっていこうとしています。最近はリファラル採用もしていて知り合いを紹介して中途採用に結び付けると福利厚生ポイントがもらえるそーです。
 コロナを機にTeamsも定着したりンラインでコミュニティの様子も分かりやすくなりました。クラウドとかアジャイルとかOSSとかエンジニアリングのへんをよく覗いています。AWS勢やKubernetes勢の凄い人は社外で発表してたりもしますね。いつも年末を賑わすQiitaのアドベントカレンダー、Organizationで実は弊社も開催してたのですが枠が埋まり切らず寂しい状態になっていますw

qiita.com

 一方で会社への満足度諸々を社員に聞くアンケートも頻度が高く回ってきて、相変わらず人材流出はどこでも起こっているし、気にしているんだろうなあというのも分かります。身近でも最近長年付き合いのあった人が退職することになって、そういうことを考える季節になりました。
 僕も企業口コミサイトのOpenWorkで自社グループや知ってる会社の口コミを時々見ています。退職済みの人の口コミを見てそうだよな~と思ったり、ここは自分の辿ってきた道や状況とまた違うな〜と思ったりしています。

 普段から自助努力を重ねて社外とも接点を保ち、情報収集も行い、悪しき慣習は見習わないよう気をつけつつ自分の足で立ってここまで進んできた自分からすれば、動きの鈍い大企業でもやっと変わり始めたかという気持ちもあります。さてはて新進気鋭の俊敏な企業にどこまで追いつけるかな?という気持ちもあります。引き続き良い変化は受け入れつつ、自分自身の立ち位置は保っていきたいところです。

まとめ:コロナ禍を乗り越えてフルリモート3年目が定着してきた1年

 家族含め無事生存、リモートワークに完全対応して3年目、相変わらず仕事にも困らずに2022年もやってきました。
 僕が自らに掲げているのは、和製英語システムエンジニアでなく世に恥じないソフトウェアエンジニアとして、ソフトウェアアーキテクトとして、社外でも通用するレベルの人材になりたい/ありたい、まだまだ開発の一線に立ちたい、後進に技を伝えていきたい、今後はクラウド領域にも手を広げていきたい...という姿勢です。
 このありたい姿・方向性からすると、2022年は実案件についてはかなり我慢を強いられてしまったアンマッチな1年ではありました。2023年以降の機会を待ちたいところです。
 これについての一番速くて短絡的な解決方法はもちろん転職なんですが、そしていっぽう福利厚生はなんだかんだ充実しているし、おきゅうりょうは平均より上だし、子供の優先度が高い子育てエンジニアとしてはワークライフバランスはとれてるし、こっちはこっちで重要なのよねというのもあります。朝活もおおむね継続、今年はGoとRustと2言語も入門完了、会社で勉強会を始めたりと良いこともありました。
 2023年も自分のアップデートを続けながらエンジニアとしてサバイブしていこうと思います。
 皆様にも2023年が良い年でありますように……

ふりかえり2022おしごと編 / Go言語風です Font: Go

つづくよ