チャットボットエンジニアになってもうすぐ2年になりそう
チャットボットのAPI等が軒並み公開された2016年よりちょっと前の2015年夏、僕はチャットボットエンジニアになりました。
もう少し正確に説明をすると、ウェブサイトの開発が主だった前職を辞めて、今の会社にやってきました。
求人していた職はソフトウェアエンジニアでしたが、ただ一つあったその枠で今日まで働き続けてきて、結果としてチャットボットしか開発していなかったのです。
現在では、チャットボットのエンジニアを募集しています。
ここまでやってきたことについて、思いつくことをサラサラとあげてみます。
最初の仕事は、CoffeeScriptでチャットボット開発し顧客納品しました。
実質1週間ほどの開発期間でしたが、納品を終えて見積もり金額が振り込まれた日、社長と上司2人に飲みに誘われて新橋に行きました。
この日の3人が写った自撮りはお蔵入り中です。
以降はネイティブなJavaScriptでチャットボットを開発し、顧客納品してきています。
Hubotを拡張し、できることを増やしているので、スマホユーザーでも文字入力がなく、ボタンだけを選んで返信するという形式のボットも開発可能になっています。
そのHubot拡張については他のチャットボット専属でないエンジニアが手を入れてくれていて、僕にはその知識はありません。
開発するボットの顧客要望をヒアリングし、要件定義から開発、運用までを行なっています。つまりは営業に近いところから参加してほぼ全部ひとりでやっています。
ひとりでチャットボットを開発するイメージがぴったりで、3人以上で開発したボットはありません。2人で開発したボットは今のところ1つしかないです。
元から専属のチャットボットエンジニアがいたわけでもなく、チャットボットのメッセージ表現やUX、コーディングスタイルや技術的なところまで多くのことにおいてまだまだこれからの状態でした。
何もないところを切り開いていくことに憧れていたので、これは図らずも自分の理想としていた環境でした。
顧客依頼を受けたチャットボットの開発、自社製品としてのチャットボットやWEB+αを組み合わせた開発、とりあえず作ってみただけのものもあります。
ボット開発の為のノウハウを詰めたドキュメントを作成したり、ここまでコードを書いていて頻用するような、ボットならでは必要なロジックをモジュール化(Node.jsで使える)したりとしています。
今年に入ってからは、このモジュール化をゴリゴリと進めています。
今はまだ外に出せないですが、将来的に出せるようにしたいと思っているところです。
ほぼひとりでチャットボット開発を進めているので、細かい技術選定は責任の範囲で割と自由にしています。
昨年から今年にかけてはRethinkDBでちょっとヒヤヒヤした出来事もありました。
やりたいことをNode.jsのライブラリでは実現が難しくてPythonをやったりGolangをやったりとしてきました。
Pythonについてはもう記憶にないぐらい忘れてしまっていて、今はGolangが自分の中で流行っています。
1年前からは個人的にボットコーディングスタイルの確立が急ぎたいことでした。
複数のプロジェクトを経て、最初は雑だったりどうしようもなくなったりとしましたが、少しずつ少しずつ成長させることができました。
割と最近になってそのコーディングスタイルをモジュールに落とし込むようなことができてきています。
実はフレームワークを作りたかったけれど、これはそんなに簡単にできることじゃないんだなあと、自分の技術レベルや知識や経験に痛感しました。
今後のエントリではNode.jsについて書くことが主になりそうですが、GolangやRethinkDBについても書きたいと考えています。
チャットボットを書くのは仕事なので、プロジェクトの細かい話はできないですが、試行錯誤しながらもうすぐ2年を迎えようとしているということがこのエントリで書きたかったことでした。
