組織とインターンの内容
私の所属するAndroidチームは私含めて社員4人に加え業務委託1人の5人チームの組織です。そこに長期のインターンとして3ヶ月〜というスパンで働いてらうという形で1人を採用しました。今まで2人のインターン生を受け入れたのでその記録を残します。
インターン生の主な業務内容
- Androidを触れたことのないインターン生であればcodelabをやってもらいAndroidを学習してもらう
- 学習が終わり次第簡単な業務から振ってチケット作成からPRマージまでの流れを学んでもらう
- それ以降は基本的には我々と同じような仕事を振って対応してもらう
- 毎日誰かと1on1をしてもらい色々話してもらう
入ってくれた2人のインターン生のレベル
- Kotlinに軽く触れたことがあるレベル
- アプリを作ったことがあるし結構書ける
うちの技術スタック
Kotlinで書かれておりUIはほぼjetpackで書かれている、UsecaseなどはRxからFlowへの以降は完了しており、RipositoryもRetrofitに対応しているしマルチモジュールなども対応している。MVPのようなMVVMというような環境です
長期でやるメリット
- 教えられる内容が濃くなる
- 新卒への採用に繋がりやすいし本人のステップアップにも繋がる
- 人生の先輩の話を聞ける
- 社会人エンジニアの現実を早い段階でわかる
- 業経験を積むことができる
教える上で心がけたほうがいいこと
- 自分がわからないことはわからないとはっきり伝えることうろ覚えものもそう
- 一緒に調べるなどして自分も勉強しながら教える
- Flowなど新しい技術は一回では、絶対覚えられ得ないので何度もこれ何と聞いて言語化できるまで聞くこと
- 1on1の時はフレンドリーに話すことで質問しやすい環境を整えてあげること
- 一番最初の1on1ではまず業務の話はせずプライベートな話をして中を深めましょう
自分がわからないことはわからないとはっきり伝える
社会人であるから分かっていないといけないという事は何のではっきりとわからないと伝えることがインターン生のためにもなるし、そのインターン生が教える立場になった時にもきっとそうしてくれるから
ポイント:自分のプライドに負けないこと
用語の言語化
Flowなど技術を聞かれた時に言語化できなければ正直書けても習得したとは言い難いと思う、インターン生に聞かれた時に言語化し尚且つ、それで分からなければ別の例え(webを作ったことある子ならwebの技術で言うとこれみたいな)を使って理解できるようにして説明する。これをインターン生に理解してもらったのちにことあるごとに、インターン生が言語化できるまで聞いてみる。インターン生だけでなく我々理解も深まるのでやって非常によかった
書くのが面倒になったのでまとめ
正直仕事としてのエンジニアは学生が想定しているよりも栗エイティビティーでもないし地味だけど長期でインターンをしてみることで実際はこんなもんかって言うのもわかるし、最近新卒の面接をしていて思うのだけれどインターンを経験している学生とそうでない学生はかなり差があると言うのは実務の経験がないので質問をしてもうまく質問の意図を受け取ってくれないことが多い。これがインターンを経験していると意図が理解できることが多いので学生はやってみるのがおすすめ。私のような怠惰なエンジニアにも会えます。
我々受け入れる側としても心のゆとりを持って接してあげることで自分のコミュニケーションの向上と技術を言語化して教えることで理解が深まることもありいい経験になるのではないでしょうか。
と雑に締めくくります。