Help us understand the problem. What is going on with this article?

開発インターンで気をつける5つのポイント

More than 3 years have passed since last update.

概要

仕事をしたことがある人なら心得ているけど、初めてインターンに参加したり、メンターもいてがっつりコードを書くインターンをしたことがない場合は、分からないことも多いはず。
インターンに行く前に事前に行っておくといいことや、開発する時に気をつけることをまとめました。
半分以上は仕事の進め方を書いています。設計を大きく間違えたり、メンターの人が話をしていることを勘違いすると、どんなにコードを書いても成果がでません。最初の1週間は、コミュニケーションの方法や、確認の方法などに慣れてください。

参加する前

開発する前に聞くといいこと

  • 成果を求められているか、自分の技術の確認をしているか
    • 成果を求められている場合はメンターにも聞きつつ仕上げる必要がある
  • どのくらいの頻度でメンターに相談すればいいか、相談しやすい方法は?
    • 直接話しかけるか
    • チャットで聞くか
    • githubのissueにコメントを書くか

なにを作るのかをしっかり理解し、記録する

求めているのは、最短で、必要なものを、読みやすく(mergeできる)実装されたコード

  • シンプルに実装する
    • 基本的には、今後使える汎用的なクラスを作るのでなく、要件をシンプルに作るほうがいいです
    • 最初の開発に時間がかかるということは、技術のコミュニケーションがうまくとれていないことにもつながるからです
  • 開発する上で必要なことをgithubのissueにする
  • 社員の人に質問したり、確認したことは、githubのcommentに追記する
    • 聞いたことを勘違いしている可能性もあるので、文字に落とす

メンターには、小まめに相談する

  • モデルの変更がある時は、事前に設計や命名をメンターの人に確認する
    • 実装し始めてから、モデルの設計が異なると時間を大きく消費してしまう
    • 命名は間違えるとあとで変更に時間がかかるので、決めたらコードを書く前に確認する
  • 既存のコードの読み方
    • 基本的にはプロジェクトに関係のあるクラスを理解することがゴール。
    • あまり細かく見ていると、時間が経つけど、やりたいことができないことに陥りやすい
    • 最初は既存に書いているコードと似たロジックや書き方でかけるといいです
  • 新しい役割のあるクラスを作りたい時は、事前に設計と命名をメンターの人に確認する
    • 新規で入った人は、既存のコードを完全に追いかけるのは不可能
    • 似たようなコードがないということは、今まで必要ないと判断しているかもしれない
    • 最初は、メンターと設計に関して議論できるチャンスがあれば、議論するくらいのほうが、スムーズに開発が進むはず
  • 5分くらい考えて分からないときは、直接社員の人に聞くくらいがいい
    • 1時間をなにを作るかに考えない
    • 1時間なにも進んでないときは要注意
    • 1-2時間かかっているとしたら効率が悪いし、5分コード読めば分かることは自分で読めるほうがいい
  • コードが増えたなと思った時
    • 増えすぎる前に一度メンターに相談しましょう

コードをgithubにアップするとき

タイミングは小まめに

  • まだ完成していなくてもpushは数時間置きにはしておくほうがいいです。
  • もしメンターが見れば早めにフィードバックできるし、pushするだけならメンターの仕事も阻害しないからです
  • 書いている途中のときは、[WIP]とタイトルにつけてください。詳しくはこちら http://qiita.com/awakia/items/c571e93e96a1ec28044f

pushしたあとで自分のコードを見る

  • 必要ないファイルがpushされたり、indentやspaceなど基本的なことをみてください
  • 一度書いたコードを見るとミスが発見できることも多いです。他の人のコードをレビューするつもりでいちゃもんをつける
  • 小さいミスがあると小さいミスの指摘で終わってしまい、多くの場合レビューを直した後に再度レビューの指摘をされます。一度のレビューでマージするためにも、小さいミスをなくすことを心がけて、pull requestをレビュアーに渡してください。
  • pushした後に、「間違いをひとつ見つけよう」って思ってコードを見るといいと思います。

その他

* メンターが複数いる場合。直接見てくれている人以外の人にアドバイスをもらい方針が変わる場合。基本的には、アドバイスもらったひとにもメンションして方針が変わったことを伝えるほうがいいです。

関連学習リンク

reikubonaga
MC DigitalのCTO。Ex-Wantedly Visitの開発チームのリーダ。 チームのメンバーやインターンに伝えたいことをついでにqiitaにも書いていこうと思っています。 MC Digitalはエンジニア絶賛募集中です!
https://www.mcdigital.jp/member/
wantedly
「シゴトでココロオドル」ためのビジネスSNS「Wantedly」の開発・運営をしています。
https://wantedlyinc.com/ja/presentations
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away