Viewing entries in
インターンシップ

インターンシップ体験記・2017(徳島大学 森さん)

インターンシップ体験記・2017(徳島大学 森さん)

atWareインターンシップ参加レポート

徳島大学3年の森と申します。 この度、8/21~9/8の3週間に体験させて頂きましたインターンシップについて簡単にまとめました。

はじめに

私はこのインターンに以下の3つの目的を持って参加しました。

  • IT業界の方や他校の学生との交流
  • チーム開発
  • Webサービスの開発

結果として、3つの目的は達成でき意義のある3週間を過ごすことができました。今回は、上記3つの参加動機(体験できたこと)に関して、主観的に感じたことを交えてまとめました。拙い文章ではありますが、これからインターンシップへの参加を検討している方にとって、少しでも参考になれば幸いです。

概要

今回参加したインターンシップの簡単な概要としては、9人のチームで、3週間3回のイテレーションでのアジャイル開発によって、Springを使いWebサービスをつくる、というものでした。インターン生の9人は、4人が高専4年、4人が大学3年、1人が大学2年でした。作成するWebサービスは事前にメールで提案したものから適したものを選んでもらっており、初日にインターン生同士で詳細な仕様を決めました。

交流

チームメンバーの9人ですが、全員が初対面で出身地もばらばらだったので、地元の話や通っている高専・大学の話などの普段聞けない話が聞け、面白かったです。特に普段他校の方と話す機会が少なかったので、カリキュラムや学校行事のことや実習・研究でどんなことをしたかなどの話ができたのは良かったと感じています。3週間の時間があるので休憩時間やご飯のときにじっくり話ができる機会が多くあることも3週間のインターンならではのものだったと思います。
またインターン生だけでなく、社員の方とも話ができたり、開発のアドバイスをもらえたりできたことも、このインターンならではの良かったことだったと思います。今回開発を進めるにあたり、常に新卒の社員の方が付いていてくださりサポートして頂きました。アジャイル開発の進め方を教えてくれたり、Webアプリ開発の技術的な質問に答えてくれたりと、私たちインターン生にとって頼もしい存在でした。

アジャイル開発

開発の進め方はカンバンという手法を使い、タスクの切り分け・コスト見積もり、タスクの可視化、1イテレーション後に反省・改善、という流れでした。まず週の初めにミーティングを行い必要なタスクの切り分けとそれにかかる時間の相談を行います。開発経験に個人差があるのでこのミーティングの際にお互いのタスクへの認識や技術に関する知識を共有できました。開発を進める際には、タスク内容と達成に必要だと推定した時間を書いた付箋をTodo、Doing、Doneのタスクの状態に応じて壁に貼っておくことで、残タスクの量や全体の進捗具合を目で確認しながら進めることができました。1イテレーション毎に行う振り返りでは、それぞれ個人が1週間で感じた良かった点や悪い点を共有するミーティングを行いました。
今まで個人開発が多く9人ほどの人数で開発をする機会がなかったので、9人で1つのものをつくるのは難しいと感じましたが、今後チーム開発する機会は絶対あるので、その時に活かせられる良い経験ができたと思います。

mori-kanban.png

Webサービスの開発

 今回、開発にはSpring(Java、HTML、CSS)やGitを使用して進めていきました。チームではJavaやGitの経験が少ない方も多いため、タスクの切り分けではそのことを考慮し勉強時間もタスクとして設けました。私自身もJavaは学校で学んでいましたがSpringの経験が一切なかったので、勉強しながら開発ができ、無理せず足並みを揃えて進めることができました。また、タスクに取りかかる際には2人ずつのペアに分かれてそれぞれで進めていったため、先に勉強を終えたペアに分からないことや進め方を相談できた点でも安心して進められました。

mori-workspace.png

おわりに

 IT企業のインターンシップはバイトのように業務をこなす形式やハッカソン形式のものがありますが、今回はそのどちらとも違い、学ぶ機会の多いインターンだった思います。最初は技術面で不安がありましたが、チームメンバーでお互い勉強しながら開発ができたことや、社員の方がいつでもサポートしてくれたことや、社長の牧野さんからIT業界や企業に関するお話を聞かせてもらえたことなど、たくさんの学ぶ機会がありました。また同時に、交流の機会も多かったと思います。アジャイル開発やペアプログラミングでの交流だけでなく、歓迎会や打ち上げを企画してくださり、本当に楽しい3週間でした。
 最後になりましたが、インターンを無事終えることができたことに、丁寧に教えてくださった社員の方々や一緒に開発に取り組んだチームメンバーに感謝しております。楽しい3週間をありがとうございました。

mori-snapshot.png

インターンシップ体験記・2017(豊田高専 近藤さん)

インターンシップ体験記・2017(豊田高専 近藤さん)

1 はじめに

インターンシップでは集まった高専生、大学生で実際にサービスを作成する体験をしました。複数人で集まってチーム開発をするのは初めてではなかったのですが、仕様の話し合いの段階からやったことはなかったのでとても勉強になりました。開発方式はかんばん方式によるアジャイル開発、ペアプログラミングを行ないました。

2 チーム開発

初週の仕様の話し合いは自分の知識が足りず、あまり話し合いに参加できませんでしたが1週間実際に作業をすることで話し合いに必要な知識がついていき2週目以降の話し合いには積極的に参加することができました。 かんばん方式では実装にかかるタスクを切りだし、それぞれにかかる時間を設定しました。それを付箋に書きTodo(やること),Doing(やっていること),Done(おわったこと)の3つに分けたホワイトボードに貼ることで残っている作業、だれが今何の作業をやっているか、どの作業が終わっているかがすぐわかり、プロジェクトの進捗が一目でわかり、とても便利なプロジェクト管理だと思いました。

kondo-kanban1.png
kondo-kanban2.png

アジャイル開発では週の初めにその週にやる作業を決めることで前の週に残ってしまった作業や見つかったバグへの修正を簡単に組み込むことができて発生した問題に素早く対処できました。

3 開発に用いた技術

インターンシップでは以下の技術を使いました。

  • Java
  • Git
  • Springフレームワーク
  • SQL
  • HTML
  • CSS
  • JavaScript
  • jQuery

私はインターンシップ参加前はこれらの知識があまりありませんでしたがインターン参加前にこれらの技術の書籍をいただき、サポーターの方のわかりやすいサポートにより作業を完遂することができました。

4 おわりに

自分ではあまりJavaを用いてアプリケーション作成を行なったことがなかったり、SQLデータベースについての知識があまりなかったり不安に思っていましたが、インターン生の高専生や大学生、社員の方のサポートによりサービスを作成することができました。 歓迎会や打ち上げなどのイベントや社員の方に誘っていただきVimのイベントに連れて行ってもらったりしてとても楽しむことができました。
いろいろと迷惑をかけたと思いますが3週間ありがとうございました。

インターンシップ体験記・2017(武生工業高等学校 三崎さん)

インターンシップ体験記・2017(武生工業高等学校 三崎さん)

はじめに

武生工業高等学校の三﨑です。7月31日から8月4日までの5日間、アットウェアでのインターンシップに参加しました。
私がインターンに参加しようと思った理由は

  • プロの仕事を少しでも知りたかった
  • チームでの開発をしてみたかった

です。5日間という少し短い時間でしたが、十分充実した5日間でした。
事前にオンラインミーティングもして、メンバーがとても優秀な方々だったので、インターンシップが始まる前からとても楽しみでした。

インターンシップの内容

インターンメンバー4人で instantcoder(簡単にプログラミングコンテストを開催できるシステム)を開発しました。私は、フロントエンド側を担当しました。競技プログラミングも行ったことがなかったので、様々なことを知ることができました。

開発を始める前に

マルチタスクのパフォーマンスの悪さを改めて実感しました。数字とアルファベットとひらがなを同時に書くのと、一種類ずつ書くのではかかる時間が圧倒的に違うというのを体験したからです。
レゴを使った、簡単なオブジェクトを作りました。単に作るだけではなく、何を作るか、最初に何をすると早く作れるのか、などを考えタスクを分けました。2チームに別れて行ったのですが、作るものに対してこだわらなくてもいいところにこだわったりしたので、他のチームは完成してプラス何を付け足すかのところまでいっていたのですが、私たちのチームは全て完成とまではいきませんでした。タスク管理の方法や短い期間しかないので開発での重要なところから作っていくなどを実感しこの後のインターンでの開発が行いやすかったです。

開発

私はwebアプリーケーションもまともに作ったことがなくgitでのプロジェクト管理も初めてだったので、初日はわからないことだらけでしたので、他のメンバーに迷惑をかけてしまいましたが、開発していく上で必要不可欠なスキルなので、学べて本当に良かったです。
私はフロントエンドのhtml、javascriptを使った開発を行いました。デザインの知識もあまりなかったので、Bootstrapを使いました。また、javaのフレームワーク、spring bootのthymeleafを使ったwebアプリケーション開発だったので、javaもあまりやったことがなくtymeleafの知識もほとんどなかったので、そことの都合を合わせるのが大変でした。

 アニメーション、バックグラウンドあり

アニメーション、バックグラウンドあり

 アニメーション、バックグラウンドなし

アニメーション、バックグラウンドなし

instantcoderのログイン画面です。このバックグランドは幾何学模様がアニメーションするライブラリを使っているのですが、ここに載せられているのは画像ですが、このバックグラウンドがあるのとないのとでは印象がだいぶ違うと思います。
実際に、このバックグラウンドは他のメンバーの方などにも支持されました。このように実際のwebアプリケーションとしての機能は同じなのにフロントエンドのUIはちょっとした工夫でユーザーなどに与える印象が全然違うということを実感しました。普段、私たちが使っているwebアプリケーションも様々なUI/UXの工夫があるということに気づきましたので、ただただwebアプリケーションを使うだけでなくそこの部分を考えながら使えるようになりました。

今後やりたいこと

  • UI/UXを考えて作れるようになりたい
  • SPA(シングルページアプリケーション)
  • gitでの開発になれる
  • サーバサイドの勉強

普段はiosアプリを作っていますが、今回webサービスを開発して、楽しかったので、今回作ったものよりもう少し高度なものを作ってみたいです。また、今後gitを使う機会は増えてくると思うので、早く慣れたいです。

まとめ

html、javascript、bootstrap、tymeleafへの対応など普段はやらなかったことができて5日間、充実な時間を過ごせました。
チーム開発は難しかったですが、とても楽しかったです。
インターンシップにいくことによって、普段は味わえない体験、インターンシップメンバーからの刺激などが得られます。特にインターンシップメンバーからの刺激は大きく、知りたいことがこのインターンシップ期間中に数多く増えました。例えば、今回はフロントエンド側の開発だけでしたが、サーバ側にもとても興味を持ちました。
社員の方やインターンシップ生の方々にはお世話になりました。本当にありがとうございました。

インターンシップ体験記・2017(徳島大学 居石さん)

インターンシップ体験記・2017(徳島大学 居石さん)

1 はじめに

徳島大学工学部 知能情報工学科 4 年の居石峻寛です.
7/31 - 8/4 の 5 日間,アットウェアでのインターンシップに参加させていただきましたので,その内容について記していきます.

2 実施概要

  • 日程 : 7/31 - 8/4の5日間
  • 場所 : 株式会社アットウェア 横浜本社
  • 内容 : インターン生で「競技プログラミングコンテストを簡単に開催できる Web システム」を共同開発
  • 参加者 : 4人 (大学院1年生,学部4年生,高専2年生,工業高校2年生)

3 スケジュールと活動内容

3.1 オリエンテーション,見積もり (7/31)

午前中はアイスブレイクを兼ねてインターン生のみんなでミニゲームを楽しみました.実施概要の参加者を見ていただけると分かると思うのですが,学年や所属している組織の性格も全然違っています.また住んでいる地域もバラバラだったので最初はうまくやっていけるのか不安でした.しかし社員の方が一生懸命考えてくれていたアイスブレイクのお陰で,昼食を摂る頃には気軽に話して盛り上がれるようになっていました.
午後からは開発したいものからタスクを炙り出し,プランニングポーカーで見積もりを立てていきました.今回は一週間しか期間がないということもあり,何を開発するかについては事前に Skype ミーティングで決めていました.しかしながら思った以上に難しく,見積もりをまとめるのにも結構時間と苦労をかけていた記憶があります.

3.2 開発 (8/1 - 8/3)

とにかく開発,テストの繰り返しでした.Scala で回答プログラムの実行・評価部分を開発していたのですが, なにぶん Scala での本格開発は初めてで社員の方々に訊いて回りながらなんとか組み上げました.
また技術以外の面でもブランチ管理に始まり,タスク管理ツールの使い方やコミュニケーションの取り方など共同開発をしていく上での必要な事柄が沢山学べたのは非常に大きかったです.
また雰囲気の方もただひたすらに開発をしてデスマーチのようになっていたかというとそうでもなく,インターン生同士で話をしながら和気藹々とした雰囲気での開発ができました.メンターの方々もときどき様子を見に来てくださったり,昼食を一緒に摂ったりして社員の方との交流も多分にでき非常に楽しかったです.

3.3 成果発表会 (8/4)

最終日にはスライド作成とスライド発表をしました.偶然海外からのインターン生も期間が被っていたようで, 成果発表は彼らと一緒にやることに · · · お世話になった社員さんたちや海外の学生さんらが聴講してくださっている中,緊張しながらも発表を耐えきりました.
最後に振り返りをして,反省をしつつ一週間のインターンは幕を閉じました.

4 成果

今回のインターンで開発させていただいたものは「競技プログラミングコンテストを簡単に開催できる Web システム」です.誰でも簡単に開催できるよう Dockercompose 一つを実行するだけでシステム全体が再現できるようになっています.システムの構成は下の図になっており,主催者がサーバを立ち上げて問題を作成し,回答者がそこへ回答プログラムを投稿すると自動で実行されて評価されるというものです.
僕はこの中で回答プログラムを受け取り,実行してテストケースをパスするか判定する評価部分を開発していました.

system.png

5 所感

 最初はうまくやっていけるか心配でしたが,メンターの方々のフォローやインターン生にも恵まれ,非常に充実した実りある一週間となりました.
 プログラミングで作ってみたい,誰かと一緒にモノを作る喜びを知りたい,IT を生業としている人と交流したい · · · そんな方には是非是非オススメのインターンシップです.
 最後にお世話になったアットウェアの皆様,この度は素晴らしいインターンを体験させていただき本当にありがとうございました.

インターンシップ体験記・2017(京都産業大学大学院 中村さん)

インターンシップ体験記・2017(京都産業大学大学院 中村さん)

アットウェアインターンシップ

はじめに

京都産業大学大学院生一回の中村です.7/31(月)から8/4(金)までの5日間,アットウェアでのインターンシ ップに参加しました.インターンシップでは競技プログラミング環境InstantCoderを開発しました.他に もタスクの切り分けなど実際の開発プロセスに近いことを行いました.インターンシップは僕以外に三人 参加しており,その三人とともにチーム開発を行いました.

インターンを通して行ったこと

  1. 顔合わせ
  2. タスクの切り分けとイメージの共有
  3. 開発

顔合わせ

まずインターンシップ初日にメンターとの顔合わせを行いました. そしてその後ドミノ倒しやレゴブロッ クなどで開発プロセスをざっと勉強しました. 具体的にドミノ倒しは,ドミノ以外にギミックがありその ギミックを最低5個使用しないといけないルールでした.そこで最善のギミックを選ぶ練習をしました. レゴブロックは実際にやるべき内容をタスク分割し,「Do, Doing, Done」でタスクの見通しを良くして組 み立てていきました.これにより実際のチーム開発でのカンバンの手法を学びました.

タスクの切り分けとイメージの共有

顔合わせが終了した後は,本格的に今回作成するInstantCoderを作成するために必要なタスクを切り出 し,それを分割していきました.その後分割したそれぞれのタスクに対して,そのタスクが終了するまで の所要時間を全員で考えました.所要時間の決め方は,全員に各所要時間の記されたカードを配っておい て,各人はタスクごとに自分が思う所要時間カードを出します.そして過半数の人が同じ所要時間のカー ドを出すまで出し直しを行いました.出し直す際は,どうしてその所要時間を出したのかを各人に聞 いてから出し直しを行いました.これによりタスクのイメージを全員で共有することができました.

開発

タスクの切り分けが済んだ後,そのタスクをbacklogに登録し実際に開発を始めました.今回制作したサー ビスは,ユーザから直接アクセスされるクライアントサーバ,実際にプログラムを実行して結果を返す実 行サーバに分かれています.なので人数をクライアントサーバ二人,実行サーバ二人にして分割しました. 今回僕は実行サーバ側でDockerを用いて,サービスの環境構築をしました.基本的にはMySQLとサーバの 環境を構築し,環境(コンテナ)間での通信を行えるようにしました.後は残っているタスクを消化する手伝いをしました.

成果物

idとpasswordを入力してログインします.

  • ログイン画面
title.png

その後問題を作成します.

  • 問題作成画面

create_problem.png
  • 問題一覧画面
problem_list.png

後は問題ページに行って,問題を投稿すると実際に動かしてくれて結果を出力してくれます.

  • 問題提出画面
submit_problem.png

  • 結果画面
result.png

まとめ

一週間という短い期間でしたが,学ぶことが非常に多くあったと思います.まずは常に一緒の机でのチー ム開発における一体感を初めて感じました.気軽に今何をやっているのかを聞くことができ,ホワイトボ ードなどで考えを共有することができました.そしてbacklogでタスクを管理したのでよりタスクを可視化できたと思います.これからも開発し続けていけたらなと思いました.一週間という短い期間でしたが, お世話になりました.

インターンシップ体験記・2016(千葉大学 中平さん)

インターンシップ体験記・2016(千葉大学 中平さん)

千葉大学3年の中平です。この度8/22〜9/2の2週間、インターンシップに参加させていただきましたのでその内容について簡単にまとめさせていただきます。

はじめに

私は転職サイトWantedlyでアットウェアのインターン募集を見つけて応募しました。インターンに参加しようと思った理由には以下のようなものがありました。

  • 今後の進路選択に向け、IT業界についてもっと理解を深めたかった
  • Webに興味があり、Webアプリ開発をやってみたかった
  • チームで開発をしてみたかった

今回、学校を通じての応募ではなかったことや、インターン直前の応募になってしまったことから参加できるかとても不安でしたが、社長の牧野さんが丁寧に対応してくださいました。結果的に、上記のインターンでやりたかった3つのことは、実際にインターンでやったことに変わり、充実した時間を過ごすことができました。

インターン内容

概要

集まったインターン生でWebサービスを1つ開発しました。今回は私と同じく2週間のインターンに参加する仲間が4人と、それよりも1週間早く開始していた仲間が4人おり、計8人で一つのサービスを開発しました。

私がインターンに参加した時点で既にサービスの企画と設計のフェーズが終了していたため、主に開発に携わらせていただきました。

プログラミング

開発の内、私はサーバーサイドを担当させて頂きました。Web開発は初めてであったため、MVCモデルが一体どんなものなのかを知るところから始め、主にビジネスロジックの部分を実装しました。開発ではJavaのSpringMVCと呼ばれるフレームワークを用いました。また、Java言語についてもあまり経験がなかったので、オブジェクト指向を用いたプログラミングの実践の機会にもなりました。

最初の1、2日は参考書や仲間のコードを読んでもあまり理解が進まず、悶々していましたが、一週間が終わる頃にはわかる部分とわからない部分が明確になり、仲間とうまく作業分担しながら作業を進めることができました。開発のほとんどは学習と同時並行でしたが、インターンに参加したメンバーもWeb開発が初めてという方が多かったので、アットウェアの社員の方々のフォローを頂きながらスムーズに開発を進めることができました。

最終的にはWebサービスを一つ完成させることができ、大きな達成感と自信を得ることができました。インターンに参加する前はHTML, CSS, JavaScriptのフロントエンド技術しかわかりませんでしたが、サーバーサイドの技術を学ぶことができたことが私にとって特に大きなポイントでした。

チーム開発

インターンではプログラミングだけでなく、チーム開発についても様々なことを学ぶことができました。その内の一つはカンバンと呼ばれる手法で、主に"タスクの見える化"を行うものです。ミーティングで事前に洗い出したタスクの中から、毎日今日やるタスクを選び、各人がDoing(今やっているタスク)欄にタスクを移してから作業を始めます。タスクが終了した時には見積もり時間に対して実際にかかった時間を記入してDone(消化したタスク)欄へと移していきます。

カンバンを用いながら開発することで、特に以下の様な点に気づきました。

  • あとどれくらいやることがあるのかという全体的な視点を意識しながら作業できる
  • プロジェクト自体の進捗が管理がしやすくなる
  • 長い間同じタスクに留まっている仲間を発見できる

このような手法は一人でプログラミングをする上では経験できないため、実際にそれを使ってチーム開発をすることができ、良い経験になりました。

それ以外にも2週間のチーム開発を通して、わからないことがあった場合に一人で悩みこまずに気軽に仲間と共有できる環境の素晴らしさを実感しました。また仲間のコードを読んだり、仲間と考え方を共有しあう中で、設計や実装がブラッシュアップされる体験も非常に楽しいものでした。インターンでは普段の学校生活ではあまり経験することのないチーム開発に触れる事ができます。紹介したカンバンやgitなどの開発手法・ツールに触れることも貴重な体験ではありますが、初めて会った仲間とどれだけ蜜にコミュニケーションを取れるかも重要な要素です。もしコミュニケーションに不安のある方でもアットウェアのインターンに参加することで自信をつけるきっかけになると思います。

インターンで使った言語・フレームワーク・開発環境

今回のインターンで学んだ技術的なものについて、具体的に名前を列挙してみました。言語やフレームワーク、ツールなどが入り混じっていますが、少しでも今後参加する方の参考になればと思います。

技術要素
全員Java, Tomcat, Git(Source Tree), Eclipse
クライアントサイドHTML, CSS, JavaScript
サーバーサイドJSP, SpringMVC, Hibernate, MySQL

さいごに

私は最初インターンに参加するにあたり、Javaでのプログラミング経験が少ないことや、Webサービスの開発経験がないといったことが大きな不安要素でした。しかし、今終わって振り返ってみると、わからないことはアットウェアの社員の方々が丁寧に教えてくださったり、一緒に参加していたメンバー同士で教え合うことができる環境で、とにかく"楽しみながら"開発をすることができました。

また、アットウェアのインターンでは社内で歓迎会や打ち上げを開いていただいただけでなく、皆でご飯を一緒に食べに行ったり、横浜スタジアムに野球観戦しにいったり、卓球をしたり、開発以外にも楽しい経験が盛り沢山でした。もしこの記事を読んでいるあなたが、技術的なハンデに関する不安で参加を迷っているのであれば、そんな心配は全く不要です!是非インターンに参加して欲しいと思います。また、アットウェアでは大学の単位認定についても対応して下さいますので、もし今後個人で応募する方がいましたら参考にしてください。

この度は本当にありがとうございました。

インターンシップ体験記・2016(奈良先端科学技術大学院大学 原さん)

インターンシップ体験記・2016(奈良先端科学技術大学院大学 原さん)

はじめに

奈良先端科学技術大学院大学の原です. 8月15日から9月2日までの3週間, アットウェアでのインターンシップに参加しました. そこで私はクラウド並列分散処理基板構築という内容を実施しました. 3週間で実施した内容を簡単に紹介したいと思います. また, 本記事が今後アットウェアへのインターンシップに参加する方のご参考になればと思います.

 

実施内容

本インターンシップで使用した主要技術は4つあります.

  1. Scala
  2. Spark
  3. Zeppelin
  4. Amazon EMR

これらの技術は私にとって経験値の少ないものでしたので, 学ぶことも多く, 非常に楽しく開発できました. そして, わからない所や深く知りたいことは, 社員の方々に聞くことができました.

本インターンシップで実施したことは2つあります. 1つ目は, アクセスログの並列分散処理と解析です. 2つ目は, 野球データの解析です.

アクセスログ

あるアクセスログを解析し, そこから何か有益なデータを見つけるといった内容です. 具体的には, アクセスログをSparkを利用して並列分散処理し, 集計されたデータをZeppelinで可視化するという流れです. このアクセスログは, 実際に運用しているプロジェクトのアクセスログであったので, ユーザが実際に利用している風景を想像しながらアクセスログを解析できました. ここで, 私はScala, Spark, Zeppelin, そしてAmazon EMRを利用し, データの並列分散処理と解析の基礎を身につけました.

野球データ

MLBで利用されているPitch f/xのデータを並列分散処理し, 解析しました. Pitch f/xは野球の投手の投球速度や投球軌道を追跡するスピード測定器システムです. イメージとしては, プロ野球1球速報のようなものです. このデータを元に, 投手はどのような配球で打者から三振を奪うのか調べました. 初めは, 下図のように三振を奪った投手の全ての配球を可視化したのですが, どのような配球で三振を奪ったのかよくわかりませんでした.

そこで, 三振を奪った配球を部分系列パターンとして抽出し, それを可視化しました. 全体的な流れを以下に示します.

  1. Pitch f/xのデータを習得
  2. Sparkで並列分散処理できるように, データセットを作成
  3. そのデータセットを用いて, 部分系列パターンとして抽出
  4. 抽出した部分系列パターンをWEBで可視化

また, 部分系列パターンとして抽出する際, データのフィルタリングしました.

  1. 投手と打者の指標
  2. 右打者, 左打者あるいは右腕, 左腕

これらを考慮することで, 優秀な左腕投手は, 優秀な右打者に対してどのような配球で三振を奪うのか知ることができます. 投手の指標として, 今回はK/BBを採用しました. これは奪三振数と与四球数の比です. 打者の指標として, 今回はOPSを採用しました. これは打者の出塁率と長打率の和です.

成果物

野球データに関する成果物を紹介したいと思います. 完成した成果物を下図に示します. これは右腕投手が右打者から三振を奪った際の部分系列パターン群です. 1つのパネルが抽出した1つの系列パターンの1要素となります.

下図は横から見た図です. パネルが奥行きを持って並んでいることがわかります. この奥行きを持って並んだパネルが1つの部分系列パターンです. また, パネルの1番奥の部分が三振を奪った球種とゾーンです. 例えば3つのパネルが奥行きを持って並んでいる所に注目すると, これは右打者に対する投球の中でアウトローのボールゾーンのスライダーが3球出現したことを示しています. そして, アウトローのボールゾーンスライダーで三振を奪ったことを示しています.

右打者や左打者, 右腕や左腕の組合せで, それぞれの傾向が見られたので, 非常に面白かったです.

 

まとめ

この3週間で私は以下のことを深く学び, 経験できました.

  1. Sparkを用いた並列分散処理
  2. データの可視化(見せ方)の難しさ
  3. エンジニアとしての振る舞い

私にとって経験値の少ないScalaやSparkを用いた開発, そしてデータの並列分散処理から可視化までの一連の流れを経験でき, とても価値のある3週間でした. 特に3については是非アットウェアへ行って自身の耳で聞いてください. 私がここで記事にするよりも有益な情報が得られます. また, 今回私はインターンシップ生同士でチームを組んでいなく1人でしたが, 隣でチームで作業しているインターン生や社員の方々を見て, 普段私がしているチーム開発を俯瞰的に見ることができ, 改めて振り返る機会を得ることができました. そしてインターンシップでの3週間, 私はとても楽しく有意義な空間と時間を過ごすことができました. 最後になりますが, 社員の方々やチームは異なりますが, 共に過ごしたインターンシップ生の方々, 本当にお世話になりました.

インターンシップ体験記・2015(神奈川大学 本田さん)

インターンシップ体験記・2015(神奈川大学 本田さん)

はじめに

こんにちは。神奈川大学経済学部の本田です。
8月31日~9月18日までの3週間、アットウェアでのインターンシップを経験させていただきましたので、その経験について書かせていただきます。

私はアジャイルチームとして、実践的なアジャイルプロセスを体験させていただきました。
開発したアプリケーションの概要や開発手順については先に投稿された幾谷さんの記事 コチラ をご参照ください。
3週間という長いようで短い期間のインターンシップでしたが、
まるで3年間ほどアットウェアで過ごしたかのように思える密度の濃い日々を送らせていただきました。
私が学ばせていただいたことは数え切れないほど多いのですが、中でも終生の思い出になると感じた3つの学びについて書かせていただきます。

アットウェアでの3つの学び

アットウェアのインターンシップを通じて私が学んだ3つのこと

  • HTML・CSS・bootstrapを中心とした様々な開発スキル
  • アジャイルプロセスがどのように開発現場で実践されているのか
  • 文系大学生として交流したことがない方々の生き方や考え方

HTML・CSS・bootstrapを中心とした様々な開発スキル

「Gitってなんですか?コマンドプロンプト使ったことないです」、これがインターンシップ初日の私の惨状でした。

アジャイルチームは私と幾谷さん計2人のチームで、
高専在学中の幾谷さんとプログラム未経験の私とでは時間にして7年分以上の経験の差がありました。
そこで私は浅学ながら少しだけ経験のあったHTMLやCSS等の開発のフロント部分を担当させていただき、幾谷さんがその他の全ての開発を担当する、という分担になりました。
しかし、フロント部分の開発だけでも相当に難航してしまいました。
冒頭でも述べたように私はGitの存在さえ知らず、幾谷さんとソースを共有するだけでも一苦労、という状態だったからです。
当然、HTMLエディタなんて使ったこともなく、ページの余白調整だけで丸一日を浪費してしまうこともありました。

このように、なぜインターンシップに応募しようと思ったのか?と思われても仕方がないような状況にも関わらず、社員の不破さんと矢納さん、幾谷さんは初歩の初歩から開発に必要な知識を丁寧に教えてくださいました。
不破さんにはCSSコーディングの一連の手法やデバッグの仕方を、矢納さんには私では手も足も出ないような技術の導入の仕方を、幾谷さんにはその他開発の途中で必要になる知識を逐一教えていただきました。

皆様のおかげで、ひよっこではありますが初日とは比べ物にならないくらいのスキルを身につけることができました。
springbootやbootstrap、gradleなんて聞いたことすらなかったのに、それらを触りだけでも扱えるようになったのはアットウェアの皆様のご教授があってのことです。
ありがとうございます。

アジャイルプロセスがどのように開発現場で実践されているのか

アジャイルプロセスという言葉はインターンシップ直前にネットで30分ほど調べただけで一体どのような手法なのか?やどんなツールを用いるのか?は全く知りませんでした。
しかし、この3週間の経験によってアジャイルプロセスがどんなものかおぼろげながら掴めた気分です。

特にアジャイルプロセス理解のための参考になったのは初日の武永さんのアジャイル講習です。
もし何も分からぬまま「アジャイル」という言葉を聞きかじっただけの状態で開発が始まってしまっていたら……、と考えるとこの講習にどれだけ助けられたか計り知れません。
開発中は何度もこの講習のノートをこっそりチートシートにして「イテレーション」や「スプリント」、「バックログ」といった用語を知ったふうに振舞っていました。
またアジャイルプロセスを実践するにあたって新井さんにはどれだけ感謝しても感謝しきれません。
私達のチームはタスクの切り分け方が雑だったり、足りなかったり、タスクにないことをやってしまっていたりと、
アジャイルプロセスを実践できていなかったところも多々あったのですが、新井さんは私達がどんなに失敗してしまっても、見捨てずにアドバイスをしてくださいました。
常に私達のことを案じてくださり、本当にありがとうございました。
一度失敗したことを二度失敗しないように今後も気をつけていきます。

アジャイル開発を実践させていただいたことで、
イテレーション毎の計画ゲームによるタスクの洗い出しや、イテレーション中のタスク管理、KPTによる振り返り等、
どんな本を読んでも決して学ぶことができない"アットウェア流"アジャイルプロセスを学ぶことができました。

文系大学生として交流したことがない方々の生き方や考え方

さまざまな知識を学べたことも良い経験でしたが、インターンシップでの一番の経験は多くの社員の方々と交流させていただいたことです。

私達はたった3週間のインターンシップ生であるにも関わらず、初日から最終日まで社員の方々はいつもにこやかに話しかけてくださいました。
毎日お座敷でお昼ご飯をご一緒させていただき、エンジニアリングや野球、家族の話など楽しかったり、ためになったりするお話をうかがうことができました。
休日には牧野さんのご自宅にお招きいただいてとてもおいしいご飯をいただき、とても楽しい時間を過ごすことができました。
このインターンシップでの一番大切な思い出です。

まとめ

このように私はアットウェアでのインターンシップでたくさんの知識と経験、思い出を得ることができました。

  • HTML・CSS・bootstrapを中心とした様々な開発スキル
  • アジャイルプロセスがどのように開発現場で実践されているのか
  • 文系大学生として交流したことがない方々の生き方や考え方

実は、私は就職での希望業界を全く考えておらず今までなんとなくパソコンが好きというだけで「希望業界はIT系・・・?」などと言っておりました。
今回のインターンシップも他のインターン生のような「これがやりたい!」という意思を持って参加していなかったことは否めません。

それでも今回のインターンシップを通じて将来はIT系に進みたいなあと明確に思えるようになりました。
他のインターン生と比べると私のスキルが劣っていることは明らかだったので、今後は猛勉強が必要だと思いますがこのインターンシップでの経験を思い出にがんばっていきます。

3週間本当にありがとうございました!

インターンシップ体験記・2015(奈良高専 幾谷さん)

インターンシップ体験記・2015(奈良高専 幾谷さん)

はじめに

奈良工業高等専門学校専攻科2年の幾谷です。 ソフトウェア工学を専攻し、以前から開発プロセスに興味があったので、今回アットウェアでのインターンシップに参加しました。 結論として、ここでのインターンシップは、ぼくにとって大きな衝撃と感動に満ち満ちていました。 とくに以下の3点について素晴らしい経験ができたと考えています。

  • アジャイル開発を実際に自分で計画・実行することができた
  • 実際にアジャイルツール(カンバン、KPTボード)を動かしながら開発できた
  • 新技術に飢えているハイスペックギークな方々とたくさんお話ができた

情報が好きで、プログラミングが好きで、新しいものが好きな方はアットウェアでのインターンシップに参加することを強く勧めます。 私がアットウェアで3週間どのようなことをしたかを記事としてまとめることで、IT企業を目指す就活生やインターンシップへ参加したい学生の一助になれば幸いです。

作成したいアプリケーションの決定

アットウェアでのインターンシップは8月31日から9月18日までの3週間でした。 アジャイルの手法にのっとって、2人のチームで自分たちで考えたアプリケーションを開発することが私のミッションでした。

初日(8月31日)にチームメンバーの顔合わせ、「アジャイルとは何か」についての講習、作りたいアプリのコンセプトの決定をしました。 アジャイルチームの社員の方々との検討の結果、我々は学生向けのマッチングサービスをWebアプリケーションとして開発することになりました。 コンセプトをインセプションデッキという形でまとめることで、より詳細に作ろうとしているアプリケーションを想像できるようになりました。

インセプションデッキの構築後は、タスクの洗い出しとユーザーストーリーマッピングを行いました。 社員の方々が実際に使っているやり方で開発の計画をつくることで、私のアジャイルへの理解がとても進みました。

スケジュール

2日目以降はおおむね以下の画像のとおりに作業を進めました。 実働10日間を2つのスプリントに分割し、それぞれの中で計画・開発・ふりかえりをまわすというやり方が基本となりました。

開発

開発はJava+Gradle+Springで行いました。 アットウェアでは多くの方がJavaでシステムを書いているので、困ったときにはすぐに質問できる環境になっていました。 10時から19時まで昼休憩を除いて、毎日7時間弱ぐらい開発に没頭していました。 開発時のタスクはすべてカンバンで管理し、毎日タスクカードがCheckIn -> ToDo -> Doneと流れていきました。

ふりかえり

各スプリントの最後にはふりかえりの時間が設けられていました。 ふりかえりでは、作成したプロダクトのデモ・KPTによるチーム改善・次のスプリントの計画を行いました。 毎週このようなデモがあるので、1週間の開発時間内に動く成果を出すことが要求されます。 すこしプレッシャーもありましたが、動く成果を出し続ける作業は進捗の明確化はもちろんのこと、作業者の精神衛生にとっても有益だと感じました。

デモの後はKPT法でいまのチームが「続けるべきこと(KEEP)」、「問題(PROBLEM)」、「問題解決のための施策(TRY)」を議論しました。 毎週このような場を設けて、定期的にチームを改善することで、アジャイルの土台が保障されるのだと思いました。

KPTのあとは次のスプリントの計画を行いました。 このスプリントで取り組むユーザーストーリーをバックログから選択し、それぞれについてタスクの洗い出しと見積もりをしました。

成果物

実働10日間の開発の結果、facebookアカウントで登録するマッチングサイトが完成しました。

まとめ

この3週間のインターンシップで以下のことをとても深く学ぶことができました。

  • アジャイルにのっとったソフトウェア開発のやり方(カンバンによるタスク管理、KPTによるふりかえりなど)
  • JavaによるWebアプリケーション開発(Java+Gradleの使い方、SpringによるWebフレームワーク開発)
  • 新しい技術を学ぶ姿勢、追いかける姿勢

学校の授業や独学でなんらかの情報技術を学んでいる人にとって、アットウェアでのインターンシップは、コーディングだけではないソフトウェア開発のイロハを学ぶために最適な機会になると考えています。 プログラミングをやっていない人にとっては(ぼくの相棒はプログラミング経験なしでした)、IT企業が実際にどんなことをしているのかを知るためや、プログラミングを自分の技術にするためのまたとない機械になると考えています。 すこしでも情報に興味があって、最先端の現場で通じる技を知りたい方は、是非アットウェアでのインターンシップに応募してみてください。

最後に、アットウェアの皆さんには、アジャイル手法の教示から開発の支援まで、さまざまな場面で多くのご支援をいただきました。 社会経験として、技術の鍛錬として、素晴らしい3週間をほんとうにありがとうございました。