西岡 拳Ken Nishioka
数学は得意、コンピュータ経験はゼロ
数学者はものごとを分類していくことが大好きな人たちです。「これこれの条件を満たすものはいくつあるんだろう」、「対象Aと対象Bの違いはなんだろう」など。
私が学生時代に研究していたリーマン多様体は19世紀からさまざまな分野で研究対象となっていますが、いまだに未解決問題がゴロゴロしているんです。1つの問題をずっと考えることが好きだったので、私には最適のテーマでした。
就活のキーワードは、数学で培った論理的思考力を活かせる「ものづくり」。ソフトウェア業界に絞り込んで、企業研究の中でISPを見つけました。プログラミングの経験はなく不安もありましたが、会社セミナーで情報系以外の出身の人も多数いると聞き、チャレンジしてみようと。セミナーやスタッフインタビューで感じたISPの大学の研究室っぽい雰囲気が、肌に合いそうだと感じたことも大きかったですね。
とにかく調べて、考える
新人研修プログラム(4月)
導入研修
1週目は、会社での基本的なルールや、あいさつの仕方、名刺の渡し方など、新社会人として知っておくべき基本的なことを学びました。
大学時代とは異なり、毎日決まった時間に出退勤する生活リズムを作るのに、結構エネルギーを使ったかも。
技術研修/情報システム基礎講座(4月末まで)
講義形式の研修なのですが、初日から想定外の内容でした(笑)。ずっと聞いているだけの講義を想像していたのですが、それはだいたい午前中だけ。午後は設定された課題内容について、自由にインターネットも使って調べながら、グループでまとめたり問題を解いたりして発表する形式でした。知識を詰め込む講義ではなく、技術者として様々な課題に対しどのようなアプローチで考え、解決していくか、そこに力点をおいた研修であることに気づきました。
講義のテーマは、IT業界やコンピュータ技術に関する歴史や動向、システムエンジニアに求められること、アルゴリズム、コンピュータの基礎計算モデルであるオートマトン、設計開発の基礎、プロジェクトマネジメントなど。IT業界で働く者として知っておくべきことは広く網羅していますが、もう一つ気づいたことは、数学が良く出てくること。開発プロジェクトを数値化して管理する手法や、いろいろな状況において的確な判断をするための最適解の求め方であったり。実際の開発現場で必ず使うということでもありませんが、方法論や考え方に触れることができたのは、今振り返ると貴重な機会でしたね。数学専攻だった自分は、ITの仕事でも数学が使われることに嬉しさも感じました。一方で大学時代は個人研究が多かったので、グループでの作業は慣れるのには時間がかかりました。
オセロの戦略を自分たちで考えてプログラミングする
新人研修プログラム(5月)
技術研修/データベース基礎講座、プログラミング講座(5月中旬まで)
簡易なデータベースを設計したり、PostgreSQLのソフトウェアを使ってデータベースの構築を実習したり。また、システム開発のモデル(ウォーターフォール型、スパイラル型、アジャイル型など)や、設計手法も学びました。その後、Javaのプログラミング言語で、分岐やループなどの基本的な文法から、オブジェクト指向によるプログラミング、プログラムを動かして動作を確認する方法などを演習で体得。
数学の記号や考え方と近いのか、データベース言語のSQLやプログラミング言語を勉強するのは、それほど苦ではなかったです。しかし、プログラムを書こうとすると、手が動かない…。
技術研修/情報システム開発講座
要件定義、設計、実装、テスト、と一連のシステム作りの流れを学んだのち、いよいよオセロです! プログラミングの経験度合いも考慮しながらチームで作業を分担して、必勝プログラムを開発します。私は主に戦略のアルゴリズムを担当しました。処理フローを考えるのは楽しかったけれど、開発スケジュールが押したり、実際にプログラムにすると想定より処理速度が遅かったり、四苦八苦。それでも、完成したプログラムでのチーム対抗戦や、歴代の優勝プログラムへの挑戦では、全員熱くなって盛り上がりました。チームで開発することの難しさと楽しさを体験した期間でした。
4~5月の集合研修を通して、ISPの考える技術者像の一端を知ることができた気がします。基礎的な知識も必要ですが、数学的な発想も用いて、考える力の重要性を学びました。理解が追いつかない時もありましたが、積極的に講師や同期に質問することで、なんとか乗り越えることができました。
OJTで技を磨く
新人研修プログラム(6月~9月)
各事業グループに配属。 それぞれのセクションの教育担当者が体系的なカリキュラムを用意し、実務に必要な知識・技術を教育する。
OFF-JT、OJT
6月からは集合研修を離れて、各事業部門でのOFF-JT(Off The Job Training)やOJT(On The Job Training)が始まります。研究的なことだったり、自社製品の一部機能を担当したりと、一人ひとりに合ったテーマで、実際の業務に近い課題に取り組みます。
私に与えられたテーマは、機械学習理論の勉強と実装。研究実験では毎回いい結果が出るとは限らず、先に進めずにしんどいこともありました。この期間は基本的に1人で調査やプログラムのコーディングを行います。自分のペースで作業できますが、その分自己管理力が問われますね。メンターに相談しながら作業を進め、定期的に先輩方にプログラムをレビューしてもらいました。密度の濃い個人ゼミでしっかり揉まれた感じです。
無我夢中の新人研修でしたが、振り返ると、付け焼き刃ではできない「技術の基礎」が確実に身についた気がします。「真に考える力」「難問を解決する力」「チームで協調する力」「自分を律する力」を、ISPメソッドで徹底的に鍛えぬかれた6ヶ月間でした。探究心には自信があった私ですが、一方で、人とのコミュニケーションの重要性を痛感することも。自分の考えを簡潔に説明したり、相手の考えを理解したりするのは基本的なことのはずですが、実は自分が思うほどできていないものなんですね。
道はまだまだ続く
研修を終えて、10月からはAIの仕事に配属され、実務を開始しました。現在はデータ解析系の業務を担当しています。自社の研究開発やお客様の研究開発部門からの依頼を受けて、機械学習の手法を用いた調査や解析を行うのが私の仕事です。
これまでに実績がないものや実験的なものに挑戦するプロジェクトでは、新しい技術や理論の研究のために論文やプログラムを読み解きながら奮闘しています。機械学習はバックグラウンドに数学を使うことも稀ではないので、思うような結果が出せたときはかなり達成感がありますね。
ISPには技術の探求に積極的な人が多いせいか、ふとしたきっかけで熱い技術談義が始まることもよくあります。みんな理系なので会話にも理屈が通っていて、そこからどんどん突きつめていけるんですね。
私も、プロフェッショナルな技術者をめざして、どんどん未解決の問題に挑戦していきたいと思っています。どんな問題に対しても、最適な手段を提案できるようになりたい。そのためには、もっと幅広い知識と深い技術力を身につける必要がある。そのうえで、自分ならではの専門スキルを築けたらと思っています。
就活は面接官との相性もありますから、期待外れの結果が出ても思いつめないでください。自分の能力や性格を責めるより、「たまたまこの会社とは合わなかったんだ」と思って気持ちを切り替えていくのがいいかと思います。楽しんで仕事ができる会社が、きっと見つかりますよ!