LINE2014.05.27GWを挟んだり、風邪で倒れたりでちょっと間が空いてしまいました。有言Lab」という10週間でプロダクトを作るというプロジェクトでアドバイザー的なことをやってまして、まだシードスタートアップで偉そうなことは言えないんですが、まー技術者だし、皆さんに一番近い位置でやってるしいいでしょ的なノリでやってます。いえ、新しいスタートアップが立ち上がる瞬間を見るっていうのは楽しいですね。この前もStartupWeekendTokyoの謎の見学枠というのをもらって楽しく勉強させてもらいました。思ったんですが、スタートアップのビジネスのメンタリングって色々な場所でやってるのに、それを作る技術側のアドバイスを受ける場所ってないですよね。シードスタートアップのCTOってフルスタック以上の要求をされるのに、誰かに聞ける場所がないので、困っちゃいますよね。いう訳で、これからシードスタートアップのCTOっぽいお仕事の話をゆるゆると書いていこうかなと思います。シードスタートアップのCTOってどういうところに注意すればいいの?っていうところから書いていきますね。私の一意見なので、参考程度に。今と未来を考慮した設計シードの場合、まだキャッシュが少ないので大きな開発体制は組めませんし(場合によっては1人で開発したり)、大きくコストをかけてインフラを組むことは出来ません。大きくなるスピードは速い(スタートアップは成長が速くないと意味がないので速いと考えておく)ので、大きくなる未来を見越しつつ、今現状どうするのが最適かという観点で体制やインフラ設計を考えます。インフラはテレビやYahooトップなどに出て突然アクセスが増えた場合を想定し、スケーラブルなAWSなどのクラウド環境を使う。smallインスタンスなどを使って最小構成にし、普段のコストは抑えておく(リザーブドにするのはもっと後。オンデマンドで様子を見る)採用では、給与が低いからといって初心者を正社員採用してしまうと、後々開発について来れなかった時にごめんなさいも出来ず、お互い不幸になってしまうので、キャッシュや開発量、自分で書いた場合のスピードなどを考慮しながら、テンポラリなリソース(フリーランスやクラウドソーシングなど)に適宜お願いする変化に対するコスト後は、今後拡大し続けるに当たって、変化する部分のコストを見積もって、変化のコストが大きそうなところは予め小さいうちにやっておき、変化のコストが小さそうなところは今のスピードを優先させます。変化のコストが大きいので、やっておいたほうがいいこと言語、フレームワークテストの網羅性テーブル設計などの基本的なドキュメントまず「言語、フレームワーク」ですが、よくあるのがファーストローンチを急ぐのでとりあえず自分が出来る技術で作ってしまおうという考え方です。一度ローンチしてしまうと以降ひたすら追加開発フェーズに入り、気づいた時にはリプレースは不可能な状態になりますし、リプレースコストが非常に高くなります。ここは前回書いた「エンジニア採用から考えるスタートアップの技術選定」も踏まえて慎重に検討しましょう。ちなみにリプレースコストに比べれば、自分の学習コストのほうがよっぽど低いです。テストの網羅性やドキュメントなどについては、継続開発では必ず必要ですよね。こちらも外注や増員した際のキャッチアップコストやテストコーディングなど考えるとなるべく小さいうちにやっておいたほうがいいですよね。いえ現実難しいところもありますが。変化のコストが小さいので、後で考えればいいことプロジェクト管理ツールコミュニケーションツールその他開発まわりのツールこの辺りは、今どれがやりやすいかで選んじゃっていいと思います。後々移行するのもそんなに難しくないですし、開発体制の規模によっても最適なものって変わると思うので。後々面倒そうだなーって感覚でいいんですが、そういうものはなるべく最初に片付けておいたほうが精神衛生上もいいと思います。上記のことを推し進めていく際に、やはりCEOの理解が必要になってきます。スタートアップだと非ITから来られてITで起業される方も多いと思うので、開発がどういうもので、どういった形で進んでいくのか、経験がない為分からないという方も少なくないと思います。githubなどの開発特有のサービスにかかるコストだったり、TDDでの開発の重要性など、「なんでそんなにコスト(時間も)がかかるの??」と思われたり。今後エンジニアが増えていく時にそこで衝突が起きないように、最初は丁寧に説明していって、開発がどういったものかを理解してもらうことが非常に重要なポイントになってくると思います。エンジニアの価値観も普通の人からするとかなり理解しがたいと思うので、じっくり説明していきましょう。これらですが、全て私が出来ていた訳ではなくて、私も何個か失敗したりもしていて、今後悔してるところも含まれています。冷静に考えればそうなんですが、必死にやってると「あーあれやっとけばよかったー」というところは結構出てきますよね。シードスタートアップのCTOの方やこれからやってみようかなという方で困ったことがあるようでしたら、こういった成功・失敗談もお話出来ると思うのでお気軽にコーヒーミーティングなどでお声をかけてもらえればと思いますー。管理画面AdventCalendar20日目の投稿です。昨日の投稿は末永さんの管理画面あるある(と、その対処)ということで、まとめ感のある素晴らしい投稿でしたね。(さすがに20日目になるとネタ被らな...2014.12.21Webサービスそれ、開発しないほうがいいですようちの会社が開発会社なのと会社名からちょいちょいサービス立ち上げの相談を受けます。そこでどういったサービスを立ち上げるのかなど色々お伺いしていくんですが、結構な確率でお断りすることが多いんですね。前回に引き続きシードスタートアップなお話です。今回はインフラ関連なんですが、個人的にAWS一択なので、AWS前提でシードスタートアップなインフラをどう作るかを書きたいと思います。その前になぜAWS一択かというところについて。2014.06.05マネジメントマネジメントは会社じゃなくて自分の為にやるもんですよエンジニアがどんなに技術力をあげたとしてもせいぜい数人分のパフォーマンスしか出せない。人を育ててチームを育てる技術を身につければそれを何十倍にも出来る。マネージメントってそういうことだよ。Balancing便利ですねー。何が便利かってSSLをロードバランサーに設定出来るんですね。いちいちインスタンス側に設定しなくてもすみま...2012.09.29スタートアップフリーランス辞めてスタートアップに入ってみたよお久しぶりです。最近めっきりブログ更新出来ていなかったので、今回はリハビリ的な投稿です。コメントをキャンセルメールアドレスが公開されることはありません。最初の会社を1年程度で辞めるようなエンジニアは採用されない「プライベートで勉強」というワークライフバランスの。