🔖

会社テックブログをZennで書き始めます!

2021/05/13に公開
2

オンライン家庭教師マナリンクCTOの名人です。

会社としてのテックブログをZennを使って始めることに決めましたので、その背景や弊事業の紹介などを記念すべき最初の記事として書いていきたいと思います。

オンライン家庭教師マナリンクとは

まずは簡単にマナリンクの紹介をさせてください。

マナリンクは「プロを指名できるオンライン家庭教師」をコンセプトにしたサービスです。先生一人ひとりにYouTube上で閲覧できる自己紹介動画があるなど、先生ごとに個性を出していただく工夫を多く実施しています。こうすることで、先生は自分の得意な指導スタイルや科目で活躍できますし、ご家庭からは生徒さんにピッタリの先生を納得行くまで選んでいただけます。

Image from Gyazo

技術観点では、先生とご家庭がベストなマッチングを実現するためのWebサービスと、指導開始後に利用するアプリを開発しています。
表からはあまり見えませんが、柔軟に指導コースが作成できたり生徒さんからコメントを寄せてもらえる機能など細かく作り込んでおり、マナリンクさんは、アプリやホームページのUIなどのシステム関係が充実していて、私の知る限りは1番ユーザーとして使いやすくて良いと思っていますといったお声も頂いたりしています。

MacBook Pro - 1

どうしてテックブログを始めるのか?

テックブログを始める理由は、「1.開発メンバーが増えたから」「2.エンジニア採用に中長期的に活きるコンテンツを溜めたいから」となります。
弊社はフルタイム2名、業務委託3名、インターン2名という少人数ですが(2021年5月現在)、それでも以前ほぼ私1人で開発していたときよりはメンバー間でローテーションで執筆者を回しやすくなりました。また、エンジニア採用はなかなか難しいご時世ですのでストックしていくテックブログを始めておきたいと考えました。

どうしてZennを選んだのか?

テックブログを始めるにあたっていくつか条件を出しました。

  • markdownで書けるといい
  • ソースコードのシンタックスハイライトがオシャレだといい
  • バージョン管理できるといい
  • アカウントのチーム管理ができるといい
  • OGP画像を工夫できるといい
  • フリーワード検索や、タグ付ができるといい
  • 下書き保存できるといい
  • SEO強いといい

せっかくなので内製することも考えたのですが、そこそこのクオリティになるまでそれなりに作り込まないといけないこと、中途半端なものを出して世話ができなくなっては目も当てられないことなどを考え、既存サービスから探すことにしました。
ちなみに内製するならNext.js×microCMSか、nuxt/contentを使うかな...とは思います。

また、いくつか思いついたベンチャ〜メガベンチャーくらいの規模感の会社さんのテックブログを見て、何を使っているか調べてみました。

想像以上にはてなブログが人気で、それなら独自ドメインは有料だけどはてなブログにするか・・・と思った矢先、私の真向かいに座るデザイナー兼フロントエンドエンジニアさんが一言

「Zennはどうですか?」 と。

Zennにはチームプランなどは無いはずなので、会社のテックブログは実現できないんじゃないか、と思ったのですが

  • markdownで記事を書ける
  • シンタックスハイライトに対応している
  • GitHub連携なのでバージョン管理できる
  • GitHub連携なので複数人が同じリポジトリのWrite権限を共有すればチーム管理できる
    • しかもPull Requestで社内レビューなんて運用も余裕
  • OGPは自由に設定できないけどデフォルトが十分にかわいいのでOK
  • フリーワード検索やタグ付けもOK
  • 下書き保存はpublish: falseにしてPushすればOK
  • SEOは強い

あれ、ほとんど要件満たしているやん・・・となりハッとしました。

私が一人で興奮していると、隣に座るつよつよWebエンジニアさんが一言

「Zennでテックブログを書くなら1記事目は”テックブログをZennで始めます”でいけますね」 と。それは面白い。採用ですw

ということでZennに決めました!

※Zennアカウントは会社のGoogleアカウントで1つだけ所有していますが、そのアカウントが連携しているGitHubリポジトリにみんなでPushするという形を取るわけです。

※CTOの私自身、Zennの高いユーザー体験をリリース当初からめっちゃ尊敬していまして、2021年5月現在累計25記事を投稿させていただいております

余談

もし複数人で同じリポジトリの権限を共有する運用がZennで普及すれば、技術コミュニティでもコミュニティ単位のテックブログを作れたりしますね!

コミュニティに入るまえからコミュニティの活動がブログ上で見えるので結構良いかも。

マナリンクの技術スタック

最後に、本アカウントでどんな情報が発信されていく予定かわかるように、弊社で現在採用している(予定含む)技術についてこれまでの発信した記事を貼っておきます。
よかったらフォローお願いします!

Nuxt.js

Nuxt.jsのディレクトリ構造とコンポーネント設計を公開
vue-composition-apiで作るカスタムHook入門〜useHoge()を自作してみよう〜

TypeScript

マナリンクのフロントエンド開発環境【基礎編/TypeScript,ESLint,Jest,Sentry】

React Native

React Native×Firebaseで オンライン指導用の チャットアプリを開発している話

Next.js

Next.js(ISR) × microCMS × linaria × aspidaで爆速メディア開発

Firebase

docker-compose × Firebase Emulator でローカル環境構築

Laravel

IT事業は「サービス」と「ソフトウェア」に分類でき、その分類によってDDDを適用すべきかが決まるのでは、という考察

ご主人様、小難しいDDDやクリーンアーキテクチャはお忘れになって、”削除しやすい設計”から始められてはいかが?

LaravelリポジトリのREADME.mdを改善しました!

AWS

AWS Step FunctionsでECSタスクを定期実行する仕組みをSAMでデプロイする

全体感

オンライン家庭教師”マナリンク”を支えるアーキテクチャ

マナリンク Tech Blog

Discussion