Time is money

日常のこと、web関連、映画の感想について書いていきます

「ソーサル」のエンジニアが考える、webサービス開発における"チーム"とは

寝苦しい熱帯夜の続く季節となりました。

キンキンに冷えたアイスコーヒーが、暑くて萎えてしまう気持ちにアクセントを加えてくれる気がします。

f:id:okutaku:20150802162915j:plain

今年の少ない夏休みは色々なことにチャレンジしたいものです。

久しぶりの投稿になりますが、今回はwebサービス開発における"チーム"について書きたいと思います。

「そんなこたぁ、わっかとるわ!」って方もどうぞお聴きください。

所々、一部の方に不快に思う表現があるかと思いますが、そこは目をつむってくださいませ。

 

チームで失敗した経験

私は、今「ソーサル」という、皆で楽しくフットサルができるwebサービスの運営でエンジニアをしています。

sosal.me

ソーサルについては、先日"まとめ"ていただきました!

matome.naver.jp

今のソーサルのチームに至る前に、苦い体験をしました。まずは、そのことについて書きたいと思います。

プログラミングを学び始めた頃、あるCEO的存在の学生、デザイナーの社会人の方、そしてエンジニアの私の3人でアプリ開発をしていました。そのCEOの方とは、とある縁があったのですが、初めから性格的に苦手意識がありました。しかし、チームでの開発は楽しかったので、そのままエンジニアとして活動を続けていきました。キュレーションに関するwebアプリを開発していたのですが、それが思うようにいかず、最後にはコンセプトレベルで方向転換することになりました。今まで開発してきた分を全て捨てて、再開発すること、その内容も私があまり関与できずに決まってしまいました。そこで、開発コストに関する議論になり、私はエンジニアの意見を無しにすぐにコンセプトレベルの方向転換、仕様変更に耐えることができませんでした。なぜなら、私はただ単に仕様ができたら、コーディングするような都合の良いエンジニアではないからです。エンジニアにも意志があります。それを無に帰すチームに、居場所を感じれなくなり、酷い仲たがいの末、チームを去ることにしました。暴言が飛び交い、弁護士を立てることにも話が進み、精神的にもかなり疲弊し、かなり苦い体験でした。

しかし、この体験があったからこそ、次に自分が所属するチームを正しく選ぶための基準ができたのだと思います。

 

webサービス開発における"チーム"とは

f:id:okutaku:20150705225209j:plain

私は先の苦い体験から、次なるチームは自分の意志で決めようと思い、何度か話を持ちかけていただいたのですが渋っていました。

web界隈では、起業意識が高い方が多いです。起業するために、プロダクトを作る。そのことに興味があまりなく 、そのためにコードを書いてる自分が想像できませんでした。このことは、後の項で書きたいと思います。

そんな中、2014年の終わりに今のソーサル代表の二人、「りょうぽん」と「ひとぽん」と会い、ソーサルの原案を聞きました。何よりも彼らの熱意とプロダクトへの想いに共感して、その日に開発を決意しました。あの時の決断は間違いではなかったのではないかと、今ソーサルを運営して思います。

当初、三人で始まったソーサルですが、すぐにデザイナーの「のぞみん」、営業・宴会部長の「しぶしぶ」が加わり、その後にエンジニアの「きのぴー」、そして企画運営の「とっきー」が加わり、今では7名となりました。( https://sosal.me/company )

もうリリースから5ヶ月近く経ち、先日ユーザー数も1,000名を超え、Fリーガー中井健介選手(ペスカドーラ町田所属)とのコラボ企画、大分県、福岡県、大阪府など全国での企画も催されるようになり、さらなる盛り上がりを見せています。

ここから本題となりますが、ここまでソーサルというwebサービスをエンジニアとして運営してみて、webサービス開発における"チーム"について再考します。これは、なぜ僕がソーサルでエンジニアをしているのかということにつながると思います。

僕の考える"チーム"とは、

「チームとしての力量総計が、個人の力量の積となりうる集団」

だと思います。すごく曖昧な定義をして、理系学生として心苦しいのですが、これでいきます笑

言いたいことは、そのチームに自分の持ってる全てを注げるか否かということです。僕自身、ソーサルのようなwebサービスを開発することは初めてでした。プログラミングのアルバイトをしているため、チームでの開発などは経験してきたのですが、ユーザーが実際に使ってくれるwebアプリを個人で開発することは初めての体験でした。結果的に、僕のエンジニアとして幅や技術が広がったと胸を張って言えます。実際にwebサービスを一人でローンチまで持っていくことは中々に難しいし、自己満だけで終わりの誰にも使われることがないようなアプリを生み続けてるだけでは気がつかなったことの連続です。チーム開発の末端のアルバイトとしてではなく、個人としてアプリを開発することは、言わば、全て自由です。自分の思うように設計できます。だからこそ、難しいんだということが痛いほどわかりました。一つの設計のミスがシステム全体へと波及していく経験や、一つのコマンドのミスがサーバーを停止させてしまう経験は自分でやってみないとわかりません。その意味で、多くの経験をして"成長"していると思います。ゆえに、上記で定義したチームとは、自分が全力を出して、伸びしろを広げ、大きく成長できる環境でもあると思います。

だからこそ、チームでやることの意義があるんだと思います。

 

エンジニアは"一人のチームメンバー"である

f:id:okutaku:20080227161455j:plain

web業界において、エンジニアはしばしば軽視される役職です。

これは上に立つ者、共に仕事をしていく者が誰かに強く依存すると思うのですが.webサービスの代表や営業が注目を浴びるのは致し方ないことです。

ただ、エンジニアをしている身としては、「エンジニアこそ原動力」だということを主張します。ですが、だからと言って、エンジニアは神様だとか、エンジニアを優遇するとかそういう話ではないです。エンジニアも一人のメンバーであって、等しく全力を出せばいいと僕は思います。エンジニア個人の都合だとかにペコペコするのではなく。エンジニアだろうと何だろうと、チームは個人の集合体であって、自分の役割を認識して、全力で力を注ぐことを全員が意識できた時、いいチームなんだと思います。中二チックになりました。すみません。

だからこそ、一緒に仕事をするエンジニアを選ぶべきであるし、エンジニアも一緒に仕事をする人選ぶべきだと思います。誰でもいいってことでは決してないです。

 

一人でできることは限られてる

f:id:okutaku:20150813205413j:plain

もう一つ言いたいことは、一人でできることは限られているからこそ、チームであるべきだということです。これは否定的な意見では決してありません。webサービスを作り上げるまでは一端のエンジニアで、それなりの技量があり、そんなに重くないものであればできます。しかし、作り上げたからと言って、使われるかというと決してそうではありません。使われるためには、地道で泥臭くいなければなりません。詳しい言及はさけますが、到底エンジニア一人でこなせるものではありません。全ての技術は社会に還元されてこそ価値が生まれると思います。そのためにチームがあるのではないでしょうか。一人一人が自分の役割の仕事を最大化させることで良いものができる。そう思いたいです。

 

エンジニアである意義とは

f:id:okutaku:20150621020341j:plain

web業界にいると、よくわからない関係が構築されることが多く、一つアプリを出しただけで、「すごい」とか「頑張って、応援してる!」という無味乾燥な 言葉が飛び交います。(中には本当に暖かい言葉あります。本当にありがとうございます。)自己満で終わってもいいなら別として、エンジニアはこの言葉を真 に受けては危険だと毎度感じます。公開してゴールではなく、そこからが本当の勝負だと思います。このご時世、様々なサービスが開発され世に出て、優れた巨 人たちが当たり前のごとく素晴らしいサービスを作り上げています。そのサービスと同じ土俵で戦うことは極めて難しいことです。ユーザーの目は肥えている し、高い操作性・デザイン性が求められます。それらが満足されなければ、自然淘汰されます。エンジニアにとって、ユーザーは残酷です。こちらの意図は決し て届きません。だけど、だからこそやりがいがあると僕は思います。僕は技術もなければ、経験も浅はかなものです。だからこそ、死にもの狂いでやって、ユー ザーに実際に使ってもらって、ソーサルで言えば来ていただいた方に「ありがとう、楽しかった。また来たいです!」と言ってもらえる。発言を改め、ユーザーは正直です。意図はなかなか伝わらなくても、想いは届きます。だからこそ、僕は作り手、エンジニアをしているんだと日々感じています。

幼き頃から、パソコンを分解するほどコンピューターが好きだったとか、プログラミングを生業としているなどではない、大学生から、ちょっとした好奇心でプログラミングを始めて、その魅力に気が付いたからこそ、辿り付いた現状の答えです。

 

これからエンジニアを志す人、すでにかじっている人へ

f:id:okutaku:20150813210032j:plain

上記のよく分からない理由から、エンジニアはチームにいるべきです。全く説得力がなくて申し訳ないのですが、エンジニアではない人とチームを組むことで気づかされることが多いです。本当に。そして、いるチームは念入りに選ぶべきで、合わないチームはそこで学べること・成長の余地がないと判断したら出るべきだと思います。義理も何もありません。無鉄砲なことは言えませんが、生活がかかっている等の理由を除き、僕のような学生であれば、その時間を限りなく自分のために使ったほうがいいと思います。変な提案すみませんでした。

僕の目が節穴なだけかもしれませんが、ITが進んでいるはずの東京ですら、(ちゃんと開発できる)エンジニアは少ないです。しかしながら、プログラミング教育は近年、本当に熱いです。これから、どんどんできるエンジニアが出てくると思いますが、自らがリード・エンジニアとなって、どんどん新しいwebサービスが出てきたら、かなり面白くなると感じています。この記事を見て、何か作ってみたい!と思った方、プログラミングを始めましょう。今からです。

 

長々と暑っ苦しく、支離滅裂でしたが、読んでいただきありがとうございます。

 

ご連絡Twitterで!

twitter.com