RSS Email Twitter GitHub Dribbble LinkedIn Facebook Instagram YouTube Google+ Pinterest Reddit icon

70 Weeks

シリコンバレーのエンジニアですって言いたい人のブログ

シリコンバレーへの道 Week 4-5,

人材紹介のエージェントの話を聞いたらとても良かった マイナビエージェントさんにキャリアの展望を相談してみた。個人的には狭き門にチャレンジしようとしている認識はあるし、紹介業からしたら簡単にクローズしなさそうな案件で、面倒がられるかと思ったら、とても真剣に話を聞いてくれました。その方はフィアンセがアメリカ人らしく、事前に電話でリサーチもしてくれ、「チャレンジする人を応援したい」と励ましてくれました。 ただ人材紹介会社という立場で言うと、やはりそもそも求人数が限られていて、将来そういった可能性もあるかもしてない日本企業の紹介が出来るかどうかという感じでした。求人サイトで直接探した方がチャンスはあるかもとのアドバイスもいただきました。 英語について 牛尾さんという方の ITエンジニアのゼロから始める英語勉強法 という書籍を大いに参考にしながら勉強を進めています。 他にない勉強法というわけではなく、これまでにも聞いたことがある内容ですが、やはりエンジニアとして活躍されている方は情報の整理の仕方と説明の仕方が上手だと思いました。自分の中で腑に落ちた状態で勉強を進められるので目的意識をはっきりと持てていると思います。 現在はUDA式メソッドの12日間のトレーニングを終え、英文の聞き取り強化をしているところです。以前から日本の番組を見るよりはということでなるべく海外ドラマなどを見るようにしていましたが、UDA式の練習をしてからリスニングの聞き取れる音の粒度が以前よりずっと細かく聞き取れるようになった実感があります。 英語のリスニングは発音力で決まる! 英文に関しては教科書的な会話を繰り返し聞くのがどうしても苦痛に感じ、Netflixで配信されているRick & Mortyというアニメを教材としています。 候補企業のピックアップ 行けるかどうかという大前提はもちろん置いておいて、日系および外資系企業の応募候補をいくつかピックアップしました。 ▽日系 - メルカリ - Smart News - Kaizen Platform - サイボウズ - nulab - rakuten - EYS-STYLE - DG LAB ▽外資 - Google - Facebook - Yahoo! - Amazon - Zoho - Uber - Twitter - Pinterest - airbnb - Square - Slack - NetFlix - Expedia - Adobe - NIANTIC - indeed - BUZZFEED

シリコンバレーへの道 Week 3, 現状のサマリー

就労ビザについて ソフトウェアエンジニアのUSビザ こちらの記事が大変わかりやすく説明されています。H1Bビザの抽選に参加するためにはコンピュータサイエンスの学位があれば全く問題なく、それ以外の学位だと職歴が必要になります。 現在手続きを進めているUoPeopleでCSの学位が取得可能ですが、並行して日本の通信制大学で学位を取得し、CS以外の学位+職歴という部分でも進められるようにします。 またこの流れですと最低でも3年ほどかかりますのでそれより前にLビザを利用して渡米出来れば効率的です。 したがってアメリカに拠点を持つ日系企業にジョインして米国駐在しつつ、H1B申請の資格をクリアしたら毎年抽選に参加するというのが第1希望です。もちろん日本の外資系企業からの流れや場合によってはJビザも検討します。ただJビザはオススメされている方があまりいないように見受けられるので基本的には考えていません。 シリコンバレーに進出している日系のIT企業について ベイエリア(北カリフォルニア)日系企業実態調査2018年(2018年8月) JETROのレポートを見るとベイエリアに進出している日系企業は約900社で、そのうちの45%がサービス業、さらにそのうち44%が情報システム系ですので約180社ほどが対象になります。その180社をピックアップしつつ求職活動をしてこうと思います。 ようやく具体的な道筋が見えてきたような気がします。思っていた通りハードルだらけなのですが、それがはっきりしているかどうかでは意識が全く違います。ただこの流れだとスムーズにH1Bが取得できたとしても三十代後半という年齢になってしまうので、シニアエンジニア以上の動きができるようスキルを磨く必要もあります。 また、アメリカに行ってみたいなと思ったのは去年の年末頃でしたので、その時点でしっかり調査してこの道筋は描いておくべきだったなと反映しています。

指定したタグの再試投稿に自動でいいねを付けるプログラムをNode.js + Puppeteerで作成してHerokuで1時間に1回実行する

これまでソーシャルメディアを全く活用してこなかったせいでソーシャルパワー0を堅調に推移していたのですが、この度個人のインスタグラムアカウントをインスタグラムアカウントを真面目に運用してみようと思い立ちました。 目的は海外の方とお友達になることです。私は新宿駅からそれほど遠くない場所に住んでいますので、訪日外国人観光客や都内在住の方に向けて新宿のご飯屋さんなどの情報を発信して少しでもつながりが作れたら良いなと考えました。 英語の勉強も兼ねてプロフィールや投稿も英語で書いてみることにしました。本格的に始める前からすでにSNS疲れを起こしているような感覚ですが、無理のない範囲でチャレンジしてみようと思います。 また、プログラマ的なアプローチとして自動で投稿にいいねを付けるプログラムを運用してみました。 #lifeintokyo など繋がりたいターゲットが使いそうなタグの投稿に対していいねをつけてこちらにも興味を持ってもらえれば大成功という作戦です。 ざっくり以下のような流れで実装しました。 指定したタグの投稿にいいねを付けるプログラムを作成(記事準備中) プログラム上で国内からのログインとするためのプロキシサーバの用意(記事準備中) githubを通してherokuにデプロイ(記事準備中) heroku schedulerを利用して該当のプログラムを1時間に1回実行する(記事準備中) それぞれの詳細は別で記事を作成しますので興味のある方はリンクよりご確認ください。 運用後約1週間の所感 プログラムは概ね問題なく動いているかなと思います。 またこれはイメージしやすいですがいいねを付けた方からこちらの投稿に対していいねを返してくれるパターンがかなり多くあります。フォローはたまにしていただけますが、まず私の投稿自体が20件にも満たない状態なので、こちらは地道にみなさんが喜んでくれそうな投稿を続ける必要があります。 自動化について思ったこと プログラマー自身やプログラマーさんとチームでお仕事されたことのある方など、普段の作業の中のちょっとしたことで自動化してもっとレベルの高い作業に集中したいと思ったり、とかルーティーン作業の自動化プログラムの作成を頼んでみたりしたこともあると思います。 人がやるまでもないと思われる簡単な作業がそういった自動化の対象になると思うのですが、人が手で簡単に出来ることが簡単に自動化できるかというと必ずしもそうではないと思います。 今回の例でいうとインスタグラムのログインなどは最初にログインしたらあとは自動的にログインしている状態担っている方がほとんどだと思いますが、プログラム上は毎回ログイン処理をする必要があり、インスタグラム側のシステムのログインに対するセキュリティに気をつける必要があります。 私の昔の同僚もデータ集計の自動化に取り組んでいたのですが、そういった細かい内容が積み重なって、複雑なパートは人が手動で作業する、いわゆる「半自動」の形に落ち着きました。 その時は毎週2時間くらい使っていた作業が半自動化により5分くらいに短縮されたので間違いなく効果はあったのですが、私はこのラスト5分の作業を取り除くことが重要だと思いました。たった5分であってもタスクがあるという存在自体がリソースを圧迫し5分のタスクがあるだけで他に使うべき時間を5分以上は確実に削って行くと思います。 ですので今後も自動化のプロジェクトの際には「勝手に動いている」完全自動化をゴールに進めていきたいと思います。

シリコンバレーへの道 Week 2, 現在の乗り越えるべきハードル

会社を退職して2週目が終了しました。正直在職中はかなり多忙であまり情報収拾が出来ていなかったので、ようやく情報収拾から手を付け始めたという感じです。分かっていたことではあるのですが、現状の私のステータスでは乗り越えるべき大きなハードルが2つあります。 英語 海外勤務を希望した場合に英語能力を問われるのは当然です。英会話能力を問わない場合も稀にあるかもしれないですが、例えばほとんど日本語で対応可能な業務内容とか、よっぽどそのポジションが足りていないとかそういった前提になり得ると思います。エンジニア職は会話能力において多少優遇されるという記事もありましたがとにかく早急に対応する必要があります。 英会話の検討など英会話の検討などもちろんなのですが、せっかくフリーランスの状態なので英語を使って何か新規プロジェクトを海外の方と行うことが出来たら最良だと思っています。(採用面談の際にもアピールになりやすいと思う)どうしたらそのようにできるかは模索中です。。 学位 就業ビザで目指すべきH1Bビザの取得にはほぼほぼ学位が必須となるようです。(正確にはそれまでの職業経験で同等の知識等を有することを認めさせることが出来ればなくても良いようなのですが) こちらもあった方が当然有利に働くでしょうから取得を目指します。今から大学生になってキャンパスライフを送っている余裕はないのでもちろん通信制。現在検討しているのは以下。 また、一応2年制の専門学校を卒業しているので可能であれば3年次編入を狙います。 ・北海道情報大学 システム情報学科(秋季3年次編入あり) ・東京通信大学 情報マネジメント学科(20年春3年次編入あり) ・帝京大学 理工学部情報科学科(20年春2年次編入の可能性数%あるか。。) ・University of the people computer science degree 少なくとも出願は全てしようかなと思っています。北海道情報大学は狙い通り3年編入できるようであれば最短で学位が取得できるので第1希望ですが、University of the peopleも既に申し込み済みです。こちらはCSの学位が取得できますし4年かけて頑張りたいなというところです。 以上2つの壁ですが、どんなに全精力を注いで頑張っても英語は半年以上、学位取得は2年かかるとして、その状態でも雇ってくれる会社を見つける必要があります。以下現在考えている2つのシナリオです。 1stシナリオ 駐在ビザ(L)で海外勤務を実現し、並行して学位を取得、H1B取得が実現可能なレベルになった際にサポートしてくれる。 2ndシナリオ 将来のビザ取得サポートを前提に日本で働く 2つ目のシナリオはその通り海外勤務ができる可能性ってかなり低いのではと考えているので、ひとまず1stシナリオを求めて求職活動をしてみようと思っています。

シリコンバレーへの道 Week 1, 決意表明と今後の方針

決意表明 2019年5月末をもってそれまで勤めていた会社を退職しました。 もともとフリーランスのエンジニアとしてなんとか生きていくことは出来ていたのでこれからフリーランスとして働きながらシリコンバレーのエンジニアを目指して挑戦したいと思っています。 なぜシリコンバレーを目指すのか 最初のきっかけはudemyで受講した「 Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする」 の講師の酒井潤さんのキャリアパスに興味を持ったことです。その他にも、やはりIT領域の最前線であるシリコンバレーエンジニアの待遇や、昨年LAに旅行に行った際の西海岸の気候が大変気持ちよかったことなど、色々あるのですが、エンジニアとして働くなら最高峰を目指すのは割と自然な流れかなとも思っています。 また、大前提としてハードルはかなり高いと考えています。パッと思いつくだけでも - もうすぐ33歳とそんなに若くない。奥さんもいる。(子供はいない) - 英語が出来ない(1年半前くらいに受けたTOEICが確か500くらい) - 学位を持っていない(最終学歴は調理師の専門学校ですw) などです。ですので最終的に断念する可能性も十分にあると思っていますし、それで良いと思っています。 そう思える理由は2つあります。 シリコンバレーを目指す上で努力したことが無駄になることはない 私はエンジニアとして仕事をして対価をもらっていて、今後もそうしたいと思っていますので、英語を習得することも、アルゴリズムを学ぶことも、シリコンバレーの企業にささりそうな言語を学ぶことも、こうしてブログで経過を発信して、そこからつながりを作っていくことも全てプラスに働くと考えています。 成功体験と同じくらい失敗体験には価値がある インターネットでは少し探せばサクセスストーリーをいくつも読むことが出来ますが、それと同じかそれ以上に、素晴らしいオープンマインドを持った方々の失敗談に価値があるなと感じています。成功も失敗も挑戦したことに対する結果ですので、やはり等しく素晴らしいです。前述の通り、私はなんの基盤も能力もない人間ですので、なるべく多くの失敗をしてそれ共有することで誰かに価値を与えられれば上出来かなと思っています。 また、私の最大の幸福は奥さんが私のやりたいことに対して同意してくれていることです。 これが私の最大の幸運であり、強みだと思っています。 その恩返しとしてとにかく懸命に働くことによって経済的な余裕と、それほど多くの人が経験しない刺激的な人生をプレゼントできたらなと思っています。 今後の方針 基本方針として海外に拠点を持つ日系企業に所属することを目指します。前述の酒井さんの著書やインターネットの情報をいくつか見てみましたが、それがもっとも可能性が高そうだからです。 また、ひとまず2020年の10月に挑戦のデッドラインを定めています。来年10月に設定した理由は奥さんの仕事の関係など色々あるのですが、来年10月の時点で目標達成できていなかった場合、続けるのか断念するのかその時の状況に応じて判断します。(6月から翌年10月まで約70週間ありますので、ブログのタイトルは70Weeksとしました。) ** そのほかやることリスト ** 英語の勉強 資格の取得 (CCNA,LPIC,MCP) オープンソースのプロジェクトに参加する プログラミングコンテストに参加する ウェブで発信する(SNS,Blog) 日本国内の海外勤務に強いエージェントに登録 現地のエージェントにも情報集めの意味も含めて一応登録する 現地の日本人向け転職サイトのビザサポート可能な日系企業を探す カナダ経由の場合の流れも確認・検討する 学位を取得する

Hugo + Gitlab + Netlify CMSで無料のブログ環境をサクッと構築する

エンジニアであれば誰しも発症する、「継続的なアウトプットのためにブログやっちゃうぜ」症候群が再び起こりまして、人生何度目かとなるブログをスタートすることにしました。 それで、どうせなら今までやったことのない構成にしたいなと思い、Goをこれから勉強していきたいなと考えていたこともあって、HugoでStaticなブログサイトを構築することにしました。 Goを勉強していこうと思った理由はこちら(準備中) Hugoについてポチポチ検索していったところ、以下のフリーランスエンジニアの方のブログの記事で問題なく完了できました。感謝です!! ▽ Hugoのインストール https://cloudlance-motio.work/post/hugotutorial/ ▽ Netlifyを使ったホスティング(サイトを公開する手順) https://cloudlance-motio.work/post/netlify-hosting/ ▽ NetlifyCMSでCMSを通してコンテンツを投稿する方法 https://cloudlance-motio.work/post/netlify-cms-setting/ 上記の手順はWindowsを前提に書かれていると思いますので、Macの方は最初のHugoのインストールは、 brew install hugo でOKです。 また、私は以下のAMPベースのテーマをインストールしてみました。 https://themes.gohugo.io/hugo-lamp/ 基本的にはこれでサクッと、慣れれば15分くらいでブログ環境を手に入れられると思います。 私の場合は、記事のURLがhttp://localhost:1313/~ になってしまうという現象があり、プロジェクトディレクトリ直下のconfig.tomlを以下のように変更することでローカルでサーバ起動した場合とNetlifyにホスティングした場合とでconfig.tomlを切り替えることができました。 ▽変更前 /config.toml ▽変更後 /config ├── _default │ ├── config.toml ├── staging │ ├── config.toml └── production └── config.toml これで/production/config.tomlのbaseURLを実際のブログURLにしたところ正常な挙動となりました。 以上です。実際にやってみて、GitlabとNetlifyの連携が恐ろしいほど簡単で、一瞬でgitを通したデプロイ環境が手に入ることに感動しました。 まだ既存のテーマを入れただけですので、少しづつ調整していきたいなと思います。

Getting Started with AMP

Getting started with AMP Implement these key steps to get up and running with AMP: Create your AMP pages Validate your AMP pages Make your content discoverable Using AMP day-to-day Keep your AMP momentum going with all the resources AMP has to offer. Create your AMP pages See the relevant sections below for: using a CMS, starting from scratch, or converting existing content

Getting Started With Hugo

Step 1: Install Hugo brew install hugo To verify your new install: hugo version Step 2: Create a New Site hugo new site quickstart The above will create a new Hugo site in a folder named quickstart. Step 3: Add a Theme See themes.gohugo.io for a list of themes to consider. This quickstart uses the beautiful Ananke theme. cd quickstart;\ git init;\ git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke;\ # Edit your config.