読者です 読者をやめる 読者になる 読者になる

しがない学生の雑記

吐けども吐けども毒を吐く。

高専ベンチャー合同インターン2014 in summerに参加してきました 反省編

こんばんは。

 

久しぶりにまともにブログ記事を書きます。というのも、ここ最近はずっとインターンシップに行っていてブログを書く暇が無かったのです。

 


企業訪問ツアー&合同インターン2014 in Summer|高専ベンチャー

 

 

高専生のための合同インターンシップ高専ベンチャーさんのほうで企画していたので、そちらに参加してきました。今日は参加した率直な感想とか、反省点とか、そういうのを書きたいと思います。

インターンで勉強した内容については、企業の方から許可をいただき次第、技術ブログの方に書くつもりです。この記事は、あくまでインターン自体に参加し開発した家庭での反省点についてのみ書いております。これ以外にも、交流編、休日編を書く予定です。なんてったって2週間ですからね。書くことはたくさんあります。お暇な方がいらっしゃったら是非御覧ください。

あと、インターン後に参加したPyCon2014についても書くつもりです。Python書いたことがないのに突撃するという、今思うとかなりバカなことをしたんですが、最高に面白かったので、こちらも書きます。

 

 

余談

初っ端余談で申し訳ないんですが、Twitter経由でこのブログを見たインターン生や企業の皆様は、この前の記事であるこれを読んでいるんですよね、これ

 


「ロリコン動画」がこのブログの検索流入数トップのキーワードだった件について - しがない学生の雑記

 

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわああああ

 

 

……話を戻しましょう。

リモート開発(8月7日~8月末)

8月中は一緒に行くメンバーとリモート開発を行いました。といっても、基本的には開発するWebアプリについて技術的な内容を勉強する期間として使いました。

 

一緒に開発するメンバーは私含め3人。私が最年長でしたから、なんとなくで今回の開発を取り仕切ることになりました。

 

ここで気づいたのは、Web系に関する知識を持っているメンバーが後輩の1人しかいなかったことでした。ここが原因で後々面倒なことになってくるのですが、その辺りは後述します。私自身はCSSJavascriptRailsなどの知識が本当に皆無だったので、課題としてWebアプリ作ってくれなんて言われた日には本当にやばいと思いました。

 

こんな状態で開発を行うのは絶対にまずいと思い、必死になってWeb系の、特にRailsの勉強をしました。やはり、現地での開発では絶対に足を引っ張りたくないですから。

 

Railsに関してはもともと興味があったので、自分で書いている分にはかなり楽しかったです。まともにフレームワークを使った経験が、卒研でWPFを使ったぐらいだったので、何を書くにも新鮮で最高でした。DRYって素晴らしいです。

 

本当はリモートの時点で企業から与えられた課題に関する開発をはじめても良かったんですが、私自身が別のインターンやボランティアに参加することもあってなかなか時間が確保できなかったこと、他のメンバーも部活動等で時間が確保できなかったこと、等の要因が重なったため、まずは開発に関する技術的な前提知識をみんなで揃えて、後半で時間が余ったら順次開発を、という形にしていました。

 

しかし最終的には、前提知識の統一すらせずに現地での開発を行うこととなりました。ぶっちゃけると、ほとんど後輩2人は勉強せずに現地開発に臨む形となりました。

 

この辺りは本当に悔いが残っているのですが、一番の原因は技術を学ぶモチベーションの違いだったのかなと思います。私ばかりが危機感を感じて思い上がっていて、後輩2人はそれをわかっていなかった、というのでしょうか。要するに、私が先走り過ぎていたんだと思います。最終的に私が一番知識を持っている状態になっていたんですが、それでもかなり浅いわけで。自分たちが如何にまずい状態にあるかをもっと的確に後輩2人に伝えるべきだったのかなぁと思います。

 

インターンシップ(9月1日~9月12日)

 そんなわけで、不安を抱えたまま現地に入って開発を行うことになりました。当然っちゃあ当然なんですが、まぁ、お察しの通り。

 

ある程度予測していたとはいえ、本当に開発は辛かったです。

 

何のためのリモート開発期間だったのかと思うぐらいに、全くゼロからのスタートでした。メンバーで話し合いをしたのですが、なんといっても前提知識がないので私の話が通じないんです。

 

とりあえず、早く開発に入りたかったので、分担だけ決めて作業に入りました。具体的には、得意そうな分野ごとにMVCを振り分けて、私は主に既存のソースを読む必要がある部分を担当しました。

 

ここで失敗したことが。チーム開発が初めてだったこともあって、仕様をぼんやりとしか決めずに開発を始めたんです。今思うとこれも無駄な時間を使う要因になっていたんだと思います。結果的に、ころころと仕様変更を行うことになり、その情報を伝え忘れた結果、無駄な作業に時間を使ってしまいました。結果として、見た目だけで中身のソースは汚い上に、最初に決めた仕様以下の中途半端なものが出来上がってしまいました。

 

そして、期待していた後輩1人のWeb系に関する知識なんですが、CSSを自書きしたことがない、Javascript触ったことがない、という状態でした。流石にこれは、これはあかんやつですよ、と内心かなり焦っていました。知識があると思ってそこら辺の勉強を完全に放棄していましたから。これも今思うと慢心だったように感じます。

 

反省点

そんなわけで反省点なんですが、やはり最大の反省点はコミュニケーション不足だと思いました。複数人で開発を行うのですから、各人のスキルや進捗、担当箇所などの明確な情報が必要なわけで、情報を得るためには当然コミュニケーションは必要不可欠なわけです。しかし、それを怠ったことが原因となって、様々な面で開発に支障が出ていたと思います。

 

少し話が飛ぶんですが、昨日まで参加していたPyCon2014のジョブフェアでも、開発チーム内でのコミュニケーションの取り方については「永遠の課題」として言われていました。現場のプロエンジニアですら悩む課題なのですから、そう簡単に解決できるものでもないのでしょう。

 

とはいえ、そこをしっかりを考えていなかったのは、偏にチームを率いる立場だった私の不備です。本当に後輩2人には、一生に一回のインターンシップでこのような結果となってしまい、申し訳ないことをしました。次回あったら酒飲みに行きましょう。私が奢ります。

 

 

というわけで、反省編でした。

 

この時点で2600文字超えているあたり、自分でもちょっと引いてるんですが、残念なことにまだ3分の1しか書いてないんですよ。この後、こんな感じで暗い結果になった開発以外で起きた楽しげなお話とか、お休みの日にいろいろあったこととか、その辺を書きたいと思います。一番暗いのがこの記事ですので、検索流入なんかで来た、高専ベンチャーへの参加を考えている皆様はぜひともそちらをご覧ください。

 

 

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

 
チームが機能するとはどういうことか ― 「学習力」と「実行力」を高める実践アプローチ
 

 

仕事場に入る前には絶対こういう本読んだほうがいいんでしょうね。日々勉強。