3月の振り返り

久しく書いていなかった振り返りを書いてみる。

取り組んだこと

ワークショップ・勉強会関連

Rails Girls Tokyo 16thのオーガナイザーをSTORESのえんじぇるさんとやった。

去年、オーガナイザーをやるか結構迷ったけれど、結果的にやってよかった。

詳しくは以下にまとめています。 maimux2x.hatenablog.com

しんめ.rbというプログラミング実務経験が2年くらいまでの人を対象にしたコミュニティをお試しで立ち上げてみた。

自分がこういう場が欲しかったというのが一番の動機ですが、4月から定期開催でやってみようと思っています。

maimux2x.hatenablog.com

OSS

picorubyのリポジトリにあるrbsファイルの型定義に引数を書き足すということをちょっとずつやっていた。

引数を書き足すとはいえ、RBSについての事前知識が何もなかったので、RBSとは?の勉強から取り組みました。 正直まだ分からない部分が多いため、引き続き学びながら他のissueも取り組んでみたいと思っています。

github.com

シェル芸

シェル・ワンライナー160本ノックという本があるのですが、サボりながらもなんだかんだやり続けている。

意外にも?好きな分野みたいです。

learnbyexample.github.io

XのポストでRubyワンライナーの本があることを知ったので、こっちもそのうち読んで動かしてみたいと思っている。

コミュニティ関連

3月はGotanda.rbとAsakusa.rbのHanamiに現地参加しました。

Hanami、とても楽しかったです。

オンラインだとAsakusabashi.rbsやFukuoka.rbに参加してモクモクしていました。

どちらも分からないことを気軽に質問できて、とても助けていただきました。

まとめ

気がついたらESMに転職して8ヶ月が経っていました。

大変なこともあるけれど、プログラミングは総じて楽しい!

4月も自分のペースでやれることをやっていき!精神で楽しみながら過ごしたいです。

しんめ.rbをお試し開催してみます!

しんめ.rbとは

だいぶ突然ですが、【しんめ.rb】というエンジニア業務経験が2年くらいまでの方を対象にRubyRailsを中心としたプログラミング関連のことを一緒に勉強するコミュニティをお試しでやってみることにしました!

LTやもくもく会ではなく、会ごとにテーマを決めてモブプロだったり実際にみんなで手を動かしながら勉強したり、困りごとを共有する場にできたらなぁと思っています。

名前の由来は「新芽」で、コミュニティとともに大きく成長していきたいという意味が込められています。

connpass.com

きっかけはRails Girls

3月の頭に開催されたRails Girls Tokyo 16thの初日の夜に江森さんと飲みに行ったのですが、いろいろ会話する中でコミュニティについての話題になり、業務経験が浅い人が参加しやすいコミュニティが今もあるといいよね(意訳)ということを話しました。 その時に江森さんが私の会社の先輩が以前、「よちよち.rb」というプログラミング初学者の方を対象にしたコミュニティを運営されていたことを教えてくださり、こういうコミュニティが今もあったらなぁとふと思いました。

なぜ、そんなふうに思ったかというと、プログラミングスクールを卒業してエンジニア職に転職したものの、実際仕事をするとなると自分に足りないことだらけであることに気づいて悩むことがあり(いや、分かってはいた・・・)、同じくプログラミングスクールを卒業してエンジニアとして働き出した人たちからも似たような声を聞いたりすることがあったためです。

仕事を通じて学べることや経験できること、相談に乗っていただくことはもちろんたくさんあるけれど、もし同じような気持ちを抱いたことがある人が会社の外にもいるならば、一緒に勉強してスキルアップしたり困りごとの共有ができたらいいなぁと改めて思い、よちよち.rbについて調べてみました。

yochiyochirb.doorkeeper.jp

調べてみるとコミュニティの参加者は900人越え、勉強会の開催も140回越えのすごいコミュニティであることを知りました。

このよちよち.rbを復活させるのはどうかと思い、先輩にご連絡をしてみたり自分で何をしたいか整理してみた結果、新たなコミュニティをやってみるに行きつきました。

しんめ.rbを試しにやってみようとXにポストしたところ、よちよち.rbに参加されていた方々がたくさん拡散してくださりました・・・!!

完全に見切り発車だったのですが、応援したいとリポストいただき、とても温かい気持ちになりました(涙)

しんめ.rbでは何をやってみたいか

お試し開催の際は

  • しんめ.rbのリポジトリにPersonal Wikiを作成する(自己紹介です!)
  • Git操作座談会

をやろうと思っています。

自分が主催者ですが、どこの誰かわからない人がやっているコミュニティは参加しにくいと思うため、自分のPersonal Wikiを貼っておきます。

github.com

リポジトリに自己紹介をあげると完全に消すことはできないため、残すことに懸念がある方はWikiの作成はスキップする形を今は考えています。

リポジトリでコミュニティの記録だったりを管理しようと思ったのはPRを出すことに慣れていない人にも気軽にトライしていただきたいと思ったためです。

もしくは他のやり方があれば、検討したいためこんな方法はどう?というご意見もお待ちしています!

Git操作をお試し開催のテーマに取り上げたのは、業務に入って一番初めにやらかしたあれこれがGit関連だったからです。 (rebase間違えたり、squashの意味が分からなかった)

自分のやらかしだったり、そこから学んだことだったり、エンジニアなら毎日?使うであろうGitについて色々話せたらなと思っています。

もし継続開催するならやりたいこと

以下は私が勝手にやりたいな〜と思っていることなのですが、参加いただける方同士でどんなテーマで開催するかは柔軟に話し合いながら取り組みたいと思っています。

Rails Guideを読む会

ただ内容を読んで終わりではなく、簡単なCRUDアプリを拡張してルーティングを独自に定義したりとか、使ったことがないヘルパーメソッドを利用してフォームを作ってみたりとか、モブプロ形式で手を動かしてやってみたいなと思っています。

ActiveRecordの基本を学ぶ会

Railsの練習帳などを参考にActiveRecordについて勉強する会をやりたいです。

RSpecについて学ぶ会

例えばminitestで書かれているサンプルコードをRSpecで書いてみるとか。

AtCoder、シェル芸でワイワイしたい

いろんな書き方を共有してワイワイしたい!

まとめ

しんめ.rbでこんなことをしたいと色々書いてみました。

今は色々なプログラミング学習素材やスクールがあるし、IT企業で働く環境も変わってきていそうだし、コミュニティもたくさんあります。

なので、わざわざ新しいコミュニティを作る必要はないのかもしれませんが、自分はみんなで読書会をしたりモブプロをしたりワイワイしながら勉強を楽しんで成長してきた部分が少なからずあり、もし共感いただける方がいたら小さなコミュニティとして細く長くやれたらなと思っています。

ひとまず、お試し開催を3月18日(月)の21時からやろうと思っているため、ちょっと覗いてみるか!くらいの気軽な気持ちでご参加いただけると嬉しいです。

connpass.com

Rails Girls Tokyo 16thの開催を振り返って

2024年3月1日と2日にSTORES株式会社様のオフィスをお借りしてRails Girls Tokyo 16thが開催されました。 今回、STORESのえんじぇるさんと一緒にオーガナイザーを務めたため、開催の経緯から開催後の振り返りまでをまとめたいと思います。

railsgirls.com

開催の経緯

今回自分がオーガナイザーを務めてTokyo 16thを開催したいと思った一番のきっかけは、昨年Rails Girls ガイドの翻訳に取り組んでいたことでした。

この取り組みについて、昨年の9月に開催された大阪Ruby会議でLTをしたのですが、発表後に過去に大阪でRails Girlsを開催された方や会場を提供いただける企業の方とお話をして、東京での開催を自分がやるということについて初めて意識しました。

ただ、自分はこれまでRails Girlsのワークショップに一度も参加したことがなかったため本当にやるかは少し考えました。

数週間どうしようか考え、とりあえず一度相談してみようとRails Girlsのslackで東京開催をやってみたいと江森さんにご連絡をしたところ、少し前に別の方からも東京開催の相談をもらっていると返信をいただき、それがえんじぇるさんでした。

えんじぇるさんとはRubyコミュニティで何度もお世話になっていて、一緒に開催できる運びとなり、とても嬉しかったことを覚えています。

ロゴ制作について

いざ開催に向けて動き始めたのは2023年12月中旬ごろでした。

まずは16thのサイトを用意する必要があったため、ロゴをどうするかという部分からえんじぇるさんと相談して準備を始めました。

ロゴの制作は一緒にSTORESさんのイベントやRubyコミュニティのイベントに参加していたデザイナーのmoegiさんにお願いすることになりました。

ロゴの制作をお願いするにあたって、16thのテーマをえんじぇるさんと話し合い、「プログラミングへの入り口」というイメージを表現することに決まりました。

それをmoegiさんに伝えた結果、2つの案を出してくれ、虹のアーチのデザインが16thのロゴに決まりました。

ロゴの制作についてはmoegiさんのブログに詳細が書いてあるため、ぜひご一読ください!

divka-design.com

サイトについて

ロゴが決まったら、サイト制作です。 サイトについては過去のサイトに則って作成するため、時間はかからずに公開自体はできたのですが、Xでリンクをシェアする際にOGP画像が表示されるように変更しました。

過去のRails Girlsのロゴも全て可愛いのにOGPが設定されておらず、Xで投稿した際にリンクのみの投稿になっていたことがもったいないと感じていたためです。

(OGPについてはTokyo開催のサイトを回ごとに内容を更新しているため、次の回に更新すると過去の投稿のOGPが最新の内容に更新されて表示されてしまうという問題はありそうです)

今回、OGPを設定してXで16thのサイトをシェアした結果、公開当初からロゴが可愛い!と反響があり、視覚的な効果は大切だなと感じました。

参加者の募集について

サイト公開と同タイミングで参加者とコーチの募集を開始しました。

コーチについては日頃からお世話になっているRubyコミュニティの方々が協力してくれると思ってあまり心配はしていなかったのですがw、参加者の方については可能であれば普段SNSなどのインターネットをあまりやっていない層の方にもRails Girlsのことを知ってほしいという思いがあり、ポストカードサイズのチラシを作成して知り合いに配ったり、自分の通っている陶芸教室の棚に置かせてもらったりしました。 STORESさんのオフィスでもチラシを置いていただき、参加応募いただいた方の中にチラシ経由で申し込んでくださった方もいらっしゃいました。

今回のチラシ経由で応募いただけることももちろん嬉しかったのですが、申し込みをされなくてもIT業界に普段近くない方の目に触れる機会を作れたため、何かのきっかけで思い出したりしてもらえたらさらに嬉しいなと思います。

参加者については当初15名の枠で考えていたのですが、最終的に60名近くの方からご応募をいただきました。

えんじぇるさんが会場の収容人数を検討してくださり、20名で調整しようということになりました。

開催当日に向けて

今回、オーガナイザーがえんじぇるさんと私の2名だったため、年明けから2週間ごとに定例を行なって準備を進めました。

お互い日中は仕事があるため、少しでも動きやすくなればと思い、定例前日にアジェンダを共有し、話したいことを事前に確認できるようにしたり、期間を区切っていつまでに何を終わらせておくかをチェックできるタスク一覧を作成し、抜け漏れが発生しないことを意識して自分は取り組みました。

タスク一覧については、過去のオーガナイザーであるりほやんさんのブログがとても参考になりました。

rlho.hatenablog.com

また、今回コーチとしてご協力いただいた15thオーガナイザーのえりりんさんのブログも東京の一番直近の開催事例としてとても参考になりました。

note.com

えりりんさんは16thのイベント終了後にすぐに振り返りブログを書いてくれました!ありがとうございます!! ブログの中でメッセージの発信について触れてくださっているのですが、実はXでの投稿はかなり意識してやっていました(気がついてくださり、ありがとうございます!)

note.com

ワークショップ中に開催の風景をXで投稿するのはもちろんなのですが、開催前からRails Girls Tokyo 16thが始まるぞ!という熱量?を上げていきたかったため、タイミングを見てsuzuriでのアイテム販売の告知やコーチ・スタッフに関するお知らせ、1週間前の呼びかけなどを投稿していました。

開催に向けた事前準備はえんじぇるさん、moegiさん、江森さんとうまく連携が取れて大きな問題は発生せずに進められたのではないかと思います。

コーチの皆さんとの準備

Rails Girlsのワークショップは参加者の方に1名ずつコーチがつきます。

今回も参加者の方の人数に合わせてコーチのご協力を募り、たくさんのRubyコミュニティの方が手を挙げてくれました。

コーチが確定した後、「素振り」と題して、オンラインで1時間半程度の打ち合わせを実施しました。

素振りの際は

  • 関係者の自己紹介
  • チーム編成の共有
  • コーチをする際の注意点
  • ガイドのポイントを確認

を行いました。

時間配分の調整は江森さんがいい感じにまとめてくださった部分が大きかったのですが、自分はいつも通りドキュメントを作成して、そこに共有事項やメモを残し、後で読み返せるようにだけしておきました。

コーチ素振りに参加ができず、当日を迎えるコーチの方も数名いたため、共有用のドキュメントは何かしら用意しておくと良さそうと思いました。

開催1週間前

江森さん主催のRails Girls Tokyo more!にえんじぇるさんと一緒に現地参加し、事前確認を行いました。

開催直前に実際に顔を合わせて会話ができたのはとても良かったです。

Rails Girls Tokyo more!は不定期で江森さんが主催されているオフラインのイベントなため、今回のRails Girlsのワークショップに参加が叶わなかった方や参加されて継続的にプログラミングやコミュニティと関わりを持ちたい方にはとてもおすすめの勉強会です!

いざ開催初日!

2ヶ月半ほどの準備を経て、あっという間にRails Girls Tokyo 16thのインストールデイがやってきました。

ロゴを制作してくれたmoegiさんがRails Girlsやチーム名のパネル、写真撮影用のpropsやスクリーンに投影するスライドのテンプレート一式を作成してくれ、16th全体のデザインが統一されて会場の雰囲気を作り出すことができたと思います。

こちらから声をかける前に積極的に意見を出してくれて、本当に感謝です。

また、えんじぇるさんが会場の整備や必要な備品・飲食物の手配を進めてくださり、会場設営もとてもスムーズに進めることができました。

ワークショップが始まってからは、コーチの皆さんが参加者の方をしっかりサポートしてくださり、とても安心感がありました。

同時にオーガナイザーである自分は見守り、何かあった際のサポートとしての動きに周り、ちょっと緊張気味で会場の隅っこにいましたw

開催2日目

2日目はインストールデイに参加ができなかった方の環境構築のサポートからスタートしました。

全員の環境構築が終わったら、いよいよWebアプリ構築の本編がスタートです。

ワークショップに進む前に開会の挨拶の時間をいただき、Rails Girlsについてや当日の流れなどを説明させていただきました。

Organizer LTをやらせていただくことになり、Before Rails Girls After Rails Girlsというタイトルで発表をしました。

私はRails Girlsのワークショップに参加をしたことはないものの、2022年の年末に開催されたRails Girls Gathering Japan2022というイベントが初めてのRails Girlsとの関わりで、そのイベントに参加したことがきっかけでいろいろな変化があったため、それを前半に話して後半は16thのワークショップに参加して終わりはもったいない!という内容のことを話しました。

参加者の方からも感想の声をかけていただき、嬉しかったです。

speakerdeck.com

Webアプリの構築がスタートしてからは、またまた見守り&飲食物の用意など裏方に周りましたが、集中してワークショップに取り組むGirlsとコーチの背中を見て、自分も混ざってコードを書きたくなりむずむずしていましたw

午前中のワークショップの時間が終わったら、ランチタイムです!

えんじぇるさんが選んで手配してくれたお弁当はどれも美味しそう・・・!!

また、ランチタイムの時間を利用してスポンサーLTも行いました。

タイマーを用意して時間を測り、時間が来たら終了!のLTらしい時間となりましたが、どんな事業をされているのかやそこで働かれている方のいろいろな内容の発表を聞くことができ、有意義な時間となりました。

ランチタイム後は再びWebアプリ構築のワークショップです。

時間の都合もあり、最後は少し駆け足にさせてしまった部分もあったかもしれませんが、Girlsの皆さんがアプリの構築を完了させてチームメンバー全員で集合写真を撮る瞬間は胸熱でした!

ワークショップ終了後はお楽しみのアフターパーティを行いました。

江森さん、hogelogさん、chobishibaさんにコーチLTをしていただきました。

chobishibaさんがクリエイティブコーディングで16thのロゴを作成してくださり、そのRubyのコードの中には今回チーム名に使用した「Proc, Array, Hasy, Integer, String」クラスが使われていますというお話をしてくださったのがとても印象的でした。

スライドも公開されているため、ぜひ内容を見てみてください!

また、我らが松田さんのコミュニティについてのいい話も聞けて、気持ちがいい感じに高まり、参加者同士での会話も盛り上がりました。

アフターパーティでは自分と同様に社会人になってからプログラミングの勉強をしてみたいという方も多数いらっしゃり、どんなふうに勉強をしてきたか話したり、歴代のRails Girlsオーガナイザーで集合写真を撮ったり、いろいろな話ができて自分もとても楽しかったです。

反省点

開催に向けていろいろ準備をする中で反省点も多数ありました。

反省点1

Rails Girlsのワークショップのサイトは全世界共通のRails Girlsのリポジトリで管理されています。 自分はそこに日本語でPRを出していました。 途中でRubyコミッターの柴田さんが英語でPRを出そうと声をかけてくださったおかげで気がつくことができました。

反省点2

コーチ・スタッフ用のTシャツの発注枚数を間違えました・・・(1枚足りなかった、ごめんなさい)。 飲食物や備品の手配はえんじぇるさんやmoegiさんが対応してくれていたのですが、自分が唯一手配したTシャツの枚数を間違えるとは・・・。

反省点3

ペース配分が最初はよく分からず、一人で突っ走ってしまいました。

昨年の12月に準備がスタートした際、まずはサイト公開!と思ってギア全開で突っ走ってしまったため、もう少し何をやるかどう役割分担するか、どんなスケジュールで進めるかを一番初めに整理してから動き始めるべきだったなと反省しています。

反省点4

スタッフとして協力してくれた2人への事前説明が不足していました。

今回、フィヨルドブートキャンプからすずかさんとmotohiroさんがスタッフをやりたいと自ら手を挙げてくれ、ご協力をお願いすることになったのですが、コーチは素振りとして事前の打ち合わせがあったのに、スタッフのお二人へは当日にお願いすることを話して動いていただいたため、事前にもう少しタスクリストなどを作成して共有した方が良かったなと感じました。

色々反省点はあるものの全体を通しては、たくさんの方が協力してくださったおかげで大きな問題が発生することなく、2日間を終えることができたと思います。

全体を振り返って

はじめは迷ったもののオーガナイザーの一人としてRails Girls Tokyo 16thを開催することができて本当に良かったなと思います。

開会の際にも話した通り、オーガナイザーの願いとして今回のRails Girlsのワークショップへの参加が参加者の方々の何らかの良いきっかけになったらとても嬉しいなと思っています。

プログラミングに興味はあるけれど、どのように勉強したり向き合ったりしたらいいか分からないという声も開催中たくさん聞いたため、少し前までエンジニアじゃなかった私は何かしらの形でこれからも情報発信だったり交流できる機会に顔を出したりして、誰かのきっかけになれたらいいなと思ったりしました。

Special Thanks!!!!

えんじぇるさん

一緒にオーガーナイザーができて、とても良い経験をさせていただきました! コーチ素振りの際に準備はほとんどmaimuさんがやってくれましたと話されていましたが、そんなことないです! えんじぇるさんが昨年Girlsとして15thに参加した際のことを共有してくれたおかげで準備することが明確になったり、会場の整備やカメラマン、案内スタッフの協力のお願いなどを進めてくださったおかげでとてもスムーズに準備ができたと思います。 また、飲食物やおやつのチョイスが流石でした😍

moegiさん

ロゴをはじめ、デザイン全般をディレクションしていただき、ありがとうございました! moegiさんのロゴのおかげで16thのテーマがとてもいい感じに表現できたと思います。 手作りの撮影用propsも可愛かった〜!

江森さん

適度にオーガナイザーに進行準備を任せてくださりつつ、素振りでのコーチへの説明やスポンサー企業様とのやりとりをまとめてくださり、ありがとうございました!

コーチの皆さん

Umemotoさん、eririnさん、Koshibaさん、Minamiyaさん、Teraiさん、betaさん、nekoさん、rotelstiftさん、Shimojuさん、Kudoさん、Toriiさん、Harunaさん、Pinさん、Tumichanさん、16bitさん、Risaさん、HolyGrailさん、hogelogさん、Shiaさん、zanakaさん、Fujimuraさん、ヨヨイさん

2日間に渡りGirlsの皆さんをサポートいただき、ありがとうございました! (私もGirlsに混ざって教わりたいほど、親身なサポートでした!)

スタッフの皆さん

すずかさん、motohiroさん、STORES社員の皆様

当日その場でお願いすることが多い中、たくさんご協力いただき、ありがとうございました。

スポンサー企業様

開催をサポートいただき、ありがとうございました!

参加いただいたGirlsの皆さん

2日間という長丁場に渡り、イベントにご参加いただき、ありがとうございました! ぜひまたコミュニティでお会いしましょう!!

キャリアとか働くことについて考えた

昨日、Waveleapeさん主催の女性・ITエンジニアのためのCTOのリアルなキャリアパスというイベントに参加してきたのですが、行ってよかったなぁと思える内容だったので簡単にまとめておきます。

登壇者の一人だったあらたまさんの以下のスライドの内容に以前とても共感してオフラインで話を聞いてみたいというミーハー精神もあって迷いに迷った上で参加しました。 (イベントタイトルにCTOとあり、自分はイベントの対象には当てはまらないしな…と感じていた部分があり、当日までキャンセルしようか迷ってましたw)

speakerdeck.com

人間にはバイアスがある

昨日イベントに参加して一番はっとしたのは、主催者のだむはさんが度々言及されていた「人間にはバイアスがある」という部分でした。

オーケストラの団員の採用を音だけを聴いて採用可否を判断した結果、男女のバランスが改善したという具体例も分かりやすかったのですが、自分の場合は採用の男女比という点よりも、イベントの参加者に自分は当てはまらないと考えていた事自体が一種のバイアスだなと気づき、その他にも日頃から自分が見たいようにしか現実を見てないな〜と思ったのでした。

この点についても、だむはさんがアンコンシャス・バイアスについて話してくれ、私バイアスまみれやん!と自覚できたことがイベントに参加したことの一番の気付きだったと思います。

印象的だった言葉

イベント内では印象的な話がたくさんありました。 いくつか列挙すると

  • 知的好奇心駆動
  • 興味を持つ力
  • 自分なんてと言わない覚悟
  • 自分なりの抽象性や理解する方法を見つけること
  • 何でも面白がってみること
  • 環境から自分に何が期待されているかを言葉にする

などなど。 ここには書ききれないくらいたくさんのキーワードがメモに残っています。

前職でお世話になった上司も同じことを言っていたなぁと思い出す部分もあり、改めて仕事と向き合うことについて考えさせられました。

明日から自分にできること

キャリアについて背中を押して頂ける学びの深い話をたくさん聞くことができましたが、そこから何を実践していくかが大切だとも思ったため、急ぎブログを書いてみました。

今の私が実践できることはなんだろうと考えてみると、自分に向かってくるたくさんの出来事を面白がって受け止めてみることかなと思いました。

ちなみに、キャリアについて考えることは自分の関心ごとの一つみたいで、過去にもいくつかブログを書いています。

maimux2x.hatenablog.com

maimux2x.hatenablog.com

定期的に自分のキャリアについて振り返って棚卸ししていくといいという話をよく耳にするため、今後も折を見て思ったこと感じたことを書き残していこうと思います。

改めて、Waveleapeさん素敵なイベントを主催いただき、ありがとうございました!

強みの芽を育てる2024年にしたい

1月が終わろうとしていますが、明けましておめでとうございます?

ここ何年かはその1年の目標が割とはっきりしていて、今年はこれを達成する!みたいな具体的なことを掲げることができていました。

ところが2024年の頭に抱負を書こうとしたら、やりたいことの粒はいろいろ出てくるもののそれを一言でまとめることができませんでした。 結局1月はスタートダッシュは切れず、考えている時間が多い1ヶ月になりました。

どこにも公開しない個人日記をほぼ毎日書いてみて、改めて2024年をどんな1年にしていきたいかがまとまってきたので今更ながら1年の抱負的なことを書こうと思います。

今年は何かの達成を目指す年ではなさそう

1年に1個くらいは何か達成したい目標があっても良さそうですが、今年はそれがなさそうです。

ないことが悪いとかではなく、今は何かの達成を目指すタイミングじゃないんだな〜という結論に至りました。

じゃあ、今年は何もしないのかというとそんなことはなく、やりたいことはたくさんあります!既に取り組み始めていることもあったりします。

そういう「やりたいこと」を実際やっていく中での気づきや経験の積み重ねで来年以降に良い流れをつなげていきたいなというのと、私は去年PMからエンジニアにキャリアチェンジしてスキルセットが限りなく0に近い状態にリセットされているので、仕事における自分の強みについて尖っていけそうな芽をいくつか選んで育てていきたいなと思っています。

PM側からだと自分の強みやできることはある程度説明できるのですが、エンジニアとしてで考えると「・・・?」な感じです。 この2つを分けて考えていると、「・・・?」になってしまうため、掛け合わせで伸ばせる部分を大切にしていきたいです。

ある程度社会人歴を重ねてきた人間が「強みの芽・・・?」とか言っていて大丈夫なのかという気もしますが、スキルセットを考え直す選択を自分がしたので、その過程を楽しみたいと思います!

芽が育つかは自分次第ですが、方向性は見えてきたため、あまり多方面に手を出さずシンプルにやるべきことをやっていく感じになりそうです。

抱負というより1年のテーマ

という訳で、2024年は「強みの芽を育てる」をテーマにやっていこうと思います。

また、去年と同様に今年もたくさんの方と色々なお話をしたいです。 コミュニティも可能な限りでオフライン参加していこうと思っているため、お会いした際はよろしくお願いいたします!

いい一年だった!

振り返りブログを書くか迷ったけど、迷ってるなら書こうということで2023年のトピックをまとめていこうと思います。

キャリアチェンジの目標を叶えることができた

maimux2x.hatenablog.com

過去にも何度か書いているためちょっとしつこいですが・・・2023年に絶対に叶えるんだと粛々と準備を続け、絶対(自分に)負けない!という強い気持ちで臨んだため、目標を叶えることができたこと、今エンジニアとして目指していた会社で働くことができてとても幸せです。

年始のブログにも書いた通り、キャリアチェンジはゴールではなくただのスタートです。

やる気だけはあって実力がない現実にはぁぁぁ〜となりながらも、適度に息抜きしながらこれからも泥臭く頑張っていこうという気持ちです。

偶然に意味を見出したドキュメント更新作業

maimux2x.hatenablog.com

これも何度も書いていてすみません・・・という感じではありますが、たまたま手を挙げたRails Girls ガイドの更新作業はOSSとコミュニティとのつながりという点で私の世界を広げてくれました。

ドキュメント更新作業を「一緒にやりませんか?」とブログを書いたらたくさんの方が協力してくれ、それまで自分のプログラミング関連の繋がりはフィヨルドブートキャンプがメインだったのが、その外にいる方と繋がり一緒に作業をするのはとてもやりがいがありました。PR上でのやり取りから新たな知見を得たり、その後オフラインのカンファレンスで実際にお会いすることができたり、遠巻きに見ていたコミュニティとの距離をグッと縮めることができたきっかけとなる出来事の一つでした。

また、OSSというとコードを書くことで貢献の印象を強く持っていましたが、今回のように自分の実力の延長でできることに取り組み、ちょっと貢献するという形もあるんだなと思えたことはOSSへのハードルが自分の中で少し下がって取り組みやすくなったきっかけでもあります。

前職で「偶然に意味を見出す」という理念があったのですが、実はこの言葉が私は結構好きで、今回のドキュメント更新作業はまさにこれだったなと思っています。

コミュニティの方々の背中を追いかけて

今年は3ヶ月ほど働いていない期間があったこともあり、自由な時間が多かったことから足を運べる限りRubyコミュニティの活動に参加するようにしていました。

1月:Rubyistめぐり

5月:Ruby Kaigi

7月:Rubyistめぐり/TokyuRuby会議

8月:フィヨブーフェス

9月:Rubyistめぐり/ STORES.rb / 大阪Ruby会議

10月:大江戸Ruby会議 / Kaigi on Rails

11月:Ruby World Conference

12月:Omotesando.rb / Ruby3.3リリースパーティー

下半期は毎月何かしらのコミュニティイベントに参加してますねw また、オンラインでは毎週水曜日開催のFukuoka.rbでもくもくしていました。

上半期は転職活動をしていたため、そのためにコミュニティに顔を出していた側面もあったのですが、後半はコミュニティで出会った方々と色々話す中で自分はどんな風にこれからプログラミングをやっていこうかなどを考えたり、自分の方向性や取り組み方を模索しつつ、出会った方々の背中を追いかけて自分の気持ちを高めていました。

2024年もちょこちょこ顔を出すと思うため、よろしくお願いいたします!

また、コミュニティとは少しずれますが、エンジニアへのキャリアチェンジを機に前職を辞めて疎遠になってしまっていたエンジニア職の元同僚や元上司と定期的にご飯に行ったりすることができたのも嬉しい出来事でした。 来年もよろしくです。

フィヨブー愛

bootcamp.fjord.jp

8月に行われたフィヨブーフェスで自分のフィヨブー愛を語っていますが、フィヨルドブートキャンプに入ってプログラミングを学ぶことができて本当によかった!!!の一言に尽きます。

ここで得たプログラミングの基礎と、エンジニアを目指して一緒に学んだ仲間・メンターさん・アドバイザーさんとの繋がりは自分にとってとても大切なものになりました。

まとめ

ざざ〜っと2023年の自分の中で思い入れが深い出来事を書き出してみました。 一言でまとめるなら、すごくいい一年だった!です。

失敗もたくさんしましたが、それ含めて2023年は精一杯走り抜けて胸を張っていい一年だったといえる年にできたと思います。

12月後半は少しガス欠気味でしたが、年末年始をしっかり休んで2024年からまた気持ち新たに始動していきたいと思っています。

ありがとうございました!

zshのプロンプトカスタマイズを理解したい

こちらはフィヨルドブートキャンプアドベントカレンダー23日目の記事です。 昨日の担当はhondaさんでReactを最低限理解するまでの過程について書かれています!

フィヨルドブートキャンプアドベントカレンダーPart2もあるため毎日楽しみながら投稿を追っています。

本日は「zshのプロンプトカスタマイズを理解したい」という内容で書いていきたいと思います。

プロンプトカスタマイズを理解したいと思ったきっかけ

秋頃からLinuxの学習に取り組み始め、その中でPS1という環境変数の存在を知りました。 PS1コマンドプロンプトを定義するbash環境変数です。 この環境変数の内容を編集することでプロンプトの表示内容をカスタマイズす事が可能です。

自分はこのプロンプトカスタマイズについて何も理解せず設定していたため、今回調べてみたことを記事にまとめたいと思います。

プロンプトカスタマイズとは?

私は普段zshを使っているため、これ以降はzshを前提に話が進みます。

こちらが自分が普段使用しているzshの表示になります。 ユーザー名とホスト名が赤で太字、現在のディレクトリが緑、VCSの情報がシアン、そしてコマンドプロンプトが黄色で表示されるように設定してあります。

プロンプトカスタマイズとは、このように現在のディレクトリや作業ブランチを表示を設定することを指します。

前職で開発自体はほぼしていなかったもののターミナルは分からないなりに触る機会があり、エンジニアチームの方からディレクトリとブランチは表示させたほうがいいよと教えていただいて以来、この形式で設定しています。

当時教えてもらったものを自分のパソコンにも設定し、そのまま使っていて設定内容の大元?がどこから出たものかは分からずなのですが、ZSH Documentationがドキュメントになるため、ここに書かれている内容とqiitaなどで解説されている日本語の記事を参考にしながら設定内容の詳細を見ていきたいと思います。

まだ設定していなかった、設定しているけど内容はよく分からないという方の参考に少しでもなれば幸いです。

.zshrcの内容

プロンプトカスタマイズの設定は.zshrcに書きます。 先ほどの画像にあるプロンプトは以下の設定によって表示されています。

# Git関連
autoload -Uz vcs_info
 setopt prompt_subst
 zstyle ':vcs_info:git:*' check-for-changes true
 zstyle ':vcs_info:git:*' stagedstr "%F{magenta}!"
 zstyle ':vcs_info:git:*' unstagedstr "%F{yellow}+"
 zstyle ':vcs_info:*' formats "%F{cyan}%c%u[%b]%f"
 zstyle ':vcs_info:*' actionformats '[%b|%a]'
 precmd () { vcs_info }

# プロンプトカスタマイズ
PROMPT='
[%B%F{red}%n@%m%f%b:%F{green}%~%f]%F{cyan}$vcs_info_msg_0_%f
%F{yellow}$%f '

まず、Git関連の詳細を見ていきたいと思います。

autoload -Uz vcs_info
 setopt prompt_subst
 zstyle ':vcs_info:git:*' check-for-changes true
 zstyle ':vcs_info:git:*' stagedstr "%F{magenta}!"
 zstyle ':vcs_info:git:*' unstagedstr "%F{yellow}+"
 zstyle ':vcs_info:*' formats "%F{cyan}%c%u[%b]%f"
 zstyle ':vcs_info:*' actionformats '[%b|%a]'
 precmd () { vcs_info }

順番に見ていくと、

autoload -Uz vcs_infoの部分はGitの情報を取得するためのvcs_info関数ををロードしています。-Uオプションは関数がエイリアス展開されることを防ぎ、zオプションは関数がzsh関数であることを示しています。

setopt prompt_substの部分はプロンプトカスタマイズの箇所でセットするPROMPT変数内でvcs_info_msg_0_変数の内容を展開するために記載します。

zstyle ':vcs_info:git:*' check-for-changes trueの部分はGitリポジトリで変更があったかどうかを確認しています。

zstyle ':vcs_info:git:*' stagedstr "%F{magenta}!"の部分はステージングエリアに変更がある場合にマゼンタ色で「!」が表示されるように設定しています。

zstyle ':vcs_info:git:*' unstagedstr "%F{yellow}+"の部分はステージングされていない変更がある場合に黄色で「+」が表示されるように設定しています。

zstyle ':vcs_info:*' formats "%F{cyan}%c%u[%b]%f"の部分はプロンプトに表示されるVCS情報(今回の場合はGit)のフォーマットを設定しています。ここでの%cはステージングされた変更、%uはステージングされていない変更、%bは現在のブランチ名を意味しています。 つまり、zstyle ':vcs_info:gitの部分で設定した「!」や「+」の記号をブランチ名の左側に表示されるようにしてくれています。

画像で見ていただくと分かりやすいですね!

zstyle ':vcs_info:*' actionformats '[%b|%a]'の部分は 特定のVCSアクション(例えば、リベースやマージ中)が発生している場合のフォーマットを設定します。 一つ上の説明と同様、ブランチ名の右側にVCSアクション名が表示されるようになっています。

precmd () { vcs_info }の部分はプロンプトを表示する度に実行する関数になります。この部分でvcs_infoを実行することでGitの情報が取得され、プロンプトを表示する度にvcs_info_msg_0_変数の内容を最新状態にしています。

ふう・・・ここまで理解するのに私はだいぶ時間を溶かしましたw

ですが、まだ続きがあります! 続いてはプロンプトカスタマイズの部分を見ていきます。

PROMPT='
[%B%F{red}%n@%m%f%b:%F{green}%~%f]%F{cyan}$vcs_info_msg_0_%f
%F{yellow}$%f '

この部分でzshコマンドプロンプトを定義しているPROMPT変数の内容を編集しています。

%B%bはテキストを太字にするためのフラグです。

%F{color}%fはテキストの色を設定しています。

%n@%mの部分はユーザー名とマシン名を表示を設定しています。

%~は現在のディレクトリのパスを表示する設定をしていて、ホームディレクトリについては~に短縮されて表示されるようになっています。

$vcs_info_msg_0_はGit関連の設定で確認したvcs_infoによって設定された内容を表示する設定をしています。

%F{yellow}$%fはプロンプトの終わりを示す$記号を黄色で表示する設定をしています。

改めて画像を見てみると設定した内容になっています。

こちらの設定は比較的分かりやすかった気がします。

まとめ

内容を理解せず設定していたzshのプロンプトカスタマイズの詳細について設定内容を一つずつ見ていきました。 今回調べるにあたって自分の既存設定を書き換えて表示がおかしくなっては戻してをしたりしながら、各設定が何をしていてどんなときに必要なのかを理解していきました。

インターネットで調べると他にも様々なカスタマイズ方法が紹介されているため、たまに設定内容を見直すのも面白そうだなと思いました。

上記に記載した内容について、万が一おかしな部分がありましたらコメント等でお知らせいただけると幸いです。

参考資料

13.2 Simple Prompt Escapesと26.5 Gathering information from version control systemsあたりで解説されています。