“地方”に魅力を感じるために必要なのは主体性。エンジニアが語る、働きやすい環境とは
バックエンドエンジニア 木目沢康廣(写真左)× フロントエンドエンジニア 菊地宏之(写真右)
文系出身でSIer(エスアイアー)で働いていた経験がある菊地さんと木目沢さん。
共通点も多いお二人にフロントエンド/バックエンドの視点から、仕事への向き合い方やアラタナで取り組んでいる技術について語っていただきました。
バックエンドとフロントエンド、両方の知識があれば全体としての品質もスピードも上がる
木目沢康廣(以下 木目沢) 僕は前職では、東京のSIer(*1)で働いていました。人材や金融、物流などいろいろな職種のシステムを開発・保守していました。菊地さんは前職は何でしたっけ?
(*1 :SIerとは、システムインテグレーション(SI)を行う業者のことである。引用:weblio)
菊地宏之(以下 菊地) 私も最初は東京のSIerで働いていました。180人程が在籍する会社で、官公庁関連のシステムや企業の会計システムなどの開発・保守をしていました。
そのあと宮崎での就職を経験してから、アラタナに入社しました。奥さんも地元が宮崎だったので、結婚するタイミングで地元に帰ろうと思ったのがきっかけです。
東京から宮崎に来た人は皆さん仰っていますが、通勤がとても楽になりました。10~15分程度で自転車でスッと来れるのがいいですよね。
木目沢 本当にそうですね。僕も東京にいたころは最長で2時間くらいかけて会社に通っていました。座りたいから一旦逆側に乗って始発駅まで行くんですけど、そうすると2時間30分くらいかかりましたね。仕事終わりに飲んでても、22時には帰らないと…(笑)。
菊地 この通勤の楽さを経験してしまうと、今から東京で働くのは辛いですね。地方だと会社の近くに住んでいる方も多いと思いますが、だからといってアラタナはだらだらと残って仕事をする人はいないので、良い環境だなと思っています。
フレックスタイム制を利用して早めに帰宅して、子どもをお風呂に入れたり、家族と顔を合わせて夕食を取ったりと、家族との時間が作れています。
木目沢 菊地さんは現在フロントエンドですが、ずっとフロントだったんですか?
菊地 SIer時代はバックエンドとフロントエンドと両方やってて、ときにはアイコン等も作ったりといろいろなことをやっていました。また、前職ではWindowsアプリケーションやiOSアプリなども担当していました。フロントエンドはもともと趣味でやっていたところからですね。
木目沢 フルスタックでやってきて、次はアラタナではこんなことをやってみたい!という希望はあったんですか?
菊地 これまでフロントエンドエンジニアとしては働いたことがなかったんですよ。だから「フロントエンドをやりたい」という思いで転職先を探していて、そんなときにアラタナを見つけました。
バックエンドとフロントエンドの両方をやってきたなかで、作ったものをお客さんに見てもらい、反応をもらえるフロントエンドにやりがいを感じるようになりました。
木目沢 僕は逆なんですよ。僕も菊地さんと同じようにフルスタックで、フロントエンドもバックエンドもやっていたんですけど、フロントエンドがうまく書けないというか(笑)。人によって感じ方はさまざまで面白いですね。
僕個人としては、基本的にエンジニアはフロントエンドもバックエンドもどっちもできたほうがいいと思うんですよね。どっちもそれなりにできたうえで、どっちか片方がとても得意です、っていうのが一番良いのかもしれない。
菊地 両方の知識もあれば、問題が発生した際にどこに原因にあるか判断する目星がすぐにつけられるので、「そこから先は専任者に受け渡したほうがいいのか」「自分で解決できるのか」という判断もできて、結果的に対応のスピードも早くなると思います。
アラタナのエンジニアにはフロントエンドもバックエンドも両方の広い知識を持っている方が多く、片方だけという人はあまりいないですよね。
木目沢 キャリアを重ねてきた人材が多いからかもしれないですね。
クライアントの意図とエンドユーザーが求めているもの、両者を汲み取って反映していく
菊地 エンジニアの仕事をするうえで大事なことは何か、木目沢さんがどう考えているのか聞いてみたいです。
木目沢 えーと、一つじゃないですけど、一番は「システムで作って終わらないこと」ですね。当たり前のことなんですけど、意識してないとできないと思うんです。保守のことまで考えて作るべきだとわかっていても、納期や予算の制約もあってなかなかできないことも多いですよね。それでも、最大限意識しながら「この後に保守がある」「このソースは後々必ずいじられる」っていう意識は大事にしたいと思っています。
新しい機能入れたいとか無駄な機能を削りたいとか、そのビジネスの成長のために変化が必要になったら、すぐに手が入れられる、対応できる、ということは意識してますね。
菊地 私も同じですね。一言で言うと「品質」なんですけど、保守性の高いコード・可用性の高いコードを書かないと、あとで苦しむのが自分や他のメンバーなんですよね。メンバーにわかりやすいコードを書くというのは、エンジニアとして最低限やるべき仕事かなと思います。
フロントエンドとバックエンド、細かい違いはあっても、軸としては一緒ですよね。
木目沢 僕もそう思います。もし違いがあるとすれば、バックエンド側はビューをいじらないので ”ビジネスをいかにソースコードに反映させるか” っていうのが主な仕事で、フロントエンド側は”ビジネスを画面としていかに表現するか”という仕事ですね。実装の違いは当然ありますけど、根本は一緒です。
菊地 クライアントから依頼される仕事ではありますが、実際はクライアントの先であるエンドユーザーを見ていないといけなくて。「こうしたい!」というクライアントの意図とエンドユーザーが求めているものがイコールではないこともあるので、両者が本来求めているものを本質的に汲み取って反映していくこともエンジニアの仕事かなと思っています。
言われたものを作っているだけだと、木目沢さんの仰っていたように、システムを作って終わりになってしまいます。「クライアントが今後やりたいことって、きっとこういうことなのだろうな」っていう、まだ見えていない部分も汲んで作っていくとコードも見やすくなるので、自ずと品質も上がっていくはずです。
木目沢 以前ある講演で聞いたんですけど、将来的に、経営者がソースコードを見る時代がやってくると言われています。一つは、facebookのマーク・ザッカーバーグみたいにエンジニア出身の経営者が増えてくるということ、もう一つは、ソースコード自体がビジネスを反映できるようになるということです。
この2つを合わせて「経営者がソースコードを見る時代がやってくる」という話を聞いたことがあります。そのためにも、今話したように、エンドユーザーまで見て、保守運用のことまで考えた品質にすることが大事ですね。
地方だからと言って情報の格差はもうないかも知れない
木目沢 宮崎に来てから思うんですが、東京で勉強会をするといろいろな人が開催している勉強会に参加者として参加するだけなんですよね。一方で、宮崎ではそもそも勉強会が少ないので、自分で勉強会を開催するようになりました。
そのおかげで、あちこちの会社の方々と知り合いになれたり、勉強会のSlackが開かれたりと社外での交流も生まれたりします。そこで偶然、テストが上手く書けないという方に会って、「じゃあ今度テストの勉強会でもしますか」という話になったり。そういう出会いは地方の魅力かなと思います。
菊地 勉強会を開催すると自然と集まってくれますよね。
木目沢 そうなんですよ。それに、宮崎の県民性かもしれませんが、ちゃんと来てくれるんですよね。20人参加予定だったらちゃんと20人来てくれて、ドタキャンがあんまりない。
菊地 技術関連の勉強会の数が少ないので、「これを逃したらもう他がない」という気持ちはあるのかもしれないですね(笑)。私もこの前、木目沢さんが開いた勉強会に参加しました。鹿児島の方とテレビ電話(ハングアウト)で繋いで、リモートで勉強会を開いてましたよね。
木目沢 鹿児島在住の方がわざわざこっちまで来てくれたことがあって、その続きとして平日もやりたいと話していたのでリモートでの開催となりました。初めての試みで改善点も多かったのですが、こういう勉強会は続けていきたいですね。
菊地 今は地方だからと言って情報の格差はもうないかも知れないですね。距離的な問題で東京の勉強会に行きづらいことはありますけど、必要であれば会社がカンファレンスや勉強会へ行くためのサポートはしてくれるので行けないということはないです。
木目沢 それに最新の情報とかは、Slackのチャンネルで菊地さんや中島さんがキャッチアップして共有してくれるので、自然と入ってきます。最新の情報をこんなラフに共有し合えるというのは経験したことがないので、アラタナ文化なのかなと思います。
菊地 情報のキャッチボールができる環境なので、私も積極的に情報共有を行っています。情報発信が一方通行になってしまうとなかなか情報交換も続かないと思いますし、アラタナの人たちは反応をきちんとくれるのは非常に有り難いです。
木目沢 最新の情報が地方だから得られない、というのはもうないですよね。
菊地 新規事業であるaratana gatewayでは今まではできなかった新しいことにもチャレンジできましたよね。
木目沢 そうですね。本当にまっさらなゼロベースからだったので、サービスのあるべき姿から、アーキテクチャの選定まで話し合いながら決めていきました。
バック側は従来のようにサーバーを立てたりせず、AWS(アマゾンウェブサービス)のサーバーレスの技術を全面採用したり、ドメイン駆動設計を採用したりとかなり挑戦しましたし、刺激的でした。
サーバーレスなどはまだ誰もやったことがないものだったので、全員で一つの会議室に集まって同じ画面でコードを書きながら進めるといったかんじで試行錯誤でしたね。
菊地 aratana gatewayの管理画面を担当していたのですが、こちらのフロント実装も結構モダンな構成になっています。大きいところでは Vue.js 関連ライブラリが集約されたフレームワークである Nuxt.js を採用しています。
採用当時、Nuxt.js はまだメジャーリリースされる前だったのですが、スケジュール面やサーバレスSPAとしてシステムを設計する中で最適だったので選択しました。
木目沢 自分も最近プライベートで Nuxt.js を使っているんですよ。ブログを WordPress で書いてたんですけどサーバーのパスワードを忘れちゃって全部消したんです(笑)。だったら最初からCMSから作ろうと思ってフロントは Nuxt.js で作っているんです。あとでいろいろと相談させてください。
お互いを信頼しながらチャレンジできる環境
木目沢 宮崎という地方でありながら菊地さんみたいな凄いエンジニアが多くいるというのは、アラタナの魅力の一つだと思います。その魅力を最大限に楽しんでくれる方に入ってきてほしいですね。
菊地 宮崎出身の方でなくても、都市部にこだわりがないのであれば、通勤も楽ですし、帰る時間も早くなりますし、地方の魅力を感じてもらえると思います。
また、アラタナには木目沢さんみたいな凄いエンジニアがたくさんいるので…。
木目沢 褒め合いみたいになってるじゃないですか(笑)。
菊地 (笑)。でも本当に凄いエンジニアがたくさんいますよね。
それにアラタナは、チャレンジできる環境があるんですよね。懐が広くて融通が利く会社なのではないかなと思っています。木目沢さんのように勉強会を開催したり、休みの日にオフィスを会場に使用することもできますしね。
あと、誰かが困っているときは他のメンバーが助けてくれる土壌がアラタナにはあって、社内で質問したときに誰かしら真摯に対応をしてくれます。それって、忙しいときにはなかなか難しいことだと思うんですけど、そういった場面で私自身も困ったことはないですね。
木目沢 新人研修に現役のアラタナエンジニアがみんなで参加したり、新卒で入ったメンバーが積極的に勉強会を主催したりと垣根も感じません。主体的に学ぶことが自然と身に付く環境だと思います。
優秀なエンジニアが集い、技術を高め合う
アラタナでは、フレックス制度や勉強会の支援、エンジニアも活躍できる人事制度など宮崎で働きやすい環境づくりを進めています。
テックブログもありますので、ぜひチェックしてみてくださいね!