オールアバウトTech Blog

株式会社オールアバウトのエンジニアブログです。

社内の情報共有ツールの見直しとドキュメント整備のための活動

新年度もはじまりましたが、みなさまいかがお過ごしでしょうか。@amymdです。

突然ですが、みなさんは会社ではどのような情報共有ツールを使っていますか?

弊社ではドキュメント管理ツールとしてQiita:Teamを導入しているのですが、運用していていくつか課題が出てきたため、Qiita:Teamの運用方法について見直しを行いました。今回は、その活動内容について報告したいと思います。

ツールを導入したけどうまく活用できていないかも…と考えてる方々への一助となれば幸いです。

情報共有ツール検討会の立ち上げ

オールアバウトのシステム部には、Team Tech Ball (テックボール)と呼ばれる、技術推進ユニットがあります。
これまでどんな活動をしてきたのかは、過去の記事をぜひ読んでいただければと思います。

allabout-tech.hatenablog.com

情報共有ツール検討会が立ち上がった背景は、上記の記事から抜粋すると、

数年前に社内Wiki運用からQiita::Teamへの移行を行い、手順書・仕様書・個人の知見を書く文化は出来ました。 一方でアウトプットの質や量は、個人の裁量に任せているところが多く、最高な状態にはイマイチ届いていません。
プロジェクトに新規参加した人も欲しい情報にちゃんとたどり着く!
成長するプロダクトの仕様書のメンテはどうしたら良いか?
どんな情報があると業務がスムーズに進むのか?
以上のような内容を検討、ツールやドキュメント管理方法の見直しを開始しました。

……というような背景から、チームが立ち上がり、まずは現状の課題やドキュメント状況の整理から始まりました。

続きを読む

新卒エンジニアとして一年目を終え、心掛けるようになったこと

オールアバウトの新卒1年目エンジニアが投稿する連載企画 「テックブログ新卒週間 2018」の第2弾です!

f:id:allabout-techblog:20180326103142p:plain

今回投稿するのは、2年目になることにガクガク震えている@y_hideshi です。 普段の業務ではAll AboutやAll Aboutまとめなどの運用・サーバのクラウド移行を行なっています。

allabout.co.jp

allabout.co.jp

今回は、1年間の業務を通して得た経験から私が日々心がけていることを2つの分野に分けて紹介したいと思います!

  1. プログラム関連
  2. 業務関連
続きを読む

【Vue.js】業務で開発した自作ライブラリをnpmに公開してみた

昨年に引き続き、オールアバウトの新卒1年目エンジニアが投稿する連載企画 「テックブログ新卒週間 2018」がはじまりました!

f:id:allabout-techblog:20180315161756p:plain

今回は第一弾として、お買い物情報メディア「PICUP」をほぼ一人で開発している@sinpey_g2が担当します。

picup.allabout.co.jp

PICUPについては昨年末にも記事を書いたので、こちらもご覧ください。

allabout-tech.hatenablog.com

はじめに

PICUPでは、記事の入稿や公開をするためのCMSを内製していて、CMSではJavaScriptフレームワークにVue.jsを使用しています。今回は、Vue.jsで実装したUIをライブラリ公開した話について書きたいと思います。

続きを読む

【2017年】社内で年末LT大会を開催しました!

こんにちは、@amymdです。

f:id:allabout-techblog:20180124090140j:plain:w500

報告が遅れましたが、去年の12月某日に、社内で年末LT大会を開催しましたので、その内容を報告したいと思います!

年末LT大会とは?

年末LT大会とは、システム部のメンバーによる、今年の振り返り・気になること(技術問わず)などなどゆるーく振り返ってライトにトークする会です。

社内のワークショップチームが企画しており、毎年年末に開催されています。
特徴は、「参加者は(ほぼ)全員かならず発表すること」というルールがあるところです。
今年は約20名が参加し、技術のことから趣味のことまで様々なテーマの発表をしていただきました!

f:id:allabout-techblog:20180124090523j:plain

発表内容の一部

どんな発表があったのかというと、例えばこんなものがありました。

これは発表の一部ですが、上記はテーマは自由なので技術のことから趣味のことまでと、さまざまな内容となっています。

また、発表中は社内のSlackにある #workshop チャンネルで参加者でわいわい実況していました。
その時の雰囲気はこんな感じです。

f:id:allabout-techblog:20180126191037p:plain:w400
↑とある発表者の肝臓がやばいという発表にざわついてる様子

f:id:allabout-techblog:20180129110110p:plain:w400
↑発表者が飼っている犬猫自慢の発表が続いた時の様子

おわりに

自分は去年からこの年末LT会に参加しているのですが、技術のテーマに絞らないことで、普段の業務や社内ワークショップでは聞けないような個性的な発表をたくさん聞くことができました!

また、参加者がほぼ全員かならず発表するため、普段あまりワークショップなどで発表しない人の発表も聞けたのがとてもよかったです。
これをキッカケにエンジニア間の交流をさらに深めることができるので、ぜひみなさんも企画してみてください!

それでは、本年もオールアバウトTech Blogをよろしくお願いいたします。

新規事業のエンジニアとして意識していること

はじめに

こんにちは、オールアバウトシステム部の@sinpey_g2です。

弊社では今年の7月に、PICUPというサービスをリリースしました。

PICUP(ピカップ) | プロが選ぶお買い物メディア

新規事業のエンジニアとして、私が普段どういうところを意識しているかについて書かせていただきたいと思います。

こちらはAll About Group(株式会社オールアバウト) Advent Calendar 2017 の12日目の記事です。

All About Group(株式会社オールアバウト) Advent Calendar 2017 - Qiita

自己紹介

私は2017年度4月入社の新卒1年目で、8月くらいまでTABLESというiOSアプリを開発していました。

TABLESに関しては、以下の記事も合わせて読んでいただけるとうれしいです。 allabout-tech.hatenablog.com

その後、9月からPICUPという新規メディアのエンジニアをしています。

PICUPについて

PICUPは、専門家がユーザーの「お買い物」をサポートしてくれるお買い物情報メディアです。日用品から、家電、ベビー用品、スポーツ用品など、さまざまなジャンルのモノを専門家が紹介してくれることによって、自分に合った商品を見つけることができます。

詳しくは、以下のリンクよりご覧ください。

picup.allabout.co.jp

新規事業におけるエンジニアの役割とは?

チームメンバーには企画、ディレクター、編集、デザイナーなど様々な職種の人がいますが、開発は私一人でやっています。開発が一名しかいないので、メンバーとのやりとり、課題の設定、工数見積、実装などを全て一人で行っています。もちろん困ったことがあれば、適宜先輩エンジニアに相談しています。

私が今のチームでエンジニアとして一番意識したい役割は、「人と時間という限られたリソースをいかに最大限に発揮させられるか」だと思っています。

例えば、編集が記事を書くために使う社内CMSを使いやすくすることによって、同じ時間でより多くの記事を作ることができるようになれば、記事が増えて売上も伸びます。

このように、とにかく時間を有効活用させることが私の役割だと考えています。

チーム内ではエンジニアという意識をあえて持たない

事業をグロースさせるためにはチーム一丸となる必要があります。よってエンジニアだから、企画だからという意識は持たないようにしています。編集業務やビジネスサイドでわからないことが出てくれば必ず聞くようにしていますし、そのような技術的じゃない話でも意見を言うようにしています。

メンバーとのコミュニケーション

限られたメンバーで行う新規事業では、メンバー間のコミュニケーションが特に大切になってきます。弊社ではチャットツールにSlackを使っていて、進捗の共有や仕様の相談、本番環境にリリースした内容の報告などを行っています。

Slackを使うときに注意していること

Slackを使用するときに注意している点は以下の2つです。

  • 緊急でない場合はなるべく口頭ではなくSlackでやりとりをする。口頭でやりとりした場合も内容をSlackで共有する。
  • プライベートチャンネルや、ダイレクトメッセージでのやりとりは極力行わない。

これらを意識することで、やりとりの可視化をするようにしています。

コミュニケーションコストを下げる

気軽に話せることが仕事の頼みやすさにも関わってくると思うので、お互いのコミュニケーションコストを下げることは最終的にグロースのスピードにもつながると考えています。

一緒にランチに行って仕事以外の話をしたり、オフサイトミーティングとして丸一日社外に出てご飯を食べながらお話をするといった取り組みも行っています。

座席も、弊社では職種に関係なくプロジェクトごとに近い座席配置にしているので、チーム内でコミュニケーションしやすい環境になっています。

開発業務について

ここからは、開発面に焦点をあてていきたいと思います。

システム構成

PICUPのシステム構成をざっくり紹介します。

f:id:allabout-techblog:20171129160150p:plain

CMS(Contents Management System)で記事を作成して、その記事情報をサイトで表示しています。記事のPV数のランキングなどはBatchを使って更新しています。

フレームワークはLaravel5.4を使っていて、CMSではフロントエンドのフレームワークにVue.jsを採用しています。

Vue.jsについては社内LTをした記事があるのでこちらを参照してください。

allabout-tech.hatenablog.com

案件の種類

私の普段の開発案件は大きく3つにわけられます。

1. 新機能の実装

1つ目は、売上を伸ばすための新しい施策の実装です。こちらは主にサイトの開発になります。サイトに新しい売上のための導線を追加したり、ABテストで効果があった施策を実装したりします。

事業の売上に直結する最も大切な案件です。

2. メンバーの業務効率の改善

2つ目は、メンバーの業務効率を改善するための実装です。CMSに使いづらいところがあったり、業務フローの変更に伴ってCMSの機能と業務に乖離がある場合には、機能の改善を行います。

これによって、編集や企画メンバーの業務効率があがり、最終的に売上につながるので、非常に重要な案件です。

3. 開発効率の改善

3つ目は、私自身が開発をしやすくするための実装です。例えばJavascriptコンパイルをCIツールで自動化させたり、リファクタリングしてソースコードの品質を保つことで、開発面での作業効率をあげます。

こちらは優先度はそこまで高くありませんが、上記1と2の案件の合間を見つけて少しずつやっています。

開発の優先度

基本的には上記1、2、3の優先順位で実装していますが、以下の要素でも優先度を決めています。

f:id:allabout-techblog:20171129160613p:plain

上図のような優先度で、だいたい1週間のうち①の低工数で高効果なものを何個かと、②の高工数かつ高効果のものを1つ取り組んでいます。効果が低いものはなるべく切り捨てるようにしています。

取り組みたい施策はたくさんあるのですが、時間が限られているのでとにかく効果が大きいものを優先して実装しています。

今後どうしていきたいか

今後はサイトの速度を改善することで、より使いやすいサイトにしたいと考えています。検索流入がメインのサイトなので、SEOについてはチーム全体で注力しています。速度改善によってSEOにも効果が出るとうれしいです。

また、新機能の開発と並行して、ユニットテストやLintツールを導入して、ソースコードの改善をしていきたいと思います。今後開発メンバーが増えたときにも、初めてコードを見たエンジニアがすぐに開発に入れるような、高品質なプログラムを目指していきたいと思います。

さいごに

以上が、新規事業で一人でエンジニアをしている私が普段意識していることです。よかったら参考にしていただけると幸いです。

最後になりますが、ぜひ皆さんPICUPを利用してみてください。