現代文の問題を解いているお話。

なんでこんなことしようと思ったのか。

昨年色々なことがあり*1、データサイエンティストとして現在の会社に転職した。社内ではエンジニアと呼ばれることもある。転職時にこの職種をやっていく上で必要なのは、分析に必要なコードをスピーディに書けるかどうかだと思っていた。しかし実際には、コードを書くよりも他人の書いたコードやドキュメントを読む時間の方が圧倒的に長いため、文章をきちんと読んで理解するスキル、いわば現代文で培われると言われるスキルも結構重要だと思った。比率で言うと書く時間:読む時間= 3:7くらい。仕事でしこたまそれをやっている分慣れていると思っていたが、疲れていたり、内容が難しかったりすると、誤った理解をしてしまったり、読み落としが多くなることがわかった。そのため、自分のコンディションが今正常なのかどうかを客観的に判断、あるいは丁寧に読むor書く訓練の一貫として現代文の問題を解いてみようと思い立った。*2

どんな感じで勉強しているのか

問題集は、マーク式基礎問題集現代文 (河合塾シリーズ)入試精選問題集 7 現代文 4訂版 (河合塾シリーズ) を使っている。マーク式を選んだ理由は、「採点がしやすく、正誤が簡単にわかり、自分の頭のバグり判定をしやすいから」というのと「似たり寄ったりの微妙な選択肢を適切に排除する訓練になるから」という2つの理由がある。記述式も加えているのは「文章構成力を培う訓練になるから*3」という理由で取り組んでいる。土日どちらかで1時間ほど時間をとって、時間制限を設けて問題を解くという受験生のような生活をしている。特にどこの会社の参考書が良いとかはよくわからないが、大手予備校か入試過去問を使えば事足りると思っている。

問題を解いている最中

問題文に傍線が引いてあって、「〜とはどういうことか」「・・・とあるが、それはなぜか」「筆者の考えに最も近いものは何か」「この時の彼の気持ちは何か」のような、受験期には親の顔より見た(????)問いに答えていく。「マーク式は消去法で答えろ」みたいな文句を太古の昔は聞いた気がするが、これは問題文の適切な言い換えであっても引っかかって選択肢から外されてしまうので、これだけに頼るのは良くないと思っている。また、微妙な選択肢を排除しきれないという難点も抱えている。ここで、プラスアルファで意識していることとして、自分なりの解答を文章の形で頭の中に思い浮かべて、それと選択肢を照らし合わせていくという手法をとっている。選択肢の読点ごとに文章を区切って、本文との整合性を判断するというよくある受験テクニックもやる。記述式については、問いに答えるためのキーワードとなる単語を抽出し、それらを要約するという形で問題を解いている。

また、当然だけど、飛ばし読みは絶対にしない方が良いと思っている。じっくり読んでも制限時間的にそんなにきつくなかったので、前後関係や主述関係、比較、因果関係などはかなり意識的に読むようにしている。そもそも、日常的に文章読む上で誤読しないよう訓練することが目的のうちの一つなので、ここで飛ばし読みしたら本末転倒になってしまう。

問題を解いた後

現代文の問題最大のバグはこの答え合わせだと思う。そもそも間違った解答したやつが、解説を読んで「なるほど!確かにそうだな!俺が間違ってた!」と理解するだろうか。多分解説も理解できないのではないだろうか...。それはさておき、マーク式の場合は、解答だけでなく、そこに到るまでの過程が俺の考えとどれくらい異なっているのかあるいは問題作成者がどれくらい俺よりポンコツなのかを確認しながら答え合わせをする。意外と難しいのが小説で、<常識>*4をどこまで使用して良いのかの判断がつかず、迷った選択肢や記述に対して、解説がいまいち納得できないものがある。ここは課題がまだ解決できていないが、形容詞や副詞の使い方から登場人物の気持ちを把握するという神ゲーを感覚でやるしかないのだろうか。方法論がある人いたら教えて欲しい。

取り組みの感想

1ヶ月くらい取り組んでみて思ったのは、評論はほぼ満点を取れるものの、小説は点数がブレてしまう。特に「主人公の気持ち」のような登場人物の心情把握が異常なまでに下手くそで、些細な動作や表情変化から感情を読み取るのがどうも苦手なようだった。記述については、もともと文章を書くのが不得意な所為もあって、多分第三者の指導を受けながら勉強した方が良いような気もする。あるいは、100~200字程度の短い文章を書いて、推敲を重ねる、言い換えをする、なんかの訓練をするのが良いように思う。あと、このブログ記事を読んでわかるように、とにかく構成が下手で、思いついたものから書く癖がある。バーバラミントでも読んだ方が良いのかな。良い参考書や修行方法があれば誰か教えて欲しい。

*1:この記事を見て bislogyaruka.hatenablog.com

*2:当たり前ではあるが、問題を解けば読解力があがるということは無いと思うので、自分が何を考えながら読んでいたのか、解説と照らし合わせながらやっている。そうした過程で、自分の考え方の癖だったり、誤解しやすい箇所に対する対策を考えていきたい。

*3:文章書くのまじで苦手なので...

*4:例えば、「顔を赤らめる」「下を俯いた」などの表現は人が恥ずかしい時に使われる表現でもあるが、この表現が出てきたら、「あ、こいつは恥ずかしがっているんだ!」と評価して良いのかという問題。文脈によるのではあるが、その文脈を判断するのが意外と難しかったりする。アスペだからか?

初年度が6ヶ月終わりそうなので振り返る。

今年度が早くも6ヶ月が経過する。年の初めには今年やりたいことを以下3つ掲げていた。

  • 異動や転職に向けて、統計解析や機械学習の分野でoutputを出す。
  • 英会話のスキルを磨く。
  • 社外の人との交流を増やす。

bislogyaruka.hatenablog.com

そのうちの1つは達成することができたので前回ブログで紹介していた。

bislogyaruka.hatenablog.com

転職については、実際ブログやQuiitaなどでoutputを出していたわけではなかったのだが、運よく決まったため今の職場で働けている。outputを出す目的は転職や異動だったので、今回は年初に掲げた目的が達成できたとしている。微妙な形だけど。

そこで、今回のブログ記事では、転職後での業務やプライベートでの勉強について振り返り、軌道修正し次の目標を設定することを考える。まずは振り返りから。

仕事の振り返り

具体的な案件は言えないが、機械学習の研究開発案件や分析案件に取り組んでいる。実務経験がなかったとはいえ、キャッチアップは必要なので論文や書籍、ブログなどを参考に実装をしている。

調べてわからない部分は周囲に聞いてサポートしてもらえるので、仕事を進めやすいのだが、エンジニアリング業界で言われる「15分調べてわからないなら、人に聞け」ということわざ?があるように、自分だけで進めると湯水のように時間を使ってしまうので、かなり注意している。

仕事についたばかりの頃は慣れておらず、人に聞くということがあまり出来ていなかった。とにかくなんでも全部自分で片付けようとするあまり、時間ばかりとってしまい進捗がうまく出せない日々が続いた。

最初の数ヶ月くらいはそんな感じで、今までの仕事のやり方を修正するのにかなり苦労した。過集中しやすい体質なので、調べて試行錯誤することに集中して時間が経つのを忘れてしまい、気づいたら16時になっているなどが続いた。ADHDの特性っぽい。

基本的には、スケジューラに今日やることを記入して、だいたいどの業務にどの程度の時間がかかるかを計算してアラームが出るようにして集中しすぎるのを防いでいる。また、作業をしていると他人に何かを聞くのが億劫になることがある。

往往にして、具体的に何を聞けば良いかが漠然としている時なので、「今こういうことで困っている」「多分こういうことが原因なんじゃないかと思っている」「自分ではこういう手段をとったが、こういうことが起きた」「ググったが、解決しない。」は最低限言うようにしている。

また、会話の流れを追いながら内容を理解することが苦手で議事録を取るのが難しい。特に、技術的に自分が知らない話やドメイン知識が必要な話になると「???」となってしまいうまく内容を文字に起こすことが難しくなるようで、事前にどういった話がされるのか把握しておく。あと、どういった内容を把握して次の打ち合わせにまでに準備しておくべきかはあらかじめ考えておいても良いかもしれない。

技術的な内容をキャッチアップすることについて

知らないことが多いので休日も勉強しているのだが、もう少し計画的に勉強を進めていければ、効率的になるのではないかと思う。今までは、「仕事で必要な分析手法、フレームワーク、アプリなどを家でも使って慣れる。」だったが、もう少し内容を絞って期間を設けてやったほうが良い気がしてきた。

例えば、仕事でDockerを使う必要があった場合、まずはDockerだけ集中的に勉強して1ヶ月でマスターするなどの方針にする*1。あと、具体的な成果物をブログで発表しよう、発表したい...。自分で何か作ってみることで、実装の際の勘所みたいなものが感覚的につかめてくるっぽいので、何か作るか。

あれこれ技術書を買ってはいるものの、あまり多くに手を出せるほど器用でも頭が良いわけではないので、じっくりやっていくことにする。直近だと自然言語処理だろうか。

生活習慣について

9:40出社21時退社なので、あまり健康的とは言えず、もう少し労働時間を少なくすることを意識したい。20時には退社する事を意識して、一日のスケジュールを組んでいく。長時間やる癖がついてしまうと、長時間仕事することを前提に業務に当たってしまうので、本来早くできた事を後回しにしてしまうことなる。

あと、睡眠時間も8時間は確保しないと常に眠いので、23時就寝7時起床を習慣化させていきたい。夜中にアニメ見て翌朝リストラされたおっさんのような顔つきで会社に向かうことは避けたい。

こんなところだろうか。他にもあれば随時更新しよう。

*1:実際にマスターできるわけではない

カスタマーサポート職からデータサイエンティストに転職します!

はじめに

本記事は、私の転職活動の詳細について記載しています。未経験からデータ分析職に就いた方は少数のようで、ネットで探してみましたが、中途採用市場がバブルであると言われている現状でもあまり見かけませんでした。また、私の経験も誰かの参考になればと思うとともに、自分がどういった意思決定をしたのか将来振り返えることができるようにする目的もあります。


私の転職活動に対する考えや手法は必ずしも一般的に通用するものではなく、景気や配属先のポジションの空き、組織文化に馴染むかどうか、人柄など技術的なスキル以外の影響もかなり受けます。今回の転職活動で驚いたのが、技術力が高い人がポジションを掻っ攫っていくのかと思っていたのですが、案外話を聞いてみると必ずしもそうじゃないということでした。そういった企業でも技術に力を入れていたり、論文投稿やOSS活動を奨励していたりしました。


この記事を書いている2019年3月現在は、中途採用市場が活況ということもあって、私のような分析実務未経験者であっても、若手であればデータ分析職や機械学習エンジニアに採用される可能性がそこそこあるように感じます*1。しかし、景気動向指数が数ヶ月連続で減少しているというニュース*2も最近あり、今後もこのような活況が続くのかどうかわかりません。


さらにデータ分析スキルはコモディティ化する(orすでにしている)という批判もあり、そもそもこの業界に入ること自体が自分の年収、その他キャリアをアレする可能性もあります。一時は、某ブログ記事のようにデータ分析職はSIerの人売り業のせいで将来的には安く買い叩かれることになるという批判もありました。今はまだ人工知能ブームが続いているので分析案件も多く出回っていますが、いずれこの案件も少なくなるのではと個人的には考えています*3


そういうところも踏まえてある程度割り引いて話を聞いていただけたらと思います。


ブームとはいえ、やはり未経験でDS職に転職するのは意外とハードルが高く*4、ほとんどの企業から祈りを捧げられてしまいました。実務経験がないとダメっぽいですね。大体の企業の求人票が実務経験●年以上と記載がされていました。

目次

1 現職に入ったきっかけ

新卒就活時はデータ分析系の職種に就きたくて、web系や金融機関、SIerなどを受けていたのですが、インターンや1日セミナーに参加し、膨大な自社データを取り扱える現職に入社することを決めました。まぁこれが全ての元凶なのですが…。今から思うと、他にも職種別採用で内定取れていたのだから、そちらに行けばよかったのではと思います。そんなわけで転職しようと思いました。そこらへんの決意表明は年始にもしていました。


bislogyaruka.hatenablog.com

2 配属リスク

適材適所という言葉がありますが、新卒で入社してくる社員が"適所"に行けるかは運ゲーなところがあり「配属リスク」と呼ばれています。大抵はいくつかの部署異動を経験した後に、希望部署に行けると思います。部署異動自体は数年待つのが普通だと思います。大手通信会社に院卒で就職したものの、なぜか販売店の営業をしていて日々悶々としているという方もいるでしょう。そういうやつです。


ここで数年待つのも手だとは思いますが、分析業務に就かないまま数年経った後、本当に自分の希望とするポジションにつけるかはわかりません。全く別の部署に飛ばされる可能性もありますし、その頃には別のスキルある中途社員が分析業務を行なっていて、ポジションの空きがないということもありえます。また、やる気や体力、頭のキレは20代がピークだと思うので、このピーク時に分析業務に携われないことはかなりの痛手だと思っていました。そういう意味で、配属リスクというのは個人のキャリアに不可逆な悪影響を与えるものだと思います。


多くの大企業は入社して数ヶ月後に配属が決まりますが、現職もそんな感じで配属が発表されて、今の業務に携わった時は「マジかよ…」と少し落ち込みました。もともとやりたかった業務ができる部署と全く異なる部署に配属されてしまい、しかも業務適性があまりなかったので苦労しました*5


当時はカスタマーサポート業務を主に行なっていたのですが、サービス販売やら契約事務やら請求などフロントなんだかバックなんだかよくわからない業務を一定以上のスピードでミスなく正確にこなしていくことが求められました。

3 現職の適性の有無

7月くらいになるとなんとなく仕事のやり方がわかってきて、一応一人でできるくらいにはなるのですが、そもそも職務内容に興味がなく、かつ別にやりたいことがあるにも関わらず、それができないのはかなりの精神的疲労を伴いました。今まで数学とか物理の話をしていた人間が、いきなりその話ができなくなるというのは、結構なストレスなのですが、普通の人にこの感覚は理解されません。


当時の業務は、電話応対、メールチェック、問い合わせ内容についての内部確認作業、書類作成、りん議、請求など割と広範な事務処理をジャグリングのごとく行なっていたのですが、これがかなり大変でした。各顧客で緊急度や対処法は異なり、優先順位を決めてかからないといけないので、マルチタスクで物事を処理する必要があったからです*6


私は今までそう言った"ジャグリング"経験はなく、シングルタスクの一点突破で生き抜いてきたので、こう言った複数案件が同時回ってくると非常に混乱しました。去年の8-11月まで地獄のような気分で、同期に心配されました。


また、カスタマサポート職は関連する部署と密に連携を取るコミュニケーション能力が非常に求められます。別部署の方に聞かないとわからない内容であったり、隣の人は私の対応が終わった後の作業の準備もしていたりするので、仕事が遅れる場合はどれくらい遅れそうなのか、今どのフェーズにいるのか、何人の顧客とやりあっているのか、等を連携する必要があります。


こう言ったある種の"根回し"をしておかないと、事務ミスに繋がっていってしまうので、とにかく"複数の人間とコミュニケーションを無理なく取り続けるられる"という特殊スキルが必要になります。


これは、結構私にとってはキツイことで、かなり集中しているときに、自分が今やっている作業を中断して、他の作業を頼まれたりするので精神的に消耗しました。ちなみにこれが毎日続くので、上記を苦もなくできるレベルじゃないと割とガチで精神を病みます。


そういう意味で、カスタマサポート職は、事務職と営業職のごった煮みたいなところがあって、"ongoingで進んでる案件に優先順位をつけ、相談フェーズについて関係者と連携を取り続ける"というハイパーなタスクができなければなりません*7


異動の可能性も低そうだし、これ以上続けたらまじでいろんなことが詰むのではと思えるレベルだったのですが、12月ごろから何故か体調がよくなり(?????)、転職を真剣に考えるようになりました。余裕がないと脱出する気すら失せるようで、心身ともに疲弊していると転職するなんて心の余裕が持てないのかもしれません。

4 転職についての準備

実は転職や異動した際に、教科書的な知識だけは持っておいた方が良いだろうということで、4月くらいから数理統計学機械学習を自主的に平日夜や休日に勉強し、PythonやRでコードを書く訓練をしていました。もともと勉強するのは好きですし、休日潰して論文読んでも苦にならないので、結構楽しいものでした。というか、これがもう生き甲斐というレベルで、精神がアレになってきた時は会社の図書室で、数理統計の参考書で定理の証明をやって心を落ち着けていました。入社当初はクソ意識が高かったので、朝7時くらいに出社して自習室で論文を読んだりしていました。今は流石に早起きできないので、夕方にやっていますが。


具体的に動き出したのは、1月からでした。正月休みで一気に心がリフレッシュしてしまい、色々冷静になって現職を続けるかどうか考えた結果、「よし、辞めよう」という覚悟ができました。メンタルが良くなった(?????)のが大きく起因していますね。気分が晴れた時には以下であげる項目について考えて転職を決意しました。


○ 現在の業務では分析業務ができないこと
○ 社内に分析ができる人がほぼいないこと(=強い人がいない)
○ データ分析職としてのスキルを身につけるなら若いうちの方が飲み込みも早いこと
○ スキルを手に入れないと年齢的にアウトになること
○ 次の異動まで数年あること。それでも希望部署に行けるか不確定なところ
○ 2019年現在は中途採用市場が活況になりそうなこと
○ 未経験でも人材不足のおかげで若手であればデータ分析職として雇用される見込みがあること
○ この先待遇の良い会社に入る際には、必ず分析業務の経験が求められること
○ 私が数学系大学院修了なので、ある程度の能力ないしポテンシャルは評価されそうなこと


以上の点を考えて、これ行くしかなくない?と思ったので、転活をはじめました。

5 転職活動を進める

今回は転職エージェントと一緒に進めることにしました。いきなり人を頼るのもどうかと思ったのですが、エージェントを利用して正解でした。転職エージェントについては、データ分析職に関する理解が甘い等批判もありますが、「基本無料のサービスにそこまでいちゃもんつけてもなぁ。」という気もします*8。自分の具体的なスキルセットを伝えて、「こう言った業務はしたいが、こう言った業務は控えたい」とエージェントにはっきり伝えていました。それでも、大変利用しがいのあるサービスでしたし、エージェントさんもかなり丁寧に応対してくれました*9。例えば、逆質問の場で聞きそびれてしまったことやもう少しアピールしたかったことなどをエージェント経由で先方に伝えられるようなので、普通に採用HPから出願するよりもアピールしやすいし、情報も得られやすかったように思います。さらに、エージェント経由でフィードバックについても詳しく教えてもらえる*10ので、転職活動を有利に進められると思います。登録したエージェントさんは、

リクルートキャリア

です。事前に転職を考えたきっかけや志望業種、最低年収、希望入社日などをお伝えし、面談で細かい部分を詰めていくという感じにしました。リクルートキャリアさんは応募用のフォーマットが決まっているので、複数社にボタン1つで応募することができます。ただ、面接になるとやはり自分で履歴書等を持参する必要があったので、少し面倒でした。共通フォーマットとは一体何だったのか…。


結果から言うと、3社から内定をいただき*11、データ分析職として働くことに決めました。ただ、びっくりするくらい書類選考が通過しなかったです。30社くらい応募したのですが、書類通過したのが7,8社程度でびっくりするくらい落ちました。


ベンチャー、中小企業、大企業問わずデータ分析職の募集が大量にかかっており「どこかには引っかかるやろ」と思っていたのですが、時価総額のでかい会社と有名なweb系企業からは全て書類選考で落とされました。Kaggleや競技プログラミングなども評価対象に入れたり、コーディング試験も課される会社も多かったので、当然と言えば当然ですが。私は、KaggleやAtCorderで華々しい実績はなかったので、そういう意味では実力不足とされて落とされていたのだと思います。


一方、私の相互フォローの方で、Kaggleでデータ分析の経験を積み、未経験からデータ分析職に転職された方もいらっしゃいました。分析業務を行なっていなくても、そういった課外活動を「ポテンシャル」として評価する企業もあるようです。


少しネットの海を泳いでみると、以下のリンクのように、中途採用は新卒採用と違い書類選考通過率は30-50%程度とあまり高くないようです*12。そう考えると、新卒採用って本当に恵まれた制度なんじゃないかと思えてきました。なんの戦力もないような新人にでも大企業の名刺与えるのってすごいことですよね。まぁ、私は新卒カード投げ捨ててしまいましたが。


tenshoku.mynavi.jp


面接では、現職に入った理由、現職の内容、転職を考えたきっかけ、休日で勉強していることなどを中心に説明しました。また、現職がデータ分析と全く関係ないので、知識が少ない部分は休日や平日夜に自主的に勉強している旨を伝えました。私を採用する際の懸念事項は、データ分析に関する実務経験がないことだと思ったので、自主的に勉強していることを示すのが少しはアピール材料になると考えました。また、取引先に出向き分析結果の報告をする必要があることから、コミュニケーション能力も見られていたような気もします*13


カスタマサポートで鍛えられた能力が転職活動で活きたので、きちんと仕事していて良かったです*14。実際、データ分析職に来られる方は、1人で分析だけしたいという方もいらっしゃって、そういった方は、他部署の人と連携してプロジェクトにあたったり、顧客に報告しに行く場面で苦労されるとのことでした。


採用面接は現職の終業後に実施していただいたのですが、現職はブラックな職場ではなかったので時間が作りやすくて本当に助かりました。中途採用の場合、面接にいく日程と有給休暇の残り日数なんかを気にしなくてはならないので、予定調整に少し手間取りましたが。


ただでさえ少ない有給休暇を使っていった面接が全部落ちた時もあり、その時は結構辛かったです*15。また、履歴書や職務経歴書でスキルセットや現在の業務内容について詳らかに書いてあるはずなのに「現職でデータ分析業務をしている人しか採るのは難しい」と言われた時は「?」が20個くらい浮かびました。書類選考とは一体何だったのか…。

6 募集要項と異なるポジションを打診される場合もある

面接が進んでいくと、面接官から「君が興味をもっている〇〇はうちの部署でもできるが、それであれば別の部署の△△という職種もあるが興味はないか。必要であれば社員と会うこともできるが。」のように募集要項や求人票に書いていない職務以外でも先方から提案される機会があります。面接がある程度進んだ段階で打診されていれば、ある程度こちらのスキルセットや興味関心の対象を理解した上で打診していると思うので、ミスマッチは少ないのではと思います。そういう場合は私は社員に会って、自分のやりたいことを説明しマッチするかどうかを確認しました。その際には、どういった手法を用いてビジネス上の課題を解決しているのか、分析結果の効果測定はどのように実施しているのか、最近勉強した技術の中で面白かったものは何か、などを質問していました。


ただ、今考えると、会社の業務内容について予め調べて、「〇〇といった業務を行なっているようだが、こちらの業務にも興味がある。こちらの部署についても担当者から話を聞かせていただくことは可能か」と面接時に別ポジションについてこちらから積極的に聞いてみてもよかったかもしれません。

7 さいごに

新卒入社した会社を1年で辞めることになるので、ちょっとそれはどうなんだろうかと思い、転職活動を躊躇していたのですが、現職を続けていても人生が詰みそうな気配があり決意しました。そういえば、Excelスクショをしたり、社内稟議の際に「文字と文字のスペースが半角になっているから直せ」とか言われたり、新人は1コール以内に電話を取れとか言われた日には、もう正気ではなくなり、正常に機能していなかったことを思い出しました(笑)。


転職を友人や知人に相談したところ、「そんな大企業やめるとか頭おかしい。でも面白いからOK」「面白いから早く辞めてブログに書いて炎上してほしい」「ジョブホッパーあいびす」など皆して面白がるだけ面白がっていました。人の人生で面白がらないでほしいと思いました。こんなブログ記事書いてイキっていたのが恥ずかしくなります。


bislogyaruka.hatenablog.com


でも理系の場合、大学で研究をしていて、数学やプログラミングなどに秀でている方が多く、未経験でもスムーズに転職が進んでいる方が多いように思いました*16。「この職場おかしいのでは…?」と思ったら、転職も選択肢として考えておくと良いのかなと思いました。特に20代であればポテンシャルで評価され、現時点での実績はなくても採用される可能性が高いように思うので、やばいと思ったら早めに行動してみることが結果になるのかと。


ただ、転職活動を通してすごく感じたことは、なんだかんだ大企業には色々なメリットがあることです。「福利厚生が充実している」「労働環境が整備されている」「スキルがなくても報酬が安定して増加する」「働いている社員の頭のキレが良い」「法令遵守意識が強い」「大企業の看板を使うので他社との交渉を進めやすい」「ライフステージに合わせて働き方を変えられる」など挙げればたくさんあります。*17これらは、ベンチャーではなかなか得られないものであり、そういったメリットを捨てでも自分のやりたい職務につくことが良いのかどうかはもう個人の価値観の問題なってくるのかなと思いました。そういったメリットを捨てでもとった今回の転職を私は「正解」にしていけるよう日々勉強していきたいと思います。

*1:もちろん、私が院卒であるという部分もある程度評価に入っていると思うので、何らかの分析業務を今まで一切やったことのない人がある日突然データ分析系企業の門を叩いて「ここで働かせてください!」と言っても門前払いされる可能性が高いと思います。

*2:https://www.esri.cao.go.jp/jp/stat/di/201901psummary.pdf

*3:私はそれであっても勉強し続けて成果を出していこうと考えています

*4:正直なめていた

*5:直属の課長からは、しっかりやれているという評価を頂けたのですが、私自身そこまで情熱が持てませんでした

*6:今はだいぶ慣れてきましたが当時は割と死にそうでした。

*7:これないと爆死する。俺はした。

*8:ただ、ITコンサルをサジェストされた時は流石にそれは違くないかとは思った。

*9:僕もカスタマーサポートだったので、顧客対応の苦労が共感できた。

*10:エージェントによりけりなところがある

*11:実は個人でも受けていた

*12:新卒採用の時はほぼ100%通過してたのに…

*13:というかそれで採用された部分が大きいような気もする。全然わからないけど。

*14:小並感

*15:幾つもの有給休暇が死んでいった

*16:私が秀でているわけではないです。

*17:個人的な感想ですが、会社員にとって同僚が優秀なのは最高の福利厚生だと思います。

Pythonを用いて回帰分析をする。

機械学習のエッセンス」*1を勉強しているので、拙いながらもメモのため今回のように記事を残しておく。今回は、各都道府県の離婚率や収入、人口のデータ(cv.csv)を用いて前処理から線形回帰を行うことを目的とする。記載している回帰分析のコードは、機械学習のエッセンスを参考にして書いた。

まずは最初に以下のコードをimportして、準備をしておく。

import numpy as np
import matplotlib.pyplot as plt
import csv
import os
import pandas as pd
import linearreg
from mpl_toolkits.mplot3d import axes3d
%matplotlib inline

osモジュールは、作業ディレクトリの確認と変更のためにimportしておく。csvをimportする際に、必要に応じて作業ディレクトリを変更するので、その時に使えば良い。pandasは、後々データ整形がしやすくなるのでやっとく。linearregモジュールは、線形回帰のモジュールで解説は以下で行う。なお、linearregモジュールは、に記載のコードを参考にしている。

まず、データをpandasを使って整形し、離婚率divorceと収入incomeの項目以外を削除したものをdataとする。

csv_file = pd.read_csv("cv.csv")
data = csv_file.drop(["pop","car", "nm_m_30",
                                    "nm_f_30" ,"w_pop" , "conv", "gsm", "sm", "gpp",
                                   "Unnamed: 0"], axis=1)

次に、dataのincomeおよびdivorceを散布図として表す。

plt.scatter(data[data_col[0]],data[data_col[1]],marker="o")

plt.xlabel(data[data_col[0]].name)
plt.ylabel(data[data_col[1]].name)

plt.show()

出力結果が以下の画像。

f:id:bislogyaruka:20190126160337p:plain

次に、回帰分析のパラメータを返す関数reg1dimを以下のように定義する。

def reg1dim(x, y):
    n = len(data)
    a = ((np.dot(x, y) - y.sum() * x.sum() / n ) /
         ((x**2).sum() - x.sum()**2 / n ))
    b = (y.sum() - a * x.sum()) / n
    return a, b

パラメータa, b が上のようなコードで表されるのは、直線による回帰分析の一般論から導出されるのでここでは省略する。xをincome、yをdivorceとする。

x = data["income"]
y = data["divorce"]

x_income = np.array(x)
y_divorce = np.array(y)

a,bを求めるため、回帰分析を行う。

a, b = reg1dim(x_income, y_divorce)

最後に、求めたa,bを用いて回帰直線と散布図を描き、可視化する。scatterするのに、配列に変換する必要があるので、xをx_incomeのようにarray配列に置き換えた。また、x軸とy軸にラベルを貼ったほうがグラフが見やすくなるので、plt.xlabel(data[data_col[0]])でラベルの名前をつける。また、プロット図自体の範囲をどこからどこまでにするか決める必要がある。今回は、x軸を[0, xmax]、y軸を[b, a * xmax + b]の範囲で描いている。本来は0から始めないと行けないかもしれない。その場合は、[0, a*xmax +b]のように定義域を変えれば良い。

plt.scatter(x_income, y_divorce, color="k")
plt.xlabel(data[data_col[0]].name)
plt.ylabel(data[data_col[1]].name)
xmax = x_income.max()
plt.plot([0, xmax], [b, a * xmax + b], color="k")
plt.show()

出力結果が以下の図になる。出力結果を見ると、なんとなく収入が上がれば離婚率が下がる傾向にあることがわかるが、この分析からは因果関係までは読み取れない。因果推論については、現時点で私にはわからないので、パスさせてもらう。

f:id:bislogyaruka:20190126161707p:plain

ちなみに、aとbの値は以下になる。

f:id:bislogyaruka:20190126161959p:plain
aとbの値

・感想
今回は簡単な回帰分析をする際のコードの書き方を記事にしたが、思いの外データの前処理に時間がかかった。具体的には、pandasをimportして離婚率と収入の項目のみ抽出する部分と配列に直すのに時間がかかった。Python機械学習のコードを書きつつ、同時並行的に入門的なPythonの参考書で勉強する方がコードを書くスキルを効率的に身につけられると思った。わからないことがあれば、参考書の最初に戻ってみる、ググるなどをこなしていく。

2018年の年初から年末までの出来事を振りかえる。

 

昨年(2018年)は大学院修了や就職など人生における一大イベントがあったので、今回の記事は、そういった出来事も含めた2018年の振り返りと今後の抱負について書いていこうと思う。記録に残せる形にしておけば、出発点で何を考えていたのか振り返りやすいと思う。また、去年の経験を踏まえた上で、きちんと意思決定したい。

 

2018年の振り返り

 

(1) 大学院修了

 2016年から入院(???)していた大学院を修了することになった。今思えば、ゲージ理論をやりたいという思いで入った研究室であったが、色々な分野に手を出しすぎて、あまり内容を深く追求できていなかった。最終的には多様体上の偏微分方程式の分野で修論を提出したが、M1の途中で就活に全精力を傾けてしまったため、全体的に勉強不足の部分が多かった。これは、本当に悔しいところで、就活と研究の両立させるようなスケジュール管理能力がなかったのが痛いところだなと思う。ただ後でも述べるが、この就活もうまくいったとは言い難いものであったので、アレだなと思う。

 

(2) 1人暮らしを始める

 自宅からは1.5時間くらいかかる会社に入社したので1人暮らしをすることに決めた。家具店や量販店でベッドや本棚、冷蔵庫、電子レンジなどを購入した。さらに、

 

「期間限定でこのウォーターサーバーをご利用いただけますと、●%値引きいたします〜笑笑」

 

という量販店の口車に乗り、ウォーターサーバーも利用することに。最初はパックで郵送される水の代金が思いの外高く後悔していたが、利用していくうちに愛着が湧いてきた。

 

 

(3) 金融機関入社

 社会性がないと知人友人から言われていたので少し心配であったが、幸いいくつかの企業から内定をいただくことができ、その中でも待遇の良さそうなところに入社しようと思い、現在勤めている会社の内定を受諾した。4月はほとんど研修で金商法や事業内容の講義が多く、開始時刻が朝8時であり、2時寝11時起きがスタンダードになっていた俺は、無事船を漕ぐことに成功した。研修後は家に帰り、数理統計学を一から勉強していた。使用していた参考書はこれ。

 

 

現代数理統計学の基礎 (共立講座 数学の魅力)

現代数理統計学の基礎 (共立講座 数学の魅力)

 

 

 

確率収束や分布収束は大学院の授業で勉強していたものの、もう一度復習がてらにやってみようと思っており、この参考書は幅広くカバーしてあったので選んだ。数学科向けというよりかは、学部1,2年でやる確率統計をマスターしたので、より進んだ内容を身に付けたいと思う非数学科3,4年向けだと思う。ちなみに、数学科だと

 

数理統計学 (講座 数学の考え方)

数理統計学 (講座 数学の考え方)

 

 

これが和書の中では一番良いと思う。証明も載っているし、何より測度論を前提とする統計学の教科書は和書にはあまりないので、そういう意味では貴重な本だと思う。ただ、データサイエンティストなど実務で使うのにはあまり適さないかもしれない。データサイエンティストじゃないのでわからないけど。

 

(4) 正配属

 総合職という枠組みは、一般に、初期配属がどこになるのかがわからないため、新卒採用ではネックとされており、配属先が本人の希望もしくは適性と異なっているものになるケースがある。このことはtwitterでは時々議論になっている。実際、半年で日系大企業をやめてしまった人のブログ記事なんかも一時期話題になっていた*1

 

 私もおそらく採用面接時にやりたいと言っていた業務と全くと言って良いほど関係のない部署に配属されてしまったので、配属ガチャ失敗といえば失敗かもしれない。これに気づいたのは配属1週間目くらいで、当時は謎の書類をアレしてアレする業務をやっていたのだが、まあ自分の経験が活きない笑。そして、もともとはデータ分析系の仕事がしたかったので、次第になんでこんなことしてるんだろうなぁ、分析業務やりたいなと思い始めたのが、配属後1ヶ月目くらい。そこから、このままではいかんなと思うようになり、もともとやっていたpythonやRなどを一から勉強して統計分析を試みたり、TokyoRやmeet upなどエンジニアの勉強会などに少しずつ顔を出していくようになった*2

 

 

 

また、去年の終わり頃は、体調を崩してしまったこともあり、いよいよ「転」の機運が自分の中で高まっていた。もちろん社内異動ができるようにjnjには伝えていくつもりだけど、何年すれば異動になるかもわからないので、いざという時に動けるようにはしていくつもりではある。一応、LinkedInやエージェントには登録しているので、どんな感じの求人があるのかを探しているところ。

 

(5) Kaggle

 

          「データ分析をやるならまずKaggle」

 

という神のお告げがあったので、去年の終わりくらいからKaggleのデータセットを用いて、RやらPythonを用いてごにょごにょやっている。前処理なんかをやっていたら、1日が終わっていた…などということもあるので、慣れるまでは辛抱が必要だなと思った。コードを書くのは好きなので、スクラッチでもう少しかけるようになるまで練習していく。ただ、仕事が終わってからkaggleをやるのは結構精神力が必要なので、休日のまとまった時間にやるようにはしている。 

 

(6) 英会話に通う

 

 英会話学校に通学する費用を工面していただいているので、週に2回くらいは外人とおしゃべりしている。以下のtweetもその時の感想。

 

 

教科書に沿って、ロールプレイをするのがほとんどで、相手の言ったことを頭の中で反芻して適切な応答ができるように訓練しているがなかなか難しい。いつも外人とメールしているときに使うフレーズで、「What is the purpose that ~ ?」「Could it be possible to ~ ?」「It is ~ for ... to~」みたいないつも使うフレーズは口を突いて出るのだが、使用しないフレーズは本当に出てこなくてびっくりした。海外からも電話が時々かかってきて、「Hello? I'm~. Could you please~」とか言われているので、この調子では業務がままならないので、喋れるようにフレーズ等は喋りまくって叩き込んでいる。

 

それで、ここからが2019年の抱負なのだが、以下の3つに絞った。

 

1. 異動or転に向けて、統計解析や機械学習の分野でoutputをしていく。

2. 英会話ができるようにする。

3. 社外の人との交流を増やす。

 

と言ったところだろうか。あまり多くかくとどれもできなくなるような気がするので、今年は三つできれば十分ということにしよう。 

 

 

*1:Japanese traditional big companyで調べて欲しい

*2:仕事が落ち着いたらLTやりたいな

具体的な表現がないのは、何も理解していないということだ

大学生の頃、意識が高かった私は、1年生の頃から、よく他の専門の授業をとったりして、数学以外のことに重きを置いて勉強していた。大学4年の頃には、自分の専門である微分幾何以外にも、行動経済学と実験心理のゼミに参加していた。実験心理学は聴講だけど。

 

もともと大学では数学以外に心理学も勉強したかったのだが、心理学の教養科目を幾つかとっていくうちに、「もっと他専門的なことも勉強してみたい」と思い、つまみ食いのような履修になってしまった。

 

その中で、学生の間で「恋愛学」と呼ばれる授業があった。この授業は、ドイツの文化をテーマにしているはずの授業だったのだが、恋愛をテーマにしたオペラや進化心理学のテレビなどを見て、人間の恋愛行動について考えさせる内容になっていた。

 

内容が内容なものだから、カップルで受講したり、女子グループが数名で受けに来るなど、とにかく女子の参加率が高かったように思うし、毎回教室から学生が溢れんばかりだった。

 

この授業では、講義内容をもとに書いた感想文*1を提出するのが成績評価の方法だった。ある回では、オペラ*2を鑑賞して、登場人物の心情を考察することが感想文のテーマだった。

 

翌週、学生が前週に提出した感想文の中でも、教員の目を引いたものを幾つか学生の前で読むのだが*3、「登場人物の恋愛がうまくいかないのは、現代でもよくあることで、恋愛のような普遍的なテーマは、多くの人の興味関心をそそるのだろう」という感想文があった。

 

授業コメントとしては、一般的すぎて、授業を聞いていなくても誰でも考え付くような答えであり、あまり良い回答ではないように思った。しかし、学部の授業でのコメントなんて大体こんなもんだろという思いもあった。

 

この感想文に教員は偉く不愉快に思ったのか、「こういった感想文は、授業をろくに聞いていなかったやつが書くものであり、過度に一般的な表現を用いているだけで、何も分析できていない。具体的な表現がないのは、何も理解していないということだ。」と言った。

 

その後、「以降、こういった回答する学生はたとえ出席してコメントを提出しても、点数は与えない」とまで言っていた。

 

正直この言葉が、文系の学部の授業で出てくるとは思わず、非常に驚いた。当時、心理学や経済学などの文系の専門科目も履修していたが、ここまで厳しい指摘(というかまっとうな指摘)をする教員に出会ったことはなかった*4

 

この授業はとにかく人が多く室内も異様に蒸し暑かったので、やる気が削がれてしまい、途中でリタイアしたが、学生のしょうもない性体験を聞かされるよりもこの言葉が最も印象に残っており、今でも頭の片隅に置いてある。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*1:本題に少し関係しているので、ここで少し補足をしておく。この感想文がきわどい内容が多い。例えば、恋人との夜の営みやホテルまでの連れ込みの内容を具体的に表現している感想文など。おそらく、自分で意思決定したことは、手順やその時の自分の感情の揺れなどに非常に敏感になるものだから、他者に語るときには非常に具体的になるのだろう。逆を言えば、あまり具体的でない話や詳細が途中過程が省かれている話は、まゆつば物の可能性があるということである。

*2:確かプッチーニだったように思う

*3:もちろん、名前は非公表である

*4:たいていの教員は何も言わず、レポートや試験でボコボコにしていた。

理学部数学科の学部or修士の人の就活についての感想

 

この記事は、私の周りの数学科の人間の就活についてのただの感想文であり、その他の人たちには何の参考にもならないかも知れない。特に、部活やアルバイトをPRしたいと思っている人は回れ右して、アレナビやそれナビなどの記事を見る方が良いと思う。

 

 

数学科に進学すると…就職やばいの?

 

「数学科って、芸術系の次に自殺率が高いんだよ?進学して大丈夫?(笑)それに就職先もあまりないし。」

 

 

 

私が数学科に大学進学しようと考えたときに、母校の化学科教諭に真っ先に言われたのがこの言葉だった。当時は、他人の意見にまったく興味を持てなかったので、「へぇ、そうなんですねぇ。」と言ってさらっと流していた。

 

自殺率が高いのどうかは調べていないのでなんとも言えないのだが、就職先がない…これは違うと断言できる。少なくとも、数学科在籍ということが、就職活動に置いてデメリットになることは一切ないと思う。伝統的には、IT(プログラマーやソフトウェアエンジニア、昨今ではデータサイエンティストなど)や金融(アクチュアリークオンツ)が数学科の就職先として挙げられ、コンサルティング会社に就職する人も増えており、就職先がないということはない。*1もちろん給料も平均よりはだいぶ上だと思う。しかしだからと言って他の就活生(特に非数学科就活生)に比べて優位に進めていけるかは、コミュ力()が重要だと思う。

 

 

 

クオンツアクチュアリー、データサイエンティスト、エンジニアなどの職業の場合は数学の素養がある人が多く、採用活動にもそういった人が登場してくるので、意外と研究については話しやすいと思う。実際、フーリエ解析について話したところ、理解してくれる人も多かった。特に金融系はわかってくれる人が多い。*2学部で習う多様体フーリエ解析、確率統計などは何となく知ってるという感じだろうか。工学部の定期試験で出題される数学の問題を参考書を見ながらであれば解けるくらいを想定しておけば良いと思う。

 

 

自分の研究内容を素人にもわかりやすく説明することができればあまり問題はないと思われるが、自分のやってる研究が専門外の人から見るとあまりにも抽象的すぎるため、わかりやすく説明することが難しかったり、その分野の研究をある程度理解していないと研究の意義を理解させることが難解な場合もあると思われる。

 

 

 

私の知人で、力学系の分野でLorentz flowについて研究している人物がいた。彼の分野では、天候のモデルとして用いられている微分方程式を解析することが必要なのだが、現実の物理現象とリンクしているため、研究の内容を素人に対しても説明しやすく、ウケはよかったと言っていた。日常生活で遭遇する事象と関係ある事柄であれば物理現象もイメージしやすいので、天気予報について数学的に研究しているというのは面接でうまくいきやすいだろう。こういった物理と関係ある分野の場合、研究内容だけでなく、研究動機や研究手法までもわかりやすく説明しやすいのでアドだと思う。

 

 

 

一方で、トロピカル幾何学圏論など、純粋数学の中でもだいぶ抽象的な分野を専攻していると、面接で説明するのに苦労したようだ。実際、トロピカル幾何*3を専攻した知人によると、「それって一体なんの役に立つのか?」と言われることもしばしばあったようだ。こういった基礎分野は専門外の人間からは「役に立つor立たない」の軸で語られがちであり、数学科の人間も現実社会への応用を念頭に置いて勉強or研究をしているわけではないということも相まって、うまく研究の必要性や魅力を説明できないことが多い。

 

 

こういう場合は、研究の話はそこそこに、研究で培ったメタスキルをアピールするのが常套手段だと思われる。研究遂行能力が会社に入った時にどう役立てるかを説明すると良い。実際、こっちは結構詳しく聞かれる。私が聞かれたのは、「解けない問題に出会ったとき、どうやって解決してきましたか?」というもので、オーソドックスといえばオーソドックスな質問だったと思う。

 

あと、余談だけど愛想や見た目、所作は大事。他の理系の人たちはこういった「他人からどう見られているか」ということを考えるのが苦手な人が多いので、ちょっと気をつけるだけで、他の学生よりもだいぶ印象が良くなる。*4

 

ここまでは、数学科にも就職先はちゃんとあり、それなりの苦労はあるにせよ、悲観する必要もないという話をしてきた。その一方で、人前に出て自分の学生時代の経験を喋るのが苦手*5という人は、理系が就職に有利、経済状況が良くなってきたと言われる昨今においても、希望する企業の内定を得るのは難しいらしい。そこまで就職難易度が高くなければその限りではないが。私の周りでも、うまく喋れず苦労している人はいた。ゼミ発表で本来人前で話す訓練はしこたまやっているはずだが、それとは別種の困難があるらしい。*6同期を捕まえて練習しまくるしかない。

 

あと、大学のキャリア支援課は理系就活のノウハウがない*7ので、ITや金融の専門職向けの研究アピールみたいなことを彼彼女らに相談しても、「難しいことやってるね。ところで部活とかアルバイトとかはどんなことやってた?」みたいな展開になる。というか俺はなった。というか文理問わずあまりよくわかってないのではないかというそもそも論はここではしない。

 

ITや金融が多いように思うけどそこ以外には就職してないの?

 

確かに金融やIT企業への就職実績は豊富であり、最近ではコンサル、官公庁、メーカーなどでも採用実績が増えているが、前者に比べればまだ少ない(?)と思われる。とりわけ、食品や消費財など、目に見えるものを売っている企業への就職実績は少ないと思われる。

 

これは数学科が不利ということではなく、単純な興味関心の問題だと思う。

 

「IT企業や金融へ就職する人が多い」というのは、この間院生室で議論になったテーマで、数学科(純粋数学専攻)の人間は実体のあるモノにほとんど興味がない人が多いからなのではないかという結論になった。

 

ここで「いや、お前さっき物理がどうとか日常生活がどうとか言ってただろこのすっとこどっこい調子に乗るなはなたれ小僧。」という読者もいるかもしれない。もちろん、物理や生物学、化学反応など実体のあるモノを対象に考察した、数式や問題設定を考える場合も多くあるが、数学以外の場合は、具体的な事物を対象に考察し、一般がどうなっているのか分析するのに対し、数学の場合は、ある性質を持った図形や写像などの数学的対象の振る舞い一般を分析することを念頭に置いているため、実はアプローチの仕方が逆なのである。そういった意味で、数学徒は具体的な現象そのものよりも、数式やモデル、もっと言えば言語で記述された体系を詳しく調べることに興味関心が向いており、その興味を満たしやすいのが先に述べたような職種なのではないだろうか。

 

システムを自分で構築し運用することは、 コンサルや官公庁でも求められるスキルだし、興味を持つ人がいるのもわかる気がする。

 

 

 以上が数学科にいて就活をした人間の雑感である。

 

 

 

 

 

 

 

*1:数学科かどうかよりも、数学科がある大学は偏差値が高い大学なので、結局就活では学歴が効いているだけだという批判はあると思う。

*2:もちろん、ここでいう「わかっている」は、数学科のゼミで発表するレベルということではなく、数式から何となく物理現象を思い浮かべることができたり、計算したらそうなりそう、というイメージが持てるくらいのことである。逆にそういったイメージを持たせるように会話を誘導することができれば良いとも言える。

*3:実数の全体Rにトロピカル演算と呼ばれる特別な演算を導入した、代数幾何学の一分野。詳しくはhttp://www.math.sci.hokudai.ac.jp/~ishikawa/tropical/ishikawa-tropical07.pdf を参照してみてほしい。

*4:男子学生は自分の見た目に気をつけない人が女子学生よりも多いように感じた。鏡を見て、髪がはねてないか、ネクタイは緩んでいないかなどをチェックするだけなのでそこまで負担はない。正直くだらないとは思うが、面接の際に注意された人が私の知人にいた。変なところで減点されたくはないだろう。

*5:面接で上がってしまうというレベルではなく、「自己PRは?」と聞かれて何も喋れなくなってしまう人がいるのを聞いた。

*6:ゼミ発表の方が数百倍は怖いというのが多くの人間の感想だと思う。

*7:重要な情報は研究室や学科にだけ流れてくる。また、リクナビマイナビといった企業紹介しかやっていないサイトを見ても無意味だと思う。