読者です 読者をやめる 読者になる 読者になる

クラウドワークス エンジニアブログ

日本最大級のクラウドソーシング「クラウドワークス」の開発の裏側をお届けするエンジニアブログ

クラウドワークスを支える愉快な仲間たち

こんにちは、野村です。今回は趣向を変えて、クラウドワークスを作っているのはこんな人達だよ、ということで、当社開発部門のエンジニアにアンケートを取ってみました。

アンケート配布数は約30、回答数は21でした。

Q1. エンジニア歴は?

f:id:shinichi_nomura:20160624110015p:plain

比較的若いメンバーが多いですね。

ちなみに自分は上記には含まれておらず、20年選手です (。◉ᆺ◉)

Q2. 好きな酒は?

大事な話なので2問目に持ってきました。

  • ビール … 8票
  • 日本酒 … 8票
  • ウィスキー … 4票
  • ワイン … 2票

なんとなくエンジニアっぽい結果ですね。エンジニアっぽいですよね。うん、エンジニアっぽい。

その他の回答

ビール・日本酒・ウイスキー・カクテル・焼酎・蒸留酒

要は酒ならなんでもよいわけですね。

自家製ラム梅酒

一瞬、酒税法的に大丈夫なのかなと思ってしまいました。

Q3. プログラミングを始めたきっかけは?

サービスとか何か作ってみたい系(5票)

売れそうなスマホアプリのアイデアがあったので、自分で開発して売ったのがきっかけです。

実際かなり売れたらしい。

ゲーム系(4票)

ドラクエを作りたいと思いました

作れたんでしょうか。

ほーむぺーじとか(4票)

自分のWebサイトに掲示板(BBS)を置いたのが最初のきっかけ。よくわからないままPerlのCGIを改造して遊んでいた。

あるある。

大学の講義、ゼミ(3票)

研究室で圧縮アルゴリズムをテーマにしたため

ガチのやつですね。

その他

Battle Programmer SHIRASE 面白かった

BPS バトルプログラマーシラセ - Wikipedia

学生時代に手に職をつけないと、使い物にならない人間になってしまうと思ったため

ストイック過ぎますね。

当時営業として売っていたシステムがバグだらけで、これなら自分で作ったほうがマシだと思ったから

やけくそ感あります。

Q4. 将来の夢は?

技術系(3票)

CTO

いいですね、がんばってもらいたいです。

サービス系(1票)

世界最大級のWEBサービス or アプリを作りたい。

クラウドワークスがそうなればみんなハッピーですね。

生き様系

地元の沖縄に帰って、子どもたちにプログラミングを教えながら暮らしたい

沖縄だけで2票入りました。

お金を生み出すプログラムをつくってそれのメンテだけして生きる

エンジニアの夢ですね。

死ぬときに満足して死にたい

結局はこれなんじゃないかっていう。

その他

3日目の壁サークル

難易度がよくわかりませんが、がんばってください。

Q5. 好きな言語は?

Ruby(9票)

やはり、Ruby をメインで使っている会社なので Ruby に票が集まりました。意外性がなくて盛り上がりには欠けます。

始めてRubyを触ったときの「こんなにシンプルに書けるんだ」というワクワク感を今でも覚えています。

なんだかんだ言って、自分の考えたのと近い振る舞いをしてくれる。Rubyインタプリターとか、まつもとさんの考えと、自分のプログラミングの思考ロジックが似ているのかな

JavaScript(5票)

最近人気のJavaScript。順当といえば順当ですね。

ES6以降のJavaScript。なんでもできるし死ぬことないし将来性No.1

Go(3票)

こちらも人気のGo。なにげに当社でも一部で使われているらしいです。

ツンデレ、標準ライブラリが充実しているように見せかけて、「あれ、これないの?」みたいなツンデレ

言語仕様がシンプル、配布が容易、並列化が容易、程よい低レベル感

その他

C, C++, Python, Shell Script, SQL, Objective-C, Swift, Clojure など。

C++:誰も正確な仕様がわからない

Python:流派が出にくく、書き方よりもロジックに集中ができる

Clojure:Lispは宗教です

Q6. 今、一番興味のある技術は?

React(3票)

当社のサービスも一部の画面のフロントエンドのコードが複雑化しているので、このあたりは実務的にも重要度を増しています。

React Native(JSでアプリが作れる、クロスプラットフォーム)

機械学習(3票)

イラストなどにも応用できる技術になってきたため

理由はさっぱりわからないからw

Wit.ai(機会学習をいい感じのGUIでラップして、かなり使いやすい&使ってみて面白かった&かなり使えそうだな、と感じました)

Docker(3票)

当社の開発環境も Docker 化されました。ひゃっほう。

マイクロサービス的に必要なものを外出ししたときの構成の楽さ

実運用はまだまだこれからなので伸びしろがある

フロントエンド界隈のコンポーネント化技術など個別で気にかかっているものはあるものの、Docker 登場時にあったような今一番の興味というのは薄い

ほかインフラ系

  • GAE
  • Heroku kafka

データ解析系(2票)

python・Rを使ったデータ分析(より簡単に高度なデータ分析を行いたい)

設計系(3票)

クラウドワークスのコードベースもチームの規模もだいぶ成長してきて、設計の話題がホットになってきております。

オブジェクト指向プログラミング

デザインパターン(みんなコードの書き方がバラバラだから)

リアクティブ(絶対未来のアーキテクチャはこれ)

その他最近のトレンド系

  • ソラコム
  • IoT(便利に暮らしたい)

Q7. 好きなOSSは?

Ruby on Rails(5票)

やはり人気の Rails。3 → 4 のアップグレードには随分苦労させられましたが…。そしてもうすぐ 5 が出る…。

初めて触った時「こんなに簡単にWEBアプリケーションが作れるの!?」とびっくりしました。

Linux(4票)

趣味の極みだから

初めて出会ったOSS

その他

Chromium(ブラウザの中の動きがすべてわかる)

shoryuken(たまにコミットしてるから)

いいぞもっとやれ。

Hashicorp/TresureData製品(目的が明確、使う側がシンプル、プラガブルな拡張性)

tDiary(Ruby にどっぷり浸かった入り口なので)

Q8. 好きな(おすすめの)本(技術書)は?

UNIXという考え方(3票)

バイブル。

Linux/UNIXの歴史的背景を知りたいと考えて手にとったものの、プログラマーの普遍的に通用する考え方を学べた。

時代を超えた思想

Ruby関連

  • メタプログラミング Ruby(3票)
  • プログラミング言語Ruby(1票)

個人的には、メタプログラミングはほどほどにしていただけるとありがたいなぁとは思います。

JavaScript関連

  • JavaScript で学ぶ関数型プログラミング
  • パーフェクトJavaScript
    • サイ本を読むのが辛い人にお勧め

設計・プログラミング

これからは、このあたりの本をもっとみんなが読むようにしていきたい。

  • 「Clean Code」
    • ソースコードをそこそこ綺麗にかけない人には、ちゃんとした設計はできないというのを改めて思い知らされる本
  • 「達人プログラマー」 / ケント・ベック本 / ワインバーグ本
    • 気づきがあり今の自分に影響与えている
  • 「ドメイン駆動設計」
    • MVCモデルで表現できていない設計の課題の解決策の一つを示している
  • 「7つの言語7つの世界」
    • CやJavaやRubyなどの有名な言語だけが電脳言語ではないんだぞ!ということに気づくかせてくれ、エンジニアとしての世界が広げてくれた一冊です

開発プロセス・哲学

  • 「アジャイルサムライ」
  • 「人月の神話」
    • 聖書である。実践すると上手くいく・でも実践されないという両方の意味で
  • 「ハッカーと画家」
    • ただし積読状態 ←

その他

  • 「マスタリングTCP/IP」
    • 低レイヤーの話大事だと思います
  • 「プログラミング言語C 第2版 ANSI規格準拠」
  • 「Web標準の教科書」
    • 自分が本格的にウェブについて学び始めたきっかけとなった本)

Q9. 好きな(おすすめの)本(技術書以外)は?

技術系(技術書ではない?)

  • 「ハッカーと画家」
    • 苦しかったSIer時代に、本物のエンジニアの生き方を示してくれた私の2大バイブルです
  • 「エンジニアとしての生き方 〜IT技術者たちよ、世界へ出よう!〜」
  • 「考える脳 考えるコンピューター」

ビジネス書

エンジニアは、もっとビジネス書を読むべきだと思います。

  • 「まず、世界観を変えよ」
    • これからの世界の原理を示している
  • 「考える技術・書く技術」
    • 良い文章を書くにはどう展開していけば良いかがわかる
  • 「採用基準」
    • リーダーシップについて書かれている本で、自分が仕事をする上での価値観を形成してくれた本
  • 「ZERO TO ONE」
  • 「30秒で人を動かせ!」

自己啓発(?)

  • 「自分のアタマで考えよう」(2票)
    • 読み終えた頃には多くの方が如何に自分が考えていなかったのか、気づきがありました
  • 自伝【フランクリン、チャップリン、ヘレン・ケラー、ファインマン】
    • それぞれの人の考え方、生き方が面白く生きる勇気をもらえる
  • 「夢をかなえるゾウ」
  • 「金持ち父さん貧乏父さん」

小説

  • 「人間失格」(座右の書)
  • 「黒後家蜘蛛の会」
  • 「GO」「ゆれる」「ご冗談でしょうファインマンさん」

その他

  • 「完全教祖マニュアル」
  • 「バガヴァッド・ギーター」

Q10. 趣味は?

開発系(4票)

dotfilesいじり

いい感じにマニアックですね。

スポーツ系(3票)

うち自転車が2票、自分も入れると+1票です。自転車最高。

文化系

  • アニメ(3票)
  • 旅行(3票)
  • マンガ(2票)

ベイスターズ

インド音楽

インドア系

  • 料理(2票)

なごみ系

  • 日向ぼっこ
  • 子供を抱っこする

Q11. 休日の過ごし方は?

家庭系(5票)

当社のエンジニアは既婚者が多いです。みなさん家庭円満のようで何よりです。

子供のお世話をする

嫁さんと買い物

引きこもり系(7票)

アニメを見ているか何かを作っている

プログラミング

バランス系

マンガ、バイク、彼女と過ごす、自分の好きなコードを書くこと

開発メンバーの有志で麻雀をします

自分もこのメンバーの一人です。

廃人系

Q12. エンジニアとして大切にしていること

成果、ユーザー、プロダクト

ここに回答が多く集まったことが、結構嬉しかったです。やはり、「自分が作ったものがどういう価値を生み出したか」、最終的にはこれに尽きるのではないでしょうか。

  • 事業貢献に繋がる成果を上げること
  • すぐに動くものを作ること。早めに画面を見せてフィードバックを得ること。
  • 素早く価値を生み出すこと。自分が楽をするために、コスパ良く努力する。
  • 最小のアウトプットで最大のユーザー満足を得られる方法をとことん考える。
  • とりあえず実現できる方法を考える
  • 現実とのバランスを取りつつ、手を抜かないこと。
  • UXを常に意識する
  • ユーザー目線、一貫性、堅牢性、運用まで見通した設計
  • 意識は低く、クオリティは高く

視野、視点

これも大切なことですね。

  • 未来を見通して最適プランを考える
  • 今流行りの技術だけに固執しないこと
  • 全体を見ること。未来を見ること。
  • 未来を想定して、トラブルを減らす努力をする
  • 「面倒くさい」ことに敏感でいつづける。

好奇心、挑戦、成長

エンジニアの成長の源泉はここにあると思います。日々新しいことをやってみる。

  • 挑戦すること
  • 好奇心に忠実
  • 興味持ったものは何でも触ってみる
  • Keep looking, Don't settle.

設計、プログラミング

  • ものはシンプルに作る。 理解していないコードや設定などは使わず、必ず自分が納得するまで理解してから使う。セオリーに従う。自分では極力タイピングしない。
  • やっぱりコードを書くことですかねぇ
  • 設計やコードの美しさ

Q13. テンションあがる瞬間・思わず笑顔になる瞬間

「成果、ユーザー、プロダクト」と「設計、プログラミング」に真っ二つに分かれました。深い。両面あるのが、「プログラミング」が最高に面白いところだと思います。

成果、ユーザー、プロダクト

自分が作ったモノが喜んでもらえた時

  • 言われてないことをやって成果が出たとき
  • ユーザーからのポジティブなフィードバックをいただいたとき
  • 誰かに喜んでもらえた時
  • 納得できるコードによって要件が満たせたとき。ユーザーの満足が感じられたとき。
  • サービスのユーザーやチームメンバーが喜んでいる時。
  • ユーザーからの問い合わせが解決して喜んでもらえた時

設計、プログラミング

自分の考えた機能が思い通りに動いた時。それをパッケージ化してひとまとまりに出来た時。ワンストロークでもタイピングを減らして、気持よく作業ができるようになった時。

  • きれいなコードが書けた時
  • ロジックをキレイに整理できたとき
  • 苦しめられ続けた問題・不具合の原因が判明して、解消したとき
  • 難しかった実装がちゃんと本番で動いたとき
  • コードを仕上げたとき
  • 笑って流せるバグ・やばい処理に出会った時
  • ひどいコードを見たとき

成長

出来なかったことが出来るようになった瞬間、動かなかったコードがちゃんと動くようになった瞬間、新しい言語でサクサクコーディング出来るようになった瞬間、問題を解決出来た瞬間

  • 効率のよい作業の仕方を教えてもらったとき

その他

  • 運動してる時、お酒飲んでる時、プログラミングしてる時
  • 「その発想はなかったわ(はーと)」という反応が返ってきた時

阿澄佳奈がラジオに出ていたとき

ベイスターズが勝った時

Q14. イラッとする瞬間・帰りたくなる瞬間

常に帰りたい

この質問は、どちらかというとプログラミングそのものよりも、「仕事」に票が集まりました。

人、コミュニケーション、仕事

  • 一方的なコミュニケーションをされたとき
  • やり方を押し付けられたとき
  • 何かを押し付けられる瞬間
  • 手段と目的を取り違えてる時
  • 目的のない依頼
  • ときどき来る謎のデータ取得依頼
  • どう考えても無意味・無益な仕事をさせられているとき。
  • 仕事を「やらされているな」と感じる瞬間。行き帰りの満員電車の中。
  • 遅い時間に発生する差し込み対応
  • ミーティングばっかりの日とか。
  • 絶対破綻が見えていることを大見栄切って進められているのを見た時

遅い

  • 単体テストかエディタかビルドが遅いとき
  • テスト、デプロイ、等の処理が遅いとき

設計、プログラミング

  • 理解できていない物を使っていて、謎のエラーに遭遇し、解消に時間が掛かった時。面白くない同じ作業を繰り返し行っていた時。覚えづらいキーマップを設定して、何度も忘れてしまう時。実装に対して妥協が多くなっていった時。
  • 'CONFLICT'という単語が大量に出力された瞬間
  • ひどいコードを見た時、進捗が悪い時
  • 怪我した時、ふと酔いが覚めた時、エラーの原因が全然把握できない時

あなたにとって「プログラミング」あるいは「開発」とは?

仕事であり、趣味(9票)

これこそが「プログラマ」という職業の最大の醍醐味だと思います。楽しむ。楽しむからこそ成果が出る。

ということで、クラウドワークス開発Div.の組織コンセプトは「エンジョニアリング」となっております。

趣味。お金を稼ぐ手段。素晴らしい原理原則の集まりで、学び飽きないもの。

日常の一部

アニメとピアノに次ぐ趣味

仕事であり趣味であり没頭できるもの

何かを実現するための手段

世の中に対して、いままで存在しなかったものを作り出すこと。

  • 色々最適化するための技術。
  • 人手では対応できない規模までスケール可能な価値を生み出すこと
  • アイデアを実現するもの。自分にとってアイデアを出すことより実現することのほうが好きなので、「プログラミング」「開発」は非常に大事です。

ある意味それ自体が目的

  • 課題に対するクリエイティブな探求
  • RPG で言う所のバトル
  • 大変だけど楽しいもの
  • 試練
  • 彫刻

Q15. 当社のエンジニアブログ、ぶっちゃけどう?

よい、がんばってる(10票)

エンジニア個人の趣味・趣向が垣間見れて面白い

今ぐらいがちょうどいいです

ネタがない、大変(4票)

それなりにいいと思いますが自分はネタがないです。

もっとがんばれ(2票)

「クラウドワークス」という会社の内情を伝えるには深みが足りない

デザインがいけてない(3票)

  • デザインをどうにかしたい
  • デザインどうにかしたい
  • デザインがイケてない

(。◉ᆺ◉)

その他

We're hiring って毎回入れなきゃダメなの?そんな毎回募集に繋がるようなまとめは書けない。

We're hiring

当社では、「こんな仲間たちと一緒に働きたい!」と思ってくれるエンジニアを求めています!

© 2016 CrowdWorks, Inc., All rights reserved.