Posts

Showing posts from March, 2020

日本の会社にもっと優秀な海外の技術者を呼び寄せたい場合、給料以外にどんな策を講じる必要あると思いますか?

米国の IT企業で働いているものです。東京で5年弱働いてました。日本人ではありますが、サンフランシスコで働く技術者の視点に限りなく近いと思いますので、書いてみます。 例えば: 世界で戦える技術を1つでも持っている 去る者を追わず、出戻りも大歓迎(風通しが良い) 優先度付けの徹底(10の仕事に対して8の時間しかない場合、落とす2を戦略的に選べる。残業して10をやるとかは論外) 結果重視でリモートもOK(自宅勤務の部下の業績を測れない上司はアウト) 労働時間よりプロジェクトに貢献度で評価 関係が拗れた顧客と上手に断ち切れだけの技量と営業ー技術の信頼関係がある(ズルズルいかない) 複数の部門で外国人マネージャが活躍している(公平チャンスがある) 書類がすべて英語化(日本語できない人はハンデにならない) 車内で移動しやすい 上司と部下が相互評価する 給料は市場価格(相場次第で技術者がマネージャーより稼げる) トレーニングも業務の一環として費用及び時間を確保できる VISAが取りやすい ありえないと思うかもしれませんが、ITに限ればこのうち大半を満たせる会社は普通にあります。最後の一点は米国がバツですが。 もちろん、ほとんど満たしてなくても「日本に住みたい」という人は沢山いると思います。圧倒的に飯が安くて美味しいし。でも、例えば「リモートはダメよ」とかと言われると、どんなに働きたい会社でも「子供が風邪ひいたらどうするの?親としての最低限の義務を果たせないのでは…」となります。所帯持ちの経験豊富の人材は本人がどんなに来日したくても家族が納得しません。

テストコードを書かないメリットありますか?

一番のメリットは、テストコードを書く時間を省くことが出来ることです。その時間を別なプロダクト開発に利用することができます。 なので、非エンジニア(ビジネス側)の方にとって、エンジニアがテストコードを書く事に対して、疑問を持っている方が多いと思います。 ただ、長期的に見ると開発・保守効率が下がるため、テストコードを書いているに越したことありません。(テストコードを書きすぎてもテストコードの保守が大変になるので、良い塩梅を見つけないといけないですが)

優秀なプログラマーは何故Stackoverflowを使用しているのですか?

Stackoverflowは技術分野の質問・回答サービスですが、Quoraと同様に質問や回答の品質を維持するための仕掛けがいくつかあります。 過去に同様の質問があればそちらへ誘導することができますし、誤った回答であれば評価を下げることで、検索のランキングが落ち込むように設計されています。くだらない質問や回答に時間を取られなくても良いわけです。 今の所効果的に機能しており、トラブルや疑問の多くは解決することができます。 優秀なプログラマーによる的を射た質問や的確な回答により、見た人もより優秀なプログラマーになれるでしょう?

windowsのOSは32bit版と64bit版があります。64bit版の方が処理が速くて、使いやすいと捉えて大丈夫ですか?

基本的に、32bitの方が良いとか、32bitじゃないといけない人は結構限られているので、大抵の人は64bitを選ぶべきです。 速度については、メモリが最低でも8GBあるという前提ならば、64bitの方が有利なことが多いです。反対に、32bitではシステムメモリが4GBまでしか認識出来ない代わりに、アプリのメモリ効率は64bitよりも良いので(ざっくり半分強で済む)、メモリ4GBやそれ未満で使う場合は、32bitの方が快適です。 また、32bitは過去のアプリ(XPや98など)との互換性をある程度持つので、そうしたアプリを使いたい場合に有利です。

エンジニアとして、後輩や部下に技術的な質問をすることはありませんか?

します。 近頃は新しくてそこまで興味持てないことは、積極的に部下にさせてから情報を吸い上げてます。 自分でもやりたくてたまらない事なら、自分でやっちゃう方が楽しいですが、「やらなきゃいけないけど、ちょっとだるいなあ」みたいなことは、大体後回しにやりやすい。そうすると結局やれないで終わってしまう。 他方、部下にそう言った事をさせるのは本人のためにもなるし、その成果を私に話すのは更なる勉強になるし。良い事ばかりです。 そこまで行かなくても、ネットの情報ってのは大体私よりも若い人達が書いているものです。若者の馬力や勢いが素晴らしいです。 年寄りは若者よりも出来るのは、そういう「点」を「線」で繋ぐ事です。まぁ、そのヒントも若者からもらったりするわけです。

グーグルのソフトウェアエンジニアは凄いですか?

凄いです。 グーグルは会社のイメージや待遇などの理由で、ソフトウェアエンジニアなら一度は憧れる会社です。また、入社のための面接のハードルの高さも有名です。 アメリカのソフトウェアエンジニアの面接は45分から一時間ぐらいで、面接官と候補者二人だけでの面接を5つ、一日で受けるのが普通です。ほとんどホワイトボードやPCで実際にコードを書かせる面接です。5人の面接官それぞれ、一人の候補者について合格・不合格の意見を出すことになります。 大抵の会社では、5人中4人が、場合によっては3人が合格と言えば、採用になります。グーグルでは、一人でも不合格をつけたら、ほとんど不採用になるそうです。実際、不採用通知を受け取った人で「ダメだった面接は1つだけ」と言われた人が何人か知ってます。または、出された問題の難易度が他の会社より高い傾向にあります。全てが難しいわけでは無く、問題の中に他で見たものより難しいものも含まれていた、という程度らしいです。 そんなに厳しくしたら、本当は実力があるエンジニアも落とされてしまうのではないか、と思うかもしれません。実際はそういうケースがたくさんありますが、「間違って優秀な人を落としてしまうリスク」よりも「ダメな人を採用してしまうリスク」を避けたいです。グーグルほどの企業になると、優秀な候補者が次々と応募してくるので、優秀な候補者が貴重なわけでもない、とも言えるかもしれません。 そういうわけで、グーグルの面接を突破するだけでも「凄い」と言っても良いと思います。

起業するのであれば、働きづめの生活は許容しなければいけないですか?

許容する必要あります。というか、そうでなければ、起業できないと思います。時間を忘れ、楽しく打ち込める仕事をすれば苦にならないでしょうか? 企業後、まずは最低限生活できるだけの収益を確保するために、常に仕事を考え、働き詰めになります。 そして、一人または少人数ではできること、収益限度がありますので、さらに多くの安定収益を得るために従業員を採用し、事業規模を拡大することになります。 社内システムを確立し、自分が居なくても事業が回るようになって、初めて今後も精力的・積極的に事業規模を拡大していくのか、それとも現状に一定の満足をして、なるべく長い期間現状維持(もしくは揺れやカナ成長)が出来るよう努力するのか、の選択が出来るようになります。 事業拡大を締めると時間に余裕が生まれ、自分の事に使える時間が増えます。 最終的なゴールとして「好きな時に働き、好きな時に休む」生活が実現できると思います。 私の目指すのもそいう生活です。 私の会社はまだまだ盤石の状態ではないですが、子供も大きくなってスポーツジム等に通えるようになり、最近はようやく自身の健康維持を考えた時間や自由な時間を多く持つことができるようになってきました。 理想の生活を完全に実現するのはまだまだ先になりそうです。

WindowとMacOsとLinuxの良い点とダメな点は何ですか?

いずれのOSの利用経験がありますので、私見を述べてみます。 Window: 良い点: マシンの選択肢が豊富 デバイスの対応状況が良い 使用者が多いため、問題が起きた時に解決方法をネットで得たり、援助を受けやすかったりする ダメな点: 動作が重いので、高スペックなマシンが必要 OSが落ちやすい CLIがLinuxやMacOSに比べると使い辛い MacOS: 良い点: マシンとOSが総合的に作り込まれていますので、動作が安定する 問題が起きても、Appleサポートの対応がきめ細かい GUIやCLIも快適に利用できる ダメな点: マシンの値段が高い マシンの選択肢が少ない ライセンス上、Apple社のマシンにしかインストールを認められてないため、他のOS上の仮想マシンなどにMacOSをインストール出来ない Linux: 良い点: 動作が軽いため、あまり高スペックではないマシンでも実用的に使える 多くのディストリビューションが無料でインストールできる CLIが快適に利用できる ダメな点: OSをインストールしてから使いやすい環境を整えるまで、時間がかかる 問題が起きた時には、自分で解決するだけの技術力が必要 特殊なデバイスを利用するのは苦労する 以上、ご参考になりましたら、幸いです。

面接の約束を前日にキャンセルしたら、採用担当者から「私は会議の予定を変えてまであなたとの面接を予定していた。もうあなたには働いていただかなくて結構」と言われました。どのように返答したらよいでしょうか?

人は時として自分の主張に一杯一杯で、相手にも事情があるという事に思い至らない事もあります。 中でも、最悪ケースに私は遭遇しました。母の通院の予約を直前にキャンセルした事で、妹が病院の受付担当者から執拗な嫌味を言われていた時のことです。電話での会話を一緒に聞かせてくれた。 「医師はとても忙しいということはご存知ですよね?彼らのどれだけ時間が貴重であるかわかっていますよね?」 「このタイミングでは他の患者さんの予約を受ける事もできません。つまり、ガンなどの重い病気で医師の診断を本当に必要としていた人の機会が奪われていたという事です。それも自分勝手なドタキャンによって」 私と妹は聞き入っている間、愚痴が止まる様子が全くありませんでした。初めは妹が口を挟もうとしたのですが、文字通り受けつく島が無く、彼女のワンマンショーを聞く羽目になりました。一頻りがなり立てた受付担当者は次の言葉で締めました。 「申し訳ございませんが、こんな直前のドタキャンにはそれなりの、誰が聞いても納得の行く理由を当然お持ちなんですよね?」 妹はおずおずと述べました。「はい、母は先程亡くなりました。今日の予約の取り消しをお願いしようと思い。。電話させて頂きました。」

GoogleやMicrosoft等の有名企業で従業員がサボらないようにどうやって対処していますか?

そもそも対処していません。まず前提として知っておいて欲しい事があります。多くのトップレベル会社(特にテックカンパニー)は従業員がどのように会社で過ごすのか細かく管理していません。結果が全てだからです。 他の知っておいて欲しいなのはあの会社に採用されている従業員はモチベーションが高くて、時間管理と優先付けに長けている事です。私たちはたまにするように、ある従業員がサボった。そうなったら、その分の埋め合わせをしないといけない事です。近代の勤務環境は24時間稼働です。どのぐらい仕事や自由な事に時間を割り当てるかは従業員の自由です。これはワークライフバランスのことです。 つまり、誰も1、2時間を無駄にしたり、遅刻したり、休憩が通常より長く取ったり、早退したり、「子供を病院に行かせる」や「医者に診てもらう」などの嘘をつき休んだりしても、誰も気にしません。仕事への準備、責任に悪影響が出たとしたら、その人自身が招いた結果です。もし、いるべき時にその場にいなかったり、求められていた時間内に仕事を終わらせられなかったり、期待されていた仕事の結果を出せなければ、その会社で長続きはしないでしょう。なので、会社はサボろうが気にしていません。もし、トップレベル会社で働いているのであれば、一人前のプロとしての仕事をまとめられるのは当たり前で、誰も監視しなくても、結果を残すのが普通なのです。

Kubernetes上で機械学習の実行が可能な「Kubeflow1.0」バージョンリリース

 米Googleは、Kubernetes上で機械学習の実行可能にする「Kubeflow1.0」を、3月3日(現地時間)にリリースした。  「Kubeflow」は、企業におけるソフトウェア開発から、機械学習に至る共通のインフラの標準化と、機械学習のあらゆるステップの、オープンソースのデータサイエンス及びクラウドネイティブなエコシステム活用を実現する。  Google Cloudのアプリケーションプラットフォームである「Anthos」上で「Kubeflow」を使用することで、ハイブリッド且つマルチクラウド環境の機械学習のワークフローを実行しつつ、「GKE」におけるエンタープライズレベルのセキュリティ、自動スケーリング、ログ、ID機能を利用できる。  今後は、「Anthos」を使用したオンプレミスでの機械学習のワークロードのサポートや、「Katib」「Batch on GKE」における大規模ハイパーチューニングジョブの実行、プライベートGKE及びVPCサービスコントロールを使用したデータ流出を防ぐソリューションといった機能の追加を予定している。