tobb422のブログ

スタートアップエンジニアの奔走

1人目のエンジニアとして、スタートアップに入社して1年経過した

 

はじめに

one visa というスタートアップで働いています。

この3月で働き始めて1年が経過したので、これまで学んだ考え方やスタンスを書いてみることにしました。

※ かなりエモいエントリーになっており、技術的な話はほぼ出てきません。

※ かなり長く、まとまりもないです。先に謝っておきます。すみません。

 

2017年12月に、いまの会社の代表に声をかけてもらい、当時働いていた会社に辞めると伝え、

2018年3月にエンジニアが自分だけという状況の one visa に入社しました。

辞める際に、当時お世話になっていた先輩から

「理想と粘りを持って、挑戦し続けたやつだけが成功する」

という言葉をいただきました。いまだによく思い出して、やってやろう!と勇気をもらっています。

 

スタートアップでの初めての仕事

前置きとして、入社当時の組織環境は、

主に、業務委託の方がメインとなり、プロダクトがリリースされていました。

組織に在籍しているエンジニアは存在せず、代表とデザイナーとCSの3人。

4人目のメンバー、そして組織に常駐する1人目のエンジニアとして、入社しました。

わたしの入社と同時に、業務委託でお手伝いいただいていたエンジニアの方は、契約終了となっており、入社時点でエンジニアはわたしだけでした。

そんな状況の中、実際に one visa で働きはじめて、一番最初にした仕事は

  • プリンターの設定

続けて、

でしたww

エンジニアが1人もいない組織でしたので、ハードだろうがソフトだろうがお構いなしで、「技術」でくくることができるものは全てわたしのタスクだったと思います。

プリンターも wifi ルーターも初めてだったので、説明書を見ながら本当に合ってるのか不安になりつつ、設定していたのが懐かしいです。

その後も、わたしが請け負うタスクとしては、

少々漠然としたものが多く(たとえば、セキュリティに不安を感じているので、なんとかして欲しいみたいな感じ....)、

当時のわたしは、リーンスタートアップや起業の科学を読んで、スタートアップでのエンジニアをイメージしていたこともあり、そのギャップに相当ストレスを感じていたと思いますwww

「んなこと、おれもわからんわ!!」と叫びたくなることもありましたがw

なんとか受け入れ(受け入れきれずに漏れ出していた可能性もあります。すみません。)

wifi つながらない ルーター」とかでググってましたww

 

開発したいからスタートアップに入社したのか?

キラキラした気持ちでスタートアップに入ってすぐ、なんとも冴えない日々を過ごしていたわけですが...

少しずつ自分の中で整理がついてきました。

(本来であれば、しっかり整理したうえで入社しなければいけないのですが...)

自分が one visa に入社した理由を見直していき、その中でも

  • Webアプリケーションの開発がしたいから、one visa に入社したのか?

という問いが心の整理ができるきっかけだったように思います。

エンジニアという職種柄なのか、

『開発』をすることでプロダクトを作り、価値貢献することに固執し、

自分の中で会社に対してできる価値貢献の幅を狭めていたように思います。

もちろん、開発は大好きなので、四六時中アプリを作っていたいですし、エンジニア同士で技術の話に花を咲かすことができるランチ等は最高だと思っています。

ですが、 わたしが one visa に入社した理由は、

  • 「世界から国境をなくす」というビジョンを達成したい
  • 魅力ある開発(プロダクト)チームを1から創りたい
  • プロダクトで世界を変えたい

であり、

  • Webアプリケーションの開発がしたいから

ではありませんでした。

 

といいつつも、考えを改めることですぐに

「仕事が全て楽しくてたまらなくなった!!」なんていうキレイ事はないですw

ただ、自分がやっている仕事に対して、意味付けはできるようになりましたし、

目的が明確になることで、創意工夫もできるようになってきました。

そうなると自然と楽しくもなってきます。(もちろん、苦痛なことだって当たり前のようにあります。)

 

価値提供すること全体をハックすることが仕事

意味付けを行う上で、特に意識しているのは、

「バリューストリーム(価値の流れ)」と「価値の最大化」です。

上記を意識することで、

エンジニアという職種と、バリューストリームの一つの工程にしか過ぎない『開発』を

同一視して見ていたこと自体が間違いだなと思うようになりました。

f:id:tobb422:20190303172017p:plain

バリューストリーム(価値の流れ)

(図は、クライアントに価値を提供する上で、『開発』が一つの工程にしか過ぎないということをご理解いただくために作成しました。非常に簡略化しているものなので、あまりじっくり見ないでくださいw)

 

そう考えると、

例えば、プリンターの設定では

当時人数が4人しかいない中で、「IPアドレス」といった言葉に一番抵抗なく、そして毎日のようにググりまくっているエンジニアであるわたしが担当することが、適任だなwと感じるようになりました。

 

いまでは、こうした価値の流れを意識した上で、

one visa が世の中(クライアント)に対して、よりスムーズに価値を届けるために自分のリソースをどう使うべきか。そして、その価値を最大化するには...

と考える癖を身につけられるようになってきた気がします。

スタートアップだからこそ、価値提供のためのあらゆる工程を効率的に行うべきですし、エンジニアとしては、そうしたあらゆるオペレーションをハックする必要があります。そして、メンバーが価値創造に集中できる環境を作ることも、エンジニアとしての大きな価値貢献だとわたしは思っています。

 

 

チームという存在の大きさ

話は変わりますが、 one visa は、現地点で社員9名と着実に人数が増えています。開発陣も、わたしが1人で開発を行っていたところから、4人まで増えました。

エンジニア採用に関しては、プロダクト開発と並行してわたしがメインとなり進めています。

プロダクト開発に専念するのではなく、エンジニア採用をわたしが行うのは、

エンジニアとして弊社に加わるのが、なぜ魅力なのかを一番伝えることができると思っていますし、

エンジニア目線で弊社でできること・できないこと、これからどう進んでいこうとしているのかを説明し、

求職者の方のやりたいこと・求めていることを具体的に聞くことで、ミスマッチを一番なくすことができると思っているからです。

(その代わり、他の開発メンバーには、開発面で負担をかけてしまっているかもしれません。いいように言えば、なるべく開発へ集中してくださっています。いつも感謝しております。。)

 

 

わたし1人であった開発から、人数が徐々に増え、チーム開発へと変化していきました。

1人で開発していたときに比べ、複数人の開発では、すり合わせを行うことが非常に重要だなと感じています。

SPA × API の形で開発しているので、APIのインターフェースをどうするかといった具体的なものもありますが、

特に大切なのは、開発チームが大切にしている価値観・思想のすり合わせだと思っています。

今年に入り、開発チーム4人で、そうした価値観・思想のすり合わせを行ったので

一部抜粋で共有いたします。

 

開発チーム思想

最も大切にしていること → 技術で問題を解決する

 

上記をより効率よく行っていくために、下記を意識する

- DXを高める

- 個々人がパフォーマンスを最大限発揮できる環境を作る

- チームとして成熟度を高める

- 組織やミッションにプライドを持つ(仕組みを作る)

 

といった具合です。

これが正解・不正解というものではなく、 one visa としては、こうした価値観を大切にしていますよと足並みを揃えることが非常に大切ですし、こうして明文化することで日々の行動の指針にもなると思っています。

実際の企画にもつながると思っていて、例えば

> 組織やミッションにプライドを持つ

という文脈でいうと、

開発チームだけで、弊社のプロダクトと密に関わりがある入国管理局に見学へ行ってみるという企画を立ち上げ、実際に行ったりもしました。

自分たちがどんなユーザーにどういった価値を届けようとしているのかは、チーム全員に知っておいてもらいたいし、こうした取り組みやそこから得た経験が、組織やミッションにプライドを持てる一部になると考えています。

 

正直、一機能を実装するという単位であれば、

エンジニア1人が黙々と開発するほうが早くリリースまで持っていけると思います。

チーム開発は、上記のようなすり合わせを行う必要もありますし、面倒は増えますw

それでもチームでやる意味は確実にあって、

圧倒的にデカいビジョンがあり、本気でそれを達成しようと思ったときに、足並みが揃ったチームがいることよりも頼りになることはありません。

実際、現在リリースしているβ版のプロダクトからほぼ刷新する形でプロダクトを作り直しているのですが、わたし1人では絶対に成し遂げることはできないと思っています。

1人で開発をするよりも、チームで開発をすることで視座が引き上げられますし、自分のアウトプットの質があがっていると実感しています。

チームで開発を行うことで、より遠くへ(高みへ)いけると信じています。

 

この1年では、1人で開発を行っていた経験があるからこそ、特にそういったチームの存在のありがたみをひしひしと感じることができました。

 

スタートアップでエンジニアに求められるスキル

上記のように、この1年で

  • エンジニアとして、どのように価値貢献をすべきか
  • チームで闘っていく大切さ

を学んできました。

わたし自身が行ってきた開発とすれば、

  • SPAプロダクトのコーディング, Vueを利用した開発
  • APIサーバーの開発
  • Heroku → AWS へのサーバ移行

と、フロント〜インフラまで多岐に渡っているのですが、中でも必要だなと感じているスキルが2つあります。

それは、

  • プログラミングの基礎
  • アンラーンできる勇気

です。

「プログラミングの基礎」というとざっくりしているかもしれませんが、やはり、基礎力は高ければ高いほうがいいと思います。

その時折で、求められる技術は変わります。しかも、すごい早さで...

この3ヶ月をみても、フロント〜インフラと幅広く担当をしており、必要なときに必要なものを学ぶことも求められます。

そのため、たとえば HTTP ってなんだってことでは困るわけです。。

精通している必要はないかもしれませんが、(わたしも精通できていません。)

ある程度、オブジェクト指向ってなんだとか、IPってなんだとか、コンポーネントってなんだみたいな部分は、理解しておくほうが良いと思います。

その上で、実際に利用する技術が変わってもなんとかなります。(たぶん)

 

2つ目が、「アンラーンできる勇気」なのですが、さらにざっくりしたな〜という印象かもしれませんw

学んだことや身につけたことを一旦リセットするという意味ですが、

今回の意図としては、「自分がやったことがあるやり方・うまくいっているやり方に固執しない」というのがより近いかなと思います。

これは技術だけにとどまる話ではないのですが、

1人でやっていたときに上手く行っていた方法が、2人チームになったときに上手く行くとは限らないですし、

2人チームで上手く行っていたことが、4人チームで上手く行くとも限りません。

状況が刻々と変わる中で、上手く行って「いた」方法に固執せずに、その時の新しい解を出し続けることが求められると思います。

上手くいっていたやり方を捨てるって、なかなか勇気がいるのですが、

思い切って判断できるスキルがあると非常に良いのではないかと考えています。

 

まとめ

長々と書いてきましたが、最後まで読んでくださり、誠にありがとうございます。

偉そうに述べてまいりましたが、所詮まだ1年しか経っておらず、なにも成し遂げられていないというのが現状です。

今後更に成長して、 one visa という会社をより素敵な会社にして、3年後くらいに

自分で読み直して、「こいつは若造だな〜」といまの自分に言ってやりたいと思います!w 

(そのためには、持病の腰痛が悪化しているので、しっかり通院して早く治しますw)

今年は、特にアウトプットを意識しておりますが、← あるある。

結局今回が初めてのブログになってしまいました。これを機に定期的に更新できるように頑張ろう。

 

 

最後に告知ですが、、

スタートアップで、エンジニアとして働くことに興味を持っていただける方がいましたら

絶賛募集中ですがので、お声がけいただけますと幸甚です。よろしくお願いいたします。

(こちらフロントの求人ですが、フロント以外も絶賛募集中なので、ぜひ。)

www.wantedly.com