BeeXではクラウドのインフラ構築のほかクラウドネイティブなアプリケーション開発も行っています。今回は開発部門のエンジニア3人が集まり、BeeXの開発環境や働き方、クリエイターとしての視点、今後のプログラマーのあり方を語ってもらいました。前・後編にわけてご紹介します。
参加者
- Iさん
- 40代 アプリケーション開発
- Hさん
- 30代 アプリケーション開発
- Oさん
- 30代 アプリケーション開発
手を動かし、一番手間をかけるのが設計
開発タスクが決まったら、皆さんどんな時間配分で動くんですか。
Hさん:僕は設計をする日は設計に集中します。その後に実際につなげてみてうまくいかなければ、コードを触るのを一切やめて、また半日くらい使ってじっくり仕様書を眺めて設計を見直す。そういう切り分け方をしていますね。
Iさん:僕は、一日の前半はレビューや質問の回答で終わっちゃう感じなんですよ。自分の仕事時間は合間を縫って確保している。もちろん設計は大事ですが、チーム全体を回していくには質問の回答やレビューをちゃんとやっていかなきゃとも思っているんです。
Hさん:部下や後輩がいると優先順位は変わってきますよね。
Oさん:僕はどちらかというと作業を一人で行っているので、できるだけ早い段階で情報をお客様に判断してもらうようにしています。例えば技術を調べて「こういう方法もありますがどちらにしますか」と聞くとか、設計があやふやだったら何をしたいのかをきちんと詰めて埋めていくとか。設計をちゃんとやって、後々の食い違いは減らしたい。
Hさん:どこのプロジェクトもそうなんですけど、お客様も人間なので認識のズレは起きてしまう。それをいかに埋めるかは考えます。
Iさん:絵を描いたりするよね。
Hさん:そうですね、イテレーションが始まって何か計画が出たら一日二日は大体絵を描いていますね。構造を図にして、お客様がたぶんここを心配するだろうからこう切り抜けようとか。
Oさん:事前に「絶対突っ込まれるのはここだな」というのはわかりますよね。データベースのドキュメントとかハマりどころがあって、動かないときはそれをチェックしたり。
せっかくの武勇伝が水の泡になる「あるある」
エンジニアによくありがちな出来事は何ですか。
Hさん:従来のデータベースではできないと思ってせっかく面倒な設計を作って挟んだのに、ある日突然、仕様変更で「できるようになってる!」というのはよくある話です。
Oさん:「こんなに苦労したよ」と武勇伝みたいに語っていたのに「それ今できるよ」と言われて(笑)。だからAWSやクラウド関連のニュースは常にチェックしていないとダメですよね。
Iさん:将来的にはこういうものが来る、という情報を前もって取れる会社は強いんじゃないですか。BeeXはベンダーとのコミュニケーションパスで早期のキャッチアップができる体制なので、お客様のコンサルで早めにお知らせできるのは強いと思います。
Oさん:あと、コードを見ると誰が書いたのかパッとわかるときがある。
Iさん:あ−、昔のコード知識を更新してなくてフラグがやたら多いとか。英語が苦手なあの人が書いた文法だなとか。たしかにクセでわかるかもしれない。
エンジニアとして気持ちが上がる瞬間はいつでしょう。
Hさん:自分の身になること、好きなことをしているときは意気揚々ですよ。前の会社ではVRやARを絡めたシステムを考えて、それをプレゼンする日はどんどん前に出ました。自分の裁量外の案件で資料を作ってプレゼンしないといけない日はちょっとストレスだったんですけど。
Oさん:僕はリリースしたサービスに触る機会があるとテンションが上がりますね。前職では飲食店の注文システムを作ったので、お店に行って触ってみて「これをやったな、作ったな」と思うとエンジニアとしてすごく嬉しい。
Iさん:僕は表に出るサービスをやっていなかったので、ちょっと違うかもしれない。どちらかというとコンセプチュアルな話、仕組みや概念を考えている時間がめちゃくちゃ楽しいんですよ。例えば今のインターネットではどこかの企業が個人情報をプールしてマネタイズしてますよね。でも僕は自分の情報は自分でフェデレーション管理すればいいと思っている。そのためのアーキテクチャをどうすればいいか、お風呂やトイレの中でも考えていることがあります。
無から有を作るクリエイティブな仕事ができるように
これからのエンジニアに求められる能力は何ですか。
Hさん:言われたタスクをしっかりやるのは最低限だと思います。その上でより良い構造や設計に目を向けられるかどうかですね。プログラマーには2種類いて、1つは設計ありきでそれをコードに落とし込むだけの人。もう1つは無から有を作り出すにはどうすればいいか、頭を使って新しく設計構築する人。僕がクリエイティブだと思うのは後者です。
Iさん:世の中には「知っていること」で報酬を得る仕事、「知らないこと」で報酬を得る仕事がありますよね。「知っていること」だけでずっとやっていると人間成長しない。だから会社は「知らないこと」で稼げる現場でないと。
Hさん:クラウド自体も毎日変わり続けるし、お客様のニーズも多種多様で、BeeXはまさに「知らないこと」で仕事をする場所。
Oさん:監視の網を張るところを予測する視点を持てるかどうかも大事でしょうね。僕たちが扱うのはシステムなので未知の失敗は必ず発生します。エラーを起こさない前提ではあるけれど、たまたま起きるエラーを事前にどう監視するか。
Iさん:たしかにそれをするための技術というかスキルは求められるかもしれない。
Hさん:だんだんツールが進歩して、仕組みや言語を知らなくてもシステム構築や開発が可能な時代にはなってきました。でも他の人より細かく見る仕事をしたいのであれば学んだほうがいい。誰でもできることしかできないなら、それなりの仕事しかもらえないわけで。
Iさん:僕はHさんとは少し違う考え方で、技術を知るエンジニアと、技術に詳しくなくても人間に相対する概念を創出するコンセプターと、双方が共存してシステムを作っていく状況はまだ続くと思っています。こういう話は仕事中でもしょっちゅうやっていますけど。
Oさん:これは文字だけのチャットではできない、顔を合わせたほうがいい話ですね。
Iさん:長々書いていたら「お前らどこか別のところでやれよ」って絶対言われるよね(笑)