はてなキーワード: ペアプロとは
みなさん、こんばんは。
「Merpaku Frontend Engineer Meetup」の時間がやってまいりました。
今夜は、著名フロントエンドエンジニアの方々にお集まりいただき、「2020年のフロントエンドJSフレームワークを考える」と題しまして、お話をお伺いいたします。
ま~、僕の場合はね、海外の技術情報をチェックしてるんだけど~
今のフロントエンドはさ~、なんちゅ~の?
あの、Frontend Engineerの友達がベイエリアとかにいるんだけどね~、いつもSlackで現地のトレンド情報を送ってくれるんだけど、よく調べると、ま~あの、銀の弾丸はない、結局はトレードオフ。
C:あ、ちょっちょっといい?
あのね、僕~はやっぱりjQueryが一番いいと…
A:でもね、僕なんかなんちゅうの、海外のカンファレンスに参加する機会がすごい多いわけ。ね?
この間もUSやUKまわってきたんすよね。
そこで一番感じたのはですね、銀の弾丸はないけど、結局はトレードオフというのが一番感じたなぁ~
B:う~ん、キミとはちょっと違うんだよね。
僕は英語がわかるでしょ~?
だから勉強会なんか、登壇してくれって何度も頼まれてね、断ってるんだけど、まぁ、だいたいよく調べてみると、銀の弾丸はない、結局はトレードオフっていう。
C:う~ん、でもね、やっぱり僕はjQueryが…
そうじゃなくてさぁ、僕なんかは1日にね、1日に8時間コード書きまくって生活してるわけですよ。
そうすっと、すごいよくわかるのは、銀の弾丸はない、だけど、結局はトレードオフっていう感じだなぁ~。
僕はいいね数5万個だよ?5万個ついてんだよ?それも「先週いいねが多かった投稿ベスト20」ばっかりよ?
で、だいたいよく調べてみると、銀の弾丸はない、結局はトレードオフなんだよ。
C:あ、ちょっと言わせてもらうとね、僕なんかやっぱりね、jQueryがやっぱりいいなと…
A:あのキミ違うよ、だってさぁ、Watchのレポジトリ数なんか言ったら、8万ありますよJS。
それをさぁ、全部動かしまくって感じんのは、はっきり言って、銀の弾丸はない、だけど、結局はトレードオフ。
B:んはっ、僕なんかね、キミとはちょっと違うんだけどね、懇親会で質問したりとかね、ちゃ~んとフロントントエンドの話して聞くとですね、銀の弾丸はない、結局はトレードオフなんだよね。
C:っといいですか?
フロントエンドを理解するためにはさぁ、アーキテクチャと切り離せないと思うわけですよ。
ね?聞いてる?
ね、ほら僕は今、自作ライブラリ開発してますよね?TypeScriptの、ほら?
だから、そういうふうに、日常にアーキテクチャを取り入れることからね、フロントエンドを考えると、銀の弾丸はない、だけど、結局はトレードオフと言い切れると思うわけよね。
B:ちょっと待ってよ、は~キミとはちょっと違うんだけどね、技術顧問先なんか行くとね、全部僕がWebpackとか、CI環境とか、み~んなレビューするんだよ?ペアプロするんだよ?
そうやってコミュニケーションしてね、でフロントエンドは銀の弾丸はない、結局はトレードオフなんだよね。
C:やっぱアーキテクチャだったらね、Backbone.jsじゃな~い?
A:なんかおかしいんじゃないの~?
え~、今度Abema Towersでフロントエンドのカンファレンスの運営サイドもします。
ま、そういう世界にいてですね、はじめてフロントエンドがよくわかると言い切れると思うんですよね。
だから、そういう言い方からしてもね、銀の弾丸はない、だけど、結局はトレードオフと僕は思うわけなんですよ。
B:違~うちょっと、僕はね、キミとちょっと違うんだけどね、僕なんかね、今度フルタイムのOSS開発やんだよ?しかもWebAssemblyよ?
そうやって実際にOSSを作ってみてね、銀の弾丸はない、結局はトレードオフ。
A:…
B:…
A:ちっ
B:ちっ
A:だからさぁ!!!WebAssemblyがどうしたか知らないけどさぁ!!!
僕ね、今度Google Japanに頼まれて、六本木ヒルズでキーノートやろうかどうしようか迷ってる自分がここにいるわけ。
B:だけどね!!!
A:来場者は1万人だよ!!!
B:それはね!!!六本木ヒルズがいくつあったって1万人がね…
B:六本木ヒルズがね、どうやって…
B:jQueryが…
A:そういう真剣勝負をさ、実力を持ってるところから、もの見てごらん!?
B:違うんだよ!!!
B:ちょっと違うんだよ!!!
時間 | 記事数 | 文字数 | 文字数平均 | 文字数中央値 |
---|---|---|---|---|
00 | 164 | 16763 | 102.2 | 36.5 |
01 | 144 | 11627 | 80.7 | 38.5 |
02 | 120 | 6912 | 57.6 | 21 |
03 | 36 | 10738 | 298.3 | 33.5 |
04 | 8 | 1250 | 156.3 | 55.5 |
05 | 15 | 1734 | 115.6 | 44 |
06 | 17 | 1423 | 83.7 | 33 |
07 | 47 | 5429 | 115.5 | 44 |
08 | 73 | 8700 | 119.2 | 45 |
09 | 82 | 7630 | 93.0 | 46.5 |
10 | 142 | 13032 | 91.8 | 28 |
11 | 191 | 8664 | 45.4 | 27 |
12 | 166 | 11824 | 71.2 | 32 |
13 | 106 | 13333 | 125.8 | 33 |
14 | 98 | 9602 | 98.0 | 32.5 |
15 | 102 | 4828 | 47.3 | 27 |
16 | 109 | 10618 | 97.4 | 43 |
17 | 140 | 12931 | 92.4 | 48 |
18 | 182 | 18679 | 102.6 | 36 |
19 | 143 | 11461 | 80.1 | 39 |
20 | 109 | 10161 | 93.2 | 44 |
21 | 83 | 8230 | 99.2 | 38 |
22 | 133 | 14270 | 107.3 | 27 |
23 | 144 | 17946 | 124.6 | 52.5 |
1日 | 2554 | 237785 | 93.1 | 36 |
CHINTAI(13), 十三機兵防衛圏(5), 種馬(8), cyclocross(4), webself(7), ペアプロ(4), 成人の日(4), ペアプログラミング(3), kijken(3), ごくろうさん(3), directo(3), いちおう(9), レ(16), イラン(10), 好きだ(7), ラップ(11), バック(17), 2020年(9), 性差(6), 原爆(7), 🐕(7), カット(12), すこし(11), アレルギー(9), 飼っ(10), 出かけ(8), 猫(46), 不動産(7), おもう(29), 投資(15), チーム(12), 投げ(13), ブサイク(13), .net(11), AI(13), 最低限(11), 育てる(9)
■バックレ依存症なので人生がつらい /20200112043844(31), ■猫と和解せよ。しかし猫と妻は和解できなかった /20200112010006(28), ■大人で1000円カットを使う人間がいると知ったのは衝撃だった。 /20200111230355(23), ■anond:20200112043844 /20200112130927(11), ■クレーマーって(追記) /20200112104952(8), ■ /20200112190738(8), ■妻が娘を連れて実家に帰ると言ってきた。 /20200110233040(7), ■香川ゲームの規制で儲かるのは誰か? /20200111093440(7), ■中井貴一はミキプルーン /20200112085204(6), ■中学受験に見る一都三県格付ランキング /20200112184018(6), ■ /20200112001647(6), ■就職氷河期突き破って闘ってきたけど、もう疲れた。泣きたい。 /20200111024952(6), ■応援するスポーツチームが無いあなたへ /20200111222432(6), ■自分は心の病気なんだろうか。 /20200112225324(5), ■やたら特攻とか原爆に拘る人って何なの? /20200112000238(5), ■ボールペンと筆ペンどう違うんだ /20200112002552(5), ■成年後見人になってはいけない…と弁護士は言った。 /20200112035019(5), ■キモータが容姿に気を使わない理由 /20200112103802(5), ■肉を焼く前に常温に戻す工程って /20200112130400(5), ■唇が痺れる /20200112144347(5), ■バズる記事を書きたい /20200112202058(5), ■おでん三つだけ選ぶとしたら /20200112204125(5), ■なんで日本ではラップが流行ってないの /20200109114755(5)
知り合いと飲んだら、過去の私と同じような状況であの日々を思い出して吐き出したくなった。
当時私が参加していたチーム・プロジェクトは美味しそうなFWを使っていた。
サーバサイドのエンジニアは片手ほどの人数で、採用時点でそのFWの経験があることを確認されていたし、別チームから転属してきたメンバーも何らかのMVCでWSGIなFW経験があり、わりとサクッと順応していた。
前職では業界未経験だったり、経歴を盛っていると思われるエンジニアもどきと仕事していたので、普通に公式ドキュメントを読み、FWのソースコードを確認することができる同僚との仕事はおもりがなくなったようで気楽だった。
3年前の夏、サーバサイドのチームに新人のN氏が加入した。新人と言っても別チームから来た年上の業界経験豊富なインフラエンジニアである。
別プロジェクトのクラウド化や縮小が当時の1年半ほど前から進んでいて、社内のインフラエンジニアはSREに名前を変えるような流れがあった。(実際にはインフラ、ミドルウェア、ネットワークに長けた彼らは相変わらずそれなりに仕事があったようだが)
その流れの中でN氏は、サーバサイドエンジニアをしてみようと決めたらしい。転向については1年前から部長に相談していたとのことだった。しかも、うちのチーム名指しで。これはちょっと嬉しかった。
さっそく、N氏には社内向けの新機能を担当してもらい、私がレビュー担当になった。
これがなんというか読むのが辛かった。確実に言えるのはチュートリアル絶対やってないということだった。
機能は満たすが、FWの書き方やお作法については部分的にググった結果がパッチワークされているような。
社内の各チームのアーキテクチャはエンジニアならだれでも知っていた、つまりN氏は知っていながら特に準備なしでやってきたわけである。
そこから始まる、レビューを通した実プロダクトを使ったチュートリアル。褒めるとこは褒めて、受け入れられないところは参考になる実装やドキュメントを提供する。
はじめからチュートリアルを一緒にこなした方が良かった。レビューで大幅に書き換えてもらうのは結構辛い。勿論プロダクトに使えるレベルのコードじゃないから仕方ないんだけど。
しかもN氏、臭いのである。脂汗を吸った服、毎日履いてくるジーパン、脱いだのが瞬時にわかるほど臭う靴。
当時は Visual Studio Live Share なんて無いし、ペアプロは5分で限界だった。
がっつり書き直しが入るようなコードの卒業には2ヶ月ほどかかった。(これは私が時間を十分にとれなかったのも悪かったし、N氏は前のチームの引継ぎ作業も並行していたので)
もう、色々思い出して悲しくなったから書いとくと
ちなみに知り合いのところは、最近の天気のせいなのか生乾き臭マックスの縁故入社の新人とのことで、当時彼にしてもらったように「ガンバ」と背中叩いておいた。
N氏は今も臭っているようだが今は別プロジェクトだ。スキルセットが増えている分、頼れるエンジニアに近づいたのかな。喉元過ぎればなんとやらで、忘れていた。
最近は私が別チームからの支援できた若手のフロントエンドエンジニアにレビューしてもらっている。
チュートリアルこなして、書籍や記事を読んで手を動かしたうえで相談をしながら実装を進めている。あんまりなものは見せられない。
ほぼ愚痴です。
エンジニアなんだけど、ひどい同僚がいる。
酷い点を挙げればキリがない。当人が何も生み出さないだけならまだしも、他のメンバーの生産性まで下げるので、非常に手を焼いている。
インターンなりエントリー/ジュニアレベルであれば教育すれば良いだけなのだが、経験豊富なベテランという触れ込みでやってきてそれなりの給与をもらっているからタチが悪い。
一度もプレーせずに長年プロサッカー選手として生きたブラジルだかのおっさんのように、きっとこれまでも口の上手さであちこち渡り歩いてきたのだろうと推測する。
奴が入ってきて1年ほどになるが、上司は気づいているし、一緒のプロジェクトで働いたことのある他のエンジニアも皆気づいている。クビにするなり何なり手を打つように直談判すべきか。
自分より優れたるものを自分の周りに置きし者ここに眠る。カーネギー
できる人ばかり辞めていく会社が研修費用を出すようになったら、さらに退職が加速したというお話「人事に聞かせたい」 - Togetterまとめ
「従業員にトレーニングをして、よそへ行ってしまったらどうするのか」という疑問に対するStanger氏の答えは、「従業員にトレーニングをしないで、彼らが会社にとどまってしまったらどうするのか」ということになる。
従業員の才能を爆発させるには「会社に人を長く留める」戦略を捨てる必要がある
ttps://b.hatena.ne.jp/entry/s/gigazine.net/news/20171005-superboss/
「弱いつながり」理論でいうと、SNSでつながる友だちは、それこそFacebookの友だちが3,000人規模で、国内のスタートアップの経営者なら、たいていの人に直接または1hopでつながることができる。
ttps://s.nikkei.com/2vJsvYx
優れたマネージャーは自分より高い給与をもらう可能性のあるポテンシャルの高い部下を喜んで雇う
ttp://b.hatena.ne.jp/entry/www.masafumiotsuka.com/2015/11/the_peter_principle.html
人材は会社の資産として残らないが仕組みは会社の資産として永遠に残る
ttps://www.amazon.co.jp/dp/B010JM64M6/
ttps://employment.en-japan.com/engineerhub/entry/2019/11/07/103000
ttps://www.slideshare.net/yattom/ss-79372905
ttps://tinyurl.com/y8tkhuhz
ttps://bit.ly/2MylBjs
"競争優位につながるような戦略的なソフトを開発しようとするなら内製しかない。"
ttps://www.amazon.co.jp/dp/4822273784
ttps://medium.com/@kuranuki/aac6062adfb2
どの部分を汎用的につくり、どの部分をやっつけで作るか、そして、どの部分をパフォーマンス優先でつくり、どの部分を可読性優先でつくるか
(中略)
ソフトウェア開発とは、経営的意思決定の集積なのだから、経営的意思決定を外部の会社に委託するというのは、「経営を外部の会社にやってもらうようなもの」だからだ。
もっと言うなら、自分の会社の今後のビジネス的ポジションを、他社に決めてもらうようなものだからだ。
外注を出された会社は、そのソフトウェアが未来に実現するであろうビジネス的価値を犠牲にして、できるだけ少ないコストで作ろうとする。
ttp://fromdusktildawn.hatenadiary.jp/entry/20061003/1159869683
ttps://bit.ly/2JzCggZ
「ソフトウェア業界(特に受託開発業界)は、基本的に正直者が馬鹿を見る世界である。顧客が、保守性というソフトウェアの最も重要な品質を正しく評価できないという、情報の非対称性が存在するからだ」/分かるなぁ
「モダンな開発環境×技術顧問×内製化」Sansan×日経電子版 アプリ開発の最前線を語る夜
ボタンを1つ追加するだけで2週間。内製化によるスピードアップは必須だった。
「アプリ内にボタンを1つ追加するだけで、2週間の開発期間と、数十万円のコストが発生していました。それでは急な仕様変更に対応できないし、技術ノウハウも貯まらない。」
ネットサービスの肝は、開発にかける額の多寡というよりは、内製化するかどうかにあると思っています。
ローンチした後、そこからの追加・改善はものすごいスピードでやらなくちゃいけない。これは、内製体制でないと絶対に不可能です。
2017年1月、ネット証券大手のマネックス証券は証券基幹システムを刷新した。
お客様へ提供するサービスの開発スピード向上と、ノウハウの社内蓄積、開発コストの適正化を目的に、
(中略)
サービスの改善や新サービスの開発時に、ASPサービスの提供会社との会議に費やしていた時間を削減し開発のスピードアップを図ることで、競合他社への競争力を強化したいと考えました。
ttp://b.hatena.ne.jp/entry/s/quality-start.in/it-strategy/467
ttps://twitter.com/kanayang2009/status/129677947572465666
ttps://amzn.to/2ncDXrO
だから育てるんだ。
ABテスト デザイン OR ボタン OR 文言 - Twitter検索
外注でもA/Bテストでユーザの反応を計測してトライ・アンド・エラーでシステム開発ってできるもんなんだろうか。
できるとして、それって内製化した方がずっとクオリティ高くなるんじゃないの?
ttps://twitter.com/fromdusktildawn/status/874796380522336256
「外部委託すると細かい継続的な機能の改善が遅くなるので、自社採用でかなり優秀な人材をケチらずに採るべきだね。なかなか見つからなくても妥協せずに」ホリエモン
ttps://bit.ly/2QWMsoJ
外注はPDCAを回せないという致命的な欠点がある。ITスタートアップの感覚だと外注と内製には天と地ほどの差がある
ttps://bit.ly/2J5UCWQ
銀の弾丸ではないがリーンな開発は競争力の源泉。そのためにはPMFをコントロールできる開発チームが必須でそれは内製でしか達成困難。
ttps://bit.ly/2vkDd8E
正解に当たるまで回し続ける!3ヶ月で200回のA/Bテストから得た「意外な結果」とは
弊社のイベント一覧のページなのですが、単なるテキストの羅列のパターンと、リッチなレイアウトのものでテストすると、いつも必ずテキストの方が勝ちます。
海外テック情報局:eBayではダサいデザインのほうがコンバージョン率が高かった|gihyo.jp … 技術評論社
デザイナと口論したいのではなく,見たいのは数字とお客さんの利用例。
そして何がうまくいっているのか突き止めたい。
選択の科学 24種類のジャムを売り場に並べたときと、6種類のジャムを売り場に並べたときでは、前者は、後者の売り上げの10分の1しかなかったのです。
ttps://amzn.to/2I2V1O4
エンジニアでないファウンダーは最大一人まででお願いします | On Off and Beyond
理由1:変更につぐ変更を重ねられるようにする
最近 lean startup なる考え方がはやってますが、これはどういうことかというと、
東大合格者ランキングは正しいのか?――常に分母は何かを考えよ
何事にも閾値はある。そこに至らなければ、意味がないという数字だ。
「頭のいい人が成功しない理由」という本に、閾値の話があった。
だれもが中途半端にやめてしまう。それでは足りない。閾値を越えない。
ttps://ameblo.jp/chimu841/entry-10036171360.html
ttps://amzn.to/2Odv25b
①内製
②外注
フラクタルなレモン市場問題|建築不動産クラスタ交流会の件その1
ttp://realtor-readyabooks.hatenablog.com/entry/20100515/1273919457
ttp://ledsun.hatenablog.com/entry/2016/02/28/014851
ttps://ja.wikipedia.org/wiki/情報の非対称性
ttps://ja.wikipedia.org/wiki/逆選抜
ttps://ja.wikipedia.org/wiki/取引コスト
「探索コスト」
時給制(時間を売る)が生産効率低いのって自明だよなぁ・・相当ボランティア精神ないと時給制で効率よくやろうって気持ちにならないよね
でも拘束時間で金額を決めてしまっては効率化を目指さなくなるんじゃないか
ttp://b.hatena.ne.jp/entry/b.hatena.ne.jp/entry/194800390/comment/redhornet96
ttp://b.hatena.ne.jp/entry/twitter.com/etomiho/status/872820182883762176
ttp://b.hatena.ne.jp/entry/twitter.com/etomiho/status/872822997106565120
ttp://getlife.hateblo.jp/entry/2013/09/10/015011
見積もりが人日で工数を計算していると、実際にはそれよりも短期間で実装できても見積もり日数になるまで納品を待ったりすることはある。
納期よりもかなり早い段階で実際には完成しているにも関わらず、
エージェントが利益相反行動をしていないかどうか監視するためのコスト。
自身の行動がプリンシバルの利益追求にかなっていることを証明するために
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1212240292
ttps://twitter.com/search?q=rails%E3%80%80%E9%A1%A7%E5%95%8F
「顧問プログラマ」再考 - Rails 雑感 - Ruby on Rails with OIAX
ttps://www.oiax.jp/rails/zakkan/rethinking_of_adviser_programmer.html
ITエンジニア採用に欠かせない原則とは (1/5):IT人材ラボ
ttp://b.hatena.ne.jp/entry/s/itjinzai-lab.jp/article/detail/856
ttps://www.slideshare.net/fukumura1/fukuokarubykaigi-medpeer-ver1
【256人がリモートワークで回る仕組みを考える】後編
ttps://www.remotework-labo.jp/2015/10/interview_10/
この記事は「転職(その2) Advent Calendar 2016」12日目のポエムです。
こんにちは。プログラマーをしていた akiraak です。今はサンフランシスコで英語の勉強ばかりやってるので、プログラマーではくイングリッシャーになってしまいました。
さて、転職は多くの人が知っているように大変です。しかし、海外企業への転職はもっと大変です。さらに、家も就職先も決まっていないのに海外に移住してしまうというのはどれだけ無謀な行動なのでしょうか。今回の記事の内容は、妻である ento がまさにそのような状態でシリコンバレーに移住し、そこで仕事を得るまでの1ヶ月半ほどのログになります。この無謀すぎる人間のログをお楽しみください。
2014年10月にベイエリアをakiraakと下見し、フィーリングが合うことを確認
2015年3/31 両親と久しぶりに会い、出生証明書と期限切れUSパスポートをもらう
4/26 USパスポート申請予約 (最初は5月17日で予約したが、キャンセルが出ないかカレンダーを見張った末、5月12日で予約できた)
5/?? 「entoとポッキーが先行引っ越しするのはありだよね」とakiraakと合意し、資金面で問題ないかを後で検討することに
5/11 MindMeisterで引っ越し関連作業をまとめるマインドマップを作る
5/12 USパスポート申請: 犬を連れていく関係上、できれば5月中に渡米したいのでなるべく早く用意してほしいとお願いする
5/13 同上
5/15 Googleスプレッドシートでお金の計算をし、アメリカにポッキーと先行引っ越しすることを決める
5/17 Sky Toursで飛行機チケット予約 (往復便をうまく使ったりなどして、片道便をお安く予約してもらえた)
5/18 completeapp.comにユーザー登録、その後随時todoにコメントをもらう (AngelListでみかけたスタートアップ)
5/18 自転車の運び方について製造元にメールで問い合わせ、返信をもらう
5/21 HanaCellにSIMカードを注文
5/21 USパスポート発送の連絡がくる
5/21 6月に泊まるAirbnbの予約に失敗 (Airbnb以外のサイト経由で別の人が既に予約していた)
5/22 LORO日本橋に適切なサイズの箱の有無を電話で問い合わせ、用意してもらう約束をする
5/24 RoomieMatch.comとroommates.comとroomster.comに登録、Redditにルームメイト/部屋募集を投稿
5/26 akiraak実家で晩ご飯をいただき、地元の友達が大事だとさとされる
5/27 USパスポート到着
6/05 飛行機搭乗
6/06 組み立てた自転車をLaurel Cycleryにメンテに出す
6/06 近所のスーパーマーケットのレジで「昨日引っ越したばっかりで、仕事を探してるんだ」と言ったら、「この前うちでジョブフェアをやってたんだけどね」と教えてもらった
6/06 TTGL見始める (Redditで会話したイギリスの大学院生のおすすめ)
6/08 RoomieMatch.comのプロフィールを更新 (2人用から1人用へ)
6/08 Creddle.ioにレジュメをアップし、Redditの校正スレに投げる
6/09 RoomieMatch.comでマッチングされたルームメイトから電話がかかってきて、部屋を見に行く約束をした
6/09 同じ家のAirbnbゲストにくっついてSF見物 (彼女も仕事を探していて、SFのMacy'sにスーツを買いに行った)
6/09 Whitetruffleに登録
6/09 Hired.comからプログラミングの問題を解いたら翌週の「オークション」に掲載するよ、と連絡がくるが、なかなか手がつかず最後までスルー
6/10 AngelList、Hacker Newsの「Who is hiring this month?」スレからめぼしい応募候補をリストアップ、Glassdoorでレビューを確認 (以下の記事を参考に、Google スプレッドシートにまとめていった http://robertheaton.com/2014/03/07/lessons-from-a-silicon-valley-job-search/ )
6/11 Soylentに発送先を連絡
6/12 AngelListで何社か応募、リモートOKのところを優先する
6/12 Underdog.ioから翌週にプロフィールを掲載するよと連絡
6/13 借りる部屋を3箇所内見し、仮決め: 家賃はAngelListに掲載されているエンジニアの平均年俸の40分の1を目安にした
6/15 借りる部屋を本決め
6/15 Underdog.io経由でB社から連絡
6/15 銀行口座開設を試みる (住所証明がなくてダメ、その足で自分宛の郵便を速達で送った)
6/15 Airbnbのホストさんがリクルーターを紹介してくれる
6/16 銀行口座開設を試みる (ソーシャルセキュリティカードがなくてダメ)
6/16 さらに応募 (C社含む)
6/16 Soylent到着
6/17 アスペの集まりに参加: 晩ご飯を一緒に食べる会 (「仕事を探してるんだ」と言ったら、「うちはいつも仕事を募集してるよ」と医療機器関係の会社を紹介してもらい、レジュメ校正ビジネスを始めたいという技術ライターさんに「無料で校正してあげる」と連絡先を教えてもらった)
6/18 C社とGoogle Hangoutミーティング (この時点でここに入る腹積もりをしたと思う)
6/21 TTGL見終わり
6/24 C社と対面面接 (6.5時間: エンジニア計3人とペアプロなど + みんなでランチ + 社長面接)
6/24 身元照会先を依頼、連絡
6/25 Lyftのタダ乗りクーポンでの帰り道、ドライバーさんに「仕事を探してるんだ」と言ったら、元奥さんがそれ系の仕事をしてるからと紹介してもらう
6/27 同上
6/28 同上
応募候補をまとめたスプレッドシートには、先方からの打診を含め、結局79個の会社をメモった。応募したのは14社で、何らかのリアクションがあったのは4社。大半はAngelList上でしか応募していないので、メールで直に応募すれば反応率は上がるかもしれない。職探しサイトでプロフィール登録したり応募したりする度に、レジュメの内容や言い回しをブラッシュアップしていくことができたことは、よかったと思う。
上で挙げた数社を含め、会社側から打診をうけた件数は以下の通り:
Whitetruffle: 11件
AngelList: 7件
Stack Overflow Careers: 1件 (リクルーターからはさらに1件)
Underdog.io: 1件
ホワイトボードでアルゴリズムの問題を解く系の面接の予習は、やろうと思いながら結局ほとんど何もしなかった。やったのは、過去のプロジェクトでやったこと・学んだこと・つらかったことなどの振り返りと、レジュメを書く中での自己内省。
ここまでは ento お引っ越しでした。僕はというとビザがないので日本でお仕事をしていました。そして2015年7月に渡米して結婚。10月に弁護士経由で配偶者ビザの申請。2016年7月に発行されたので8月にアメリカにお引っ越し。10月にグリーンカードも発行されて今に至ります。
この記事は「フリーランス残酷物語 Advent Calendar 2016」15日目のポエムです。えっ、まだ12月15日じゃない?あぁ、そんな事もあるかもしれないですねぇー。でも気のせいじゃないですかたぶん。
まず前置きですが、mesaka さんの書いた記事が萌えましたねぇ。じゃなくて燃えましたねぇ。まぁ、会社にバカにされたっていいじゃないですか。社員プログラマーにバカにされたってしったこっちゃありませんよ。Qiita ユーザーにもバカにされ、はてブに晒され、社会からゴミ扱いされたかどうか分かりませんが、フリーランサーはそれでも生きている限り契約を繰り返し日々前進していかねばならないのです。愚痴ることで生きていけるのなら問題ないのです!というわけで、mesaka さんには最終日の日記でも燃料を投下してほしいと思うわけです。よろしくお願い致しますm(_ _)m
前置き終わり。さてさて、僕がフリーランスだった2004年頃に体験した、奇妙で残酷な作業依頼のことを書きたいと思います。
フリーランスになる前はゲーム会社で社員プログラマーをしていました。コンシューマやアーケードゲームを何本か開発したのですが、ゲームの発売が近づくと月400時間以上の長時間労働を行います。そんなことを何回もやっていると人間は壊れます。裁量労働制の裁量ってどんな意味だろう、、、と考えながら3年働き、もうダメだなと思った時に同期の10人は誰も残っておらず、一番最後の退職者となりました。その後1年は携帯ゲーム会社でゆるふわな開発を行い、元気がでてきたところでフリーランスとして働き始めました。
初めての契約は 3DRPG を開発している会社と結びました。準委任契約なので会社に出向し決まった時間働き、毎月決まったお金をいただく形です。業務内容はプログラミングとそれに関連する作業となります。関連する作業は曖昧ですが、まぁ雑用含めてお仕事するうえでの作業全てなので、社員プログラマーと働き方はそんなに変わってない思います。
一般的なプログラム作業であれば、例えば MMORPG の開発ではマップ表示を担当しましたが、これはマップ担当の3Dデザイナーさんとデータの仕様などを決めていって、あとはプログラミングするだけのお仕事です。この開発ではプログラム全体の設計とプログラマーのまとめ役もやっていたので、メンバーへの指示出しやタスク管理もプログラミングに関連したお仕事です。
少し変わった作業だと PS2 で発売した 3DRPG のコードを渡され、「VisualStudio で動くようにして。大丈夫、描画エンジンだけ DirectX で動くものを別で用意したから」という依頼だったりします。幸いにして同じような依頼を前職の社員のときに受けていました。その時は PS 用に発売した 3D 格闘ゲームのプログラムを渡され「ナムコのSystem12基板で動かせるようにしてよ。大丈夫、PSと System12 の違いは CPU のクロックが違うだけだから」というものでした。どちらの依頼もプログラムと向き合うだけの作業なのでとても単純なです。CodeWarrior で書かれたコードを VisualStudio でコンパイルすると2万くらいコンパイルエラーを吐き出すのですが、それをもくもくと修正するだけです。
新人プログラマーの教育係もプログラミングに関連したお仕事です。ペアプロで一緒にゲームを開発していくのはとても楽しかった!あと成長していく新人かわいいぺろぺろ。
当時その会社ではまだバージョン管理ソフトを使っていませんでした。社員毎に Samba のディレクトリがあり、そこにプログラムファイルを配置して共有を行っていました。さすがにこれは不味いと思いバージョン管理ソフトの提案も行いました。前職では CVS と Microsoft Visual SourceSafe を使用していましたが、CVS には悪夢(マスターアップ1週間前にデータが壊れる)しか思い出がない事と、Visual SourceSafe は無料ではなかったため、当時流行りだしていた Subversion を検証したレポートを作成し、それをもってシステム管理部門を説得するということもプログラミングに関連したお仕事でした。システム管理部門は企業のガーディアンですので、そうそう実績のないソフトウェアを会社内の PC にインストールさせるわけにはいきません。2004年頃の Subversion は Ruby など新しい技術を使う Web 業界ではそれなりに認知度があったかもしれませんが、C++ も使わず C のみで開発を行っているゲーム業界での認知度はとても低いものでした。時間をかけじっくりとシステム管理部門を説得していく必要がありますが、これはプログラミングに関連したとてもとても大切なお仕事です。
なお、会社から社員にならないかとの提案を頂いたのですが、当時はフリーランスという契約のみで結ばれた、ときには人情のかけらもない綱渡り状態にスリルと興奮を感じていたため断りました。24歳という若さのためか、それとも前職で壊れた頭がまだ治っていなかったのかはわかりません。
そのようなプログラミングとプログラミングに関連する作業を行っていたところ、プログラマー全体を統括するマネージャーから奇妙な作業依頼を受けました。それはとある社員プログラマーのスキルチェックをして欲しいというものです。
新人教育でもなく、サポートしながら一緒にゲームのプログラミングを行っていくのではなく、スキルチェックです。スキルを見るならペアプロでもしてゲームの実装を行っていくのが良いと思ったのですが、製品にそのプログラムを入れたくという事で却下されました。また、スキルチェックに僕の時間をあまり使ってほしくないそうです。まぁそりゃそうだよねゲーム開発に時間使わないと。そこで、既存の開発とはまったく関係ないプログラムの課題を出して実装してもらいました。
しかし、まず課題を説明するところから問題が出ます。こちらの説明を全部紙にメモっているのですが、話が先に進むとメモれないとのことでメモり待ちが発生しました。口頭で2分くらいで伝わる仕様が10分くらいかかります。全部話しを聞いてから後でメモるのではダメなのかなと思ったのですが、どうもこのやり方でしか話が聞けないようです。
翌日に進捗を確認したかったのですが帰ってしまっていたので、次の日の朝に進捗を確認するとまだ実装中とのことでした。分からないところがあれば聞いて欲しいと伝え、作業を続けてもらいます。毎日こちらから進捗を確認するのですが、もう少しでできるという返事を貰う以外に特にアクションを起こしてきません。そんな状態で1週間が経ちました。ちなみに課題は1日くらいで実装できるものと想定していました。そして、この状況をマネージャーに説明し、チームメンバーに入れれるかという質問には難しいと答え、作業は終了となりました。
フリーランスの解雇は簡単です。しかし、社員の解雇というのはとても難しいものです。金の横領など分かりやすい行動をとった場合は別ですが、プログラミングスキルが低い事で一方的に解雇しようものなら逆に訴えれて終わりです。僕の今まで関わった会社さんでも、解雇した社員が訴えを起こさない代わりに和解金を要求し成立したケースもありました。スキル不足の社員を解雇するなら、社員にその事を納得してもらい円満に退職してもらうのが良いと思います。納得してもらうには情報が必要です。「○○を依頼しましたが、あなたは達成できませんでした」という情報をいくつも集めて納得してもらいます。退職していかれた社員プログラマーがフリーランスの僕のところに来る前、2人の社員プログラマーのもとでスキルチェックを受けていたそうです。僕で3人目だったわけですね。それら3人分の評価を伝え、納得してもらい退職してもらったのだと思います。
なんにせよ、一連の流れの中で僕は社員に印籠引導を渡すという残酷な作業をしていたわけです。正直楽しい作業ではありません。このような不幸なフリーランスを増やさないためにも、社員の方々には採用時のスキルチェックをしっかりと行って頂きたいと思う次第です。というかそいう首切り作業は社員でやって。。。あ、でも外部委託した方が会社としてメリットが大きいか。
こちらの会社さんがある意味消滅と言ってしまえるような状態になったので別の会社で社員として働いたものの、また頭がおかしくなってたのかフリーになり、受託用の個人会社まで設立し、その会社も今年で閉じ、今はサンフランシスコで英語の勉強と趣味のプログラミングをしています。あまり普通ではないので最初の会社でアホになってからそれが治ることはなかったようです。長時間労働マジ怖い。
自己紹介が遅れましたが akiraak といいます。Qiita に糞ポエムを晒すのは公衆衛生上よくないと思い増田に排泄した次第です。Qiita ではこんなのを書いています。
私は30そこそこのしがない管理職でして、コードは最近書かない元プログラマーなんですが、管理職というものになって苦労することも沢山あるのですが、その中で最近一番苦労させられてるのが、一部のスマホアプリのエンジニア。
一般化するのもあまり好きじゃないのですが、偶然なのか、似た状況が立て続けに続いたので、傾向として捉えると共感してもらえる人も中にはいるのではないかと思ったり。
前置きが長くなりましたが、iPhoneやAndroidのアプリを作るエンジニアに最近多いなと感じるのが、ライブラリや他人のソースコードを組み合わせるだけの人。どうして動いてるのかも理解できず、ドキュメント読みながら実装したら動いて、それで満足してる人。
そのやり方で締切までに仕上げてくるなら問題はないんですが、仕上げてこない。いや、正確には、期日までには提出してくるがバグだらけ、といった表現が正しい。作った本人も、自分のソースコードを理解してないんだから、この辺り怪しいから重点的に動かしてみるか、といった危機感知も弱い。で、開発メンバーで動かす時にバグが大量に出て、みんなでバグ潰し。メンバーの時間がデバッグに費やされ、毎回、その人がいるプロジェクトは夜遅くまで開発することになる。
どこぞのベンチャー企業でバリバリコード書いてました!と言うもんだから任せてはみたものの、よくこれでコード書かせてもらえてたな、と思うぐらいの酷いコード。ベンチャーなのでスピード命なのでしょうが、どれだけ早く作っても、デバッグで時間が取られるようではダメ。クラス設計の知識はほぼゼロ。見よう見まねでコードを書いているだけなのでしょう。それはそれでいいことだとも思いますが、理解がついてきていない様子。
本人が勉強を怠けてるというのもあると思いますが、最近気付いたところとして、巷に溢れているスマホアプリの作り方を解説している本。私はあれが悪さをしているのではないかと思っています。さすがに年取ってるだけで管理職するのも辛いので、スマホアプリを趣味の範囲で作ってみたりしているわけですが、スマホアプリ関係の本は、だいたいが、そのOSの持っている機能の解説に寄っている。そして、そこに書かれていることを複写すればだいたい動く。OSの持ってる機能や、誰かが作ったライブラリをどのようにクラスに落とし込むか。そういったことを全く意識せずに実装に進むと、メモリは大量に食うわ、似たコードがいくつもあるわで、バグの温床としては最高ですね。
自分でいうのもあれですが、私のように、ある程度の現場で開発をしてきた人間であれば問題ないですが、初心者がいきなり、このような本を読み始めるのはよろしくない。ろくに勉強もせずスマホアプリの開発に入ると、結果として、既に存在するものを組み合わせるだけのスキルしか身に付かない。それでもだいたい動いてしまうし、ハイレベルなもの (OSやライブラリがすごいのであって本人はすごくない) ができてしまい、彼はすごい人だ、といった誤認が生まれてしまう。大きい会社とかであれば、ペアプロや長時間のコードレビューがあったりするので、変に知識が偏ってる人はそこで再教育されるのでしょうが、ベンチャーにいってしまうと、そういったチャンスもなく、気付けば中堅レベルの年齢になりつつも、残念なコードしか書けない人になるのでしょう。
iPhoneアプリで学ぶクラス設計、なんて本があってもいいのではないかと思う今日この頃。OSの機能を知る前に学ぶべき、とても大事なものだと私は思います。後、そういう人達をなんとかするのが、私の仕事の1つなのかなとも思います。