シリコンバレーでWebサービス開発

silicon valley / development / ux / dailylife

シリコンバレーのスタートアップにて、3ヶ月のインターンを終えて

3ヶ月間、シリコンバレーのスタートアップで、エンジニアとしてインターンをしてきました。 振り返りも兼ねて、感じたことをまとめます。

f:id:matsuki0228:20171230194336j:plain:w250

仕事について

派遣先の企業は、昨年創立され、4人メンバーで構成されるスタートアップで、 サーバーサイドのエンジニアとして、python/Djangoを中心に開発を進めました。 もちろん、メンバーには日本人はいないので、すべて英語で会話でしたが、業務をする上ではそれほど支障なく進めれました。 (できるだけコードベースの会話、プロトタイプを作って見せる、などの工夫でなんとかなりました)

エンジニアとして違い

日本との比較というより、自分に足りていないと感じたところが中心です。

1. ゴールに対するアプローチとしての技術

無意識に、エンジニアとして、新しい技術/ツールを取り入れることがすごいと思ってしまっていたところがあり、シリコンバレーのエンジニアはその点がすごいと予想していた(いかに技術を取りいているか)。しかし、実際に業務をする中で、技術/ツールを取り入れることがゴールではなく、ビジネス上の課題をいかに達成するかを求める力が高いと感じました。 また、達成しやすくするための方法・手段・開発の進め方を体感しました。(必要ないものは作らない、必要が生じたら効果的な技術を探して使う、保守コストが低くなることを意識して開発する、など)

2. 方法だけではなく、理論が備わっている。

具体的には、プログラムをどう書くか(=方法)だけではなく、どうしたら効率的かもっというと数学基礎など科学的な基礎がしっかりしている(=理論)点。 たとえば、アメリカのIT企業の面談では、技術的試験で情報基礎を問われる(たとえば、このソートアルゴリズムをこの言語で記述しながら説明してくれ、など)こともあり、理論が備わっている人が多いのかなと感じた。

仕事の進め方

1. 日本でのやり方をきちんと実践できれば通用する。

例えば信頼感を得るために、早めに成果を自分から発信していくと、ある程度自由に仕事を進められるようになった。 一方で、日本でも大事だと思われていることをしっかり実践できている人が多いと感じ、基礎の徹底が大事だと実感。

2. 環境は大切。

日本と変わらない点もあるとはいえ、シリコンバレーにいるエンジニアのレベルは高く、すごいエンジニアに囲まれて生活することは大切だと実感。 自分のスキルアップや意識向上に非常に良い影響があり、成長速度が違うと感じた。 また、意識さえ変えれば、日本にいても成長できるとも感じた。(わかりやすく言えば、英語で技術動向を探せば大抵の知識が得られる・意識的に収集して引き出しを作っておく大切さ、とか)