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

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

Entries from 2016-01-01 to 1 year

どこにでもある場所とどこにもいない私(著:村上龍)書評

「なぜ海外で暮らすことにしたの?」「なぜわざわざまたヨーロッパなんかに家族を連れて行くの?」こうした質問になんとか自分なりの考えを伝えるのだが、いつもしっくりこない。そんな時にいつも思い返す本が村上龍の「どこにでもある場所とどこにもいない…

ITエンジニアの海外転職を成功させるちょっとしたテクニック集

ITエンジニアが英語圏の会社へ海外転職する際、それを成功に導くちょっとしたテクニック集。これはとかではない。あくまでもちょっとしたテクニックになる。こういうのが意外と重要。シンガポールからヨーロッパのIT企業に転職することになった。オファーを…

ITエンジニアの海外転職で出された技術問題をそのままここに貼り付ける - その1

エンジニアが海外転職をする際に必ず出されるのが技術問題で、それらは本当に玉石混交。いい問題もあれば、なんかしっくりこないクソ問題もある。私が現職で応募者に技術問題を出す際にはいつも「外部のネットに書いたり、人に問題の内容を教えたりしないで…

外国人の家に泊まる、結婚式に出席する、葬式に出席する、という変な目標

シンガポールに移住した当初に個人的に立てた目標があって、パソコン内のファイルに書いて残しておいた。もうすぐヨーロッパに引っ越す予定で、ファイルを整理していたら、その当初の目標書いたファイルが出てきてそれを確かめたら、なんかあまり意識せずに…

ごく少数の日本の音楽を除いて子供の感性に引っかかるのはほとんどが英語の音楽になってしまう

うちの子供たちが子供の感性で選ぶ音楽、映画、本にはほとんど口を出さないことにしていたら、彼らが触れるのは全て英語の作品になってしまって、いまさら軌道修正しようとしても、どうにもなりませんでしたわ(ただし少数の日本人の作品を除く)という話。…

ITエンジニアの海外転職で気にするべきこと、気にしなくていいこと

ITエンジニアが海外転職をする際に気にするべきこと、気にしなくていいことをまとめた。なんか最近やたらとエンジニアに海外転職をすすめている記事が目につく。(このブログも基本そういうスタンスだけど)エンジニアが海外に仕事場を移して、そこでさらに…

動的計画法(Dynamic Programming)をサルでも分かるように説明する - その1(フィボナッチ数列)

「動的計画法(Dynamic Programming、以下DP)をどんな人にも分かるように丁寧に解説する」というこれまで何人もの優秀な方々が挑戦した内容にあえてまた参戦することにした。「動的計画法」とか「Dynamic Programming」でググると山のように解説ページがヒ…

小学3年生向け英語ボキャブラリーテスト【シンガポールの地元校版】

こちらの小学生達は英語のテストをリスニング編、スピーキング編、書き取り編と3部に分けて行う。書き取り編のボキャブラリー選択問題を抜粋した。英語のテストとしてまーまーいいので6問だけ試してみてはいかがでしょうか? 勝手に作ったり改編したのでは…

東京都民と千葉県民の違いなんてシンガポールで説明できるはずもない、という話

以前、ウチの娘が同じクラスのドイツ人の男の子とちょっとしたケンカをしたらしく、先生から電話があった。先生からはその経緯やらその後の解決したことまでの報告を受けたので安心はできていた。まだ小学校低学年だし、深刻ないじめでもないし、気にするま…

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

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氏の原型とはだいぶ違う箇所もある…