今回はフライクのテクニカルマネージャーの新堀さんにエンジニアがどういう仕事なのか、フライクのエンジニアとして働くことについてお聞きしてきました!
エンジニアとして必要なスキルや大切にしていることは何?
具体的には何をしているの?
といった、エンジニアとして必要な考え方やその理由をご紹介します!
フライクのエンジニアリングって何?
ー 本日はありがとうございます!フライクが考えているエンジニアリングって何なのでしょうか?
私たちはシステムをつくっている時点で、すべてエンジニアリングだと思っています。
だから、エンジニアって範囲が広い言葉なんですが、凄いその広さが嫌いで。そこにコーディングの作業があるかないかは意外と関係ないですね。
例えば、誰かがシステムを作ろうと思って、チュートリアル動画を見て勉強して、何か動くものを作ったとするじゃないですか。その時点でもうエンジニアになるんです。
昔はプログラム書かないとシステム作れなかったけど、今はプログラムがなくてもある程度システムが作れちゃう。
便利な半面、誰でもできちゃうから、動くけどめちゃ内容が汚いっていうことが起きちゃっている。
これはフライクとしてはすごい嫌ですね。なので、ちゃんと根本を理解したエンジニアしかいないです。
ー 根本を理解して作れることのポイントってどこですか??
例えば、昔のエンジニアってコードが書けないと絶対システムは作れなかったんです。だから仕組みへの理解が超大切で。
Salesforceだとオブジェクトっていう言い方をして、その一つ一つのカラム(行列)っていうものがあるんですが、それを作ろうとするとデータベースを作れないといけない。
これにはコード作業が本来いるんですが、
「オブジェクトってデータが入る箱なんだなぁ」とか、
「項目って一個一個の要素なんだなぁ」とかって感じで、何となくつくれちゃうんです。
ただ、データベースには正規化っていう作業が必要だったり、データベースって言葉すら使わない。
という人でも作れるようになると仕組みを知らない状態で、動くプログラムができてしまうんです。
ー 根本を理解していなかったらどんな事が起こるんですか、、?
まず、普通につくれちゃうのが問題なんです。
でも、企業って成長していく、変化していくものなので絶対追加項目が必要になってくる。
新しい商品を開発するとなると、商談の仕方が変わってくる。
すると、システムも同じように追加項目ができますよね。
もちろん、ノンコーディングでも項目追加は可能です。
ですが、何度も何度もそれをしていくと最終的に汚くなるんです。
そうなると、カオスすぎて「一から作り直さなきゃいけない。」ってことになるんですね。
だから、綺麗にメンテナンス性だったり、汎用性を考えてコードを理解していないと将来的に大変なことになるんです。
ー 基礎基本を大切にしているってことですね!新堀さんはどうやって基礎基本を身に着けましたか?
技術短大の情報学科にいっていたので、その時にITパスポートとか、基本情報とかを座学で身につけたって感じですね。
でも、新人の時はシステムを作れてはなかったですね。基礎基本の言葉はわかるけど、どういうシーンで使うの?って。
根本さえわかっていれば後は経験を積んで、少しずつ成長していけるので根本がとても大切なんです。
フライクのシステム構築について深掘りしてみた
ー 具体的にはフライクのエンジニアって何をしているんですか?
まず、メインとなる部分はSalesforceの構築だったり、開発ですね。
Salesforceだけだと企業の持っている課題に対応できない事がほとんどなので、その他のツールとの連携をやります。連携の方法を常にキャッチアップしてシステム連携の仕組みを組み立てたりですね。
ー 新人の方がシステム構築の基礎を覚えるために行っていることってありますか?
私が一通り基礎を教えています。プログラミングの基礎から、システム基礎までですね。
でも、まずつくってみたほうがいいので「簡単なプログラムつくってみようぜ」って一日くらいかけてつくってもらいます。
最初って変数って何?integerって?stringって何?ってとこから説明しながら簡単な画面とかを作ってもらっていますね。
スタッフから教えてください!ってオファーもらった時は朝早めにきて教えたりとかもあります。
一ヶ月間みっちり、朝早く出社したこともありました(笑)
ー とても頼られている存在なんですね!新堀さんご自身はどうやって新しい事を学んでいるんですか?
う〜ん、やっぱり新しい技術のキャッチアップは常に欠かさないですね。
Twitterや公式のQiitaのブログをみています。
お客さんから「こういうシステムと連携できないかな、、、」と相談があったら、まず調べてみて、勉強します。なので毎回新しいことの連続なので、とてもやりがいがありますし楽しいですよ。
エンジニアとして生きていくために
ー 新しい情報って毎日出てくるのでとても大変だと思うのですが、フライクのエンジニアとして面白いと感じる部分はどこですか?
聞いて、つくって、というところを徹底的に行なって、その中でお客さんと一緒にシステムを組み立てていくので相手と認識の違いがなく、クレームが少ないというところはあります。
そして、出来上がったものに対して「これ使いやすいね!ありがとう!」って言ってもらえるとものすごい嬉しいです。僕はお客さんと関わるから直で受け取れますが、作業をしてくれたエンジニアの方にも絶対お客様の声は伝えます。
じゃないと、なんでエンジニアをしているのか分からなくなりますからね。
ー エンジニアってそもそもどんな人が向いているんでしょうか?
まずは几帳面な人ですかね。インデントや変数の命名規則など、全然仕組みを知らなくてもそういったところにお客様を意識したプログラムの綺麗さは出ます。
もちろんフライクではその都度基本から教えますが、野良エンジニアと言われる人って誰にも教わらずにプログラム書いているので、そういった意味でも性格的に几帳面な人だったらエンジニアとして向いているなと思いますね。
あとは、気合と根性です(笑)
どれだけ知識があっても新しいことにチャレンジする時は無理なことだってあります。そういうときは何度もエラーを修正して「またバグかよ!全然解決せん!!」って言いながらも、調べて次の手を打てる根性は必要だと思います。
ー 「これからのフライクのエンジニア」に求めるスキルってありますか?
新卒は特に無いですね。想いさえあれば大丈夫です。
業界の経験者の方に対しては一言でいうと、「保守のスキル」ですかね。作って終わりじゃないので、色々なパターンを想像して吸収して、お客様にお見せする前にテストが必要だよねっていう考え方は大切です。
他にもプロジェクトマネージャーの資格があるので、これもおすすめです。マネジメントを知っていると何が良いかっていうと「お客様の安心感」を生み出すことが出来るんです。連絡の仕方、打ち合わせの仕方、安心してプロジェクトを進めることができるっていうのは、どんなプロジェクトにも応用が効くのでいいですね。
歓迎するスキルはやっぱりSalesforceの知識と、あとPython・Go・Rubyとかの言語をある程度知っている人がいたらいいですね。これからどんどんチャレンジしていきたい分野なので得意領域がそこにある人は大歓迎です。
ー ありがとうございます!では最後に、IT業界全体としてエンジニアはどうなっていくのか教えてください!
まず、めちゃめちゃ貴重な存在になることは間違いないですね。
そうなる反面、野良って呼ばれるあまり理解していない「作りは出来るけど、、」って人はたくさん増えると思います。
だからこそエンドユーザーの安心感だったり、使用感を想像できるエンジニアになっていかないと、難しいですね。それか、何か一つの技術に特化したエンジニアになるのも一つの道ですね。
まとめると、「自己満でエンジニアをするな」ってことで、お客様のことを考えれる、そして人としていろいろなことに共感して動いていけるようなエンジニアがこれからのエンジニアだと思います。
熱く駆け出したいエンジニア募集中!
今回はフライクのエンジニア、新堀さんにお話をお聞きして来ました!エンジニアリングに対する根本の考え方や、フライクのカルチャーについて多くのことがわかりました。
これからエンジニアを目指す皆さんや今現役のエンジニアとして働いている人にとっても為になる内容だったと思います。
もっと詳しく聞きたい!実際にあってお話したい方は、ぜひ募集ページをご覧ください!