月別アーカイブ: 2021年12月

2021年行ってよかったところまとめ

 2021年ももう終わりですね。
 割とみんな買ってよかったものとかまとめると思うんですが、今年はこういった状況下の割に、というかだからこそなのか色々な場所に行った年でした。
 平時であれば混雑するような場所に今だからこそ行くチャンスというのもありました。そのぶん世間の大勢以上に感染対策には気を遣っていた結果かどうか、幸いにもこれまで健康で過ごすことができました、よかった。とはいえまだ油断はできないので引き続き気をつけつつ楽しんでいきたいですね。

2021行ったところ

  • 北海道
    • オホーツク地方(北見・斜里・知床半島・津別等)
      • 夏のオホーツクへ。道の駅や湖巡りをしながら美味しいものを色々食べました。ウトロ漁港のうに、自炊ちゃんちゃん焼き・ジンギスカン。チミケップ湖。知床の地の果て。番屋。
        →次は船に乗って知床半島の先のクマを見に行きたい。
    • 日高地方(鵡川・苫小牧・新ひだか等)
      • 本物のししゃも。サラブレッド。
  • 東北地方
    • 青森県 下北半島〜八戸
      • 本州の果て。最高の大間まぐろ。八食センター。
    • 宮城県〜岩手 三陸沿岸
      • 久慈うに弁当最高。(10年来の悲願)
    • 山形〜秋田〜宮城
      • ストイック駅メモ潰し一人ドライブ。水没林。象潟。
    • 福島県 いわき
      • あじさい。四倉港
  • 関東地方
    • 栃木 塩原
      • スッカン沢。天気のいいときにリベンジ
    • 栃木 古河
      • マシマシ。町並み。
    • 埼玉三県境〜栃木古河〜茨城境町
      • 隈研吾。
    • 千葉 水郷佐原
      • 古い町並み。
    • 千葉 成田山
      • 最高のうなぎ(川豊本店)
    • 埼玉 秩父 長瀞
      • 幼少期ぶりの宝登山。廃墟。
    • 埼玉 熊谷
      • 妻沼聖天山。熊谷唯一の観光地といっても過言でない
    • 神奈川 湘南方面数回
      • 海。ギャラリー。
    • 神奈川 箱根方面数回…ほか関東地方たくさん
      • 温泉旅館。湯治の大切さ。彫刻の森。自然薯。
  • 中部・北陸地方
    • 静岡県 熱海方面数回
      • ニューアカオ。磯丸。
    • 静岡県 東部(沼津・伊豆方面)数回
      • いつもの。
    • 静岡県 御殿場〜山梨 富士山周辺・身延方面
      • いつもの。
    • 山梨県清里〜長野県野辺山方面
      • 廃墟。ヤツレン。
    • 長野県 小諸・佐久方面
      • 浅間国際フォトフェスティバル。ゆうきと寿司。
    • 長野県 駒ヶ根〜伊那方面
      • 千畳敷カール。紅葉。カモシカ。
    • 岐阜県 飛騨高山〜馬籠宿
      • 白川郷で遭難しかけて断念。街道にハマる。
    • 岐阜県 白川郷〜富山県 高岡・氷見〜石川県 七尾
      • 白川郷リベンジ。寒ブリ。ぶりしゃぶ。ベティ。
    • 富山県 氷見〜石川県 能登半島〜金沢〜福井県
      • 寒ブリふたたび。奥能登。補助金のイカ。水ようかん。
  • 近畿地方
    • 京都
      • チーフさんのおすすめ(志津屋のカルネ、もっさんのベタ焼き)。さんぽしまくる。川床カフェ。人がいなくていい。
  • 中国・四国地方
    • 香川県〜岡山県一周(倉敷・吹屋・津山など)
      • ベンガラ街。うどん。黄ニラ。
    • 香川県〜徳島県一周・高知県境付近
      • うどんに目覚める。徳島阿波踊りしかない。根性で渡った祖谷かずら橋
  • 沖縄県
    • 沖縄本島一周
      • 完全に南の島にハマり始める。沖縄道の駅一周。
    • 那覇
      • Now
    • 宮古島・伊良部島・下地島
      • 宮古ブルー。まもるくん。最高の海。
        →宮古牛もっと食べたい。ダグズ行きたい。他の離島も行きたい。

来年もどうぞよろしくおねがいします。旅行くぞー!

スタフェスメンバーの名言を紹介します

この記事は、スターフェスティバル Advent Calendar 2021の21日目です。 We're hiring!

こんにちは、soriです。

タイトル通り、社内Slackなどで交わされた会話の中で特に印象に残った名言を少しご紹介します。こういうの割と内輪ネタになりやすいので、できるだけコンテキストなしでも楽しめるようにしたいと思います。

ちなみに、弊社SlackではReacji Channelerを使って、名言といったReactionがついた発言を名言channelに流す仕組みを使っています。

「みんな二宮金次郎」 – ytake

 ある忙しいメンバーのひとりにタスクをお願いしたときに、負担をかけてしまうのは忍びないけれども他のメンバーもそれぞれ忙しく大変なんだよね、という話のタイミングで出た一言。みんな背負うものはたいへん。

「ワクチンの副反応で頭が悪い」 – yoshifujiT

 メンバーがつぎつぎと初めてのCOVID-19ワクチンを体験するなか、副反応にどきどきしてなんとなく不調かもしれない?と思ったときの一言。そういう気持ちになるときもあるよね。

「凄いことを発表して称賛されるだけの会じゃなくて失敗から学んだことでもなんでもいい。なぜなら、この会は称賛されることが確定しているのです。」 – yui_tang

昨年の記事でも軽く紹介したWin Sessionについて。Win Sessionは毎回持ち回りで信仰をやってもらうのですが、これがあまりに良い発言だったので、オープニングで毎回引用される句になっています。そのおかげか、現在のスタフェスエンジニア内では褒める言葉が毎日のように聞かれるようになり良い雰囲気になっています。

「5日働いて生き残ってる時点で優勝」 – yoshifujiT

ちょっと仕事でやらかしても、平日ちゃんと勤労してる時点でWin!

「なる早先生」 – Nさん

@情シス
1)何が: 社内システム
2)だれが: <Nさんの名前>のiPhone
ihのねぬにねぬに゛のねぬに
3)何に困っているか: 今日の朝からSlackから社内システムが見られなくなってしまいました🥲
VPN:nvuしいしっとてつちくいます。。すしいきみ゛enonnihkkcblksrqのねぬにき<システムの名前>に繋いでいつちにeonksrqrqen
4)解決希望日: なる早先生でお願いします!!?。すししねぬにおえうい゛てつちんをせすしるりに

Slackから情シスに寄せられたある日のトラブルシューティングの依頼。
それでなくても不調なのにiPhoneからの文字入力が盛大にバグってしまい、すごいtypoの嵐に。それ以降「なる早先生」のreactionが作られ、定期的に話題になっては笑いを誘っています。

いかがだったでしょうか。社内の話をネタにするのって結構難しいですね。

自社サービス「ごちクルNow」のアーキテクチャについて紹介

この記事は、スターフェスティバル Advent Calendar 2021の14日目です。 We're hiring!

こんにちは、soriです。

今日はAdvent Calendar14日目ということで、私がエンジニアリングを担当している自社サービス、「ごちクルNow」の概要とアーキテクチャについてかんたんにご紹介したいと思います。

「ごちクルNow」って何?「ごちクル」と違うの?

 「ごちクルNow」は、「オフィスワーカー向けの毎日選べる日替わりメニュー」というキャッチコピーのとおり、毎日オフィスに日替わりで選べるランチをお届けするサービスです。ランチタイムに、混雑や社内事情などでなかなか周辺に出ていくのが難しかったり、時間を有効活用したい、また社員への福利厚生としてオフィスワーカーや企業の皆様にご好評いただいています。

 先行サービスとして自社に「ごちクル」というサービスがありますが、こちらはあらかじめお弁当を予約していただき、不定期なお届けや大量お届けにも対応している形ですが、「ごちクルNow」では、日々たくさんの選択肢の中からランチを選ぶ手間を省き、よりすぐりのランチの中から、お届け当日10時(ご契約により異なります)までご注文いただけるサービスとなっています。両サービスでは名前が似ているので、たまに間違えられます(笑)

 私のおすすめは素材Lab。のお弁当です。ごちクルNowをもし使っていただいたさいは是非食べてみてください!

ごちクルNowのシステム

 ごちクルNowは、上記リンクにあるサービス紹介ページを除き、サービスを提供するシステムは大きく分けて下記のように分かれています。項目ごとにアーキテクチャ等をご紹介します。

  • ごちクルNowの基幹システム(API、定時処理を行うバッチなど)
  • webフロントエンド(ブラウザによるご注文を受ける箇所、各種管理画面など)
  • Slack bot(Slack channelにランチをお知らせし、購入を受け付ける)
  • ごちクルNow アプリ

ごちクルNowの基幹システム(API、定時処理を行うバッチなど)

Node.js / Typescript – Express server
 ESLint / prettier
 jest / codecov
 Firebase Admin (主にアプリ向けバックエンド)
OpenAPI Generator
Cybozu Kintone
PHP – Laravel (バッチ処理に一部残存)

 あらためて言うまでもないかも知れませんが、Node.js環境の開発当初からjest、GitHub Actionsによる継続的インテグレーション、またlinterやprerttierなどの導入により一貫したスタイルでの開発を行うことができており、サービスの安定稼働に寄与しています。
 またNode.jsを採用しているので、npmのエコシステムを活用して各外部サービスとの連携なども積極的に行いやすい環境となっています。

 基幹システムからフロントエンドまで、一貫した開発を提供するためにOpenAPI Generatorが導入されています。OpenAPIで記述したAPI定義をもとにwebフロントエンド、ネイティブアプリ等各種サービスに適用することにより、TypeScriptの型も適用され、チームでの開発においても齟齬やミスが少ないコーディングスタイルを維持することができています。

 サービス稼働当初は過去経緯もありレガシースタイルなPHPへの依存度が高く、機能追加や改修の障害となっていましたが、Node.js環境への改修が進み日々システムの洗練が進んでいます。(PHPが良くないというわけではありませんが、当初の基盤設計の負債を解消する必要があったほうか、各システムとNode.jsの親和性がよく、現状の開発しやすいスタイルへの布石となっています)
 また、運用チームや各パートナー様とのやりとりのため、Kintoneのデータベースと連携を行っていますが、こちらについても内製への置き換えを進めています。

webフロントエンド(ブラウザによるご注文を受ける箇所、各種管理画面など)

Node.js / TypeScript – Next.js (React)
 Material UI / styled-components / 独自UI Components
 ESLint / prettier / stylelint
 jest / storybook / snapshot test

 フロントエンド系ではNext.jsを採用しています。ReactのComponentやhooksを使うことにより、デザインとの親和性を保ちながら効率的な開発を行うことができます。Next.jsの開発は日進月歩で、マイグレーションも大変ですがユーザーにより快適な体験を提供するのに役に立つと感じています。
 共通のUIについてはUI Components Repositoryを各小システム内で共有し、統一感がありなおかつ、似たような見た目でありながら微妙に違うコンポーネントの再生産を避けることができています。

 CSS FrameworkについてはMaterial UIも活用しつつ、styled-componentsで各Component内のパーツを構成しています。近頃はtailwindなどclassを活用したものも人気がありますが、styled-componentsは柔軟性の面で有利だと感じています。

Slack bot(Slack channelにランチをお知らせし、購入を受け付ける)

Node.js / TypeScript
bolt.js

 ごちクルNowのサービスにおいて、他であまり見ない特徴的な機能の一つはこのSlack botです。毎営業日、注文受付開始時間と当日朝に、お届けするランチをSlack Apps経由でchannelにお知らせします。

 上記がとある日のランチお知らせです。基本はSlackが公式で提供しているbolt frameworkを使っています。また、jsx-slackを併用して、Block Kitを活用したSlack上で画像やその場での注文を可能にしたインターフェースを提供しています。

ごちクルNowアプリ

React Native / TypeScript
 Firebase
 React navigation
 Fastlane

 ごちクルNowのサービスを便利にフル活用していただくのに、ネイティブアプリは不可欠です。現在、iOS / Androidでアプリを提供しています。
 と、このネイティブアプリについては、チームメンバーのyoshifujiT氏のAdvent Calendarエントリに詳しいのでぜひこちらをご覧になってください。

最後に

ユーザーのみなさまに喜んでいただけるよう日々改善や新機能開発に取り組んでいますが、現状のように開発しやすいスタイルを続けられているのは開発当初から基盤の設計・開発に取り組んでいただけた協力メンバー・チームメンバーのおかげです。そしてもちろんサービスを使っていただいている企業・ワーカーのみなさま。この場を借りてお礼申し上げます。

ごちクルNowもこれからもやることはたくさんあり、そのためにはさらなる仲間が必要です。興味がありましたら是非! 記事に関しての質問もお待ちしています。

WeWorkたのしいの話

この記事は、スターフェスティバル Advent Calendar 2021の7日目です。 We're hiring!

こんにちは、soriです。
思い出したようになにかかくブログですが、気がつけば前回の記事が昨年のアドベントカレンダーでした。やばい。

前回のAdvent Calendarは1日空いてYAhiruことあひる氏の姿勢の話がなぜかPureScriptに展開するいい話でした。

1年間、過ぎるのは早いものでなんだかんだ色々環境が変わりますね。
弊社スターフェスティバルでは、今年は7月に本社移転がありました
移転先は「WeWork the ARGYLE aoyama」。
WeWorkとは、ご存じの方も多いかも知れませんがワークスペースを提供している企業・サービスで、都内や日本・世界の各地に拠点がありフレキシブルな働き方ができるようになっています。
社内では引き続きWFH、リモートワークでの働き方を継続しつつ、多様な働き方のひとつとして COVID-19の状況も踏まえながらオフィスに出社することもできます。

 社内ではWeWorkを二種類のアカウントタイプから割り振られるようになっており、本社での勤務がマストな(いわゆるコーポレート業務などです)メンバーは、青山の本社オフィス拠点をメインに使用できるアカウント。またその他のエンジニアを含む多数のメンバーは各地にある拠点の共有スペースのデスクを自由に予約して使用することができます。

 この働き方の自由さにより、たまに自宅を離れて集中して作業することができたり、場所を決めてチーム等で顔を合わせてミーティングや業務をすることで、オンラインのみのやりとりだけでは足りないコミュニケーションを得ることができています。

 ちなみに現在所属しているチームでは、メンバーの同意のもと、週に一度本社オフィスで集まって定例ミーティングや1on1、その他業務をしています。私個人的には、頻度も週イチで無理がなく、空白のコンテキストを埋めるいい機会になっています。
 それでも、強制ではないのであまりオフィスに集まらない選択をしている別チームもありますし、個人的に業務や体調の状況に合わせて今週は休む、という選択も無理なく行える雰囲気で仕事できています。

WeWork行ったことある拠点

 まず、いろいろな場所に拠点がありおしゃれオフィスなのでテンションが上ります。
私がWeWork勤務を開始して言ったことのある拠点は本社青山オフィスのほか、OceanGateみなとみらい、Hareza池袋、日比谷パークフロント、Iceberg(神宮前)です。

 本社のあるthe ARGYLE 青山は、外苑前駅から近く、昔ベルコモンズがあった場所に新築されたビルの上階にあります。

 本社移転前はスターフェスティバル本社は恵比寿にありましたが、実は私がスターフェスティバルに入社した8年少し前には外苑前のすぐ近くのオフィスに通っていました。当時の通勤を懐かしく思い出しながら、変わったところと変わらないところと楽しみながら過ごしています。
 オフィスの向かいにはクリスプサラダワークスがあったり、UberEatsなどの宅配サービスのラインナップも豊富な場所で良さです。…あっ、弊社(というか私のチーム)では、ランチを気軽に注文できるごちクルNowっていうサービスもやっているので、今のところ、本社にいればそれも注文できます!(このサービスについては後日またお話しますね)
 また、WeWorkにはコミュニティマネージャというオフィスの管理などを行ってくれるメンバーが居るのですが、フレンドリーに接してくれ、オフィスの困ったことややりたいことなど気軽に相談できるので楽しく過ごすことができます。

 次に行ったことのある拠点、OceanGateみなとみらいは、横浜はみなとみらいの駅近く、マークイズやクイーンズスクエアなどがあるエリアの一角にあります。以前ガーデンプレイスで同じビルにいたcookpadもこちらに移転したことで話題になりましたね。

 みなとみらいの高層階なので海みえます、景色とにかくいいです。
最近できたみなとみらいのロープウェイが動いてるのも窓から見えてちょっとテンション上がりました。
 ココのいいところは他にもあって、他の拠点にもたまにあるのですが窓際に掘りごたつライクな席があって、作業していて気持ちいいです。うちからは遠いのでたまにしか行けないですが、たまに気分転換にいくのにめっちゃいいです。

 次はHareza池袋。池袋東口に割と最近できたTOHOシネマズなどがあるエリアのオフィスビルの上階にあります。

 ココも綺麗で、景色いいです。トイレから北側の景色が見えて気分転換になっていい。池袋なので埼玉在住の私には一番近くて通いやすいので良いです。エンタメ系のお店や施設もたくさんあるのでそういう興味の人たちにもいいですね。

 日比谷パークフロント。ここは日比谷公園の裏手、内幸町のエリアですね。山の手線の東側なので、ビジネス・スーツの雰囲気がふんわりしています。

 ここは屋上が自由に立ち入りできて、ランチや休憩・気分転換を楽しめるのがいいです。日比谷公園が一望できます。
 また、オフィスの地下が、地下鉄駅と近隣ビル一帯が繋がっていて、飲食店がいっぱいあってお昼の楽しみが多いです。しかし一つ面倒な点として、オフィスに入るときにエントランスで手続きがいるところがあります。

 最後にご紹介するのがIceberg。氷山の名前を冠するこの拠点は明治神宮前に近く、渋谷からもちょっと歩けば着く明治通り沿いにあります。ビルの外観もかっこよくて目立ちます。移動にはLUUPが便利っていうお話もしたいですがこれは次の機会に。

 ここもだいぶおしゃれ拠点で、外観がかっこよければ室内もかっこいいです。めちゃくちゃでかい窓の前で仕事できるので、とにかく天気の良い日は明るくて元気になります。
 1階にはカフェがあってWeWork利用者は割引で買えるとかなんとか(まだ使ってない)。あと個人的にうれしい点として、WeWorkではお茶やコーヒーなどのドリンクサービスがあるんですが、ココの拠点では冷蔵庫にタカナシ牛乳があって自由に飲めます。タカナシ牛乳はポイント高い。

まとめ

 いかがだったでしょうか。今後も他の拠点も行って活用してみたいと思っています。
WeWorkたのしいですが、もっと拠点増えてほしい!埼玉県にもできてほしいし、旅行大好きなので各地方ももっと増えてほしいなー
 そんなエンジョイオフィスワークスタイル気になった方はぜひスタフェスに来てください。エンジニアメンバー、まじめっちゃ募集中です。お気軽にご連絡くださいー。

明日のAdvent Calendarは同じチーム内でもめちゃめちゃバリュー出して活躍してくれているエンジニアのyoshifujiT氏です。どうやらReact Native周りの話をしてくれるらしい。お楽しみに!