地方大学で、学生と企業エンジニア合同のLT大会を企画した話
こんにちは、@n_atmark です。
この度、僕の所属する公立はこだて未来大学で、未来大×企業エンジニア 夏の大LT大会というイベントを開催したので、こちらのイベントを開催するまでの流れをブログにまとめれればと思います。
未来大×企業エンジニア 夏の大LT大会 とは
- 未来大で東京のIT企業をおよびして、学生と企業エンジニアが合同で1LT(Lightning Talk)発表をする会です
- 今回のLT大会では以下の企業さんをお呼びしました
- 株式会社メルカリ
- クックパッド株式会社
- 株式会社サイバーエージェント
- KLab株式会社
- Sansan株式会社
- GMOペパボ株式会社
- テーマは「今日から使える・役立つ技術の話」
- LT人数は企業エンジニアと学生が半分ずつくらい
LT会の後には懇親会を設定
詳しいイベント内容はこちら https://fun.connpass.com/event/91930/
当日の様子はtwitterの #summerLT_hakodate タグ、flickrで確認できます
LT会企画の動機
会津大学で5/26に開催された会津春の大LT会を未来大でもやりたい!と思ったのがきっかけでした。
LT大会を開催したい旨をFacebookに書き込んでみると、同じくLT大会をやりたい未来大生や、興味を持ってくださった企業の方に声をかけていただきました。
当日までのスケジュール
先に当日までの準備スケジュールを紹介します(見辛かったらゴメンナサイ...)。
- LT企画
- 懇親会の準備
- ノベルティの準備
- サイネージの準備
大きく分けて上の4つを運営で担当しました。
使ったツール
企画運営に当たって下記のようなツールを使用しました。
連絡用
- TwitterのDM (運営メンバー連絡用)
- Slackのようなマルチチャンネルが必要なかったので、TwitterのDMを用いました。
- 雑なコミュニケーションが取れるので、結構よかったです。
- 企画段階では良かったですが、振り返りブログ(このブログ)を書くために時系列を遡ろうとしたら、検索機能が無くて辛かったのでオススメはしません。
- Facebook 非公開グループ (企業さん、LT発表者との連絡用)
- チャット形式ではなく、グループに「投稿」という形になるので、ある程度固まった(濃い)情報だけが残るようになってます。
- チャットだと大事な情報が流れていきがちなので、Facebookグループ使って良かったです。
その他
- Google Apps (資料作成はほぼ全部GoogleスプレッドシートやGoogle Docs)
- hackmd (運営メンバーのタスク管理)
- connpass (学生のLT申込み用)
運営メンバー
企画・当日運営メンバー
当日運営メンバー
- @na0noma
運営は企画メンバー4人に、当日運営メンバー2人を加えて6名で行いました。
キックオフ
LT会の構想をA4 1枚にまとめ、未来大でのLT大会に興味を持ってくれた未来大3年生の @chikuwa_it君と、学生支援を行なっている株式会社サポーターズの@sari_spzさんに見てもらいました。
実際に文字に起こしたものを見てもらって、「いいじゃん、やろうよ!」という流れで企画が始まりました。
企業招致について
企業招致するに当たって、企業を呼びすぎてしまう危険性と、招致した企業の都合が悪く断られてしまう可能性がありました。
そのため、未来大生が呼んでほしい企業および未来大生と関わりがある企業(OBOGが所属していたり、未来大生がインターンに参加している企業)にプライオリティを付けて、順番に企業さんに声をかけていきました。
企業招致にあたって、LT会についてまとめた資料を用意して、企業さんの参加判断のための材料にしていただきました。 この資料には
- LT会の詳細
- 参加予定の学生の人数規模
負担していただきたい費用
などを記載しました
LT発表学生・参加学生の募集について
LT学生枠、懇親会参加の学生枠、一般枠の募集に関してはconnpassを用いて行いました。
また、告知については Twitterや学内メールを用いて、リーチしました。
当日のタイムテーブルについて
タイムテーブルについては、Googleスプレッドシートで作成し、共有しました。 企業招致の際にLTタイトルが未定の方がいたり、直前でLTタイトルを変更される方がいることを見据えて、編集可能なスプレッドシートを用意して、発表者の方が名前やLTタイトルを自由に編集できるような形で共有しました。
スプレッドシートには範囲保護をかけていて、個人のレコードしか編集できないようになっています。
また、一般参加者向けに編集不可能なタイムテーブルを作成して、公開しました。
こちらは、スプレッドシートの「Webに埋め込み」という機能を用いてiframeを生成し、GitHub Pages上でiframeを埋め込んだ静的サイトをホスティングしています。
懇親会会場について
LT会を行うにあたって、せっかく企業さんに函館に来ていただくので函館らしいものを食べられるお店がいいなと思いました。
そこで以下のような条件でお店を探しました。
- 4,000円以内で飲み放題付きのコース
- 40人で貸し切れて、可能なら自由に席が交代できる(いろんな人と懇親できるように)
- 海鮮が出る(函館名物のイカが出ると最高)
- 五稜郭エリア(アクセスがよくて、飲み屋が多いので2次会も可能)
上のような条件を充していた、開陽亭 本店 さんを今回は利用させていただきました。 料理の品数も多くて、ぐるなびのクーポンを使って一人4000円でした。
ノベルティについて
「夏のLT大会」というイベント名にちなんで、夏っぽいノベルティを考えたところ「うちわ」を提供することにしました。
うちわに関してはラクスルさんのうちわ印刷を利用して作成しました。
運営メンバーにデザイナーがいなかったので、うちわのデザインは未来大デザインコースの @BumpLove248にお願いしました。
おもて面はLTタイトルと、テーマ。うら面には未来大の外観とGitHubの草をモチーフにしたデザインにしてもらいました。
サイネージについて
LTの発表者情報と、経過時間を表示するサイネージも自分たちで作成しました。作成したサイネージはオープンソースとして公開しています。 github.com
このサイネージはProcessingという言語で作っています。未来大の1年生は必修科目でProcessingを用いて初めてプログラミングの講義を行うので、「未来大らしくて良い」という理由でProcessingを採用しました。
このProcessingという言語ですが、v3.0.1からRaspberry Pi上で動かすことができるようになりました。 そのため、今回のLT大会でもラズパイ上でサイネージを動かし、それをスクリーン出力しています。
当日について
当日は、運営メンバーが以下のような役割で運営を行いました。
- @n_atmark: 司会
- @chikuwa_it: カメラマン
- @sari_spz: タイムキーパー・受付手伝い
- @yaemonsan: 機材接続テスト
- @na0noma: 受付
- @nanairoaisu: 受付
準備としては、
用意した当日説明資料についてもこちらに載せておきます
その他、企画運営のために作成したもの
企業さん向け申し込みフォーム (LT発表者氏名や懇親会人数を入力してもらいました)
企業・学生LT発表者 連絡用Facebookグループ
Q&Aリスト
TODOリスト (運営用)
当日受付用リスト
領収書
大変だったこと
大人数でイベントを開く際にconnpassが辛い
- 発表者だけ、とか懇親会参加者だけ、みたいなメッセージの送り方ができないので、メッセージ機能を使うと、全員にメール送ることになってしまう
- お金を事前徴集できると楽だったけど、connpassだとできない
- やっぱり受付に時間がかかってしまうので、QRで出欠取れると楽
- とはいえ、学生主体なので有料イベント受付サービスを使うお金はなかった...orz
飛行機・ホテルが取れない問題
- 3連休だったので函館のホテルや交通手段がほぼ埋まっていた...(さすが観光都市...)
- 運営側でもホテルの空き情報監視して斡旋してた
直前での学生LT発表者のキャンセル
- 今回、LT参加学生分の懇親会費は企業さんに負担していただいていました
- LT参加しない学生分の懇親会費を企業さんに負担してもらうわけにいかないので、急いで金額の再計算とお店への人数変更をした
- お店の方が優しくて、直前でもキャンセル代かからなかった...😭🙏
当日の飛行機が50分遅延
- 羽田発10:05発の飛行機が50分遅延して、多くの企業の方の到着がギリギリ
- リスケと発表者順の入れ替えをして乗り切った
当日の運営メンバー同士の連絡がうまくとれない
- 受付状況とか、時間管理とか直接用事のあるメンバーのところに行って相談してた
- インカムあると良かったなぁ...
まとめ
いろいろ準備は大変でしたが、しっかり準備していたのでLT会は大成功で締めくくれました!
(当日の様子はtwitterの #summerLT_hakodate タグ、flickrでも確認できます)
LT会を終えて振り返ってみると、LT登壇者に様々な技術分野の話をしていただけて、学生が興味を持った分野に対して手を動かせるキッカケを作れたのが良かったなと思います。
懇親会でも学生と企業の方が和気藹々と大学や会社やエンジニアリングのことについて話しているのを見て、企業の方と学生を繋ぐお手伝いができたかな?と思います。
最後になりますが、会津大学・未来大学に続いて「うちの大学でも企業のエンジニアをお呼びしてLT会を開催したい!」と思った方にとって、このブログが役立てば幸いです...!!
(もちろん、未来大でも今回限りではなく、今後も企業の方とコラボしてイベント開ければと思っています!)
try! Swift Tokyo 2018に学生支援プログラムを利用して参加しました!
3/1(木)〜3/2(金)の2日間、ベルサール新宿グランドで開催されたtry! Swift Tokyo 2018に参加してきたので、そのまとめ記事になります! (3/3(土)のピアラボ/ワークショップは都合で参加できませんでした... 😢)
学生支援プログラムについて
try! Swift Tokyo 2018では、PicApp、MAMORIO、mercari、nanaの4社(敬称略)が学生スポンサーとして協力されていて、学生支援プログラムという形で告知がありました。
📢 スポンサー様からのクリスマスプレゼント⁉️🤶🎅
— try! Swift Tokyo (@tryswiftconf) 2017年12月25日
try! Swift Tokyo 2018 の学生支援プログラム参加者を募集します!こちらの応募フォームにご記入ください。応募期限は【2018年1月8日】です⌚️ #tryswiftconfhttps://t.co/NqCloVK2E3
なお学生スポンサー様は引き続き募集しております! pic.twitter.com/s8E5cJ34vM
学生の皆さんにお知らせです!
— try! Swift Tokyo (@tryswiftconf) 2017年1月19日
try! Swiftに "特別価格" で参加できる学生プログラムを再開しました。
今回は 10名 の追加募集(先着順)となっています。
ご興味がある方はお早めにお申し込みください!https://t.co/c8Bvdp9Q5d
選考があるものと先着のものがあって、
選考の方は、名前や大学名などのプロフィールとGitHubのアカウントとかコントリビュートしてるOSSとか記載する欄があったような気がします(うろ覚え)
今回自分も学生支援プログラムで参加させていただいたのですが、
try! Swift当日に、学生スポンサーの企業の方に、学生支援プログラムで参加している学生が何人いるか聞いてみたら、20人近く採択されていたみたいです。(すごい)
try! Swift とは
Swift におけるベストプラクティス、アプリ開発、サーバーサイド Swift、オープンソース Swift、そして Swift のコミュニティなど、プログラミング言語 Swift に関するコミュニティ主催のカンファレンスです。 (https://www.tryswift.co/events/2018/tokyo/jp/#)
今年は3月1日、2日にエキスパートによるトーク、3日にピアラボ(もくもく会)、ワークショップが行われました。
Registration & Opening
会場に着くと、Eventbriteのチケットを提示して受付をしてもらい、ネームプレートやノベルティを受け取りました。
リコが描かれたネームプレートには、自分の名前とTwitterのアカウントも記載されてます!
これだけでワクワクしてきますね 🤗
自分は去年のtry! Swiftには参加できなかったのですが、去年のネームプレートと今年のネームプレートを並べると、
デザインが繋がってるらしいです!
去年と今年のネームプレートのデザイン繋がってる!Last year and this year's nameplate design, connected! #tryswiftconf pic.twitter.com/CGtYlp5IqA
— Yutaro Muta (@yutailang0119) 2018年3月1日
Session
Day1 Session
1日目は以下のセッションを聞きました! 題名だけ載せてますが、 @kodai_ozawa さんがQiitaに詳しくまとめてくださっているので、そちらを見てみてください! qiita.com
- 裏 Swift Tour
- SIL入門(LT)
- Clang モジュールの探検
- レスポンダチェーンを知ろう
- 関心の分離と単純化のためのSwiftコードの最適化
- コーダーがデザインすべきなのか
- Event driven networking for Swift
- 変性のダイヤモンド(LT)
- SwiftyPi
- 我が家を支えるSwiftの技術(LT)
- UI Test の楽しさとメリット
- ブロックチェーンのクライアントをSwiftで実装する
- Protocol Oriented WebAPI Abstraction(LT)
- 👾
- AST メタプログラミング
どのセッションも興味深かったのですが、個人的に印象的だったのが下記のセッションで、
@katecastellanoさんの「SwiftyPi」では、Raspberry Pi上でSwiftの実行環境を作り、GPIOの制御からKituraを使ってサーバを立てるところまで行なっていました。 少し前に、ArduinoとiPadを連携してピタゴラ装置を作ろうとしていて(http://natmark.hateblo.jp/entry/2017/12/13/121426) 、セッションを聞いて近いうちにラズパイ買おうと思いました(笑)
また、@normanmaurerさんの「Event driven networking for Swift」では、
イベント駆動のアプリケーションフレームワークであるNettyのSwift用フレームワークであるSwiftNIOが公開されて、盛り上がってました!
@giginet さんの「👾」では、SpriteKit用のReactive ExtensionとしてRxSpriteKitが公開されました。イベント処理やフレームに対しての処理が簡単に書けるようになるので、 SpriteKitとRxは相性良さそうな印象でした!
@k_katsumiさんの「AST メタプログラミング」では、SwiftPowerAssert や Swiftfmtの例を挙げて説明されていて、すぐ試せるPlaygroundがそれぞれ用意されていたので(swiftfmt-playground、swift-power-assert-playground)、触りながらセッション聞けたのが楽しかったです!ASTの世界に興味を持てました!
Day2 Session
2日目は以下のセッションを聞きました!
- Expression Problem を解決する
- Swift もくもく会 in Barcelona(LT)
- Swift によるアルゴリズムの可視化
- Kitura で Codable ルーティング
- 超解像+CoreML+Swiftを使ってアプリの画像データ転送量削減に挑戦する(LT)
- iOSでCharlesを導入する
- 拡張現実における体験設計
- Swift エンジニアのための Kotlin 入門
- Swift5のOwnershipに備える(LT)
- デジタル信号処理 in Swift
- Codableが導く型安全な世界(LT)
- iOS / Swift における対話型インターフェースの作成
- UIImageView vs Metal
- Swiftが動くDockerコンテナの各OSの性能比較(LT)
- 型とパフォーマンスで見るType-erasureの利点(LT)
- Make faces big by Vision and CoreGraphics
- 開発者ツールと経験への時間投資
@bkase_さんの「Expression Problem を解決する」では、View階層の表現を複数プラットフォームで利用するために、enumKitやprotocolを用いて手法を提示されていて、興味深かったです!
@avonさんの「iOSでCharlesを導入する」では、ネットワークデバッギングがiOS端末上で行え、キャリア通信もキャプチャ可能なiOS用Charlesが発表されて盛り上がりました。NetworkExtensionFrameworkを用いて、VPNコネクションを作成して実現してるとのことでした。NetworkExtension触ったことがなかったので、この話も興味深かったです!
@merowing_さんの「開発者ツールと経験への時間投資」では、コードインジェクションによってリコンパイルの時間短縮を行なったり、Sourceryの話がありました。
セッションを聞いただけだと、Sourceryが何をしてくれるのか実はいまいちよく分かってなかったのですが、try! Swiftが終わってからthe-magic-of-sourceryを読んで、ボイラープレートコードがどんなものを指していて、どのようにすればボイラープレートコードを書かなくて済むようになるか理解することができました。
Ask the Speaker
各セッションが終わった後に、スピーカーの方と話せるAsk the speakerも設けられてました!
@subdigitalさんの「Swiftによるアルゴリズムの可視化」を聞いて、アルゴリズムの可視化に対して、
自分の作っているProcessingKitで実現できるシンプルな描画APIの組み合わせがプログラミング教育の面役立ちそうだったので、僕もAsk the speakerの機会を使って、拙い英語ながらBenさんと会話させてもらいました!
Breaktime
休憩時間は企業ブースが盛り上がってました!
ノベルティを指差して "Can I get this one? " と言ってみると、FirebaseのTシャツやIBMの薄い本など、いろいろなノベルティがもらえました!
コーヒも振舞われたり、
バリスタコーナーも設置されていました。 (バリスタコーナーは長蛇の列で自分は飲めませんでした...😭)
Magic show
休憩の後にマジックショーもありました!🎩
Before sessions restarted, let’s play the magic show!
— try! Swift Tokyo (@tryswiftconf) 2018年3月2日
休憩後はマジックショーで息抜きです!#tryswiftconf pic.twitter.com/bwMApLRGTI
japanese/english lesson
海外の方と交流を促すために、すぐに使える(?)日本語/英語 講座もありました!
Do you use Swift in your job? / 仕事でスゥイフトを使っていますか?
No, I write everything directly in assembly / いいえ、直接アセンブリ言語で書いています。
try! Assembly Conference...? 🤔
Launch 🍽
お昼ご飯は8種類のお弁当の中から、好きなものを選んで食べる形式でした!
自分はもみじ弁当(Momiji)にしました🍱
2日間共お弁当が振舞われたのですが、2日目は学生スポンサーのPicApp様にランチに連れていってもらいました! 学生支援プログラムで来ている学生全員とは交流できなかったものの、こういう機会もセッティングしていただけて良かったです!
Closing
Closingでは、けん玉師の伊藤佑介さんによるけん玉パフォーマンスがありました。
try! Kendama Conferenceだ pic.twitter.com/DSN0Wnq4wP
— あつや (@n_atmark) 2018年3月2日
日本っぽさがあって、次々と繰り広げられる技に魅了されました!
After party
アフターパーティーでは、料理やお酒が振舞われました!
料理が木箱に入ってて、すごくおしゃれでした...!
サングリアも瓶に入っていて、インスタ映えな感じでした!🍹
リコのケーキもありました!🎂
パフォーマーの方もたくさんいらっしゃって、
他にもいろいろなパフォーマーの方がいました!
さいごに
2日間通してすごく楽しかったです! ブログにもある通り、セッション以外のイベントが豊富で、お祭りのような雰囲気でした!
セッションを聞いて新しく学んだことも多く、いろいろ試してみたいです! (あと、英語もちゃんと話せるように勉強し直したい...!)
来年もtry! Swiftが楽しみ 😊
拡張現実ピタゴラ装置(intangibleな部分)をiPadで表現する
この記事は FUN Advent Calendar の13日目の記事です
昨日は @_manohito でした。
自己紹介
- あつや / @n_atmark
- 知能システムコース 3年
- Swiftが好き
- 今年は某未来携帯プロジェクトのプロジェクトリーダーをやってます
- システムソフトウェア研配属になりました
拡張現実ピタゴラ装置 とは
まずピタゴラ装置に関してですが、NHK教育で放送されている ピタゴラスイッチ をご存知の方は多いのではないでしょうか?
ピタゴラ装置こと、ルーブ・ゴールドバーグ・マシン(Rube Goldberg Machine)という、いくつもの仕掛けを連鎖的に作動させ、最終的に何らかの作業を実行する物を指します。
youtu.be
公立はこだて未来大学では、1年次の必修科目「情報表現基礎1」でこちらのピタゴラ装置を作成します。
しかし、ただのピタゴラ装置ではなく 拡張現実 ピタゴラ装置という名前にもあるように、 コンピュータプログラムや電子工作を用いて現実と非現実の境界があいまいになるような作品制作を行います。
講義のページはこちら: 拡張現実ピタゴラ装置 - 迎山和司研究室
大学の講義では、PC上でProcessingを用いてintangible(無形)の部分を表現しているのですが、 今回はその部分をiPadで動かそうと思います。
環境
今回使う技術
- Swift
- iPad上でアプリを動かしたいので,Swiftを用います
- ProcessingKit
- Processingライクな構文を用いて、iOS上でビジュアル表現ができるライブラリ
- simple-tween
- アニメーションの中間フレームを補うためのライブラリ
作ったもの
おそらく先に作ったものを見た方が早いですね。 youtu.be
現実世界のボールがiPadの裏に入るのと同時に、画面上でアニメーションが再生され、 アニメーション上のボールが画面外に出るタイミングで、実世界のボールが画面外に転がるようになっています。
手順
1. Carthage経由でライブラリをダウンロード
github "natmark/ProcessingKit" ~> 0.4.0 github "natmark/simple-tween" ~> 0.0.1
Carthageの使い方については、こちらが詳しいと思います qiita.com
2. ProcessingViewを継承したPitagoraViewを作成
3. それぞれのSceneの中身を記載
PitagoraViewを拡張する形で各シーンの中身を書いています。
simple-tween
によって各シーンの実行時間を管理しており、tween.position
の値が0.0から1.0まで変化したときに
次のシーンを再生するようになっています。
今回はこのtween.position
の値を使ってアニメーションを行うために、lerpという関数を用意しました。
Linear Interpolate (線形補間)の略で、minとmaxを指定すると、tween.positionの割合に応じて値を返してくれます。
gist.github.com
本当にやりたかったこと
当初tangibleとintangibleのつなぎこみの部分(センサーを使ったボールの判定・サーボモータを使ったボールの送出)をArduinoと接続してやろうと思ったのですが、時間が全然取れなくてintangible部分しかできませんでした...
手を動かす前にArduino側のUSB Type-AオスとiPad側のLightning端子を繋ぐための、USB Type-Aメス⇄Lightningケーブルを手に入れることができませんでした...
ArduinoとiPad間のシリアル通信自体はできそうなので、時間があればもう少し取り組んでみたいです...
終わりに
iPadを使うことで、タッチディスプレイをはじめとしたリッチな機能が使えるようになり、
しかもPCに比べ配置場所に融通が効くのでPCより向いてるんじゃないかな?
と考えて今回の記事を書きました。
せっかく良さげなライブラリもあったので...
今回の記事では、現実と非現実の境界の部分をあまり触れられませんでしたが、 Arduinoとの連携ができるようになれば表現の幅も広がりそうですね。
明日は@Zer0ypさんです!
mixi就業型インターン「Dive into mixi GROUP」に参加してきました!
2017/9/4〜2017/9/22 の期間で、株式会社ミクシィの就業型インターン「Dive into mixi GROUP」に参加してきました!
Dive into mixi GROUPとは!
「Dive into mixi GROUP」では、世界累計4,000万人以上の利用者を誇る国内トップシェアのゲーム開発から、スタートアップフェーズのサービス、現在開発中の新規サービスまで、現場社員とともにサービス開発・業務体験ができます。 http://pr.mixi.co.jp/entry/2017/05/19/dive_into_mixi_GROUP
自分はこの「Dive into mixi GROUP」で、「YYC」アプリにiOSインターンとして3週間お世話になってきました!
YYC
www.yyc.co.jp YYCは株式会社Diverseが提供している日本最大級のマッチングサイトで、17周年を迎える老舗のオンラインマッチングサービスです。
今回、このYYCというサービスのiOSでインターンさせていただきました。
実は現在YYC iOSアプリはストアに2バージョン上がってて、インターンの時はちょうどリニューアル中でした。 リニューアル版の方でインターンさせていただくことに!
やったこと
機能実装を通して、テスト周りを多く勉強させてもらいました! もともとインターン前の面談で、メンターとしてKuniwak さんがついてくださると聞いていて、 だったらテストについてとことんやりたい!と希望させてもらいました。
実際にTestableな設計だったり、テストケースの選び方だったり、UIテストのデザインパターンまで業務を通して教えてもらえました!
収穫したこと
テストをガンガン書かせてもらう中で、Testableな設計を学べたのはよかったです。Appleが提唱しているMVCとSmalltalk MVCの違いも、インターンが終わってから理解できました。デバッギングに関しても、Instrumentsの使い方やLLDBについて講習会を開いていただき、大きなスキルアップができました!
実際に自分が作っているProcessingKitというライブラリでも、開発初期に動作が重くてメモリリークしてるんじゃないか?って思うことがあって、インターンの際に教えてもらったInstrumentsツールを使ってリーク箇所探し出せたので、すごく良い経験でした! github.com
インターン中のイベント
インターン期間中に、人事の方がいろいろイベントをセッティングしてくださいました!
インターン生懇親会や、新入社員歓迎会、XFLAGスタジオの講演会、ランチ交流会などなど とにかくイベントが多くて、「朝きて仕事して帰るだけ」っていう日はほとんどなかった気がします!
また、週に1回他のインターン生と「今週やったこと・来週やること・週末の予定」を話し合うスクラムミーティングのような
時間がありました。
mixiのいろいろあるサービスの中で、他のサービスでインターンしている別の学生のことも知ることができて、なかなか面白かったです!
おまけ
開発環境がすごく快適でした...!椅子がメッチャタカイ椅子らしい...!
ディスプレイも何枚でも(?)借りれるそうです!
おまけ2
パントリーも種類豊富で、コーヒーとか紅茶とかおこげスープとか無料で飲めるとのこと!
個人的に生姜のスープともずくスープがお気に入りでした。
おまけ3
オフィス内におしゃれなカフェもあって、格安で美味しいコーヒーが飲めるそうです...!
毎日通いたくなる☕️
さいごに
最終日に終了証書いただきました...! こういうの嬉しい!
レッドリドラのぬいぐるみももらえました! インターン楽しかったです!ありがとうございました!
CyberAgent就業型インターン「エンジニアJOB」に参加してきました!
2017/8/7〜2017/9/1 の期間で、株式会社サイバーエージェントの就業型インターン「エンジニアJOB」に参加してきました!
僕の参加したエンジニアJOBは、メンターの元で「アドテク、ゲーム、メディア、インフラ、ラボ、スタートアップ等」 サイバーエージェントグループの様々な部署で実務に携われるインターンとなってます!
今回はこの「エンジニアJOB」インターンに参加して、「AWA」のサービスに携わらせていただきました!
AWA
AWAは2015年5月にサービスを開始したサブスクリプション型の音楽配信サービスで、 世界最大規模の4,000万曲を配信しています。
iPhoneやAndroid用にアプリがあり、CarPlayやAppleTVにも対応しています。
なぜAWAのプロダクトでインターン?
僕の趣味の1つがライブ参戦で、普段からYoutubeなどで音楽を聞くことが多く、音楽配信系のアプリを何個か入れてます。
AWAもそのうちの1つで(さっき確認したら、2015年の6月から使っていたみたいです)、
UIの綺麗さだったりとかアニソン/ボカロが収録されてたりとか、(当時は)無料でフル尺が聞けたりとか
結構好きなアプリの1つでした。
実はSpotifyも招待コードが必要だった先行時期から触っていて、聞きたいアーティストによって両方使ったりしてたのですが、 AWAが料金体系を見直してフル尺が聞けなくなってからSpotifyに浮気していました。
自分がユーザとして使っているアプリに携われる。というだけでも十分な理由ですが、「AWAがどういうプロセスを経て 今のようなサービス体系になったのか」を聞いてみたくて今回のインターンを選びました。 (実はインターン始まる前にこの話は聞かせてもらいました)
AWAでやったこと
iOSチームでAWAのサービス開発に携わらせてもらいました。
- 新機能の開発
- 機能改修
- バグ修正
- ビルド速度の向上(調査)
など、GitHubのissueベースで業務を担当させてもらいました。
よかったこと
プロダクトにガンガンコミットできました。短いインターン期間ながら、スピード感を持って業務に取り組めたので良かったです。
実務に携わることで、環境や仕事内容を知ることができ、将来の見通しを持つことができました。
課題だと思ったこと
自分の「巻き込む力」がまだまだ足りないと感じることがありました。
チーム開発を行う上で、デザイナーやプロダクトオーナーと議論することは、プロダクトの方向性を決めるために必要不可欠で、インターンといえど、その部分に力を注げなかったのは課題だと感じました。
また、コードレビューで指摘される点がコピペに起因するものが多く、もう少し気を使えるようにならないといけないと感じました。
メンターさんからも「自走できるエンジニア」を目指して頑張って欲しい。と言っていただき、自分の行動を振り返りながら次の行動に繋げられるようになるべきだと思いました。
収穫できたこと
AWAのiOSチームでは週1で「コミット振り返り」という時間を設けて、1週間で発生したコミットをチームメンバー全員で確認する作業を行なっていました。
プルリクエストの段階でコードレビューしていないメンバーの目も入ることで、全員がコードに責任を持つことができ、開発を共通認識 できるため、すごく参考になりました。
実際に、僕が出したプルリクエストでマージされたものが、コミット振り返りの段階で別のエンジニアから指摘が入りリバートした事例もあったため、コードの品質を担保するのに有効な手段だと感じています。
インターン中の出来事
インターン期間中に約16時間の緊急メンテナンスを伴う障害が発生しました。 サービス開始して2年経つAWAですが、この規模の大規模メンテナンスは初めてだそうです。 サブスクリプション型のサービスのため、メンテナンスでサービスを止めてしまうことはもちろん致命傷で、 ユーザからの反響も大きかったのを覚えています。
ただ、障害が起きて終わりという対応ではなく、次に同じような障害が起きないような対策や、
仮に起きてしまった場合に障害を軽減するような取り組みを、かなり細かいレベルで考えていたのが印象的でした。
障害から得た教訓を大事にしているところも参考にしたいと思いました。
まとめ
最終日には、社員みなさんに集まっていただいて集合写真を撮っていただいたり、 寄せ書きまで書いてもらえました!
人事の方にお願いして、iOSインターン生 + iOSエンジニアの呑み会も開いてもらえました! 手のバツ印はXcodeポーズらしいです!
インターンとても楽しかったです!!! 🎉
スカラシップスポンサー枠でiOSDCに参加してきました!(後編)
9/15(金)~9/17(日)の3日間、早稲田大学で開催されたiOSDC Japan2017に参加してきたので、そのまとめ記事(後編)になります!
前編はこちら↓
後編では、Day2+番外編という形で書いていこうと思います!
Day2
オープニング
Day2でも例のスポンサー紹介が!!!
(例のスポンサー紹介の話は前編に書きました!)
Day2セッション
Day2は以下のセッションを聴きに行きました!
- 新しい画像フォーマットHEIFを用いたiOSアプリの通信量削減
- 結婚式を支えた技術 Firebaseを活用したサーバレスiOSアプリケーション開発
- App Transport Securityは作れる
- コード生成による静的なDependency Injection
- iOSデバイス3,500台を管理する、東急ハンズのデバイス管理手法とは
- iOSエンジニアのためのNLP基礎
- iOSと人工知能(AI) -GPU並列演算の仕組みと機械学習
- 詳解Objective-C
- Introducing protobuf in Swift
個人的には@TamaObject12 さんの「新しい画像フォーマットHEIFを用いたiOSアプリの通信量削減」が興味深かったです!
HEIFというフォーマットについて知らなかったのでそれだけでも驚きでしたが、HEIFのエンコードがA10チップ積んだiOS端末でしかできないため、
iPhone48台でクラスタ組んでサイレントプッシュでエンコーディング&サーバアップロードを行う構築が奇抜すぎてめっちゃ笑いましたw
— あつや@東京 (@n_atmark) 2017年9月17日1回でいいからiPhoneクラスタやってみたい。
あと、@yhirose741さんの「詳解Objective-C」を聴きに行きました。
— あつや@東京 (@n_atmark) 2017年9月17日Objective-Cが恋しかったんです…。
そのセッションで紹介されていた「僕のかんがえた最強のObjective-C」というのがあるのですが…
#define let __auto_type const #define var __auto_type
これはズルいでしょ…こんなの笑うしかないじゃない…
お昼ご飯
Day1とDay2ではランチも振舞われました!
サンドウィッチ美味しかったです!余った分はおかわりOKだったので、たくさん食べました🌮
ブース&同人誌
企業のブース展示もありました!
実際にプロダクトのデモを見せてもらえたり、VRでオフィスツアーができるデバイスが置いてあったり、楽しかったです!!
CyberAgentさんのブースでは、アンケートコーナーがあって自分もシール貼ってきました💪
また、企業ブースに並んで@es_kumagaiさんによる同人誌即売会が行われていました!
(カンファレンスで同人誌売ってるの珍しい気がする!?)
自分も一冊購入させていただきました😊
Day2 LT
Day2もLTでお酒が振舞われました!LTわーーーーい pic.twitter.com/rB9uHDYBaL
— あつや@東京 (@n_atmark) 2017年9月17日
Day2のLTは@hironyticさんの
「地方在住iOSエンジニアの生存戦略」が 「めっちゃ分かる。。。」って感じでした。
speakerdeck.com
自分も北海道函館市在住で、情報のキャッチアップに苦戦しつつ文句言っててもしょうがないな…
って思うことが結構あるので、自分なりに工夫してたりします。
自分はconnpassに上がってる勉強会の資料とか目を通すようにしてます。swtwsも毎回楽しみです。
エンディング
エンディングで、参加者の投票によって選ばれたベストトーク賞の発表がありました!
おめでとうございます!
最後に実行委員長の@tomzohさんから
「iOSDC = 文化祭のような存在」になって欲しい! との言葉が!
iOSDCの中でも
・iOSDCのトークは「講義」ではなく「双方向コミュニケーション」
・リアクションは3割増し!
・質問・Ask the Speakerなどでフィードバック!
・パックマンルール
・ブログを書くまでがiOSDC!
など、コミュニケーションを活発化させる仕組みがたくさんあり、
参加者も発表者もスタッフもスポンサーも一緒になって作るカンファレンスを身を持って実感できました!
すごく楽しかったので、自分も来年はCfP出したい!!
帰宅
スタッフの皆さんとハイタッチしながら退場! お疲れ様でした!!
番外編
グッズ!
ノベルティが結構豊富で、企業ブースでもいろいろもらえました!
特に、 普段使いできるトートバッグ!おしゃれ〜〜!!
メンターさんと再開
iOSDCで元インターン先のメンターさんたちと再開できたのめっちゃ嬉しかったです。今までに4社くらいiOSのインターン行ったのだけど、iOSDCで当時のメンターさん達に声かけに行くと皆さん覚えててくださってとても嬉しい😊#iosdc
— あつや@東京 (@n_atmark) 2017年9月16日
ラーメン連れてってもらいました🍜iOSDC前夜祭からの、インターンの時にお世話になった社員さんたちとラーメン🍜 pic.twitter.com/WoJp3Ffygc
— あつや@東京 (@n_atmark) 2017年9月15日
「あとむさん寝坊したんですか?」元インターン生に「あとむさん寝坊したんですか」って言われたので「そうです」と返した。
— Atom(アトム) (@FromAtom) 2017年9月17日
自分のアプリを宣伝したら…
こんな感じでスライド貯めとけるので、振り返りたいときに便利かと!!!#iosdc pic.twitter.com/yfcfpZczgX
— あつや@東京 (@n_atmark) 2017年9月16日
めっちゃ嬉しいこれ良さげ https://t.co/AhrG8oKpcV
— akio@筋トレ&ダイエット中 (@akio0911) 2017年9月16日
まさかのAndroid版開発決定…!?これいいですね!Android 版ほしくなったので作ってもいいですか 👀
— Ryo.Nitami / tummy🐟 (@bird_tummy) 2017年9月16日
以上、iOSDCレポでした!! 前後編に渡って見てくださった方ありがとうございます!
スカラシップスポンサー枠でiOSDCに参加してきました!(前編)
9/15(金)~9/17(日)の3日間、早稲田大学で開催されたiOSDC Japan2017に参加してきたので、そのまとめ記事(前編)になります!iwillblog!
今回、Wantedlyさんが募集していた学生応援プログラムに採択され、スカラシップスポンサー枠で参加させていただきました!
iOSDCとは
2016年から始まった、iOSと周辺技術を題材としたカンファレンスです。 今年は2日+前夜祭の2.5日で開催されました!
前夜祭
会場につくと、受付スタッフの方々が迎え入れしてくれました!
チケットを受付で提示して、ネームホルダーとTシャツとノベルティを受け取ります。
(ノベルティもめちゃくちゃおしゃれなので後で紹介します!)
受付を済ませたら、メイン会場へ!
実行委員長の @tomzoh さんの挨拶でiOSDC前夜祭開始!
前夜祭のタイムライン
前夜祭では
- SiriKit and Me
- Objective-C++を使ってMRCで快適に開発する
- Swaggerで始めるAPI定義管理とコードジェネレート
- 節子、それViewControllerやない…、FatViewControllerや…。
の4つのセッションが行われました!前夜祭から濃い内容で楽しかったです!
swagger-codegen
がすでにSwift4対応してるのが驚きだったので、特に印象的でした
(全体のタイムテーブルはこちらから↓) iosdc.jp
Day1
Day1は朝10時からオープニング! 昨日、「朝一からきてくださいね〜」というアナウンスもあり、朝一から参加されてる方がほとんど!
そして、良さげなOPムービーと共にDay1開始!
「なるほど、これを参加者の人たちに観て欲しかったんだな(ふむふむ)」
と思っていたら…
続いてスポンサー紹介の動画が…
ハッ!?(゜゜;)
なんとスポンサー紹介のナレーションが、エヴァのミサトさんの声じゃないですか!運営さん頑張りすぎ!!!
三石琴乃さんがスポンサー紹介するカンファレンスつよい#iosdc #a
— あつや@東京 (@n_atmark) 2017年9月16日
来年は誰がナレーションなんだろう…(((o(゚∀゚)o)))
Day1セッション
自分は以下のセッションを聴きに行きました!
- Auto Layoutのアルゴリズム
- インタラクティブ画面遷移の実践的解説
- Build high performance and maintainable UI library
- RxSwiftのObservableとは何か
- SwiftとKotlin
- Xcode Source Editor Extensionの世界
- はじめてのSwift Server API
- Swiftで実装するHTML特殊文字の高速処理
2日目は特に @53ningen さんの「RxSwiftのObservableとは何か」が分かりやすくて、今までなんとなく使ってた部分が(ちょっと)理解できました!
@eduraaa さんの「SwiftとKotlin」も面白くて、今までKotlinはSwiftに似た言語ぐらいの温度感だったので、SwiftとKotlinの似てるところ、違うところが分かってKotlinに親近感が持てました◎ そのうちKotlin書いてみよっと😉
Day1 LT
お酒が振舞われて、LT会!
カンファレンスを下から見たり横から見たり、 英語圏でTeXを「てふ」って呼ばないことに驚いたり、 IPAファイルの中身覗きたくなりました👍
Day1 懇親会
懇親会チケットもおしゃれ…!
1日目の最後に懇親会がありました!
パックマンルールという制度のおかげで、30人くらいの方とお話させていただけました!パックマンルール、輪になって話す時は一人分入ってこられるスペースを作りましょう!
— にわタコ (@niwatako) 2017年9月16日
#iosdc #a pic.twitter.com/An3LdcgXqv
Wantedlyのステッカー貼っていたので、「学生さんですか〜?」と話しかけていただけたのもよかったです…!!
そしてそして、インターンの時のメンターさんたちに話かけにいくと、皆さん覚えててくださったのがすごく嬉しかったです😂
今までに4社くらいiOSのインターン行ったのだけど、iOSDCで当時のメンターさん達に声かけに行くと皆さん覚えててくださってとても嬉しい😊#iosdc
— あつや@東京 (@n_atmark) 2017年9月16日
あと、懇親会のご飯美味しかったです(写真撮り忘れ)
懇親会のビールも美味しかったらしいです(僕はビール飲めない)
そしてそして…
Day2も楽しむぞ〜!ということで、前編は以上になります。
後編ではDay2+番外編でブログ書かせていただきますので、ぜひそちらもご覧になっていただければ幸いです!