Science2017.12.19ツイートTopics学生時代3月4月5月6月7月8月9月10月11月まとめこんにちは。この記事では、新卒社員として今年NHNテコラスに入社したtmtkが、入社からの約半年間を振り返ります。学校では数学を専攻していました。趣味としてときどきゲームを作ったりしてプログラミングをしていました。統計や機械学習はほとんど何も知らない状態でした。3月3月は学校の卒業直前の春休みだったため、やることもなく暇でした。そこで、当時内定先であった当社に相談し、インターンとして働かせていただきました。インターンでは、ビッグデータと機械学習の入門として、Twitterのツイートを分析しました。Classifierなどを使いました。accuracy、precision、recall、F-measureなどの評価基準を学びました。920点を取得しました。4月4月には正式に社員として入社しました。同期約10人と一緒に新入社員研修を受けました。開発研修ビジネスマナー研修などでした。開発研修ではサンプルとして与えられたWebアプリケーションに機能を追加せよという課題に取り組みました。JavaもMyBatisもよくわからない中でプログラムを解読し、雰囲気で開発を進めていくのが大変でした。技術的には、JavaやMVCパターン、DAOパターンについて学びました。新入社員研修が終わり、データサイエンスチームに配属されました。Mixtureのラッパーを作成しました。新入社員として情報セキュリティEXPOの手伝いもしました。会社のオフィスの引越しがあり、ゴールデンウィークの休みが2日間増えました。毎週オフィスが引っ越したらいいのにと思いました。LDAなどについて勉強し、チーム内勉強会で発表したりしていました。チーム全体としてPythonからScalaに移行しようという流れになり、Scalaを覚えました。チームで開発するためにGitの使い方も覚えました。画像処理に関するソフトウェアを開発しました。技術的には、OpenCVという画像処理ライブラリを学びました。OpenCVはJavaラッパーがあるためScalaから呼び出せるのですが、そのJavaラッパーが共有ライブラリを呼び出すため、Sparkで分散処理をするのには使えないという欠点にハマりました。プライベートでは平井有三『はじめてのパターン認識』などを読み、機械学習に入門していました。会計の勉強に誘われて日商簿記3級を取得しました。アルゴリズムとデータ構造を勉強し、本を読みながらC言語でアルゴリズムとデータ構造を実装していきました。7月Scala開発用にデスクトップパソコンを受け取りました。M2000、デュアルディスプレイの開発環境が整いました。Ubuntuをインストールしようと考えましたが、セキュリティの問題もあり見合わせることにしました。開発のため、ZooKeeperを学びました。非同期処理やマルチスレッドプログラミングがよくわからず苦労しました。IDEでテストの自動化などをしました。チームで開発する上で設計の大切さを痛感しました。開発していたアプリケーションで機能テスト・シナリオテストを行いました。自分はテストが苦手で苦戦していた一方で、チームメンバーは涼しい顔でテストを進めていたりして、適正の差を感じました。お客様から預かっていたデータの分析を行いました。OpenCVで顔や目を認識したりしていました。進めていたアルゴリズムとデータ構造の勉強がひと段落して、かわりにOCamlの勉強を始めました。OCamlは関数型言語で、きれいなプログラムがかけ、しかも実行速度が高速で魅力的な言語だと思いました。ボーナスが出たのでPS4とアーケードコントローラーとストリートファイター5を買いました。学生時代にはウルトラストリートファイター4をずっとやっていたのですが、念願のストリートファイター5を手に入れたのに、社会人になると時間がぜんぜん取れず、すぐにやらなくなってしまいました。入社1年目ということで、査定期間が通常の半分しかなく、ボーナスが規定額の半分しか出なかったことに落ち込みました。あとで周りの人に聞いたらそれが常識だったと知りました。GuruでAWSを勉強してました。会社のGPUつきサーバにCUDAやTensorflowを入れてディープラーニングをはじめました。先輩が退職するので彼が抱えていたデータ分析案件を一件引き継ぎました。お客様との連絡が増えてきたため、プライベートでビジネスメールの本とプレゼンの本を3冊ずつ読み、勉強しました。Contestを073から1日1コンテスト解き始めました。10月データ分析の結果をお客様にインタラクティブに見せるために、Flaskでウェブアプリケーションを作成しました。お客様のデータ分析を自動化するために、AWS上に自動分析システムを構築しました。Batchなどを身に着けました。開発を進行させるために開発方法を勉強しようと、開発プロセスについて勉強しました。広報のためにテックブログを書こうというチーム全体へのお達しがあったので、テックブログを書き始めました。Clusteringというアルゴリズムについて調べ、テックブログに書き、チーム内勉強会で説明しました。Theoryというのでグラフの連結成分分解を固有値問題に還元できることを知り、面白いと思いました。Calendarの記事を執筆していました。R言語の社内勉強会に参加して、R言語の使い方を勉強していました。トピックモデリングやディリクレ分布について勉強しました。評価S合格をしました。まとめこの約半年間で学んだことを改めて列挙すると、以下のようになります。SparkKerasMeCabOpenCVFlaskビジネスビジネスメールプレゼン資料のデザイン会計の基礎やることなすことすべてが初めての連続だったので、たくさんのことを身につけることができました。来年もさらに躍進したいです。Calendar#数学tmtkデータ分析と機械学習とソフトウェア開発をしています。アルゴリズムとデータ構造が好きです。