転職・求人dodaエンジニア IT/トップ > 転職情報・成功ガイド > ギークアカデミー > 社会人でプログラミングを始めレッドコーダーに、フラッシュメモリのファームウェア開発に能力を発揮 株式会社フィックスターズ 田中伸明 氏
京都大学理学部卒業。専攻は物理化学。2006年、ジャストシステム入社。パッケージソフトウェア開発に従事。出版社の文響社を経て、2013年、フィックスターズ入社。NAND型フラッシュメモリのコントローラのプログラム(ファームウェア)の開発に従事。レッドコーダの称号を持つ。
フィックスターズでNAND型フラッシュメモリのコントローラのプログラム(ファームウェア)の開発を手がける田中伸明氏に話を聞いた。プログラムを始めたのは社会人になってからだが、プログラミングコンテストTopCoderでは高得点を取得、レッドコーダーの称号を持つ。
- ──最初の就職先はソフトウェア会社だったのですね。
- 京都大学理学部にいたのですが、3年に上がるときに専攻を決めます。そこで化学を専攻しました。しかし、学ぶうちにこれは「ものになる」までの距離がとても長い、何年かかるか分からない、と感じました。考えた結果、大学院には行かず就職することにしました。
- 小さい頃からパソコンを触ったりしていたわけではなく、プログラミングは未経験でした。それでも、伸びしろがありそうということで、ジャストシステムに採用してもらえました(笑)。
- ──すると、プログラムの勉強は社会人になってから?
- そうです。最初の就職先では大きな開発プロジェクトの中で、最初はお手伝いのような形でした。技術Blogをよく読んだり、技術書を読んだりして独習しました。
- ──プログラミングコンテストのTopCoderにも参加しています。数少ないレッドコーダー(TopCoderレーティング2200以上)の一員なのですね。
- 社会人になってから、腕試しのような形で始めました。TopCoderには世界中からプログラムやアルゴリズムが好きな人が集まるので、ゲームとして面白いと思っていました。
- ──TopCoderの成績は?
- 最高レーティングは2506(上位1.5%程度)です。年に一度行われるTopCoder Openという大きな大会では、決勝に進出してアメリカに招待されたこともあります。
- ──プログラミングコンテストで好成績を出していますが、もともと論理思考が得意だったのですか?
- プログラミングは社会人になってからですが、高校時代には「数学オリンピック」に出場したことがありました。以前から論理パズルが好きだったりもしました。特別に練習などをした意識はなく、面白かったからやっているうちにそういう成績になりました。とはいっても、もともと「自分が戦えるところで戦おう」という気持ちは持っています。
- ──フィックスターズに入社して、どんな仕事をしていますか。
- もともと、勉強会での活動などで、エッジが立っている会社として名前を知っていました。入社は2013年5月です。
- 今の仕事は、NANDフラッシュメモリのファームウェア開発です。半導体チップにメモリとコントローラが載っているのですが、そのコントローラで動く制御プログラムを開発しています。
- ──半導体チップ上のファームウェアの開発ということで、それまでの仕事と変わったことはありましたか。
- 今までパソコン向けのソフトウェアばかり書いていたので、感覚が違いました。一つ言えることは、コンピュータの動作原理を知らないと難しい仕事だということです。OSも何もなく、直接ハードウェアを制御するコードを書くからです。
- C言語で開発するのですが、パソコンと違って気軽に試せません。開発環境でプログラムを書いてから実環境で動かすまで、10分間ぐらいのターンアラウンドタイムが発生します。動かない場合も、ソフトウェアをデバッガで追っていくだけでは分からない。ハードウェアの一部の電源が入っていなかったことに気がつかずに1日潰れたりすることもあります。
- ──ご自分の能力が発揮できている感触はありますか?
- はい、それはあります。デバッグでは、ハードウェアが吐いたバイナリを眺めて「あたり」を付けるのですが、知識、ノウハウよりも論理的な思考能力が問われる仕事です。ハードウェアがどういう順番でデータを書き込んだか、どれが有効なデータなのか、そうしたことを論理的に追いかけて問題を解決していきます。
- ──NANDフラッシュメモリの普及でコンピュータの記憶階層が変わりつつありますが、そうした時代の最先端にいる感覚はありますか?
- フィックスターズはもともとプロセッサの高速化を手がけていたのですが、ストレージがネックになる場合も多いのが実情です。記憶階層の効率を上げることがシステム全体の効率に直接結びつきます。世の中のニュースを見ていても、自分たちがやっていることが、世の中に出つつあると思うようになりました。
- ──どんな人と一緒に働きたいですか?
- こういう言葉に拒否感を持つ人もいるかもしれませんが、あえて言うとコミュニケーション力、それも「理系のコミュニケーション力」です。チームの人数が数十人規模になると、必要な情報を正確に把握して伝えることができる能力が重要になってきます。開発、デバッグで「情報をください」と言われたときに、必要な情報を整理して正確に伝えられる力はとても大事です。
- 細かいところまで気が回せることも大事です。実環境で一回動かすまでのターンアラウンドタイムが長いので、トライアンドエラーを気軽にやっていると効率が悪くなります。起こることを予測しながら少ない手数で実施する必要が出てきます。
- それに、コンピュータの動作原理についてしっかり理解していることがとても大事です。バイナリを扱うときに燃える人は大歓迎です(笑)。
エンジニア特有の転職成功ノウハウや市場動向をご紹介 |
||
インフラ領域特有の転職成功ノウハウや市場動向をご紹介 |
||
クリエイター転職特有のノウハウ・事例などご紹介! |
||
先端を走る技術を、ギークに学ぶ |
簡単登録で最新の転職情報、
希望の求人が届く