2015年7月23日木曜日

アメリカでソフトウェア開発の仕事探しー電話インタビュー(2)

毎日ぐたぐたと単語帳をやって、アメリカにいる必要のない生活しています。
今日は2週間ぶりくらいに電話でローカル企業と面接をしました。

きっかけは昨日かかってきたとあるエージェントからの電話
  • 簡単な前職の説明
  • Job Descriptionにあるテクノロジー(プログラミング言語など)の使用経験有無
  • 住んでる場所(通勤圏)の確認
  • 希望年収
など、ありがちな質問されます。
応募する会社の説明をちょっとされて、レジュメを送ってもらう感じでいつもと同じ。

その数時間後に電話面接が決まったことを伝えられ、今日のお昼に面接になりましたw
なかなかスピードあるところでした。また、他のエージェントではなかったサービスで、過去の質問の内容も教えてもらえました。
「HashMap、SpringとStrutsの違い、RESTAPIの説明」などキーワードだけが書いてありました。


まぁ、そんなこんなで、今日の面接。Wikiによると従業員6万オーバーの会社のようです。
良かったところは、担当がインド人じゃない所!インド訛りの英語、私には聞き取れません。。。。

で、「仕事内容わかってる?」から始まり、技術的な質問タイムが始まりました。

「StringStringBufferというクラスを作って、string1とstringBuffer1というフィールドがあります。これらはXXXで初期化され、stringModifierというメソッドを追加します。このメソッドは引数にstringArg1とstringBufferArg1を取り、メソッド内でYYYという値を引数に代入します。。。。。」

「StringStringBufferクラスをインスタンス化してstringModifierを呼び出した時に、string1とstringBuffer1は変更されるか?」


的な感じでした。ありがちな「値渡し参照渡し」の説明だと思いました。
でも、なんでstring1とstringBuffer1が出てくるのかわかってなかったのですが、『string1は変更されず、stringBuffer1は変更される』と答えたら、間違ってると言われましたw


「StringStringBufferクラス内でのstringModifierを呼び出し、string1とstringBuffer1をそのメソッドに渡す」という説明を聞き逃してたみたいです…
クラス内でのStringの引数セットは参照渡しになるらしいですね。。。

語の問題がここでも威力を発揮してくれましたww

ーつづいて、HashMapに関する質問に移りました。

「すでに10000個の要素が入ってるHashMapの要素を倍に増やした時に、getのパフォーマンスに変化は起きるのか?」

実際の答えはわからないですが『変わらない。なぜならHashmapのgetはO(1)だから!たぶん、hashCodeメソッドのハッシュ値でインデックスから取得されるからO(1)なんだとおもう』と適当に言っておきましたw

もう一つ問題があったらしいのですが「プログラミンができるってわかったから、お前は合格だ」と言われ次のステップに進むようです。

やっぱり英語が8割9割以上わかってないと難しいのかなー。
「伝える」ことよりも、「わかる」が必要だと改めて自分の英語力に絶望します。


2015年7月17日金曜日

ドライビングテストの準備?

ペーパーテストは合格し、パーミットの紙切れをもらった後にやること。


そうです。DMVでの実技テストの予約です。
https://www.dmv.ca.gov/foa/clear.do?goTo=driveTest
オンラインで出来ます。(ネットで見かけた情報によると、中にはオンラインでは出来ないケースが有るらしく、その場合は電話か直接いって予約しましょう)


そして、当日は誰か(自分でもいい)の車で、誰かに乗せて行って貰う必要があります。

ここで新参者には困ることがあります。

知り合い、友達がいなかったら、どうすんだよ!と。。。
私はシェアハウスに住んでいてそのうちの一人が車を持っているから、頼んでみました。

が、いまいち信用出来ないw
その後日に「まだ免許持ってないんだっけ?」みたいなことを言われ、頼んだことすら忘れてる感じでした。

でも、そんな人でも安心できるサービスがあります。
そう!お金を払えばいいのです。
Google Mapで自分の家を中心にして「driving school」と調べてみてください。
きっと見つかります。
https://www.google.com/webhp?#q=los%20angeles%20driving%20school


Los angeles周辺でもたくさん出てきますね。
そしたら、見つかった順番で金額やサービスなどなど調べてみてください。


最初、1時間練習+テストで140ドルのところに電話しました。
自分の予約が2週間後だということを伝えると、「1か月後まで埋まってるよ」といわれ撃沈…

次に、テストで140ドルのところに電話しました。
練習と送迎費込で220ドルになるのことだったけど、快くOKしてやりました。

電話で、名前、住所、電話番号、パーミットナンバー、予約番号、予約日時を伝え、それと決済用にクレジットカードを教えると領収書がテキストで送られてきて当日の車の確保完了!

後は当日の2時間前に家まで迎えに来てくれて、1時間練習して、免許センターに向かうとかの段取りになるそうです。

一応、予約したDMVで使用するルートがあるっぽいので、これもGoogleしておきましょう!



LA住みにくいから引越そうかなー

L.A.に来てはや1ヶ月が経ちました。

AirB&B→ホステル→シェアハウスと移動し、エージェントに行ったり、面接したり、家でゴロゴロしてる日々を送っていますw

ソフト開発の仕事を手に入れるには、1に英語、2に英語、3にアルゴリズム、4にプログラム知識だと私の中では落ち着き、英語の勉強を日々黙々とやっています。

そして、未だに免許の無い私にはLAは住みにくくてしょうがない!でも思うんだけど、車があっても駐車場も足りてない、渋滞だらけの街で車があっても住みやすいのだろうか?


そこで、思いつきました。



サンフランシスコどうだろ?
仕事のチャンスはロサンゼルスよりも多いいはず!



下見のために飛行機のチケット検索します。

http://www.skyscanner.com/transport/flights/lax/sfo/cheap-flights-from-los-angeles-international-to-san-francisco-international.html
ロサンゼルスからサンフランシスコまで飛行機で安くて60ドル位でいけますね。バスや電車も楽しそうだけど、10時間近くかかるのはちょっと。。。


観光地情報を調べてみます。

http://www.arukikata.co.jp/city/SFO/spot.html
https://www.google.com/maps/search/supermarket/@37.7732086,-122.4280725,13.5z
ロサンゼルスよりも凝縮して色々とありそう!ダウンタウン内に住めば割りと東京感覚ですめるのかなー

家賃相場調べてみます。

http://www.zillow.com/homes/for_rent/san-francisco-ca/
https://sfbay.craigslist.org/search/sfc/apa
http://sanfrancisco.vivinavi.com/JA/re/

家賃たけぇ!


うん。無理だねこれ。。。


結論!

引っ越しはしませんw
そもそもアメリカにいて東京っぽい生活をしようと思うのが馬鹿でした。



2015年7月12日日曜日

テレビがみたいな~

たまたま、引き継いだシェアの部屋にテレビがついていました。
前の住人はゲームをやっていただけのようで、ケーブル類は一切なかったですw

飾りにしてるのももったいないので、近所のBest Buyに行ってみたらアンテナが売っていました。
20ドルしなかったので半信半疑で購入w
(あ、こっちってレシートあれば何でも返品・交換できるようなので電化製品は特にレシート大事にしましょう!映らないから金返せ!とか)


わりと優秀で30チャンネルは見れましたw
韓国、スペイン、中国語の番組もまざってたので、実際よく見るのは数チャンネル程度でしょうけど…

けど、視聴料もかからないで英語の勉強ができるので、いいお買い物になったと思い込んでますw

しかし、やすもんのドコのメーカーかわからんテレビはやっぱりクズですね。
番組表が見にくい!

なので
http://www.tvguide.com/listings/
私はこんなサイトを使って、見たい番組ないかチェックしています

アメリカでソフトウェア開発の仕事探しーローカル企業と直接面接(2)

前回とは違う会社とインパーソンインタビューを受けてきました。
600人オーバーの会社なので規模的には、まーまー大きめですね。

電話面接を期待してたんですけど、いきなりオフィスでの面接でした。
「10時に予約しておいたから、がんばってね~」みたいな感じで3日前にメールをもらい、当日受付に行ってみると、エントリーフォームを書くように指示されます。

名前とか職歴とか。。。
レジュメに書いてあるんだけどーって内容も手書きで30分位かけて完成させましたw

続いて、人事と面接

  • 自己紹介してください
  • なぜ前職をやめたか
  • ここはなんで契約で働いていたのか
とかの事務的な質問でした。

その次が、ITチームの2人と面接
まー、質問が多いいね!
  • 前職の業務内容
  • 最後のプロジェクトでやっていた作業の具体例
  • Javaに関するクイズ(データタイプ、アクセス修飾子、threadなどなど)
  • SQLに関するクイズ(inner join、outer join)
  • デザインパターンに関する質問(具体的に使用した例など)
幸いにもアルゴリズムが出てこなかったのでそんなにテンパらなかったです。

そんなにクイズって大事なのかなーと思うくらい質問されましたね。

  • staticメソッドをオーバーライドできる?
  • ListとSetの違いは?
  • マルチスレッドを使いたいんだけど、どうしたら実行できる?
こんなんどーーーーでもよくね?
Javaのインタビューのクイズをまとめているサイトを見てるかのような質問w
なにはともあれ、英語の勉強というか面接対策になるので、こんなサイトは必ず目を通しておいたほうが無難です
  • ListとLinkedListでどっちがランダムアクセスにむいてる?
  • ソート済みと未ソート配列のビッグノーテーションを考慮した使い分けは?
とかのほうが、まだ納得できるんだけどな。。。

まだ、フィードバックが来ていないからどんな結果かは知りませんが、早い所、お金が欲しいです!

2015年7月11日土曜日

アメリカでソフトウェア開発の仕事探しー日系企業ってどうなの?

アメリカ(L.A.)では日系の転職エージェントもチラチラあり、3社くらいとコンタクト取ってみましたが、どこも同じ会社の案件しか扱ってなかったし、これらが扱ってるシステム系の会社は全て日系と言っていました。

アメリカに来る前はローカル企業で働けなかったら日系でもいいかなーと思ってたんですけど、就活しているうちにその考えは消えました。

たまたま面接に行った会社なんですが、みんな日本人でしたw
エンジニアもスーツを着て、日本で働いていた時のSIerを彷彿とさせます。
勝手な思い込みだけど、絶対ブラックですね。
そして、ローカルと比較すると給料は安いです。

他の日系IT系は何処もこんな感じらしく、年俸6万ドルも厳しいと言われました。
ローカルの求人見てると9万ドルとかいっぱいあるのにね…

ちなみに、ジュニア・ソフトウェア・エンジニア(新卒レベル)の年収は5万ちょい
http://www.payscale.com/research/US/Job=Junior_Software_Engineer/Salary

また、ソフトウェア・エンジニア(経験者レベル)の年収は8万弱
http://www.payscale.com/research/US/Job=Software_Engineer/Salary
これくらいは欲しいな。
という思いがあるので、ローカル企業に絞ることに決めました。

よくわからん日系で働くくらいなら日本に帰るし!ローカルで働くなら何が足りてないのか理解した上で対策していくべきですし、そーしていけば、いずれは見つかるだろうと期待しています。

ただし、全ての日系がこんなんだとは思っていません。Sonyとかも一応日系ですが、ほとんどローカル化してますしね。やはりアメリカに来たんであれば、日系日系している会社よりもローカルの会社で働くべきですね、と私は思いました。

アメリカでソフトウェア開発の仕事探しーローカル企業と直接面接

たまたま電話での面接にパス出来た会社のインパーソンインタビューに行ってきました。

もともと面接の日程が決まった段階で3-4時間かかると言われていたので何するのかなーと思いながら行ったら案の定、テストw


  1. 自己紹介
  2. 再帰(リカーシブ)のアルゴリズムの問題
  3. SQLの問題(JoinとGroup by)
  4. 配列の値を詰めるアルゴリズム
  5. →メモリを意識したロジックに変更
  6. 配列の値2つが合計して10になるかをチェックするアルゴリズム
  7. →パフォーマンスを意識したロジックに変更
  8. CEOとの面談
  9. 人事との面談
ホワイトボードで書くのってなんか苦手。。。
頭が冴えなかったのでそれぞれ簡単なはずなんだけど、解くのに時間がかかってしまった。


ちなみに会社のBoardが移民(この会社はインドでした)だと、ブラックというか、一生懸命に働くという事を噂で聞きました。
人事と話していると、「先週バケーションでメキシコ行ってたんだけど、あなたの面接の調整してたわよ」みたいなこと言ってて、旅行中にも仕事する人たちの雰囲気まんまんでした。

社員はフレンドリーで、お菓子とか充実していて働く環境は悪くないのでしたが、プライベートでの仕事が許せない(年収次第ですけど)のでここの会社はオファー来ても行かない!と決めました。

まだ、エージェントからフィードバックは来ていませんが、こちらからPushするほどでもないので、そのままにしておきますw

やはり面接突破の鍵は「アルゴリズム」と「質問を理解できる英語力」と「プログラムの知識」ですね。

たぶん実際に開発経験がなくても、ちゃんと上記のができていれば余裕で受かる気がします。
現場での叩き上げだとプログラムの知識って以外にないんですよねw 
単語の説明なんか出来なくても、適当に動くプログラム書ければいいじゃんって思いますけどねw

2015年7月3日金曜日

アメリカでソフトウェア開発の仕事探しー電話インタビュー

アメリカに来てから初めてのインタビューを受けました。
電話で。。。

WEBシステム開発の経験が8年位なので、それなりに見てくれのいいレジュメをMonsterとかに置いておいたら、エージェントから電話がかかってきて、面談後にセッティングしてもらった第一弾の電話面接!!

はっきり言って私の英語ではどうにもならないということがわかりました。

しかも、こっちのエージェントは大した情報をくれません。


エージェント:どこどこがこんな経験ある人を募集してるんだけど、興味ある?
私:はい
エ:じゃあ、レジュメ送っておくねー

そのあとしばらくすると。。。

エ:電話で面接決まったからよろしくねー。担当者の名前はXXXで何日の何時からね。


キーワード的なものは最初の段階で説明が終わっちゃうので、なかなか自分で会社の調査がしにくいですね。日本の場合は、どんな会社でどんな仕事内容のポジションなのか紙とかでくれるんだけど、今のところURLとリクワイアメントのキーワードしか教えてもらえず。

で、待ちに待った初の電話面接の時、数分遅れで電話が来ます。

会社の概要と相手のポジションを説明されます。
「始める前に質問あるか?」と聞かれましたが、なんもないよ。。。

自己紹介してとか、ありふれたい質問もなしに、聞かれたことが、
「JavaのInterfaceとAbstractの違いを言って」
「staticの説明して」
「値渡しと、参照渡しの違いを言って」
「Spring Frameworkの説明をして」
「チェックExceptionと非チェックExceptionの違いを言って」
「SQLのOuter joinを説明して」
など

はい。答えられません。
答えに詰まってると、あっさり切り上げられ、面接終了

こんなんスラスラ説明できるほど英語力ないし、まして日本語でもなんだっけ?ってなりそう。
普段仕事で使ってたのに説明してって言われると出てこないもんですね。
ぼんやりとしかわかってないのかなー。

というか、これって面接でもないですね。こんな調子では120%仕事をGET出来ない。
英語の勉強と、技術知識のおさらいが必要だということが痛いほどわかりました…