自分の仕事を支えるツールをつくる
GMOペパボ Advent Calendar 2019 - Qiita 13日目の記事です。
昨日は tosite0345 さんの コミュニティを支える技術 でした。
今年をふりかえると、自分の仕事がすこしだけ楽になるようなツールを作って OSS として公開することにチャレンジしていました。今日は最近つくったツールの紹介と、そのような取り組みをはじめたきっかけについて書きたいと思います。
最近
業務にて不正利用が疑わしい海外の電話番号を見かけたときに、国番号を調べたことがありました。特別手間ではないけれど、検索しなくても済むようにしてみようかと思って、電話番号の地理情報を調べる CLI ツールを作りました。実装においては google/libphonenumber のサードパーティをお借りしています 🙏
つくったもの
つかいかた
$ phong 0363849000 🇯🇵 Japan -- Tokyo $ phong +41446681800 🇨🇭 Switzerland -- Zurich $ phong -r US 6502530000 🇺🇸 United States of America -- Mountain View, CA
ツールを作るようになったきっかけ
自分はアウトプットすることに苦手意識を持っており、所属する事業部の CTL (2018年当時)に相談をしました。そのときに聞いた話は 僕どうやってコードかけるようになったんだっけ のエントリにも書かれていたので引用します。
僕どうやってコードかけるようになったんだっけって思うと、元々ペパボには簡単なシェルスクリプトとか、Railsでscaffoldかけるくらいなレベルで入社してきて、多分最初に買った本はリーダブルコードだったように思う。それを読んでふんふん言いながら雰囲気でコード書いてた。そのうち自分でOSS書きたいと思って、謎のAlias登録gemを作ったりしたんだっけ。
何でもいいから、自分が繰り返してる作業を楽にするものを作ったらいいよーとアドバイスを受けました。その時に素直にチャレンジしてみようと思えたのは、雲の上に見えているエンジニアでもそりゃ最初からすごかった訳じゃないよねと気付かされて、言い訳できないやという気持ちになったから。
当時、あんちぽさんが使ってくれてとても嬉しく感じたのを覚えている。実はいい人なのかもしれない。
「拙いコードだったけど CTO が使ってくれて、感想をもらえて嬉しかった」という話にもグッと来ました。ペパボの組織文化としてチャレンジしたことを褒め合う慣習があり、まさにそれでいい話だなと思った。
コードを書く
RubyGems での公開方法を調べたり、Go 製の OSS をリーディングして見様見真似で書いてみたりと、自分にとってはじめての経験をすることができました。成果物はささいなものだけど、頭を抱えながら手を動かしている時間はとても楽しく充実していました。ペパボの人たちが感想をくれたりして、自分もそんな組織文化に対してお返ししていきたいなと思った。
さいごに
職業なので自然とコードを書いたりアウトプットしているのが本来の姿かもしれないけれど、自分にはきっかけが必要でした。当たり前になるまで続けていきたいな。つくることを素直に楽しんでいこうと思います!
明日は litencatt さんです! 😸