8月22日(月) 〜 26日(金) の回に参加していました。
私が参加したのはWebアプリケーション開発コースで,kintoneに新機能のプロトタイプを実装するというのが課題でした。
1日目
初日から台風に見舞われました… 私が出勤した頃には雨はそれほどひどくなかったのですが,出勤した直後くらいから雨がひどくなってきて,社員の方にもリモートワークの方が何人かいらっしゃいました。
「台風が来ればサイボウズの社員は出勤しない」が定番化しつつあるw RT @mzsmx: サイボウズすばらしい pic.twitter.com/USagviTx4z
— 青野慶久 (@aono) October 15, 2013
この日はオリエンテーションをやって開発の進め方についての講義を受けたあと,kintone開発チュートリアルのようなものをやりました。kintoneは巨大なアプリケーションなのでIDEの機能を活用しなければソースコードを追うのが不可能な規模でしたが,設計もソースコードも洗練されていて読みやすかったです。
1日の最後には「ふりかえり」活動がありました。もともとはkintone開発チュートリアルは初日にやる予定ではなかったそうなのですが,前回 (8月1日 〜 5日の回) でのふりかえりの結果,初日にやることになったそうで,改善の反映のサイクルが早いなと思いました。
2日目
お客様から頂いた要望をもとに実装したい新機能を選び,その仕様書を書きました。
「本当に必要なのはその機能なのか(問題を解決するためには別の機能を実装したほうが良いのではないか)」とか「機能の名前はそれでいいのか」とか「そのUIを見て挙動を勘違いする人がいないか」といったような,私が普段やっているプログラミングではここまで考えないようなことを議論できて良い体験になりました。
3日目
終日ひたすら実装していました。
4日目
最低限の機能のみを実装したプロトタイプが実装できたので,機能をもっと作り込むか,テストを書くか相談したのですが,私がE2Eテストを書いたことがなかったこともあり,せっかくなのでSeleniumを使ってブラウザテストを書くことになりました。
ブラウザテストを書くためにはXPathやCSSセレクタをゴリゴリと書かないといけなくて大変なんだろうな〜と思っていたのですが,ページ内のコンポーネントを抽象的に表現したクラスが用意されていて「kintoneアプリの新規作成ボタンを押す」みたいなメソッドを呼ぶだけでテストコードが書ける設計になっていました。これはPageObjectパターンというデザインパターンだそうです。
PageObjects · SeleniumHQ/selenium Wiki · GitHub
5日目
メンターにして頂いたコードレビューへの対応をした後,社員の方々と品質保証/セキュリティコースのインターン生の前で成果発表をしました。
インターンを通しての感想
基本的にプログラミングがメインで楽しめた
仕様書を書いたりミーティングや講義が定期的にあったりしつつも,基本的にはプログラミングをずっとやっていたので「(退屈だなぁ… コード書きたいなぁ…)」みたいになることは全くありませんでした。
サイボウズ社員はサイボウズ製品が好きすぎる
インターン期間中はメールやスケジュール管理のためにOutlookを開くことは全くなく,全てサイボウズ製品で完結していました。
- 今日のスケジュールを確認する ← ここだけGaroon
- お客様からの要望リストを確認する ← kintone
- タイムカードに記入する ← kintone
- 日報を書く ← kintone
- 成果発表会の実況スレッド ← kintone
最近↓のようなツイートが出回っていますが,Excelをkintoneに置き換えるとサイボウズになるのでは?
IT業界のOfficeの使い方は
— 上原桜子(男)@本千葉ァ!頬張らないァ! (@SakurakoU) September 14, 2016
・仕様書にExcelを使う
・テスト結果報告書にExcelを使う
・納品資料にExcelを使う
・何か作るときはとにかくExcel
・Excel
・まずExcel
・何かやらかしたときのお詫び文章にWordを使う
机にフィギュアを置いてる人がいなかった
初めてオフィスを見学したIT企業が 天井からメイド服がぶら下がっている会社 だったので僕の感覚がおかしいのかもしれませんが,そこまでぶっ飛んだ机はありませんでした。ぼくはこっちの雰囲気のほうが整理整頓されている感じがして好きです。
ただ ジェットコースターの模型 は置いてありました。
まとめ
5日間とても充実していました。オススメのインターンシップです。