ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと流れ着いたソフトウェアエンジニアのブログ

転職候補先で仕事内容や条件は素晴らしいのに「なんだか働きたくないなー」な会社があった

2年ぐらい前、シンガポールで転職活動をしていたときに仕事内容がバッチリで条件もそこそこいい求人が見つかった。さっそく応募書類を送って最初の面談が決まって、面談した。その後に「1次面談ありがとう。次回の2次面談の予定が**でして、来てもらえ…

「ITスタートアップで**を考えている奴ってバカじゃね?」と一刀両断されたがバカで結構です、と

こちらのスタートアップ界隈でのランチはだいたい周りの会社なんかにいるエンジニア達4,5人と一緒に食べて話をする。話の内容はいろいろだが、最新技術系の話が多い。 「おい、人工知能でその人にあった好みの料理を作る機械知ってるか?」とか「ドローン…

DJマシュメロのマーケティングが絶妙なのでウェブ系エンジニア目線でその考察を書く

特にEDM(エレクトロニック・ダンス・ミュージック)に造詣が深い訳ではない。しかしDJマシュメロのEDM界におけるマーケティングの素晴らしさを目の当たりにして「これはウェブ系エンジニアがしっかり参考にするべきなのでは」と思ったので書いた。 DJマシュ…

「プログラマが知るべき97のこと」はやたらリピート率の高いキンドル本

「プログラマが知るべき97のこと」の英語版がKindleに入っていて、結構な頻度で読んでいる。エンジニア向けエッセイ集で全てのエッセイが2ページほどに収まっており、スキマ時間に読むのにちょうどいいからだ。各エッセイには97人の熟練エンジニア達がそ…

エンジニアの技術力とプロジェクトのヒット率の悲しい相関性

元同僚のエンジニア達に会っていろいろ話す機会があって、彼らと話すうちにエンジニアの技術力とプロジェクトのヒット率の悲しい相関性について言及するに至った。人材の流動性が高いシンガポールのスタートアップで働いていると、同僚と仲良くなっても自分…

天才プログラマーと自分との実力差をカンタンに測定する方法

天才プログラマーと自分との実力差をカンタンに測定する方法を発見しましたよ、という話。結論から言うと、いろんなところで過去に開催されたプログラミングコンテストの入賞者の結果を見て、その問題を同じ条件で解いてみること。あるウェブサイトに201…

オブジェクト指向設計実践ガイド 「Practical Object-Oriented Design in Ruby」待望の日本語版がついに発売

本ブログで絶賛オススメしていた 「Practical Object-Oriented Design in Ruby」の日本語版がついに発売された。こちらの記事でオススメを書いたのだが、アクセスはたくさんあってもアマゾンのアソシエイトプログラムを通して購入にいたるケースは少なかった…

RubyのEnumeratorとEnumerator::怠惰(Lazy)の使い所とベンチマーク

RubyのEnumeratorとEnumerator::Lazyの使い所とベンチマークをまとめた。使うと意外と便利なのがEnumerator。 Enumeratorの基礎動作 irbを起動して配列のeachの後にブロックを渡さないでおくと、それはそのままEnumeratorオブジェクトにして返される。 ~ $ i…

エンジニアとして優秀な奴が全部持っていって、後は残りカスすら無いという現状を直視する

あらかじめ言っておくと結論はなく、今までの考え方はちょっと間違っていたな、というだけの話。エンジニアの世界にはやたら技術レベルの高い人が居て「こんな人にはかなわない」となることがある。そういう人と真っ向から勝負しても、負けるだけなので私な…

人種差別も宗教問題も独特のユーモアと鋭い視点で表現したエッセイ「No Land's Man」

実際の英会話において実用的に「使える本」に出会った。アメリカのテレビで活躍するコメディアンAasif Mandvi 氏のNo Land's Man。No Land's Man作者: Aasif Mandvi出版社/メーカー: Chronicle Books LLC発売日: 2014/11/04メディア: Kindle版この商品を含む…

5000件の解答者登録達成!ほとんどのエンジニアには解けるパズル1

ほとんどのエンジニアには解けるが、下位10%のダメなエンジニアにだけ解けないパズル?などというITパズルを作成して、それが解けたら解答者登録できる仕組みにしておいたら、8ヶ月かかってやっと5000件に到達した。「だからナニ?」と言われてもそれま…

海外転職の面接で英語で聞かれるRubyとRailsの質問事例とそれを会話で対処する方法 - その3

前回のつづき。 その1 その2 その3 【問題3】 What’s the issue with the controller code below? How would you fix it? class CommentsController < ApplicationController def users_comments posts = Post.all comments = posts.map(&:comments).fla…

海外転職の面接で英語で聞かれるRubyとRailsの質問事例とそれを会話で対処する方法 - その2

前回のつづき。 その1 その2 その3 【問題2】 What will val1 and val2 equal after the code below is executed? Explain your answer. val1 = true and false val2 = true && false もしすぐに答えが分かったとしても「え?なんか同じに見えるなー。こ…

海外転職の面接で英語で聞かれるRubyとRailsの質問事例とそれを会話で対処する方法 - その1

エンジニアが海外転職する際に面接で英語で聞かれる基礎質問において、その解答と同じぐらい重要なのが「会話」になる。前回「海外転職の面接の時に英語で聞かれるRubyとRailsの基礎質問を徹底マスターしておく方法」という記事を書いた際に自分で書いておい…

クソコードとは何か?を写真で説明した

「クソコード」と言っても一体なにをもってクソとするのかは難しい。さらにほとんどのコードは一応は動いている。目の前で動いているコードに対して「クソ」と判断するからにはもうちょっと分かりやすい説明があってもいいんじゃないだろうか、と考えたので…

RubyのリファクタリングでNull Objectを使ってコードをスッキリさせる方法

前回、Rubyのリファクタリングでイケてないコードを美しいオブジェクト指向設計のコードへ改良するための方法という記事を書いて、いい反響をいただいたので第2弾を書いた。Ben Orenstein氏の講演で話されていた前回のとはまた別のリファクタリング方法。元…

次世代スマフォのあり方を再定義したAmazonのFireタブレット

Amazonの激安Fireタブレットを買ってしばらく経ったのでそのレビューを書いた。仕事がら常に最新のスマフォに触れている。いつもデスクにはiPhone4から最新のiPhone6sまでの歴代機とAndroidがそれぞれのバージョンと主要メーカーのがデバッグ機として置いて…

「ポケモンGO」の世界的大ヒットをとても嬉しく思う海外在住日本人の視点

海外在住の日本人としてポケモンGOの快挙をとてもとても嬉しく思っている。 あらかじめ言っておくと本日時点でシンガポールではまだポケモンGOがリリースされていない。したがって街のどこを見ても誰もポケモンGOをやっている人は居ない。それでもここ数日、…

Rubyのリファクタリングでイケてないコードを美しいオブジェクト指向設計のコードへ改良するための方法 - その3

前回からの続き。 Rubyのリファクタリングでオブジェクト指向設計に沿った美しいコードになるまでの方法を書いた。 「イケてない」から「マシ」にするためのリファクタリング 「マシ」から「いいね」にするためのリファクタリング 「いいね」から「スゲーい…

Rubyのリファクタリングでイケてないコードを美しいオブジェクト指向設計のコードへ改良するための方法 - その2

前回からの続き。 Rubyのリファクタリングでオブジェクト指向設計に沿った美しいコードになるまでの方法を書いた。 「イケてない」から「マシ」にするためのリファクタリング 「マシ」から「いいね」にするためのリファクタリング 「いいね」から「スゲーい…

Rubyのリファクタリングでイケてないコードを美しいオブジェクト指向設計のコードへ改良するための方法 - その1

Rubyのリファクタリングでオブジェクト指向設計に沿った美しいコードになるまでの方法を書いた。元ネタはこちらのBen Orenstein氏のリファクタリングで、そこに私なりの解説とコードを加えた。かなり追加したのでOrenstein氏の原型とはだいぶ違う箇所もある…

英語圏のITスタートアップにおいて日本人であることの唯一のメリットを転職で活かす方法

もうぶっちゃけて言ってしまえば英語圏のITスタートアップで働く場合に日本人であることのメリットなんてほとんど無い。日々の業務で実感できることなんて皆無だ。ほとんどの情報は英語で発信されているし、会議もランチ中の会話も英語。ジリ貧状態の日本市…

はっきり言う。コードレビューが嫌いだ。そしてその理由が分かった

だいたいどこでもコードレビュー絶賛中だ。「コードレビューで知識を共有できる」「クオリティが上がる」「開発者が成長できる」といいことずくめみたいに言われている。そうしたメリットを分かった上で言う。コードレビューが嫌いだ。コードレビューはとに…

初心者でもカンタンにRailsの中身のコードをコードリーディングする方法

ここで言う「Railsの中身のコード」というのはRailsを使ったRailsアプリのコードのことではない。Railsそのもののコード。DHHが書いたRailsのコード。$ rails new AppNameとかのコマンドが動く仕組みが書かれたコードのこと。 これって職場の同僚と英語で話…

特殊文字の英語表現は英語圏の職場ではよく使うけど、普通の英語学習では出てこないので対策しておくべし

特殊文字の英語表現は勉強して覚えたってよりも、シンガポールで働き出して職場の同僚が何度も話すのを聞いて自然に覚えた。最初の頃はその辺りが慣れていなくて「『#』って入れて」言いたいのにどう表現すれば分からないから、キーボードに手を伸ばして「…

履歴書の技術欄にRailsとかのフレームワークを書くならせめて自分のGitHubアカウントにフォークしとけば多少なりとも印象あがりまっせという話

香港人の若くて可愛いインターンのJ(男)が「就職活動する時になんかいい方法ありますか?」と聞いてきて、その時なにげに答えた内容がまーまーマシな回答だったな、と思ったのでここにも書くことにした。それは「もし履歴書の技術欄にRailsって書くなら、…

ボスの評価をあんまり気にしてないシンガポールで働く多国籍なエンジニア達が気にしてること

シンガポールで働く多国籍なエンジニア達はボスの評価をあんまり気にしてないけど、その代わりにその何百倍も気にしていることがありますよ、という話。先日オフィスで仕事している時に「ワぁあああー!」という声がして、ドタっとなにかが落ちる音がした。…

英語のリスニング強化のためにホントに必要なことを身にしみて体感した話

英語においてリスニングは手強い。文法や語彙は「覚えればいいだけ」という単純な理屈が成立するが、リスニングはそうはいかない。聞いても分からない状態を克服するのはそうカンタンではないのだ。ところがある事でそのリスニング強化にホントに必要なこと…

南国の美しい海を見て「なんで日本の周りには高い国境の壁があるんだろ」と考えてしまった

先日、休みを取ってマレーシアとタイの国境近くにある小さな島に遊びに行った。とてもキレイな海があって、潜ると美しい魚やサンゴがあって、ご飯が美味しくて、南国のフルーツがまたありえないぐらいに旨いところだった。で、考えてしまったのは「なんで日…

AWSのEC2をLambdaでスケジュール設定して決まった曜日や時間だけ稼働させる方法

AWS

stagingのEC2インスタンスはデバッグ用にしか使っていないので、土日とか真夜中の時間帯は眠らせて、朝になったら起きる設定にした。その作業メモ。こういうのを365日24時間稼働させておかないで、要らない時には眠らせておくとAWS様に支払う金額が割…

英語圏のエンジニア職への転職応募で書類選考を5割以上合格させる3つのポイント

英語圏のエンジニア職への転職応募において最初の関門は書類選考になる。その書類選考でどこかの会社に10通履歴書を送ったら5通以上は合格させる方法を書いた。就職活動において書類選考漏れというのは妙に精神的にヘコむ。特にある程度キャリアを積むと…

RailsでMicrosoftのFace APIを使って写真の顔認識をする方法

写真の顔認識はいろんなプロジェクトで地味に実装されていて、まーまー重要な機能のひとつになってきた。いろんな方法があるが今のところMicrosoftのFace APIに一日の長を感じる。精度が高くまた無料枠でもいい感じに使えるからだ。しかしなぜかドキュメント…

海外転職の面接の時に英語で聞かれるRubyとRailsの基礎質問を徹底マスターしておく方法

海外転職の技術面談の形式に関してはこのブログに何度か書いたので、今回はその具体的な対策を書いた。ずばり「RubyとRailsに関する英語の基礎質問と解答例」書類選考をみごとに通過したら次は電話面談かもしくはオフィスでの面談になる。いづれにしても採用…

難しいと思ってたパフォーマンス・チューニングがちょっとしたことで劇的に改善できた話

前から任されたら嫌だなーと思っていたパフォーマンス・チューニングのタスクがまわってきて「ついに来たー!イヤー!」と思ったのに、ちょっとしたことで劇的にパフォーマンスが改善して一瞬で終わりましたよ、でも大して自慢にならんね、という話。そのプ…

1ヶ月やってみたスカイプ相談をここで一旦終了することにした

1ヶ月間ほどスカイプ相談なるものを受け付けていて、ちょうど1ヶ月でキリがいいので一旦ここで終了することにした。スカイプ相談というのは今から海外移住や海外転職をお考えで、もし私になにかスカイプを通してお聞きになりたいことがあれば30分200…

履歴書は良かったのに書類選考で落ちてしまった人の原因はGitHubだった話

半年ほど前にエンジニアの募集をしていた時、履歴書の上ではまーまー立派な感じだった応募者がGitHubのおかげで書類選考漏れしたことがあった。応募者からの履歴書とカバーレターが人事を通して各担当のエンジニアに転送されてきた。英語圏ではエンジニアの…

今が買い時、自慢時のホワイトKindleペーパーホワイト

今朝オフィスに着くなりアメリカ人エンジニアのAが興奮気味に「おい!日本のWhite Kindle Whiteを買って届けれくれるか!?」と言ってきた。White Kindle Whiteはホワイト(白色)のKindleペーパーホワイトのこと。Kindle Paperwhite Wi-Fi 、ホワイト出版社…

Googleの2段階認証をアプリを使わずMacのターミナルで行う方法

Googleの2段階認証の数字出すのにいちいちiPhone取り出すのがいつも面倒だったのでMacのターミナルに入れた。これでコマンド一発で認証が完了するのでとても快適。このアイコンのアプリをiPhoneとかのスマフォに入れて、起動したら出てくる数字を入れるのが…

海外転職でどこまで自分のスキルを「アタシすごいのよ」と誇張してもいいか

マジメで正直な日本人が調子のいい外国人達にオイシいところを持って行かれてしまうのはよくあること。海外転職だって例外じゃない。世界各国からの応募者の中にはびっくりするぐらいに「オレはできる!なんでもできる!」と言ってくる人もいる。そんな超ア…

AWSでどのサービスがどれぐらい使われているか?の調査サイトの結果

AWS

先日、「AWSでどのサービスがどれぐらい使われているか?の調査サイト」なるものを作ってその結果が出た。内容は以下のようにお馴染みのAWSのアイコン列があって、その中で使っているサービスをクリックしていただいて集計する、ただそれだけ。 「いったいど…

海外転職におけるエンジニア向けの英語の求人票から読み取る採用担当者の考え

海外転職におけるエンジニア向けの求人票をしっかり読めばその採用担当者の意図が分かりますよ、という話。どんなエンジニアでも海外で働いて、それなりの仕事をしていれば必ず採用業務も担うことになる。エンジニアの採用は人事ではなく、エンジニアが行う…

Reactのコード事例から学ぶ初心者向けReact入門と事例集

Reactを使い出した時にまず思ったのが「もっと動いている事例を見せてくれんかな?」だった。事例が少なく感じたので、自分で入門者向けに事例集を作った。 初学者が勉強する時はまずは公式サイトのチュートリアルが一番よくできていると思う。それでも誰も…

スカイプ相談を始めることにした

スカイプ相談の受付は一旦終了いたしました。tango-ruby.hatenablog.com シンガポールのスタートアップで働くソフトウェアエンジニアのスカイプ相談をすることにした。今、ヨーロッパのある国へ家族で移住する計画を立てていて、職場にいるその国の出身者な…

AWSでどのサービスがどれぐらい使われているか?の調査サイトを作ってみた

AWSを使う時にズラーっと並ぶたくさんのアイコン列を見て「みんな一体この中のどれをどのぐらい使ってるんだろ?」は前からの疑問としてあった。で、そういうデータがあまり見当たらないので自分でカンタンな調査サイトを作って、みなさんからの投票を元に把…

Googleロンドンで働く友人を「うらやましいー」と思ったり思わなかったり

ずっと一緒に働いていた職場の同僚エンジニアAが数ヶ月前にロンドンのGoogleに転職した。転職してからしばらく経ったので久しぶりに連絡をとって、ロンドンの様子やGoogleの働き方について聞いたみたら、なかなかに興味深い話が聞けた。その中のひとつがスタ…

映画「イミテーション・ゲーム」はすべてのエンジニアのココロをグッと掴んで離さない

映画「イミテーション・ゲーム/エニグマと天才数学者の秘密」にはエンジニアのココロを掴んで離さない何かがある。もしあなたがエンジニアもしくはモノ作りに関わっているのなら、これは必ず観るべき映画だ。暗号化の仕組みを使ったパズルシリーズを作って…

Kindle Oasis(オアシス)はPaperwhiteの完成度の高さを際立たせるための捨て駒?

今、シンガポールのスタートアップに勤めていて、ここはとにかくKindle保有率が高い。エンジニアはひとりを除いて全員がKindleを持っている。ガジェット好きが集まるIT系の職場ではどこでもそうなのだろうが、こちらでも各国から集まったエンジニア同士で発…

考えて書いたのにいまいちアクセスが集まらなかった記事のTop3

もうタイトルからゆるい感じが漂うが、本ブログの中には「まーまー考えて書いた記事」というのがある。でも概してそういう考えて書いた記事というのはウケが悪かったりする。その中でも特に「考えて書いたのに人気ない」のトップ3をあげた。 エンジニアとし…

ほとんどのエンジニアには解けるパズルの英語版まとめサイト

ほとんどのエンジニアには解けるパズルシリーズの英語版まとめサイトを開設した。 http://puzzles-engineer.github.io/ といっても単にstatic site generator でパズルタイトルのリンク貼ったブログサイトを作っただけなのだが。これをどうやって英語圏にア…

「世界のITエンジニア調査結果2016」は年収から人気のプログラミング言語まで興味深いデータがいっぱい

毎年スタックオーバーフローから世界中のITエンジニアを調査対象とした調査結果が出る。基本は英語圏のエンジニアに向けた調査になっているので、日本のエンジニアの現状とを比較する際にはとても参考になる。 人気のテクノロジー この手の調査結果ではいつ…