テスト、ビルド、ドキュメント。

零細企業IT系パッケージメーカーの場合

コードが書ける人で、テスト、ビルド、ドキュメントに特化している人たちってとても貴重だし、すごく重要なスキルだと思っているのだが、どうも世間ではわかってもらえない感じがあるので、自分の考えを書いていきたい。

コードが書けるというのはプログラマーとして普通に食べていける人という前提で書いてる。

テスト

昔から軽視されてきている気がしている。品質を重視するという会社で働くことができなかったのが大きくあるのだと思う。

とにかくバグが多くてもなんとかもがきながらリリースするという人が評価される会社しか経験していない。

ただ、テストはとても重要だし多岐にわたる知識が必要になる。そのためある程度テストの担当を多くして働かないと成果を出すことはできないと考えてる。

小さい企業こそテストを得意とするプログラマーがいるべきだと思うのだが、どうもこの考えは一般出来ではないようだ。

自社にはテストを得意というか専任とするプログラマーがいる。ちなみにコードは自分より書けるし、仕様書の読み込み力も高い。インフラもネットワークもわかってる。

仕事は主に自社製品のテストや検証、または負荷テストなどのお手伝い。稼がないといけない時は普通にプログラマーとしてコードを書いてもらうこともある。

直近だと、この負荷テストを担当した。

品質を意識できる経営陣がとても少ない。負荷テストの依頼を出してくるところはどこも「困ってから」連絡してくる。

さらにたまにスポットで障害調査も仕事で受けるのだが「ほぼテストをしていない」「まったく負荷テストしていない」というパターンが多い。

結局リリースを重視してしまってるのが原因だとおもう。

テストは品質を上げるものではないと t_wada が言っていた。これは間違いない。品質を確認するだけで品質が上がるかどうかはプログラマーに依存する。そのプログラマーが品質を上げるためのきっかけになるのがテストだ。

機能テスト、負荷テストの2つをある程度やっておくというのをもっと重視してほしい。今なら自動化もできるだろうし、テストサービスというのもある。

ビルド

ビルドを得意とするプログラマー、かなりレアだがいる。 というサイトを運営しているだ。

Wandbox のサイトを見てもらえればわかるが、大量の言語や OpenSSL や SQLite がビルドされ、ウェブから利用可能になっている。

このサイトをメンテし、維持しているのは正直驚く。自分も Erlang と Lua でちょっと試したいときはよく使わせてもらっている。

ビルドは依存関係が多くなったり、ツールがいろいろあったりするだけではなくマルチ OS で、マルチ CPU となった瞬間もう辛い。

様々な知識が求められるし、ビルドが通るように修正する必要がある。さらにビルドの高速化だけでなく、ビルドの効率化などもやる必要がある。

自社では Erlang/OTP がメインということもありビルドが得意な人は特に必要なく、Docker でパッケージングする程度でよかったのだが、最近 に依存した製品をリリースしたことから、ビルドが得意な人ということでめるぽんにお手伝いしてもらっている。

このライブラリは 6 週間に一回アップデートし、さらによくビルドが壊れる。正直自社の少ないリソースでは追従が難しい。そのため専門家を招き入れることにした。

彼にはバグフィックス対応とビルドの効率化、最新版への追従を依頼してる。

ビルドは今後も需要になってくると思う。一つのライブラリを macOS / Windows / iOS / Android へを対応するという需要だってある。それは C/C++ で書かれていることはほとんどだろう。

ドキュメント

ドキュメント駆動開発というのを教えてくれたのは CTO で、彼のドキュメントはとてもすばらしい。

自社がパッケージメーカーなこともあり、ドキュメントには力を入れておきたいが、自分は「アウトプットはできるが相手に伝わりやすい文章」というのを書くのが下手で、困っている。

ドキュメントが得意なプログラマーはテストやビルドよりレアだろう。ではプログラミングが得意な編集者というのを味方につけるのはどうか?

偶然自社では技術系出版社に投資をしており、が Gauche や Haskell が書ける編集者だったりするので、この辺に相談していくのが良さそうだ。

ドキュメントが良い製品は本当に良い製品のように感じることが多い。逆にドキュメントが読みにくいとそれだけでやる気が無くなる。

ただ、ドキュメントに書けるコストというのがまだ理解ができていない。特に自社のようなマニアックなミドルウェアパッケージのドキュメントを普通の人ができるとは思えない。

とりあえず技術系出版社の編集者に相談しながら自社のドキュメントを改善していければと思っている。

プログラマーでわれこそはドキュメント神であるという人がいたら話を聞かせてほしい。

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store