SmartHR Tech Blog

SmartHR 開発者ブログ

第6回SmartHR LT大会を開催しました!

こんにちは。労務基本機能の開発をしているeminemです。 SmartHRでは定期的に社内でLT大会を行っています。この記事では、2024年6月28日に開催された第6回LT大会について紹介します。

過去のLT大会の記事は下記のリンクからご覧ください。

https://tech.smarthr.jp/archive/category/LT

SmartHR LT大会について

DevRel主導のもと、有志のプロダクトエンジニアが集まって企画・運営している社内イベントです。
プロダクトエンジニアの中から11名の登壇者を集い5分間のLightning Talks(LT)を行います。
今回のLT大会では、当日都合がつかなくなった方がいたため10名の登壇者となりました。
登壇者はプロダクトエンジニアに限定していますが、当日は職種によらず社員であれば聴講可能です。
配信もしており、現地参加が難しい社員でもリモートで楽しめるイベントとなっています。

第6回で変えたこと・意識したこと

今回のLT大会では、前回から以下の点が変わりました。

ドラ係を登壇者が担当

SmartHRのLT大会では、タイムキーパー(ドラ係)がLTの終了時間になったらドラを叩いて知らせるという方法を取っています。
今までは、運営の一人がドラ係をやっていましたが、今回は前の登壇者が次の登壇者のドラ係をやるという形式にしました。
運営メンバーの人数が少なかったため、運営の負担を減らしたいという狙いがありました。

ドラ係をするhypermktさん

司会と感想をプロダクトエンジニアが担当

今まではDevRelのinaoさんが司会を担当していましたが、属人化を避けるため今回はプロダクトエンジニアのsakoさんが担当しました。
また、今まではLT毎に異なるプロダクトエンジニアが感想を話していたのですが、話す人を決める作業や当日のオペレーションが煩雑になるため、感想を司会のsakoさんが毎回話す形式にしました。

司会をするsakoさん

参加者情報

今回のLT大会への参加者以下の通りでした。

  • 現地参加者: 25名 (うち登壇者: 10名)
  • オンライン参加者: 17名
  • 懇親会参加者: 27名

発表内容

Rubyで蒸気機関車を走らせたら子供は喜んでくれるか?

発表者はhypermktさん。

電車好きのお子さんを喜ばせるために、Rubyでslコマンドを実装して蒸気機関車を走らせるという内容でした。
実際にLT中に、slコマンドを実行してコンソール上で機関車のアスキーアートが駆け抜ける様子を見せていただき、大変興味深かったです。
お子様に見せたところ、期待した反応は得られなかったようですが、お子さんを喜ばせようとする姿はとても素敵だなと思いました。

Rubyで実装したslコマンドのデモをするhypermktさん

チームレトロスペクティブで「課題 is 何」を意識したらめちゃめちゃ良かった話

発表者はeminem(本稿の執筆者)です。

SmartHRではスクラムで開発をしているのですが、スクラムイベントの一つであるチームレトロスペクティブで議論が発散しすぎてしまうという課題があり、それを解決するために話し始める前に「課題 is 何」を意識するようにしたら効果があったという話をしました。
課題を整理する癖ができたことで、課題感の大きいトピックに絞って話すことができたり、議論の道筋が見えやすくなるなど、様々なメリットがあるので、スクラムイベントに限らず普段の議論の場でもぜひおすすめしたいです。

「課題is何」を意識したら良いことがたくさんあった話をするeminem

階層構造と仲良くなろう!

発表者はkazukunさん。

開発しているプロダクトで、階層構造を意識して実装したことによってパフォーマンスが改善されたお話でした。
ancestryというgemを使ったそうです。
これによって最大約50倍の速度改善ができたそうで、大変素晴らしいなと思いました。
私の開発しているプロダクトでもパフォーマンスに課題があるので、ぜひ参考にしたいなと思いました。

階層構造の話をするkazukunさん

響け!ユーフォニアムに学ぶマネジメント

発表者は司会も務めたsakoさん。

sakoさんが愛してやまない、『響け!ユーフォニアム』のモデルとなった学校の顧問の方が書いた書籍『オレンジの悪魔は教えずに育てる』からマネジメントについて学ぶという内容でした。
「教えない指導法」という、口出しせずに自発的に動くように促すことによって指導者がいなくても生きていけるような強さを身につけるという指導法を紹介していて、業務でも活かせそうだなと感じました。
『響け!ユーフォニアム』を私は読んだことがなかったのですが、読んでみたくなりました。

『響け!ユーフォニアム』への愛が溢れるsakoさん

権限設計について考える

発表者は、LT大会が開催された6月に入社したばかりのbmf-sanさん。

権限設計の観点には、適用範囲・制御対象・制約・運用フローなどがあり、ベストプラクティスはないので、都度整理して考える必要があるとのことでした。
権限制御は一歩間違えると重大インシデントにつながる可能性があるので、権限設計の際は慎重に考えたいなと思いました。

権限設計にベストプラクティスはないという説明をするbmf-sanさん

My Ruby tools for AtCoder

発表者はqwyngさん。

AtCoderにRubyを使用して参加する時に利用している自作ツールの紹介をしました。
サンプル入出力からテストを自動作成してデバッグを簡単にできるようにするツールを自作したそうです。
私自身はAtCoderに参加したことはないのですが、デバッグする作業が自動化できるのは大変便利そうだなと思いました。
テストでREPLが動くようにするgemも自作したそうで、クオリティが高くてすごいなと思いました。

自作したデバッグツールのデモをするqwyngさん

Ruby on Browser

発表者はtommyさん。

ruby.wasmを使ってブラウザでRubyを動かしてみたというお話でした。
ruby.wasmの使い方としては、scriptタグにRubyを書くだけだそうで、とても簡単そうだなと思いました。
JavaScriptで実現できることは大抵Rubyだけで実現できるそうで、私も使ってみたくなりました。

ruby.wasmで作った文字化けを復元するページを紹介するtommyさん

個社対応をちょっとだけ楽にした話

発表者はlightyさん。

SmartHRでは、個社対応などでデータ操作を行う際は、リポジトリにコミットしたワンタイムスクリプトをRundeckを使って実行しているのですが、対象のデータを絞り込むためにメールアドレスなどの個人情報が必要な場合が稀によくあり、どのようにその個人情報を渡すかが課題でした。
LTでは、上記課題を解決するために、Rundeckでスクリプト実行時にファイルをアップロードして、スクリプトからそのファイルを参照できるようにしたお話をしました。
私は何度もこの仕組みを使わせてもらっており、これがない時はどうやって対応していたのかわからないくらい大変便利で、本当に偉業だなと思いました。

Rundeckでファイルをアップロードする方法を紹介するlightyさん

夏の思い出 〜 サマーインターンの記憶 〜

発表者はmktakuyaさん。

前職でサマーインターンのメンター業をやったときのお話でした。 実際に直面している課題を解決するプロダクトを学生さんと一緒に開発したそうです。学生エンジニアコミュニティで流行の技術を知って自分のモチベーションアップにつながり、とても楽しい経験をしたそうです。
私も8月末のSmartHRのインターンでメンターをする予定なので、お話を聞いて楽しみな気持ちがより高まりました。

SmartHRのインターンも楽しみなmktakuyaさん

GraphQL Summit について

発表者はikuto0608さん。

Apollo.inc主催の北米テックカンファレンスであるGraphQL Summitにプロポーザルを出したお話でした。
SmartHRのプロダクト横断の従業員検索の事例のプロポーザルを提出したそうですが、残念ながら落選したとのことでした。
私はプロポーザルを出したことがないので、チャレンジするだけでも偉大だなと思いました。

プロポーザルの題材とした事例を説明をするikuto0608さん

記念撮影

全ての発表を行った後、懇親会の前にオフラインで集まった登壇者と参加者による記念撮影を行いました。

登壇者と参加者による記念撮影

懇親会

記念撮影の後は懇親会を行いました!

乾杯の音頭を取るmorizumiさん

懇親会を楽しむ様子

We Are Hiring!

SmartHRでは一緒にSmartHRを作りあげていく仲間を募集中です!
今回紹介させていただいたLT大会のように、チームの垣根を越えてエンジニア同士で交流する場も豊富です。
少しでも興味が出ましたら、是非カジュアル面談で色々とお話できればと思います!

hello-world.smarthr.co.jp

撮影: eminem, inao