なめこ備忘録

プログラミングに関する備忘録や経験したこと,考えたことなど好き勝手書きます.

[tex: ]

3日間の短期インターンをしてきた件

お久しぶりです.なめこです.
この度,東京の地にて3日間に及ぶインターンに参加してきたので,その体験記のようなものを書いてみようと思います.

どこまで書いてよくて,どこからがダメなのかわからないので基本ふわっふわしてます.
また,業務として関わったのは本当に端っこの方だけで,その視点から見ているので実際とは違う可能性があります.
悪しからず.

企業情報

今回インターンの受け入れをしていただいたのは「株式会社インディバル INDIVAL,Inc.」さんです.

www.indival.co.jp

サービスとしては「shotworks」「シフトワークス」「ダイレクトマッチング」等,アルバイトや正社員の求人マーケット系ですね.

短期バイト・単発アルバイト探しなら【ショットワークス】

アルバイト・パート求人情報【シフトワークス】で楽に見つかるバイト探し

採用ホームページ集客・応募率改善|indeed掲載やリスティング広告運用も

経緯

今年度に入りようやく東京に近い地域(東京の任意の場所に行くのに片道2時間かかるとしても近いったら近いんです)に住むことになったので,東京にインターンに行こうと思い立ったのがきっかけです.
ついでにお金もらえれば最高とか思ってないです.なめこ,嘘,吐かない(嘘).

そんな感じでいくつか有給のインターンに応募して無事お祈りされ,paizaに登録してみてお祈りされ...と心が折れかかっていました.
そんな折,paizaを通してインディバルさんから「話でもどうですか?」と連絡がありました.無給でしたが半ば自棄になって面談に行ったのが全ての始まりです.

面談後の帰り道で内定出たのは驚きました.速すぎる...
せっかくなので経験積んでみようと思い,インターン参加を決意しました.

事前準備

swiftの学習を中心に,実際のアプリ作成,XUITest/XCUITestの作成,Appiumの学習をしました.

swiftは学習期間自体長くなかったため,友人より本を借りつつ一から学んでみました.
基本的に新しい言語の学習は,ネットで適宜必要な部分を調べる形でしかしてこなかったので,改めて本で学習してみると色々と学びもありました.
まあ,最終的に「残りは雰囲気でなんとかなるでしょう」と開き直って読破することなく終わりましたが...

アプリ開発に関しては元から少ししてたので確認程度に,テストに関しては軽く調べて実際に動かしてみて,雰囲気だけ理解して終わりました.

Appium?調べたけどよくわかんなかったです.とりあえずこういうものがあるんだな,といった程度の認識です.

業務内容

特筆すべき点はそんなにないですが一応事前に言われてた内容は以下の通りです.

  • バグ修正
  • テスト作成

体験記

1日目

出社してすぐにメンターさんのところに案内され簡単に挨拶をした後,これから始める作業をざっくばらんに説明を受けてお仕事スタートしました.ここまで10分程度ですね...爆速すぎる...

最初はとあるアプリのバグ修正をしました.
画面遷移の多いアプリ開発の経験はそれほど多くなかったので,プロジェクト内の大量のディレクトリとファイルを見て一瞬「ひいっ」ってなりました.
アプリの構成などの説明は一切受けていなかったので,とりあえず構成を確認しながらバグ発生画面のコードを探しました.
バグ自体は単純なものでしたが,いまいち原因が読み取れず少しずれたアプローチをしてしまいました.しばらくしてメンターさんに相談したところ,言語のバージョンアップによって発生したバグであることを教えられ,同様のバグに対処してるwebページのURLをぺいってされました.そんなの聞いてない...

バグ修正後は初コミット...!
お仕事した感がありますね.

その後XUITest/XCUITestの作成...というより既存のコードがいろいろ酷くてまともに機能していなかったので,これも修正に入りました.
メンターさん曰く,まだちゃんとテストコードは書いてない,とのこと....いや,それにしても...うん.
一度の取得でいいものを何度も取得していたり,前に書かれているテストが動いていること前提で書かれていたり...好きに書き換えていいと言われたので自分好みの構成に直しました.

そしてテストを直したり,直したテストの実行によって見つかったバグを直したりと,基本的にバグ修正を延々としていました.

初日はそんな感じで終了しました.
バグいっぱい直した.もう普通にお仕事してる気がするけどきっと気のせい.

2日目

前日と同様のお仕事をこなしていると,別アプリのバグ修正を依頼されました.
例によってアプリ構成はよくわからないままコードの海を漂うところから...
バグの内容から原因には当たりをつけてはいたのですが,考えてた構成と違っていたため,またもや若干違ったアプローチを(以下略.前日同様メンターさんに誘導されつつバグ原因となる位置を特定,修正は1行...よくある話ですね.
このバグ修正中にチョットナニヲシタイノカワカンナイコードを発見してしまったのですが,バグが発生するようなものではなかったため,きっとこれは意味のある文なんだと自分に言い聞かせてそっと目をそらしました.

その後紆余曲折(?)はありつつ,ひとまずXUITest/XCUITestの作成は終了し,別のツールでテストを行うための環境設定に入りました.

2日目はそんな感じで終了しました.バグ修正が板についてきた感.

3日目(最終日)

前日に引き続き別ツールの環境設定と,そのツールでのテストの作成をしました.
そちらのツールはまだ社内で導入されているわけではないようで,メンターさんと共に手探りでコード書きました. ある程度まではうまく行ったのですが,最後はメンターさんと一緒に詰まってリタイア.
時間が時間だったので若干残ってたXUITest/XCUITestのバグを直して3日間のインターンが終了しました.

帰宅後,メンターさんから「これで動いたー」といったメールをいただいて一安心.

感想

インディバルさんも短期でのインターンは初だったようで,お互い探り合いながら進んでいきました. 勢いで参加を決めたインターンでしたが,実際の業務に関われて得るものは多かったと思います.

自分のチーム開発経験との差異がどれだけあるのかが気になっていましたが,人数が増えていろいろ最適化されている部分以外はそれほど大きく変わるものではなかったように感じました.
まあそんなに大きく変わるわけもないですよね.いろいろオープンソース化されて個人と企業での環境差自体がそこまで大きくないわけですし.

メンターさんも詰まってたのを見れたのもある意味プラスでした(酷い).条件は自分とそんなに変わらないんだなと思えたので...新規のシステムの導入時は特に.
経験の差が大きいと感じたのは望んだ情報へのアクセスの早さと飲み込みの早さでしょうか.検索スキルってやはり重要なんだなと再認識しました.

個人的にxcodeのストーリーボードみたいなのを使うのがあまり好きではなく,個人の開発ではオブジェクトの作成・位置やサイズ設定も含めて全部コードで書いてしまうのですが,それだとデザイン側との切り離しができず,位置やサイズの確認のために毎回デバッグしなければならないので,大人数での開発にはやはり向いていないなと再認識.
これからはもう少し多人数での開発に適したやり方を意識していきたいと思います.

謝辞のようなもの

今回インターンの受け入れをしてくださった株式会社インディバルさん,およびメンターさん3日間お世話になりました.ありがとうございました.

そして,お仕事中の糖分補給を支えてくれたSANGARIAのまろやかいちご&ミルクに最大限の感謝を.ほんといつもお世話になっております.

製品情報 > 乳性飲料 > まろやかいちご&ミルク - はてしなく自然飲料を追求するサンガリア