エンジニアになります

転職

以下よくある未経験転職モノですので、苦手な方はご注意ください。

2020年8月から都内のベンチャーさんでエンジニアとして働くことになりました。目下のミッションでは医療データの解析をして疫学研究みたいなことをやるので、データサイエンティストともいえるかもしれません。

また自社サービスのAPIを実装したり、フロントを実装することもあるみたいなので、色々トライできそうです。楽しみです!

私自身が、これまでに他の方の転職記事をみてやる気をもらったり勉強させてもらっていたので、私の経験が誰かの役に立てばと思って、転職記事を書くことにしました。

とはいえ、きれいにまとめるのは面倒大変なので、どんなことを考えながらどんなことをやってきたのか日記を書きなぐる感じで書いていきます。

適宜フィルタリングして使えそうなところだけつまみ食いしてもらえると幸いです。

自己紹介

30歳。子供二人(4歳、1歳)。薬学修士。製薬会社で主にプロセス化学部門で研究職として6年勤めてきました。

生い立ち

親近感を持ってもらうために色々書いていたら長くなってしまいました。ゲームばかりやって、基本ぼーっと生きてきた田舎人ですという内容です。

小学生〜高校生

田舎の生まれで小学生時代はゲームばかりしていました。

あまりにゲームをしすぎて宿題もやっていなかったため、1度家にあるほとんどのゲームを親に破壊されたことがあります。

当時はまっていたモンスターファームのCD-ROMを2階の窓から手裏剣のごとく投げ飛ばされた時の光景はトラウマです。

皆さん知っていますか?ニンテンドー64は2階から放り投げられても(下がコンクリでないという条件で)本体にヒビや欠けができるものの、問題なくプレイできます。ちなみにプレステはダメでした。

泣き叫ぶ小学生の私をよそに淡々とゲームソフトを処理(割る、投げるなど)していく母の姿は悪魔のようでした。

そんな天災に見舞われて心を入れ替えた私は、唯一悪魔に見つからずに生き残ったゲームボーイで隠れて初代メダロットを久しぶりに遊ぶなどしながら、しっかりと反省して宿題はやるようになりました。

1年ほどでゲーム禁止の地獄も終え、怒られない程度に勉強をする術を身に着けた私は、その後地元の公立中・高に進み、卒業までやはりまたゲームばかりしていました。

ジャンルは特にこだわりがなく、大体何でも面白く感じる人間だったのでRPG、 アクション、シミュレーション、レース、パズル、音ゲーなど割と手広くいろいろやっていたと思います。

その他オンラインゲームや、ニコニコ動画などにも手を出していました(ポーション動画で爆笑するなど)。

ただ、ゲーム大好き人間でしたが、作る側への興味を持ったことは不思議となかったです。ゲームを作るということをはるか遠い存在のように思っていたのかなと思います。身近にプログラマーがいればまた変わっていたかもしれません。

大学生

大学進学に関しては、当時漠然と法学・心理学・数学・薬学・建築学に興味があったので、その中で地元の大学に唯一あった薬学部に進学しました。

大学時代も相変わらずゲームをしており、友人と集まってモンハンをやる楽しみに目覚めたり、格ゲーに手を出すなどしていました。

また、ニコニコ動画にさらにドンはまりして、日々ニコ厨としてくだらない動画やアニメを漁っていました。

そんな私も研究室配属以降は興味の対象が研究に代わり、毎日楽しく研究をしていました。核酸医薬に関わる有機化学の研究室で、生物の勉強をしたり有機化学の勉強をしたり、やはり大体何でも面白かったので、手広く論文などを読み漁っていました。

大学1、 2年で使っていた教科書を読みなおす機会も多く、しっかり勉強しておけばよかったなぁと思う反面、本で読むととても面白いのに、先生の授業になるとつまらなくなる謎現象に大学授業の闇を感じるなどしていました。

修士まですすみ、博士進学もかなり興味があったのですが、お金的な事情や当時のパートナーとの人生設計などいろいろ考えて、最終的には一度企業に就職してから大学教授になった人の話を聞いて、社会勉強もかねてとりあえず一回就職することにしました。

研究生活ではそこそこ大きな学会での口頭発表での受賞や論文2報(1st: 1つと2nd: 1つ)など、それなりに満足できる成果をあげられたかなと思っています。

ただ、海外で発表するという目標があったのですが、これは達成できませんでした。(海外に行ってみたかっただけですが)

社会人

製薬会社の研究職として社会人デビューし、田舎から東京まで出てきました。当時はメドケム(新しい化合物を多種作る人)もプロセス(特定の化合物をがっつり作る人)もどちらにも興味があり、なんなら薬物動態も面白そうで(詳しくないけど)、新しくいろいろ経験できるならなんでもいいかなくらいの気持ちでした。

配属されたのは主にプロセス化学をやる部署でした。他社からの製造受託対応や、自社でジェネリック用の原薬をプロセス開発してメーカーに販売するような仕事が主でした。

有機化学だけでなく、化学工学的なことや、医薬品に関する法規制等が絡む業務で、日々色々と勉強しながら研究?仕事?を楽しんでいました。

その他、研究部門の中では割とビジネスよりの部署だったこともあり、ビジネス的なところで、臨床試験の動向調査や疾患領域の市場調査といった化学っぽくない仕事もあってこちらもとても楽しかったです。

プロジェクトのリーダーも何年かやらせていただき、サモンナイトやスパロボで鍛えたシミュレーション能力をふんだんに発揮して、盤面がうまく進むように調整するのもこれまた楽しかったです。

社会人生活では早々に結婚をし子供にも恵まれたため、ゲームの頻度は大分減りました(特に据え置きゲーム)。モバレジェや城ドラなどプレイヤースキル重視のスマホゲーで少し遊んだくらいかなと思います。

転職のきっかけ

新卒から5年間いろいろ挑戦しながら楽しんできた一方で、次の5年で何をやるかを考えた時に、これだ!と思えるものが今の職場で見つからなかったというのがきっかけです。

もちろん化学や研究に底はないので、勉強することは無限にあるのですが、社内で活用しづらくほぼ趣味になってしまうような状況でした。どうせなら勉強したもので社会に価値を出したいという欲もありました。むしろそれができないなら大学で研究をしたいです。

化学自体はとても好きで、とても楽しかったのですが、このまま似たような仕事を繰り返すのも何か違うなぁという気持ちがあったのと、歳をとるにつれて仕事がサイエンスやビジネスから離れていく職場のシステムも悩みの一つでした。

チームマネジメント的なものには興味があったのですが(育成シミュレーションも好きなので)、中間管理職にほとんど権限がないタイプの会社だったので、チーム作りをいろいろ考えてできるのは一体何歳からなのかという感じでした。

異動も考えたのですが、これをやってみたいなと強く思う職場はありませんでした。ただ、やり始めると大体何でも面白く感じる人間なので、何かの機会に異動があれば、そこで新しくいろいろ遊べるとは思ったのですが、どうせならもっと興味のわくものをやっていきたいと思うようになりました。

まとめると、会社の上や横を眺めてみても、わくわくするような仕事が見つからなかったという感じです。これが2019年(去年)の5月ごろの話です。

プログラミングとの出会い

折角の機会なので外の世界に目を向けていろいろと考えていました。目に留まったのは流行りのAIでした。ライフサイエンス分野でのAI活用や、デジタルヘルスというワードに中身がよく分からないものの強く惹かれました。

恐らく人生の大半をゲームとともに過ごしてきた私には、ゲームっぽいワードがまぶしく見えたのだと思います。AIやシステム開発などについてネットサーフィンしながらいろいろ眺めるなかで、その根本にあるプログラミングというものを知り、とてもおもしろそうだと感じました。

プログラミングについて調べる中で、最近は教材が豊富で勉強がしやすく、スクールなどもあり、異業種からエンジニアにチャレンジしている人がたくさんいることを知りました。しかもプログラミングを勉強するとゲームまで作れるようでした。

この時点で、AIとかプログラミングとかシステム開発とか勉強してみよう!となり、同時にライフサイエンス分野でAIを含むデジタル技術を活用しているような会社への転職を意識し始めました。

よくある選択のまとめ

エンジニアへの異業種転職を目指すに当たって、よくみかける選択項目については以下のように選びました。

先に仕事やめる or やめない

勉強時間を確保するために、今の仕事を先にやめるか否かという選択です。

私はやめませんでした。理由は家庭状況によるもので、妻と相談した結果、転職自体は反対しないけど転職先が決まっていない状態での退職はやめてほしいと言われたからです。

多分独身だったら先に辞めてたんじゃないかなと思いますが、小さな子供がいる中、転職自体には賛同してくれた妻に、これ以上心労をかけるのは自分的にもあり得なかったので、このような選択になりました。

スクール通う or 通わない

勉強方法として、独学でやるのかスクールに通うのかという選択です。

私はスクールには通わず、独学でやりました。

少しスクールを検討していたんですが、結構なお値段するのと、自分のやりたかったデータサイエンスを学べるところがほとんどなかったため、とりあえず一人でやってみて、全然わからなかったらスクール通うかなという気持ちで勉強を始めて、結局通わずに終わりました。

一応検討した中では、通うならDIVE INTO CODEさんにしようかなと思っていました。チームを組んで製品を作るイベントが楽しそうだなと思ったのと、いくつか見かけたスクールのなかで一番誠実に運営されているような印象を受けていました。

言語選び

データサイエンスをやりたかったのでPythonをメインにしました。

どの言語が就職に強い、給料がいい、需要がある・ない、xxxはオワコンなど様々な情報が飛び交っていてカオスでしたが、web開発だけでなく、データサイエンスの勉強もしたかったのでそこまで悩まずにPythonにしました。

転職にむけた勉強

6月:ITパス、Progate、MacBook購入

まず最初にとっかかりとしてITパスポートを1週間ほどかけて取得しました。身の回りのITちっくなワードについてフワッと学ぶにはとても良い教材だったと思っています。

プログラミングの学習では、最初にProgateをやりました。有料会員登録をしてHTML&CSS、JavaScript、JQuery、Git、SQL、Pythonを2週間ほどかけてやりました。また途中でMacBook Airを購入しました。

HTMLやJavaScriptを使ってwebページを作るのはとても楽しかったですし、Pythonのコースで出てきた配列・辞書やfor文if文にはとても感動して、あんなことやこんなことができるのではないかと想像を膨らませていました。

7月: GUIアプリ作成、職場の業務改善、webアプリ勉強

Progateを一通り終えた後は、PythonでGUIアプリを作ってみることにしました。Progateで勉強を進めるなかで、仕事でよくやるエクセル関係のデータ処理をPythonで自動化できるのではないかと思ったからです。

これがやりたい。あれがやりたいというのをGoogle先生に問いかけると、やりたいことを実現するための方法がいくらでも出てきました。

作成したのは以下のアプリです。

上記アプリは最近になって作り直してしまったので、機能が少し増えており、加えて当時のひどいコードが残っていませんが(関数化はほとんどしていない。1ファイルに全コード書いていた。クラス?なにそれおいしいの?状態でした。)、基本的な内容はそれほど変わっていません。テキストファイルを読み込んでデータを編集した上でエクセルファイルとして吐き出すだけです。

Webアプリと違って規模が小さいですが、規模が小さい分迷子にならずに済んだので、Progate卒業後の選択肢としてGUI(デスクトップ)アプリの作成を選んだのは結構よかったと思っています。

このアプリを職場で利用できないか検討したんですが、職場PCにPython環境を構築するのは無理 & exeファイルでの利用も不可という状況だったので、VBAでまるっとつくりなおして同僚に配布しました。同僚からもらった意見を取り入れながらバージョンアップを重ねて今でもバリバリ利用してもらっています。

GUIアプリを作った後は少しWebアプリの勉強を行いました。Djangoチュートリアル系を一通りやってイメージはつかめたものの、特にその時点でつくりたいアプリが思い浮かばなかったので、どうしたものかと悩んでいました。

また、この辺りから妻と相談して土日のうち1日だけは日中フリーの時間をもらい、図書館に朝から引きこもって色々やるようになりました。

8月: 競技プログラミングをはじめる

LillianさんのGoogle転職記事を読んで競技プログラミングの存在を知り、面白そうだったので始めてみました。

気軽に始めてみたんですが、とても面白くてハマってしまい、1ヶ月ひたすらAtCoderの問題を解いていました。(1ヶ月で200問ちょっと解いたと思います)

ちなみに最近、競技プログラミングは就職に役に立つのか論争が盛ん??なようですね。

私から難しいことは言えませんが、競技プログラミングの能力を必要としている会社が存在していて、競技プログラミングを面白いと感じる人がいて、それぞれがマッチングされるのはとてもいいことだと思います。

あまり色々考えずに、興味があったらやってみて、面白かったら続ければいいのではないでしょうか。

願わくば、「採用でコーディングテストをしている企業が増えているから、うちの会社でもやろう」という感じで、その必要性や意味を特に吟味せずに採用に取り入れる企業が増えなければいいなと思います。(英語を業務で大して使わないのにTOEICの点数を求める企業のように)

9~12月: 基本情報、統計、機械学習

AtCoderに1ヶ月どっぷりハマって緑まで上がった後、流石に脱線しすぎていたので色々勉強を再開しました。(AtCoderは週末のコンテストにでるだけにし、平日の競プロは一旦ストップしました。)

この期間は結構いろんなことを広く浅く手を出して勉強していました。また、土日片方だけだったフリータイムを、特に用事がない日以外は両日フリーにしてもらい、勉強時間を増やしていました。

基本情報

ITパスポートがとても勉強になったので、基本情報も取得することにしました。言語問題はC言語を選んでついでに静的型付け言語にも触れてみました。

やはりとても勉強になりました。セキュリティや通信の技術などほんのさわりだけだとは思いますが、色々世界をひろげるためのきっかけとしてはとても良い教材だと思います。

統計

以下のような教材で勉強をし、統計検定2級もついでに取得しました。統計もとてもおもしろかったのでゆっくり勉強しながら1級までとってみたいと思っています。

  • 統計Web
  • Rによるやさしい統計学
  • データ解析のための統計モデリング入門

機械学習

以下のような教材で、機械学習やそれに登場する数学の基礎的な部分(主に線形代数)を勉強しました。

  • データサイエンティスト養成読本 機械学習入門編
  • Chainerチュートリアル
  • 機械学習のエッセンス
  • YouTube ヨビノリ(線形代数)
  • Kaggleのチュートリアル?(タイタニックとhouse prices)
  • Kaggleで勝つデータ分析の技術

色々興味があったので、興味の赴くままに色々と勉強していましたが、とても面白かったです。

本当はKaggleをもっとがっつりやる予定だったのですが、テーブルコンペがほとんどなかったことと、やってるうちに先に理論の方を勉強しておきたくなったので、Kaggleにがっつりコミットすることはしませんでした。

また、ゆっくり精進していたAtCoderの方は年明けに水色まで上がれました。

さらに理論のところを勉強したい欲もあったのですが、CSも統計も機械学習も数学もちゃんと勉強するならそれぞれ年単位で時間をかけないと話にならないなという印象があったので、さわりだけやって残りは転職が決まってからゆっくり勉強していこうという気持ちでいました。

1回目の転職活動

とりあえず半年ほど勉強してから転職活動をしようとおもっていたので、まだまだ勉強したいことは山ほどありましたが一度いくつかの企業に応募してみました。時期的にいうと2020年の1月~2月ごろです。

求人の媒体としては以下を使用しました。

  • Wantedly(プロフィール登録だけ)
  • AtCoder Jobs(2社応募)
  • 個別企業HPの採用情報(2社応募)
  • Symbiorise: データサイエンス特化のエージェント(1度話をしただけ)

Wantedlyはプロフィールを登録したあと、良さげな会社をいくつかブックマークだけして、他の求人媒体でだめだったらその後に使おうかなという気持ちで放置していました。

エージェントさんは自身のレベル感や業界の相場を知るために一度お話だけしました。

ライフサイエンス分野で研究経験があっても、やはり未経験だと厳しいので、修行の気持ちで2~3年、業界にこだわらずに年収300~400万くらいで頑張ってみるのが無難と言われ、流石に家族4人で暮らしていけないと思ったので、その後は積極的に利用はしませんでした。

2020 1~2月: 色々と考えさせられた転職活動

履歴書や職務経歴書を書いて、以前から気になっていた非IT系でデータサイエンスを頑張ろうとしている会社2社と、AtCoder Jobsで見つけたライフサイエンス分野に活動領域をもっているIT系の会社2社に応募しました。

結果としては3社書類落ちで、AtCoder Jobs経由で応募した会社さんの1つだけカジュアル面談後の1次面接で落ちました。

面接に呼んでもらえた会社さんは競プロにも力を入れていて、かつとても面白そうな仕事をされていたので、落ちたのはとても残念だったのですが、面接で質問をうけたり、色々お話させてもらって、考えの足らなかったところを見直すことができたのでとても貴重な経験になったと思っています。

特に足りていなかったと感じたのは、具体的に自分は何をしたいのか??というところでした。

AIを含むデジタル技術を活用してライフサイエンス分野で色々やってみたいという目指す業界の方針は決まっていたのですが、その中で例えばWebアプリという形で製品を作る際に、顧客のニーズ吸い出しや要件設計をやっていきたいのか?フロントorサーバーの実装をがっつりやっていきたいのか?モデルの設計や最適化をやっていきたいのか?という具体的に会社の中で取り組みたい(取り組める)ことを明確にできていなかったように思います。

また、そもそもIT業界で製品を作るということが、具体的にどういった業務になるのかという所のイメージも弱く(具体的な業務イメージが弱いから、やりたいこと・できることも定まらない)、よくわからないけど面白そうだからやってみたいの域を超えられていなかったように思います。

ちょうどこの頃からコロナが世界を騒がせており、自分の足りない所をとても実感したので、もう少し勉強してコロナが落ち着いた頃に再チャレンジすることにしました。

勉強再開

自分が業務としてどういうところをやっていきたいのか・できる可能性があるのかを明確にするという目標をたてて、勉強を再開しました。

とはいえ、業界の外にいる限りわからないものはわからないので、開発について勉強しながら、とりあえずWebアプリを0から作って公開するところまでやってみて、その後もう一回考えてみることにしました。

2020 3~5月: アプリ開発について色々勉強

主にやったことは以下の3つです。

  • GUIアプリの作り直し
  • N予備校でWebアプリ入門コースを受講
  • Webアプリを作成

GUIアプリの作り直し

手始めに、1~2ヶ月の時点で作成したGUIアプリを設計やコードの保守性・拡張性を意識して作り直しました。ついでにテストやパッケージ作成についても勉強しました。

作り直す際に、PySimpleGUIという比較的新しいPythonのGUIパッケージを使用して、日本語記事がほとんどなかったので簡単な紹介記事をいくつか書きました。

とても嬉しかったのが、PySimpleGUIの開発者からブログとtwitterにメッセージがきたことです。プログラミングで世界との繋がりを感じられた貴重な体験でした。

またGitHubのリポジトリに3つだけですがスターもいただけてやはり開発楽しいなと感じていました。(現役のエンジニアさんらしき人にスターをいただけたのは特に嬉しかったです)

N予備校 Webアプリ入門コース

コロナで無料になっており、話題になっていたのでN予備校のWebアプリ入門コースをやってみました。

Djangoチュートリアルのように、とにかく一度作ってみようという感じではなく、フレームワークの裏側でなにが起こっているのかも明らかにしながらWebアプリを作成できたのはとても良い勉強になりました。

加えて、基本情報で学んだセキュリティや通信の知識が実践形式で体験でき、今まで学んできた内容が繋がっていく感覚はとても楽しかったです。

また、教材で使用する言語がJavaScriptだったこともあり、Progate以来のJavaScriptだったのでMDNのサイトやUdemyの教材でじっくりJavaScriptの勉強も行いました。

Webアプリ作成

競技プログラミングに関するWebアプリを作成しました。

詳細は以下の記事に記載していますが、技術ワードとしてはおよそ次のリストになります。

  • TypeScript & React
  • Django Rest Framework
  • AWS(EC2, S3 etc)

やはり一度自分で作ってみるというのはとても楽しく、また勉強になりました。

Web開発にかぎっても、技術の幅広さや奥深さを感じさせられて、非常に刺激的でした。特に、正直好きになれなかったフリーダムすぎるJavaScriptを書きやすくしてくれたTypeScriptにはとても感動しました。

2回目の転職活動

アプリ開発というところに重きをおいて勉強してみて、自分のやりたいことを明確にするつもりだったのですが、実際やってみて感じたのは、だいたいなんでも面白い!でした。

フロントエンドもバックエンドもどちらも面白かったですし、新機能を追加するのも、コードをリファクタリングして整理するのも、テストコードを書くのもどれも楽しかったです。

環境構築の勉強も奥深くて(特にフロント)興味深かったですし、本番用のインフラ構築も新しい学びがたくさんあって刺激的でした。またデータの集計や解析もやはり楽しかったです。

ということで「製品開発に必要ならなんでもやるし、多分なんでも面白い」というスタイルで再度就活を始めることにしました。

2020 6月: スカウトそして転職

「フワっとしたなんでもいい」から「明確ななんでもいい」に進化したので再び企業探しをしていたところ、プロフィール登録だけして放置していたWantedlyからスカウトが飛んできました。

医療データサイエンスをやっているベンチャーさんで、プロフィールとブログやGUIアプリのコードをみて声をかけてくれたとのことでした。(ちなみにせっかく作ったWebアプリについてはWantedlyに何も記載していなかった)

お話を聞いてとても面白そうなお仕事だったのと、未経験の自分には十分な報酬を提示いただけたので、こちらの会社さんで頑張ってみることにしました。

最後に

1年ほど色々勉強してみて、幸いにもエンジニアとして転職できることになりました。

製薬業界はあまり情報を外に出さない文化なので、勉強しようにも教材がそもそもあまり見つからなくて苦労するのですが、プログラミングに関しては探せばすぐに欲しい情報がみつかるのでとても新鮮でした。(欲しい情報のレベルがまだまだ低いというのもあると思いますが)

ブログやQuitaの技術・転職記事、書籍、twitterでの情報など大変参考にさせていただきました。

日々何か情報を発信・蓄積されている皆さんに心から感謝します。私も拙いながらも、誰かの役にたつ情報を発信していけたらと思います。

長文になりましたが、読んでいただいた方になにか少しでも役に立てば幸いです。

コメント

タイトルとURLをコピーしました