サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
やる気の出し方
tech.grooves.com
こんにちは。Groovesエンジニアリングマネージャーのloasnirです。 Groovesにはいくつかの開発組織がありますが、本日はスクラム開発を実践し、私がスクラムマスターを務めているForkwellの開発組織について、日々の検査の場であるデイリースクラムを改善した話をしてみようと思います。 まずスクラム開発を実践している方には馴染みのある話かと思いますが、スクラムガイドによると、スクラムは意図的に不完全なものであるとされています。以下に2020年版のスクラムガイド(日本語)の「スクラムの定義」から抜粋してみます。 スクラムはシンプルである。まずはそのままの状態で試してほしい。そして、スクラムの哲学、理論、構造が、ゴールを達成し、価値を⽣み出すかどうかを判断してほしい。スクラムフレームワークは意図的に不完全なものであり、スクラムの理論を実現するために必要な部分のみが定義されている。スク
こんにちは。grooves エンジニアの福井(@bary822)です。 突然ですがみなさんはスクラム以外でソフトウェア開発を行ったことはありますか? 私はありませんでした。 私が社会人としてお金を頂きながらコードを書き始めた2014年頃、スクラムは当時としては画期的な概念をソフトウェア開発に持ち込んだ革新的な存在であり、それを採用しているのはいわゆる「イケてる開発チーム」でありました。そして私は幸運にもこのイケてるチームでソフトウェアエンジニアとしてのキャリアをスタートした一人だったのです。 それから7年という、この業界では長いとされる年月が過ぎてスクラムは大衆化しました。私の感覚ではWeb界隈の自社開発企業ではデファクトスタンダードになっていると思います。 実際、Forkwell Jobsで「スクラム」と検索すると300件以上の求人がヒットします。組織の実情や置かれている環境によってその
こんにちは、 tbaba です。元々 Rubyist として入社していますが、ここ2〜3年はフロントエンド力の向上にも力を注いでおります。 突然ですが、React で状態を管理する時に何を使っていますか?クラスコンポーネントにしてクラスに状態をもたせている、Redux を使って管理している、React Hooks で管理している、などなど色々な選択肢があるかと思います。 そんな中で自分たちのチームは、現在社内向けのアプリケーションにおいて、フロントエンド開発をする際に Recoil という状態管理ライブラリを使うことが多いです。そこで、今日は「なんでそれ使うの」「何が便利なの」みたいな話ができれば良いなと思います。 先に言っておくと、自分のスキルセットとしては「 TypeScript を利用した開発2年目」「React を利用した開発3年目」「基本は Ruby on Rails が得意なバ
はじめに こんにちは!Crowd Agent 開発チームのmktakuyaです。昨年11月に株式会社groovesに入社し、6名程度のスクラムチームにて主にサーバサイドの開発を担当しています。また、スクラム外でのタスクとしてカスタマーサクセス推進のためのKPI設定やSlackの無駄カスタムレスポンス量産などに従事しています。 無駄カスタムレスポンスの一例 弊社の開発チームメンバーは、北は北海道、南は宮古島まで全国各地に散らばっております。2020年は新型コロナウイルス感染症対策をきっかけとして全国的にリモートワークが広まりましたが、弊社ではその5年前、2015年からリモートワークを本格的に導入してきました。 リモートワークでも存在感を出すために 場所に縛られず自分好みの環境で仕事が出来るリモートワークですが、一方で何も工夫しなかった場合、オフィスワークに比べて他メンバーとのコミュニケーショ
こんにちは。grooves エンジニアの福井(@bary822)です。普段はCrowd Agentを開発しています。 今回はCrowd Agentのリリースフローが抱えていたボトルネックををHeroku Review Appsを使って解決した方法をご紹介します。 似たような課題をお持ちの方に解決のヒントを与えることができればと思いながらこの記事を書いています。 リリースフローのボトルネック Crowd Agentではスクラム開発を採用しています。 スクラムでは開発者はPO(Product Owner)が定義する受け入れ条件を満たす機能を実装することを期待されていますが、Crowd Agentでは「POデモ」と呼ばれる受け入れチェックによりこれが正しく実現されていることを担保しています。 実はここにボトルネックが存在します。それはStagingが1つしかないことです。 複数の機能開発が並行し
こんにちは。株式会社grooves Forkwell事業部の赤川です。 つい先日、私たちが主催したイベントでちょっとしたハプニングがありました。 そのイベントのコンテンツに、福岡から東京に飛行機で来て頂くまつもとりーさんによるパネルディスカッションがあったのですが、イベント当日の朝に急遽東京に行けなくなってしまった、という連絡がありました。 過去に、リモートでの登壇発表は何度か見たことがありましたが、リモートでのパネルディスカッションは見たことがありません。 その時点でのイベント参加登録者数は90名を超えていました。 主催者である私としては、直ちに、中止にするか、実行するか、実行するならどうやるのか、を判断する必要がありました。 本日は、このシチュエーションを Zoom を使ったリモートパネルディスカッションによって乗り切った経験をご紹介します。 同じ環境を用意すれば、誰でもリモートでのパ
こんにちは。grooves にて Forkwell の事業責任者を務めている、赤川と申します。 この数ヶ月、 grooves では全事業部で積極的にエンジニアの採用活動を行ってきました。 当初は応募獲得に苦戦するだろうと思っていたのですが、結果は真逆で、あまりにも魅力的な方ばかりから応募いただけるので、採用に迷うことのほうが多いという結果になりました。 結果的に当初の予定より人員計画を増やすことになったのですが、それでもこの人と働きたいと思った方全員を採用できる状況ではなく、私たちとしてもぜひ一緒に働きたいと思っている方で、grooves を第一志望です、と言ってくれる方に対して採用枠の充足を理由にお断りしなければならないのは、非常に辛いことでした。 世の中には素晴らしいエンジニアがたくさんいるということを、改めて認識しています。 一方で、grooves が運営する Forkwell の元
ここ最近は既存のインフラを片っ端からコード化していた @sinsoku です。 インフラの魔物をコードに封印している感じがある。汝のあるべき姿に戻れ!— 神速 (@sinsoku_listy) 2018年1月10日 やっとコード化が一段落したので、インフラ周りでやってきたことを技術ブログにまとめました。 作業をする前の状況 Forkwell のインフラ環境は2016年夏頃に「第1回 インフラがコード化されていないのはヤバい!」議論が起き、タスクの優先度が上がりました。 このときは @ta1kt0me が頑張ってくれて、既存 EC2 インスタンスを Ansible で作れるようにしてくれました。 しかし、弊社では AWS の ALB、EC2、RDS、ElastiCache、...など、いくつものサービスを使っています。 この AWS リソースはコード化されておらず、手作業で作っていました。
昨日 2月末に株式会社groovesを退職します を発表したエンジニアのマネージャーを務めている(2018年1月時点)赤川です。 本記事の前半では、なぜ彼が望む「フレックスでの深夜勤務」を用意できなかったかを紹介し、後半では彼と共にプロダクト開発に携わってきた立場から、彼の推薦文を書きます。 なぜこの記事を書くのか? フレックス制度の導入を検討している会社の参考にしてほしい エンジニアの成長・キャリアアップを応援する Forkwell を運営している会社が、自社のエンジニアのキャリアアップや転職を応援しないのは嘘になるので、感謝をこめて送り出したい 今回の経緯 まず、今回の件について、彼とどのように会話を進めてきたかを紹介します。 2017年8月 1on1 MTG で、自身の生産性をあげるためにフレックスを導入したいと伝えられる。フレックスについて調査開始。 10月 エンジニアチームに、深
こんにちは、grooves の赤川です。 11/1、2 と島根県松江市にて RubyWorld Conference 2017 が開催されましたね。 実は株式会社groovesではエンジニアメンバーが一足早く現地に乗り込み、開発合宿を実施していました。 海と、山と、カニがおりなす秀麗無比なる島根の地に、メンバーの士気も終始高まりっぱなし。 皆さんにもぜひおすすめさせてください。 おすすめの理由その1 ー 非日常な空間 国の登録有形文化財であり、110年の歴史をもつ美保館を、一棟まるごと貸し切ることができました。 海を眺めながらのコーディング、畳に寝っ転がりながらのペアプロ、など、日常からの解放感を感じながら開発に集中することができます。 中央の大きな建物が旅館、左隣の黒い屋根の建物が今回の合宿所 美保館 中はまるで千と千尋の神隠しの舞台 とにかく広い合宿所 海を見ながらコーディング 畳の上
Forkwell Portfolio の新しい機能を開発しながら、リファクタリングしている日々の @sinsoku です。 今日はリファクタリングの改善結果が気になったので調べてみました。 Ruby で AbcSize 20以上の数値、ファイル数の推移を出したいけど、簡単に出す方法ってあったりしないのかな。マージコミットを checkout して、AbcSize を計測して、csv にして、とかをするだけなんだけど、書くのがメンドイ。。。— 神速@リリカルエンジニア (@sinsoku_listy) 2017年7月11日 残念ながら簡単な方法は見つからなかったので、「メンドイ」という気持ちに負けずにスクリプトを書きました。 AbcSize とは Assignment: 変数の代入 Branch: 関数の呼び出し Condition: 条件分岐 から計測する複雑度です。Ruby だと Rub
こんにちは、Forkwell 開発チームの @sinsoku です。 先日 Forkwell のポートフォリオ機能を Forkwell Portfolio としてリニューアルしました。 リニューアルの大きな変更点は下記の通りです。 リポジトリの解析 ポートフォリオの自動更新 友達からフォロー/フォロワーに変更 デザインの一新 リポジトリの解析 登録されたリポジトリのコミットログを解析し、ユーザーが普段書いているプログラミング言語やコード変更量などをグラフで表示します。 デフォルトでは公開リポジトリのみですが、プライベートリポジトリの API アクセスを許可すれば、仕事で書いているコード変更量もグラフに反映させることができます。 バッジ リポジトリを登録すると、よく書いているプログラミング言語のバッジを取得できます。 この画像のようなバッジだと「Ruby, JS をメインで触っていて、 El
こんにちは。デザイングループの_ringogirlです。 唐突ですが、先週めでたく最終回を迎えた『けものフレンズ』というアニメはご存知でしょうか。 技術フェローが「すごーい」「そうなんだー」「たのしー」しか言わなくなった件 プログラマーの三大美徳 その2 上記の様なブログも書かれていて、かなり流行っていましたね。 僕自身もハマってしまい、11話〜最終回のアツい展開に深夜に1人で涙してしまいました。 けものフレンズの emoji を使いたい 弊社では社内でのチャットに Slack を使っているのですが、Slackには独自のemojiを登録できる機能があります。今さら最終回を迎えたアニメの話で恐縮ですが、『けものフレンズ』の emoji を登録したくなり、素材を探していたところ以下のようなものが見つかりました。 けものフレンズアイコンまとめ【フリーアイコン】 @Kiguchi1902さんありが
新年あけましておめでとうございます。ことよろ。 最近 Forkwell のポートフォリオ機能を弄っている@sinsoku です。 今日は弊社で起きた「リポジトリが突然消えた事件」について書きたいと思います。 事の始まり 昨年末の26日の朝、 fork したけど使っていないリポジトリがあったので、何気なく削除しました。 その30分後、同僚のapp2641に声をかけられました。 app2641:「なぜか(メイン)リポジトリが404なんですが、sinsoku さん何か知ってます?」 sinsoku:「え、いや、分からないです。私の方でも調べてみます。(もしかして...)」 自分でもリポジトリのページを表示してみました。 404 ですね。マジか...。Audit log を確認してみるか。 見覚えあるアイコンの横に repo.destroy て書いてあるじゃないか...o..rz GitHub の
もう師走ですね。お疲れ様です @sinsoku です。 本日、 Forkwell Jobs で求人票の文章チェック機能をリリースしました。 求人票を作成・編集する人事様向けの機能です。 文章チェック機能 求人の編集画面で「文章チェック」のタブをクリックすることで、求人票の文章をチェックできるようになりました。 チェックしているルール Forkwell Jobs で採用しているルールは現状だと下記の通りです。 逆接の接続助詞「が」が、同一文中に複数回出現していないかどうか takahashim/textlint-rule-no-doubled-conjunctive-particle-ga 同じ接続詞で開始されていることを検出 takahashim/textlint-rule-no-doubled-conjunction 二重否定の検出 azu/textlint-rule-no-double
こんにちは、Forkwell 開発チームの @sinsoku です。 本日の Riding Rails: Rails 5.0: Action Cable, API mode, and so much more で Rails 5.0.0 のリリースが告知されました。 Rails 5 ではいくつもの新機能・変更点があります。 Action Cable Rails API Railsコマンド Turbolinks 5 … 各機能の詳細については、リリース前から既にいくつも記事が出てますし、そちらを参照ください。 そんな Rails 5 のリリース直後ですが、弊社では早速 Forkwell Jobs をアップグレードして、デプロイしてみました。 #Rails 5 公開から10時間余り…皆さんのアプリはもう 5.0.0 になりましたか? Forkwell は先ほどアップグレードしました!ぜひ見てい
こんにちは、デザインチームの@_ringogirlです。 エンジニア目線の求人・転職サイト Forkwell Jobsでは、最近デザインのリニューアルを行いました(最近と言っても3ヶ月前の話ですが…)。 リニューアルに合わせてCSSのリビングスタイルガイドを作ることにしました。 スタイルガイドとは CSSのドキュメントのようなもので、サイトで使う色やタイポグラフィ、UIパターンなどを記述したものです。 見た目とコードをドキュメントとして読めるので、チームで開発するときの共有に役立ちます。 なぜスタイルガイドを作ったのか 僕が入社したのは約1年前なのですが、その頃からCSSがとっ散らかって肥大化してしまっていたので、CSSを触るのがつらい状況になっていました。 もちろんドキュメントも無かったので、どこにCSSコンポーネントが定義されているのか探さないといけないし、コードを書くまで見た目がわか
初めまして、エンジニアチームの @app2641 です。 去年の夏に grooves へ入社しました。 今回は旬の新人がブログを書かせて頂きます。 さて、突然ですが皆さんはアプリケーションのデプロイをどのような方法で行っていますか? Forkwell では master ブランチにプルリクがマージされたら capistrano を使って丹精込めて手作業でデプロイを行うということをやっていました。 ステージング環境で動作確認する際にも似たような方法を取っていて、正直なところこのデプロイ方法はだるいなあと感じていました。 僕のように日々ぽやーと作業している人間にとってはデプロイ先を間違えそうになったり、マージだけしておいてデプロイは明日になってからやろうとか考えて翌日すっかり忘れていたりなど散々なことになります。 そんな事態を避けるためにはどうすればいいか。 そうです、自動化すればいいんです!
大変長らくお待たせしました。Forkwell Jobs にて、2015年11月24日〜12月31日の期間で開催していた【リファクタリングコンテスト in Ruby 】の審査結果がようやく出揃いました。 今回、なんと最もよいコードに贈られる Ruby賞 を1人のユーザーが独占する結果となりました。 気になる審査結果の前に、あらためて審査員をご紹介します。 松田 明 ( @a_matsuda ) Ruby / Rails / Haml / CarrierWave等のコミッター。kaminari / action_args / active_decorator / motorhead 等の作者。 好きな寿司:アナゴ 和田 卓人 ( @t_wada ) タワーズ・クエスト株式会社取締役社長、プログラマ。日本におけるテスト駆動開発(TDD)のスペシャリスト。 好きな寿司:赤貝 藤村 大介 ( @ff
こんにちは、Forkwell 事業部の正徳です。 タイトルにもあるように、Forkwell Jobs の開発では cancancan と action_args の2つの gem を使用しています。この2つの gem を一緒に使う際に問題が起きましたので「問題の紹介」と「解決するコード」を紹介したいと思います。 各 gem の簡単な紹介 知らない方もいると思いますので、各 gem の概要を書いておきます。 cancancan コードの各所に散らばりがちな権限を Ability という1つのファイルで管理できるようになります。 # app/models/ability.rb class Ability include CanCan::Ability def initialize(user) user ||= User.new # guest user (not logged in) if u
明日から待ちに待った RubyKaigi ですね! Forkwell Jobs では RubyKaigi 2015 応援企画 として回らないお寿司が食べられる リファクタリングコンテスト を開催しています。 https://jobs.forkwell.com/campaigns/rubykaigi-2015 前回の投稿 では、投稿するネタが見つからないという方に向けてリファクタリングのお題をご用意させて頂きました。 このお題をきっかけに、投稿が少しずつ増えてきましたので、 それならばと、さらに五つのお題をご用意しました。 【Refactor Me】ひとつのメソッドに詰め込み過ぎ 【Refactor Me】複雑な仕様に対抗するため、早くリファクタリングしないといけない 【Refactor Me】split(正規表現)がcontrollerにあるのはなんとなく嫌だな... 【Refactor
こんにちは、デザインチームの@_ringogirlです。 弊社では現在スタイルガイドの構築をHologramというgemを使って進めています。 構築の過程で機能の拡張が必要になりプラグインを作ることにしましたが、 Hologramのプラグインに関する記事が少ないため、作り方をまとめてみました。 今回はサンプルとしてBrowserStackを使って複数のブラウザからスクリーンショットを撮り、スタイルガイドに貼り付けるプラグインを作ってみます。 Hologram Ruby製のスタイルガイドジェネレーターです。CSSに書いたコメントからスタイルガイドを生成してくれます。 SassやLESSにも対応しています。 trulia/hologram Hologramのプラグイン READMEには載っていませんがHologramはプラグインを作る機能を提供しています。 このプルリクエストでプラグインを作る
こんにちは、Forkwell事業部の中の人です。 本日は、つい最近 Forkwell Jobs の開発現場で起きたエピソードについてご紹介します。 きっかけはあるメンバーの一言でした。 「複数メンバーの加入から1ヶ月以上がたった、ベロシティもかなり安定してきた。よし、ここらでおれたちのベロシティをあげて、ビジネスサイドの連中をあっと言わせてやろうぜ!」 この一言で息巻いた我々は、ベロシティをあげることを目標に設定し、ビジネスサイドのホワイトボードに ◯pt / 10pt のような数字を書き加えました。 しかし、すぐに色々な現場を経験してきた他事業部のエンジニアの面々から、ベロシティをあげることを目標にすることには弊害があることを教わることになりました… ベロシティを目標にする弊害 目先のポイントを増やすためにとりあえずリリースして残タスクを先に積む事案が発生、後々の作業が滞る 目先のポイン
こんにちは、Forkwell事業部の正徳です。 先日、Forkwell Jobsの採用担当者様向けにSlack通知機能をリリースしましたので、お知らせさせて頂きます。 また、Slack ButtonをRailsで実装する方法も後述しているので、エンジニアの方々にも参考になるかと思います。 どんな機能? Forkwell Jobs では、ユーザーが掲載されている求人に対して「話を聞きたい」「応募」のアクションを行うことができます。 このアクションが発生したとき、採用担当者様にメール通知だけではなく、Slack にも通知する機能です。 なぜ作ったか? もともと、通知にはメール通知しか使用できませんでした。 ほとんどの企業では採用活動のためにメーリングリストを作成し、そのメールアドレスを使用しています。 しかし、弊社groovesのようにSlackを全社導入している企業の場合、Slack通知の方
こんにちは、なんとかChrome拡張を公開できて、少し安心してる正徳です。 昨日、Forkwell JobsのChrome拡張の記事を公開しましたが、本記事では技術的な話を書いてみたいと思います。 リポジトリ リポジトリはGitHubのgrooves/forkwell_for_chromeで公開しています。 実際のコードを参考にしたい方はどうぞ。 Haml, Sass, CoffeeScript を使う 社内の他エンジニア・デザイナーも触りやすいように、Forkwell Jobsで使用している技術に合わせました。 それぞれ、gulp.jsを使ってHTML, CSS, JavaScriptに変換しています。 mocha + power-assert を使ったテスト mochaとpower-assertでテストを実行できるように環境を整えました。 詳細なテストの環境についてはリポジトリを読んで
thoughtbot/factory_girlを活用して日々テストを書いているRailsエンジニアの方々、こんにちは、正徳です。 Forkwellでもfactory_girlを使ってテストを書いています。 このfactory_girlには便利機能が多く、とても使いやすいのですが、女心並みに複雑*1なので、一通りの機能をブログにまとめてみました。 factory_girl初心者から、中級者の参考になれば幸いです。 参考にしたページ このブログの内容は全てfactory_girlのGETTING_STARTEDに記載されています。 読まれた事のない方は、是非一読する事をおすすめします。 目次 factory_girlのインストールと設定 factory_girlの使い方(Using factories) build create attributes_for build_stubbed 遅延評
おはらっきー(挨拶 最近『まもって守護月天!』のOPをひたすら聴きまくっている@_tbabaです。懐かしいですね。 実は自分、最近はずっと自宅から仕事をしておりまして、それで感じたこととか、特に感じなかったこととか、便利だったり不便だったりしたことを書いてみようと思います。 だいたい↓のような感じで進行します。 そもそも何でリモートワークになったのか 家って集中できなくね? あんたが思うリモートワークの最大の利点って何よ 逆に欠点は? 結論 それではどうぞー。 ぶっちゃけ合う人と合わない人がいるっていう結論 流れ作っといていきなりぶった斬りますけど、リモートワークは合う人と合わない人といるので、この記事が全部正しいとかそういうふうに考えたりしないで、一度試してみればいいんじゃないですかね、というのはまず最初に言っておこうと思います。 ちなみに俺は普通です。特に変わりません。あ、でも健康には
2021-12-07 【そろそろやろう】Amazon Linux AMI から Amazon Linux 2 移行をゼロダウンタイムで完了させた手順を公開 【EOL 2020/12/31】 こんにちは。grooves エンジニアの福井(@bary822)です。 今回は弊社サービスの一つ、Crowd Agent のサーバーOSをAmazon Linux 2に移行した時の具体的な手順、および特に注意すべき点をご紹介したいと思います。 やらないとな〜と思いつつ時間が取れていなか… 2021-11-12 アラート検知型デイリースクラムに移行した話 Product Development こんにちは。Groovesエンジニアリングマネージャーのloasnirです。 Groovesにはいくつかの開発組織がありますが、本日はスクラム開発を実践し、私がスクラムマスターを務めているForkwellの開発組織
やっはろー(挨拶 最近自宅勤務が続いてるtbabaです。 元々某弊社はQiita:Teamをめっちゃ使ってるんですが、最近とあるプロジェクトでesaを使い始めて、それがだいたい3ヶ月位経ったので、どんなもんなのよ、というのを書いてみようと思います。 前置き この記事は個人的にesaを応援したくて書いているものですので、めちゃくちゃ個人の感情のままに書いてあります。 事実はこの通りじゃなかったりする可能性もあるので、実際に使ってみると良いと思います。 なんで使ってみたの 中の人が知り合いだからです。 いやそれも大事なことなんだけどそれで言うとQiita:Teamもそうだし、ぶっちゃけそれはきっかけでしかないです。 俺が元々いたチーム(Forkwellのことですね)から新しいプロジェクトチームに移って、そっちでドキュメント共有とか何か物書きとかそういうのをどうしようかという話をしていた時に、一
次のページ
このページを最初にブックマークしてみませんか?
『Grooves開発ブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く