「製薬企業でプログラミングって言ってもどう役立つの?」
「学習コストかけてでもプログラミングを勉強する意味ってあるの?」
「機械学習は難しいから、それ以外にプログラミングを使ってできる仕事ってあるの?」
「プログラミングを会社で勉強したいけど、実務として何をするのか上司に聞かれたらどう答えればいいの?」
今この記事を読んでいる皆さんは、そんな疑問を持っているかもしれません。
実際僕も、プログラミングを勉強する前はそんな風に思っていました。
「プログラミングなんてどうせ難しいし、製薬企業の研究員がわざわざ勉強しなくてもいいよね」っていう感じでした。
でも実は、プログラミングは
実際、僕自身もプログラミングを習得することで、「仕事が速くなったね」とか、「そんな複雑な計算どうやってやったの?すごいね!」とか言われるようになったし、残業時間も3割ぐらい減りました。
というか、残業時間が減っても
が出せるようになりました。また、今までなかなか解けなくてあきらめるしかないような問題にぶち当たった時に、プログラミングを使うことで
、なんてこともあります。そこでこの記事では、製薬企業の研究者がプログラミングを身につけることで得られるメリットについて解説していきます。
この記事を読めば、プログラミングスキルを習得することのメリット、製薬会社の実務に生かす具体的なイメージが持てるようになります。
僕が今、製薬企業でやっている仕事の具体例を紹介します!
データ解析などの業務効率が圧倒的に上がる!
まずは、「プログラミング = 自動化」というイメージを持つ人も多いと思いますが、やはり業務効率アップを実現できるのがプログラミングのいいところです。
今まで数時間、あるいは数日かけてエクセルで手作業で行っていたデータ解析が、スクリプトを書くことで
終わってしまうなんてこともよくあります。ここからは、実際に僕がやった仕事を例に説明します。
製薬会社では、ルーチンワークとして液体クロマトグラフィー質量分析(liquid chromatography/mass spectrometry: LC/MS)を使って分析をすることがよくありますが、そのデータ解析はクロマトグラムの目視チェックなど、地味な作業になることが多いです。
僕の部署では、この目視確認を中心にデータ解析を行っていたのですが、時間がかかることと、解析者のケアレスミスが時々起こることが課題となっていました。
解析に必要な時間は1週間あたりおよそ5時間と、他の仕事もいっぱいあるのにこのルーチンワークだけで半日もかかってしまっていました。
そこで僕は、この解析作業を自動化できるよう、これまで人が目視で行っていた作業をスクリプトとして書いていき、
解析ができるようになりました。一部目視確認は残っているものの、誤った分析結果が出ないようにするための最低限の確認のみです。
このプログラムが出来上がったことで、業務効率が大幅にアップしただけでなく、関係者からも「
」と、とても感謝されました。以上のように、プログラミングを習得することで、今まで当たり前のように長時間の作業にも耐えながら続けていたルーチンワークが一気に楽になるということがよくあります。
専門知識の浅い人と共有できる!
上で書いたデータ解析もそうですが、製薬会社の仕事では、複雑な計算が必要になることもよくあります。
実際にそんな複雑な計算を自分の頭でやろうとすると、背景にある理論を理解して、数式を覚えて・・・といったように、勉強だけでも結構時間がかかってしまいます。
ところが、プログラミングができると、その難しい理論や計算式をスクリプトとして書いてしまうことで、
することができます。そのスクリプトさえあれば、あとは実行するだけで難しい計算を
ようになるわけです。また、計算の途中経過を残しておけるということも、スクリプトを書けることのメリットです。
エクセルでもセル内に数式を書くことはできますが、参照先のセルの数式を見に行って、さらに参照先のセルを見に行って・・・というのを繰り返さないと、全体でどのように計算をしているのかがなかなか分からないことがあります。
一方で、数値計算は全てプログラミングを使ってやるようにすると、万が一計算過程に間違いがあったとしても、後でスクリプトを見直してどこが間違っていたのかもすぐに分かります。
このように、他人とのスクリプトの共有や計算過程を残せるということも、プログラミングスキルをつけることのメリットといえます。
複雑な機械学習アルゴリズムも使えるようになる!
最近は「AI創薬(ビッグデータ創薬)」といって、創薬研究に人工知能(artificial intelligence: AI)を導入しようという動きも出てきています。
このAIの基盤となっているのが、機械学習です。
機械学習は、Python(パイソン)というプログラミング言語が使えるようになると、簡単にできるようになります。
機械学習そのものは複雑な計算や理論が根底にあるわけですが、それらはスクリプトとして既に書かれていて、僕たちはそれを
んです。なので、極論ですが機械学習の理論が全く理解できていなくても、Pythonさえ習得してしまえば機械学習ができてしまいます。
実際僕も、仕事として機械学習をすることはありますが、ほぼ9割以上は既存のスクリプトを呼び出して計算やデータの加工をしているだけです。
AI創薬をやっている人はめちゃくちゃ頭を使うとか、頭がよくないとできないというイメージを持つ人もいるかもしれませんが、
です。上でも書いたように、既に誰かが書いたスクリプトを再利用できるようになる、というのがプログラミングスキルを習得することのメリットなわけです。
まとめ
この記事では、プログラミングを製薬会社の仕事で使うメリットを、具体例も交えて紹介しました。
あまりプログラミングとは無縁と思っていた人も、製薬会社でプログラミングを使って仕事をすることのイメージが膨らんできたのではないでしょうか。
ここで要点をまとめておきます。
- 業務効率化、自動化にプログラミングを使うというのが、一番手軽にプログラミングを始めるモチベーションになります。日頃何気なくこなしているルーチンワークにも効率化できるところがないかチェックすることが大切です。
- スクリプトを書けるようになると、計算式を他の人と共有して使ってもらったり、他の人が作ったものを再利用する、ということができるようになります。
- プログラミング言語の一つであるPythonは機械学習のライブラリが豊富で、Pythonを習得するとすぐに機械学習やAIを業務で使えるようになります。
以上が製薬企業におけるプログラミングの用途になります。
プログラミングを習得することで、今まで当たり前だった業務が劇的に改善する、そんな可能性を感じてもらえたらと思います。
無意識のうちに業務が定型化してしまうことはありますが、プログラミングを活かせるところは意外と多くあったりします。まずはプログラミングで改善できる業務はないか、意識するところから始めるのでもいいと思います。