私の会社では、4か月または8か月の勤務期間で大学のコンピュータサイエンス生協学生(3年生)を雇うことを調査しています。 (国際的に認められた「生協」という用語がどれほどかはわかりません-それは基本的に有給のインターンシップであり、その後学生は研究に戻ります。)私のチームはASP.NETでWebアプリケーションを開発し、iOSでハンドヘルドシッククライアントを開発しています。 BlackBerry、Android。
インターンを経験豊富な開発チームに連れてきたあなたにとって、彼らがするためにどのようなタスクを見つけましたか?答えは個々のビジネスに固有のものになる可能性があるため、これは難しい質問だと思います。
私は以下を期待します:
単体テストでのコードカバレッジの拡大、設計された機能の開発、サポートドキュメントなしで追加された機能から不足している要件ドキュメントの改善/作成などを検討しました。
私はインターンシップをしたことがなかったので、学生と会社の両方にとってどのような仕事が価値があるのかわかりません。何かお勧めですか?
編集:これらはすべて、私を大いに助けてくれた優れた思慮深い答えです。どうもありがとうございました。答えは1つしか選べないので、群衆に合わせて一番人気のあるものを受け入れます。
以前は生協の生徒に、提供したメインアプリケーションにとって重要ではないが、ビルドの自動化、複雑なデータセットをWebアプリケーションで簡単に表示できるようにする、内部HTMLサイトを動的な(そして更新が簡単な!!)アプリケーション。ある生協の学生がかつて、非常に詳細な出力を持つ1つの特定のアプリケーションからのログの管理を容易にするログビューアを作成したと思います。生協の学生もテストチームに割り当てられたと思うので、彼らがテストを書いて実行していたと思います。
これらのアプリケーションは、コードベースが小さく、簡単にアクセスできるため、生協にとって素晴らしいものでした。プロジェクトは私たちのチームの内部でのみ使用されたため、学生は導入と実装の承認を得るために長いプロセスを経る必要はありませんでした。彼らは(上級開発者からの指導を受けて)独自の設計決定を下す必要があり、多くのことを学びました。ときどき、本番アプリケーションからより単純な欠陥を提供しますが、内部ツール領域がビジー状態を維持するのに十分でない場合に限ります。
私は言わなければならないだろう、それは協同組合と彼らが会社でどれだけの時間になるかに依存します。
私の会社では、4か月から18か月までの範囲で生協を採用しています。協同組合を別の用語で呼び戻すこともよくあります。
生協をチームのメンバーのように扱いたい。あなたがそれを助けることができるなら、彼らに働きかけをうんざりしないでください。それは彼らにとって楽しい言葉にはならず、彼らのスキルを無駄にするかもしれません。
まず、彼らは他の新入社員と同じように、余分な仕事の経験がありません。あなたは彼らの最初の週に何を新入社員に与えるでしょうか?協同組合が完了するまでに2週間かかり、追加のガイダンスがあると仮定します。
彼らがその仕事をうまく遂行しているなら、あなたに彼らにもっと何かを与えることができるかどうか見てください。ここで、協同組合に彼らのタスクまたはチケットを与え、その作業中にチームから切り離すと、協同組合と会社にとって有益になることがよくあります。私たちは実際の仕事を成し遂げ、彼らは現実の世界で働く方法について多くを学びます。
QAに雇わない限り、QAに生協を投げないでください。彼らが開発することを考えている企業に参加する生協にとって、彼らが単なるテスターであることを知ることほど悪いことはありません。あなたが彼らがしていることである投稿を入れない限り、それをあなたに簡単にそれを単にその上に置かないでください。
あなたのアイデアのうち、「設計された機能を開発する」が協同組合にとって最良のものだと私は言うでしょう。協同組合によっては、テストケースも機能する場合があります。
学期の終わりに、彼らが何かを見て、私がそれをしたと言うことができるように彼らに感じさせてください、そして私はそれをすることで多くを学びました。いいえ、私は4か月かけてドキュメントを書きました...その場所が嫌いでした。
小さくて完成可能なモジュール式プロジェクトは、私にとって理想的です。プロジェクト全体を最初から最後まで見ることができるが、単なるおもちゃの例ではなく、より大きなプロジェクトの一部となるものでの作業の経験を得ることができるもの。
私はコンピューターサイエンスの現在の学生で、現在4か月の生協の仕事期間を行っています。この学期の後、私は3年目の勉強を始めるので、私はあなたのターゲット学生の聴衆の下で1年だと思います。いずれにせよ、私の(そして古い知人の)経験の一部を共有したいと思います。
企業は、さまざまなスキルセットを持つ学生にさまざまな役割を提供します。プログラミング全般には、選択可能な多用途のタスクプールがあります。私にとっては、VB.NETとC#を使用して内部ファイル管理サーバーでサーバーメンテナンスを行い、過去7年間の生協の学生の仕事に基づいて構築しています。その他は、一般的なプログラマーの説明とともに、テスト(QA)ジョブを取得しています。あなたが言ったように、それはビジネスに大きく依存しますが、学生のスキルレベルにもよりますが、ウェブアプリの開発にも彼ら(私たち)を巻き込むことは非常に一般的です。彼らが内部的であろうとクライアント用であろうと、学生の興味にはほとんど関係ありません。どちらにしても、彼らは彼らが望む経験を得るからです。 あなたのビジネスのニーズから導き出された簡単なタスクから始めて、パフォーマンスに基づいて、より多く/より少ない/より困難/より簡単な作業を割り当てます。これは、私たちがそこにいる間、あなたの会社にとって私たちにとって価値があります。また、学生にとって価値ある経験をする限り、学校外でプログラミングするだけでも役に立ちます。コードを提供していただければ幸いです(チューリングなどでない限り)。
テストとQA。
ソフトウェア要件、アジャイル開発方法論、テストケースの作成、開発者との連携などに没頭します。
一方で、プログラミングの面では、簡単な機能や重要でない機能を割り当てて、その機能を確認することがあります。ほとんどの場合、彼らはめちゃくちゃになっていて、あなたは彼らに彼らが間違ったことを教えて、次に彼らがそれをよりよくすることができる方法を彼らに教えようとします。
大学時代(14ヶ月間)にインターンシップをしました。
私は基本的に他の常勤スタッフと同じように扱われました。私は同様のタスクを与えられ、私は他の皆とほとんど同じ仕事をしました。
それは、私が深いところに投げ込まれたときに私が最もよく学ぶと私が思うように、まさに望んでいたとおりでした。
代わりに単純なタスクを与えられた場合、または他の開発者の作業をテストすることを期待した場合、私はそれを楽しんでいなかったでしょうし、良い印象を残していなかっただろう。
私は生協/インターンの学生を他の部下と同じように扱います。ほとんどの場合、彼らはおそらくソフトウェア開発環境での作業経験を得るためにそこにいて、1)ソース管理とコードベースの構造、2)バグのトリアージと処理、3)コード品質に注意を払って製品コードを作成すること、および読みやすさ。これらは、おそらくCS /エンジニアリングスクールのカリキュラムではあまり取り上げられないものです(ただし、数学はたくさんあります!)。
バグレポートシステムやソース管理について知る必要があるタスクは、生協の学生がよく知るための優れたツールであるため、強調しておきます。彼らはまた、間接的に学生に技術的なリーディング/ライティング/コミュニケーションスキルを向上させ、より組織的になることを強います。有益なもう1つのタスクとして、メンテナンスプログラミングが思い浮かびます(「ChildClassメソッドの一部をリファクタリングして、新しいGUIObjectインターフェースとより適切に統合する」)。
テストとQAは、生協の学生にとって良いものです。テストは生協の学生にアプリケーションとあなたの職場の一般的なプロセスに慣れるのに良い方法ですが、テストは「簡単」であり、「最初は対処しなければならない」という人だけの印象を与えるかもしれません。 。
最も重要なのは、ここで他の回答で述べられているように、生協の生徒に正直であることです。開発者がコードを書くという約束で雇うのではなく、サポートポジションやコーヒーGopherに固執しないでください。通常の新入社員に対してこれを行わない場合は、生協の学生に対しては行わないでください。