会社テックブログをZennで書き始めます!
オンライン家庭教師マナリンクCTOの名人です。
会社としてのテックブログをZennを使って始めることに決めましたので、その背景や弊事業の紹介などを記念すべき最初の記事として書いていきたいと思います。
オンライン家庭教師マナリンクとは
まずは簡単にマナリンクの紹介をさせてください。
マナリンクは「プロを指名できるオンライン家庭教師」をコンセプトにしたサービスです。先生一人ひとりにYouTube上で閲覧できる自己紹介動画があるなど、先生ごとに個性を出していただく工夫を多く実施しています。こうすることで、先生は自分の得意な指導スタイルや科目で活躍できますし、ご家庭からは生徒さんにピッタリの先生を納得行くまで選んでいただけます。
技術観点では、先生とご家庭がベストなマッチングを実現するためのWebサービスと、指導開始後に利用するアプリを開発しています。
表からはあまり見えませんが、柔軟に指導コースが作成できたり生徒さんからコメントを寄せてもらえる機能など細かく作り込んでおり、マナリンクさんは、アプリやホームページのUIなどのシステム関係が充実していて、私の知る限りは1番ユーザーとして使いやすくて良いと思っていますといったお声も頂いたりしています。
どうしてテックブログを始めるのか?
テックブログを始める理由は、「1.開発メンバーが増えたから」「2.エンジニア採用に中長期的に活きるコンテンツを溜めたいから」となります。
弊社はフルタイム2名、業務委託3名、インターン2名という少人数ですが(2021年5月現在)、それでも以前ほぼ私1人で開発していたときよりはメンバー間でローテーションで執筆者を回しやすくなりました。また、エンジニア採用はなかなか難しいご時世ですのでストックしていくテックブログを始めておきたいと考えました。
どうしてZennを選んだのか?
テックブログを始めるにあたっていくつか条件を出しました。
- markdownで書けるといい
- ソースコードのシンタックスハイライトがオシャレだといい
- バージョン管理できるといい
- アカウントのチーム管理ができるといい
- OGP画像を工夫できるといい
- フリーワード検索や、タグ付ができるといい
- 下書き保存できるといい
- SEO強いといい
せっかくなので内製することも考えたのですが、そこそこのクオリティになるまでそれなりに作り込まないといけないこと、中途半端なものを出して世話ができなくなっては目も当てられないことなどを考え、既存サービスから探すことにしました。
ちなみに内製するならNext.js×microCMSか、nuxt/contentを使うかな...とは思います。
また、いくつか思いついたベンチャ〜メガベンチャーくらいの規模感の会社さんのテックブログを見て、何を使っているか調べてみました。
- メルカリ
- https://engineering.mercari.com/blog/
- Nuxt.jsで内製かな?
- バックエンドはGraphQL
- 記事系のサービスだと関連する記事とか取るから良い技術選定かも
- TANP
- https://www.tanp-blog.com/
- WordPress...?
- Coincheck
- Paiza
- キッチハイク
- LayerX
- freee
想像以上にはてなブログが人気で、それなら独自ドメインは有料だけどはてなブログにするか・・・と思った矢先、私の真向かいに座るデザイナー兼フロントエンドエンジニアさんが一言
「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でデプロイする
全体感
オンライン家庭教師マナリンクを運営するスタートアップNoSchoolのテックブログです。 manalink.jp/ 創業以来年次200%前後で売上成長しつつ、技術面・組織面での課題に日々向き合っています。 カジュアル面談はこちら! forms.gle/fGAk3vDqKv4Dg2MN7
Discussion
規約的に問題なしです。今後チームでの執筆をもっと快適にできるようにサービスを改善したいと思います!
早速のご回答ありがとうございます!安心して活用させていただきます!