OPTiMの勉強会に参加して. [参加記]
こんにちは. 沖縄もずいぶん寒くなって来ました.
...と思ったのですが、やっぱり東京のほうが寒かったです!手袋がないと死んでいたと思います><
今日は、東京に行った理由でもある、OPTiMの勉強会についての記事を書きますっ.
帰ってブログを書くまでが勉強会(らしい)です!!!
記事中の時間は大体の時間です.
(東京での旅行記はまた別の記事で♪)
品川駅に到着しました.駅が大きくてびっくりしました.
地図に書いているとおりにオプティムへ向かっていました...が、 1つ下のブロックを通っていたらしいです.あれれ...
途中から怖くなってプリセットアプリのLatitudeを使うことにしました.しかし、 3步歩くと現在地のカーソルが川の中に変わってしまい、使用を断念しました...
迷ったかなあ、と思いながら、オプティムについていました.良かったです...!(その時の時刻は12:20くらいで、集合は13:30でした.早めに出て良かったです.)
しばらくボーッとしていると、中に案内されました. どうやら1番乗りだったようです.
会場入りしました. 会津大の方や、他の高専の方が続々と入って来ました. (私が最年少だったようです.)
最初はものすごく緊張していて誰にも話しかけられませんでした.次は積極的にコミュニケーションを取ろうと思います><
ほぼ全員揃いました.
参加者/スタッフの自己紹介の時間になって、いろんな人の趣味や、勉強会で学びたいことを聞きました.
CでObject-Orientedなプログラミングをするためにクラスを実装されている方や、高専プロコンに出場された方(あとで話を伺ったら刹那さんのお嫁さんの方でした.)とか、大学院生の方とかがいて、楽しくなりそうな予感がしていました.
自分は、競技プログラミングを主としてやっていることを伝えましたが、あまり布教出来なかったので残念です.(最も、開発系の事を勉強するために来たのでそれは別の機会でがんばります.)
Webカメラを通じて画像処理をする「L2Bot」やIGVC(Intelligent Ground Vehicle Competition)という、障害物を判定しながら前に進むコンテストの話を前半でされていました.
また、自分が高専に入学する際に行った「専門実習入試」(このページの下部に詳細があります.)で扱ったものをAndroid上から操作していました.
自分たちはGUI操作でフローチャートを使って操作していただけに、とても驚きました.(C#で開発されたらしいのですが、"作ろう"と思うとすぐにすすむそうです.)
また、ロボットのカメラ代わりにKinectを使って、センサからの距離でx-y-z空間を把握することも可能だそうです.
x-y-z空間から、x-z平面を抜き出すことで、上から俯瞰している様を再現することが容易だそうです.
また、Kinectを用いると、"ある程度の距離があれば"真っ白な迷路の中をロボットが通過することも可能だそうです.
話を聞き終えた後に、ロボットの操作を体験させていただいたのですが、その時に、講演者の方が"開発に用いる言語は関係ない"という言葉を仰っていました.
結局、言語間の差なんて関係なくて、自分がやりたい事にあっている言語があれば、それを使えばよいそうです.
必要だから、その言語を使う.それだけだそうです.
言われてみればそうなのですが、これまで、自分が使える言語は○○だからなぁ、という感じで固執していた様な気がします.
現に、サービスを作ろうとしていて、自分が知っている言語ではできない...と行き詰っていたところだったので、とても良いことを伺えました.
チーム作業を行うと、方針を決定するためのオーバーヘッドがある。それなのに、多くの企業がチーム作業を行う理由は何だろう. このことを主題として、チーム作業の話をしました.
講演の途中で、みたく(@mitaku)さんが無茶ぶりをたくさん入れていて面白かったですw が、これもオプティムでの"チームワーク"なんだろうな、と思いながら、楽しんで講演を聞いていました.
私も、授業の一環としてではありますが、チームでゲーム制作をしていたので、学ぶところが多くありました.
他のメンバとの情報の共有が疎くなっていたことを思い出しました. 報・連・相が上手くできていなかったことにより、プロジェクトの進行も遅くなりました.(今ではいい思い出ではありますが.)
お互いに協力して、状況把握(共有)をすることで、チーム作業での10分のオーバーヘッドの代わりに、個人作業での5000分のタイムロスを無くすことができるんですね.
来年度は高専プロコンもあるので、今後の開発に役立てていきたいと強く思います.
この講義に対しての質問の中で、チームでのモチベーションを保つにはどうすればいいのか、というものが有りました.
私ならどうするか、というものを質問中に考えていましたが、オプティムの方は"適度な休憩を取る" "長期的な目標、短期的な目標を定める", などという方法をとっている, と仰っていました.
たしかに、私たちは人間で有って、ロボットでは有りません. いつまでもフルパワーで働くことはできませんから、問題を分割することが大事だと、改めて気づきました.
また、チーム作業は"自分にないものを知る", 個性が残せる場、ということも仰っていました.
お互いを支えながら、協力できる.チーム作業って素晴らしいですね.
システムやソフトウェアを開発した後は、それで仕事が終わるのでしょうか. いえ、違います.
そんな、開発の後にある保守のお話を聞きました.
学校の授業で、言葉だけは聞いたことのある"保守". 具体的には, 不具合修正, 既存のソフトウェアの改良などを指します.
また、開発をする上でのコストは、販売時のコストよりもとても高いです!(某ゲームでは60億かかったとか.)
そのお金の大多数は、ソフトウェアの保守に当てられているそうです.(大体の場合、開発:保守=2:8だそうです.)
保守していくためには、開発時に書いたコードをまた見なおす必要がある機会があります. そのときに、理解しやすいコードを書く事が大事になってきます.
人それぞれ理解しやすいコードというものは異なってきますが、最低限することはありますよね.(e.x. コメントを書く、関数や変数の名前等を意味のあるものに.)
コーディング規約の話も出ていました. 私の学科ではコーディング規約が定まっているので、集団で開発する際のコーディングスタイルは統一されています.(宗教戦争にならなくてよかったです.)
開発と保守に明確な線引きを分けるほうが良いか、悪いかは、やはりサービスの規模などによって違うそうです.(Onlineなゲームだと保守(サーバメンテナンスなど)と開発は明確に分けられることが多そうですよね.)
話では出てきていませんでしたが、バージョン管理も大事になってくると思いました.
これから先の開発で、チーム作業の話と一緒に、大事にしていきたいと感じました.
なぜテストをするのか、どのようにテストをするのか、そんな話でした.
ソフトウェアは人を幸せにするものであって、その中にバグがあると、ユーザは悲しい思いをします.
そのバグを見つけるときには、子供心を持って、楽しむのが良いそうです.
(e.g. 「0~100を入力してください」→文字列として"0~100"をいれる、01234...と、数を入れる、など)
ひねくれながらテストをするのがいいみたいです.
そして、テストをする職業として、テストエンジニアというものがあることを仰っていました. SEというと企画や設計に携わっているイメージが強いですが、テストの専門職もあるのですね.
個人的には、学校で習ったようなテスト(退行テスト、レグレッションテスト等)をどんな状況で使い分けているかを聞きたかったのですが、時間がなく断念.
続いて、CI(Continuous Integration)の話を聞きました.
コンパイル→インスペクションー>デプロイ→テスト→コンパイル→...→
を繰り返して、開発中のバグをすぐに検出できるそうです...が、少し話が難しくて完璧には理解できなかったです.残念...;
個人的には、インスペクションのところが気になりました.(構文解析みたいな事をしているように聞こえました.)
もう少し調べて知識を付けたいと思います.
ひと通り講義も終わった所で、グループに分かれて上記の題目でディスカッションをしました.
ここでもグループに分かれて、簡単に自己紹介をしました. (この時はちゃんと学年を言えました.よかった.)
そして、本題. "18カ月後に、世界標準となっている技術は何だろう?"
私は、Wearableなコンピュータが一般に普及しているのではないか、と考えました.
しかし、技術的にも、コストとしても、1年半先はまだ普及していないと、自分で自分の意見を否定してました(
自分たちのグループでは、他に、3D技術の向上、AR技術の向上、等の意見がでましたが、 みつお(@mituoh)さんが出した、近い未来を予測する技術についての意見が、論理立っていて、グループの意見として決まりました.
喩えば、家の半径10m以内に入ったら、エアコンを起動させる、等の技術が例として挙げられます. 耐久消費財などはまだ無理でも、接続するインターフェースを簡単に変えられるような家電に注目されていて、とてもすごいと思いました.
自分はしっかりしてないから~、と仰っていた私たちのグループ担当の方が発表の流れをまとめてくれたので助かりました.
懇親会がありました. お寿司食べましたー!美味しかった美味しかった.
いろんな人とお話出来ました. 稚遊さんとプロコンやカンファ、卒研のお話をしましたー. とても面白そうな事を研究するみたいなので、今後もお話を聞いていきたいです!
また、懇親会中に、みたくさんが"Blacksmith of OPTiM"というタイトルで、即興のプレゼン+ライブコーディングをしていました.チャットを15分で作っていました.ぱない!
私も、自分が持っている"武器"を生かして, 世界を変えたいです.
そんなこんなで、勉強会の日程は終了しました. そのまま、2次会へ行きました~
2次会に参加できるメンバーで居酒屋へ.
私は未成年なのでジンジャエールを美味しく飲んでいました.
社員の方やエンジニアの方と、オプティム成功までの話や、 プライベートの話まで、たくさんの事を聞けました.
また、高専卒の方から、進学についての話も聞くことが出来ました.
まだ1年生なので、今から悩むのでは無く、視野を広げようと、この1年を振り返ることも出来ました.
こんな感じでした!
OPTiM, とても素晴らしい会社でした!また機会があれば、是非勉強会に参加したいですね.
学校の先輩や後輩にも、声をかけていきたいと思っています.
上手くまとめられませんでしたが、以上です!
最後まで読んでいただき、ありがとうございましたー!
...と思ったのですが、やっぱり東京のほうが寒かったです!手袋がないと死んでいたと思います><
今日は、東京に行った理由でもある、OPTiMの勉強会についての記事を書きますっ.
帰ってブログを書くまでが勉強会(らしい)です!!!
記事中の時間は大体の時間です.
(東京での旅行記はまた別の記事で♪)
・12:00~
品川駅に到着しました.駅が大きくてびっくりしました.
地図に書いているとおりにオプティムへ向かっていました...が、 1つ下のブロックを通っていたらしいです.あれれ...
途中から怖くなってプリセットアプリのLatitudeを使うことにしました.しかし、 3步歩くと現在地のカーソルが川の中に変わってしまい、使用を断念しました...
迷ったかなあ、と思いながら、オプティムについていました.良かったです...!(その時の時刻は12:20くらいで、集合は13:30でした.早めに出て良かったです.)
しばらくボーッとしていると、中に案内されました. どうやら1番乗りだったようです.
・12:40~
会場入りしました. 会津大の方や、他の高専の方が続々と入って来ました. (私が最年少だったようです.)
最初はものすごく緊張していて誰にも話しかけられませんでした.次は積極的にコミュニケーションを取ろうと思います><
・13:30~
ほぼ全員揃いました.
参加者/スタッフの自己紹介の時間になって、いろんな人の趣味や、勉強会で学びたいことを聞きました.
CでObject-Orientedなプログラミングをするためにクラスを実装されている方や、高専プロコンに出場された方(あとで話を伺ったら刹那さんのお嫁さんの方でした.)とか、大学院生の方とかがいて、楽しくなりそうな予感がしていました.
自分は、競技プログラミングを主としてやっていることを伝えましたが、あまり布教出来なかったので残念です.(最も、開発系の事を勉強するために来たのでそれは別の機会でがんばります.)
・13:50~ 講義:『自立歩行ロボットの制作』
Webカメラを通じて画像処理をする「L2Bot」やIGVC(Intelligent Ground Vehicle Competition)という、障害物を判定しながら前に進むコンテストの話を前半でされていました.
また、自分が高専に入学する際に行った「専門実習入試」(このページの下部に詳細があります.)で扱ったものをAndroid上から操作していました.
自分たちはGUI操作でフローチャートを使って操作していただけに、とても驚きました.(C#で開発されたらしいのですが、"作ろう"と思うとすぐにすすむそうです.)
また、ロボットのカメラ代わりにKinectを使って、センサからの距離でx-y-z空間を把握することも可能だそうです.
x-y-z空間から、x-z平面を抜き出すことで、上から俯瞰している様を再現することが容易だそうです.
また、Kinectを用いると、"ある程度の距離があれば"真っ白な迷路の中をロボットが通過することも可能だそうです.
話を聞き終えた後に、ロボットの操作を体験させていただいたのですが、その時に、講演者の方が"開発に用いる言語は関係ない"という言葉を仰っていました.
結局、言語間の差なんて関係なくて、自分がやりたい事にあっている言語があれば、それを使えばよいそうです.
必要だから、その言語を使う.それだけだそうです.
言われてみればそうなのですが、これまで、自分が使える言語は○○だからなぁ、という感じで固執していた様な気がします.
現に、サービスを作ろうとしていて、自分が知っている言語ではできない...と行き詰っていたところだったので、とても良いことを伺えました.
・14:15~ 講義:『チーム作業と効率化について』
チーム作業を行うと、方針を決定するためのオーバーヘッドがある。それなのに、多くの企業がチーム作業を行う理由は何だろう. このことを主題として、チーム作業の話をしました.
講演の途中で、みたく(@mitaku)さんが無茶ぶりをたくさん入れていて面白かったですw が、これもオプティムでの"チームワーク"なんだろうな、と思いながら、楽しんで講演を聞いていました.
私も、授業の一環としてではありますが、チームでゲーム制作をしていたので、学ぶところが多くありました.
他のメンバとの情報の共有が疎くなっていたことを思い出しました. 報・連・相が上手くできていなかったことにより、プロジェクトの進行も遅くなりました.(今ではいい思い出ではありますが.)
お互いに協力して、状況把握(共有)をすることで、チーム作業での10分のオーバーヘッドの代わりに、個人作業での5000分のタイムロスを無くすことができるんですね.
来年度は高専プロコンもあるので、今後の開発に役立てていきたいと強く思います.
この講義に対しての質問の中で、チームでのモチベーションを保つにはどうすればいいのか、というものが有りました.
私ならどうするか、というものを質問中に考えていましたが、オプティムの方は"適度な休憩を取る" "長期的な目標、短期的な目標を定める", などという方法をとっている, と仰っていました.
たしかに、私たちは人間で有って、ロボットでは有りません. いつまでもフルパワーで働くことはできませんから、問題を分割することが大事だと、改めて気づきました.
また、チーム作業は"自分にないものを知る", 個性が残せる場、ということも仰っていました.
お互いを支えながら、協力できる.チーム作業って素晴らしいですね.
・15:10~ 講義:『保守しやすいコードを書こう』
システムやソフトウェアを開発した後は、それで仕事が終わるのでしょうか. いえ、違います.
そんな、開発の後にある保守のお話を聞きました.
学校の授業で、言葉だけは聞いたことのある"保守". 具体的には, 不具合修正, 既存のソフトウェアの改良などを指します.
また、開発をする上でのコストは、販売時のコストよりもとても高いです!(某ゲームでは60億かかったとか.)
そのお金の大多数は、ソフトウェアの保守に当てられているそうです.(大体の場合、開発:保守=2:8だそうです.)
保守していくためには、開発時に書いたコードをまた見なおす必要がある機会があります. そのときに、理解しやすいコードを書く事が大事になってきます.
人それぞれ理解しやすいコードというものは異なってきますが、最低限することはありますよね.(e.x. コメントを書く、関数や変数の名前等を意味のあるものに.)
コーディング規約の話も出ていました. 私の学科ではコーディング規約が定まっているので、集団で開発する際のコーディングスタイルは統一されています.(宗教戦争にならなくてよかったです.)
開発と保守に明確な線引きを分けるほうが良いか、悪いかは、やはりサービスの規模などによって違うそうです.(Onlineなゲームだと保守(サーバメンテナンスなど)と開発は明確に分けられることが多そうですよね.)
話では出てきていませんでしたが、バージョン管理も大事になってくると思いました.
これから先の開発で、チーム作業の話と一緒に、大事にしていきたいと感じました.
・16:00~ 講義:『テストのお話』『CIについて』
なぜテストをするのか、どのようにテストをするのか、そんな話でした.
ソフトウェアは人を幸せにするものであって、その中にバグがあると、ユーザは悲しい思いをします.
そのバグを見つけるときには、子供心を持って、楽しむのが良いそうです.
(e.g. 「0~100を入力してください」→文字列として"0~100"をいれる、01234...と、数を入れる、など)
ひねくれながらテストをするのがいいみたいです.
そして、テストをする職業として、テストエンジニアというものがあることを仰っていました. SEというと企画や設計に携わっているイメージが強いですが、テストの専門職もあるのですね.
個人的には、学校で習ったようなテスト(退行テスト、レグレッションテスト等)をどんな状況で使い分けているかを聞きたかったのですが、時間がなく断念.
続いて、CI(Continuous Integration)の話を聞きました.
コンパイル→インスペクションー>デプロイ→テスト→コンパイル→...→
を繰り返して、開発中のバグをすぐに検出できるそうです...が、少し話が難しくて完璧には理解できなかったです.残念...;
個人的には、インスペクションのところが気になりました.(構文解析みたいな事をしているように聞こえました.)
もう少し調べて知識を付けたいと思います.
・17:20~ グループディスカッション:『18ヶ月後の世界標準は?』
ひと通り講義も終わった所で、グループに分かれて上記の題目でディスカッションをしました.
ここでもグループに分かれて、簡単に自己紹介をしました. (この時はちゃんと学年を言えました.よかった.)
そして、本題. "18カ月後に、世界標準となっている技術は何だろう?"
私は、Wearableなコンピュータが一般に普及しているのではないか、と考えました.
しかし、技術的にも、コストとしても、1年半先はまだ普及していないと、自分で自分の意見を否定してました(
自分たちのグループでは、他に、3D技術の向上、AR技術の向上、等の意見がでましたが、 みつお(@mituoh)さんが出した、近い未来を予測する技術についての意見が、論理立っていて、グループの意見として決まりました.
喩えば、家の半径10m以内に入ったら、エアコンを起動させる、等の技術が例として挙げられます. 耐久消費財などはまだ無理でも、接続するインターフェースを簡単に変えられるような家電に注目されていて、とてもすごいと思いました.
自分はしっかりしてないから~、と仰っていた私たちのグループ担当の方が発表の流れをまとめてくれたので助かりました.
・18:30~ 懇親会など
懇親会がありました. お寿司食べましたー!美味しかった美味しかった.
いろんな人とお話出来ました. 稚遊さんとプロコンやカンファ、卒研のお話をしましたー. とても面白そうな事を研究するみたいなので、今後もお話を聞いていきたいです!
また、懇親会中に、みたくさんが"Blacksmith of OPTiM"というタイトルで、即興のプレゼン+ライブコーディングをしていました.チャットを15分で作っていました.ぱない!
私も、自分が持っている"武器"を生かして, 世界を変えたいです.
そんなこんなで、勉強会の日程は終了しました. そのまま、2次会へ行きました~
・20:00~ 2次会
2次会に参加できるメンバーで居酒屋へ.
私は未成年なのでジンジャエールを美味しく飲んでいました.
社員の方やエンジニアの方と、オプティム成功までの話や、 プライベートの話まで、たくさんの事を聞けました.
また、高専卒の方から、進学についての話も聞くことが出来ました.
まだ1年生なので、今から悩むのでは無く、視野を広げようと、この1年を振り返ることも出来ました.
こんな感じでした!
OPTiM, とても素晴らしい会社でした!また機会があれば、是非勉強会に参加したいですね.
学校の先輩や後輩にも、声をかけていきたいと思っています.
上手くまとめられませんでしたが、以上です!
最後まで読んでいただき、ありがとうございましたー!
2012-02-21 10:06
nice!(0)
コメント(0)
トラックバック(0)
コメント 0