インターンシップをどうやって救うことができますか?[閉まっている]


65

私は現在、非常に大きな非ソフトウェア開発会社でインターンとして働いています。私が応募した職種は、特に開発職ではありませんでしたが、私を雇ったチームは、CS専攻が彼らのためにいくつかの内部プロジェクトを開発するのを手伝ってくれることを望んでいました。私はここに4週間滞在しましたが、最初の戸惑いは衰え始めています。ただし、私はオフィス全体で唯一のCS専攻です。チーム、ビル、または近隣の場所でさえ、ソフトウェア開発のバックグラウンドを持っていません。私が持っている最高のものはデータベースマネージャーで、彼らの部署は忙しくてプロジェクトをサポートできません。チームメイトは自分の仕事のやり方を学ぶのを手伝っています(これは仕事をする上で重要です)が、私の仕事、つまり開発を手伝ってくれる人は誰もいません。

彼らが私に与えたプロジェクトは、私が学校でやったことよりも範囲が広い。それは、私が単独で働いているという事実と相まって、ガイダンスや明確に定義された目標さえも持たずにゼロからアプリケーションを開発しようとすることで、成功する能力について非常に心配しています。どこから始めればいいのかほとんどわかりませんが、今はおそらく2か月未満しか残っていません。

私はソフトウェア開発プロセスを学ぶべきだと感じていますが、今は暗闇の中を自分の道を感じているようです。そもそも自分の開発スキルにあまり自信がないので、これは特に厄介です。私は自分自身を研究し、教えてきましたが、ほんの少ししか得られません。彼らは私から大きな期待を持っていますが、私は自分の能力を確信できません。明らかに、私は座って自分の立場について上司と話をする必要があり、できるだけ早くそれをするつもりです(彼らはしばしば出張して外出しています)。

これにどう対処すればよいですか?このインターンシップは、私がそれを知る前に終わります。彼らもそれを望んでおらず、いつでも私を助けてくれますが、プログラミングの知識がなければ、できることは限られています。私は彼らが望むものを作り出すことができないことを彼らに伝えることを恐れています。これをどのように彼らに関連付ける必要がありますか?エンジニアのインターンが他のエンジニアから助けを得て、彼らの仕事をする方法を学んでいるのを見ます。私の状況を修正する方法についてのアドバイスは大歓迎です。

更新

皆さんからのすべての有益なフィードバックに感謝します。それは私の心を楽にしてくれました。私が最初にしたことは、マネージャーやスーパーバイザーと会うことでした。ここで私の時間から期待されることについて話し合いました。彼らは私がインターンとしてそれほど多くの時間がないことを理解しており、これは私たちが達成したいフレームワークの種類に範囲を置くのに役立ちました。また、自分の能力に関する懸念についても、割り当てられた時間で対処しました。

私は別の場所のデータベース管理者から電話を受けました-私のマネージャーは彼のスーパーバイザーと話しました、そして彼らは私のプロジェクトをサポートするつもりです。やってる それは半分だけです。考えられるすべてのプロジェクトの中から、最も重要な2つのプロジェクトに絞り込みました。私の他のプロジェクトについては、誰かが言ったように、私は本質的にインターンにとってユニークな状況であるリードソフトウェアアーキテクトです。物事が少なくとも半ば成功すれば、将来の雇用主に役立つ多くの知識と経験を得たと思います。今のところ、私は自分のプロジェクトの研究と開発を始めるための確かな基盤があると思います。皆様からの返信をありがとうございます!


80
ほとんどの場所では、インターンは自分が何をしているのか分からない人であると期待していますが、インターンは自分ができることは何でも学び、得ようとしています。メンターのいないインターンシップは、彼らが本当に安いまたは無料の開発者をただ望んでいたように聞こえます。経験全体についてできる限り学び、インターンシップが終了したら次へ進みます。理想的には、実際のソフトウェア開発者とインターンできる場所に:)
レイチェル

9
これはソフトウェアエンジニアリングに固有のものではないため、Workplace.SE
Bart van Ingen Schenau

53
「ガイダンスや明確に定義された目標さえもなしに、アプリケーションをゼロから開発しようとする」-実際のソフトウェア開発のための完璧なトレーニング!
アランB

7
教育の「本で学ばないもの」側へようこそ。これは、あなたがあなたの教育を終えたときにあなた自身を見つけるかもしれない多くの環境の1つです。私は自分の学位を修了し、それがMISであったことを除いて、まさにあなたの立場にいることに気づきました。
チャドハリソン

3
@BartvanIngenSchenau質問にはソフトウェア開発の角度があります。OPは会社の孤独な開発者です。それはいくつかのユニークな課題を生み出し、それらのいくつかはソフトウェア開発ソリューションから利益を得るかもしれないと思います。おそらく、この質問はWorkplaceにより適していますが、ここで100%オフのトピックでなければ、移行すべきではないと思います。ここで質問がトピックから外れているとコミュニティが判断した場合(そのように閉じて)、喜んで移行します。
ヤンニス

回答:


124

私はあなたのためにいくつかの悪いニュースを持っていますbhamlin:

あなたはインターンではありません。むしろ、あなたは無給の/安い従業員です。

インターンシップは、安全で(通常)リラックスした環境で新しく習得したスキルを練習し、フィードバックを得ながら、フィールドで「本物の」専門家が「本物の」仕事をしているのを観察する機会を得ることができる無給または低賃金のポジションです彼らがあなたに変更を許可する部分について(通常、監督および/または承認の下で)。

あなたの会社が望んでいたことは、実際にはインターンではなく、ソフトウェア開発の無料/安価なソースでした。私の意見では、これはかなり一般的です。私は大学の町に住んでいて、私の最後の職場で、マネージャーはよく「プロジェクト部門Xを行うにはIT部門が忙しすぎて、大学からインターンを入れて書けるかどうかを確認できます」とよく聞かれました。無料/格安!」 私たちは不平を言ってうめき、歯を天にきましたが、これはその場所の現実であり、マネージャーがそのようなことを提案する理由を理解できました。残念なことに、結果は素晴らしいものではありませんでした。インターンによって提供されたソフトウェアは、まとまりがなく、スケーラブルで、クリーンなどではありませんでした

それはあなた次第です。私のアドバイスは、できることは何でも開発することです(プレッシャーが大きな動機付けになることもあります)。

だから自分を責めないでください、しかしあなたが入ったのは本当のインターンシップではありませんでした。


18
@Ampt私にとって、ほとんどの有給インターンシップは基本的に「私たちと一緒に学ぶためにあなたにお金を払います。この期間の終わりにすべてがうまくいけばあなたを雇いたいと思います」と言っています。当事者同士がお互いに評価する時間が長くなり、すべてがうまくいけば、システムについて教育を受け、会社に適しているとわかっている従業員を雇うこともできます。彼らがプロセスで新しいソフトウェアを安く手に入れたら、それは追加のボーナスですが、期待ではありません。
レイチェル

7
インターンシップは通常無給ですか?それは私にニュースだ...
M.ダドリー

3
@Amptが良い点です。回答を編集して、「未払い/格安」と言いました。全体として、答えはまだあると思います。この場所は実際にはインターンを望んでおらず、ITサービスに全額を支払うことを望んでいませんでした。
グラハム

7
@bhamlinソフトウェアのバックグラウンドを持たないほとんどの人は、ソフトウェアプロジェクトの開発にどれだけの時間や労力がかかるのか、文字通りまったくわかりません。まったく手がかりがありません。残念ながらこれはそうです。
エンダーランド

10
インターンシップが無給である場合(または何らかの賃金以下、記憶があれば最低かもしれません)、インターンにかなりの利益を示さなければなりません。これは非常に重要な区別です。もしこの男が給料をもらえなければ、彼は会社をバカにすることができます。(または、米国の法律は他の国と話すことができないと言う)
ジミーホッファ

28

CS専攻では、自由に問題を解決するスキルがあります。どのタイプのプロジェクトを開発したいのかは不明です。私が推測しなければならなかったなら、彼らはおそらくあなたにいくつかの内部プロセスの自動化を手伝ってほしいと望んでいます。まず、現在どのプロセスが実行されているか、およびこれらの各プロセスの部門間の依存関係の全体像を把握することから始めます。

次に、自動化できるか、少なくとも合理化できる低垂れの果物を探します。

プロセスを文書化する確実な方法

次の順序でこれらの質問をします。

  1. 出力は何ですか?(できるだけ具体的な回答を得る)
  2. 入力は何ですか?
  3. 出力を作成するのに十分な入力がありますか?

番号3の答えがNOの場合、不足しているピースを取得します。これは、式またはビジネスルールなどです。

ステップ1の出力が複雑すぎる場合は、管理可能なチャンクに分割し、各チャンクを個別のプロセスとして攻撃します。

発見したことを文書化します。潜在的な単一障害点を特定します。弱点または不足している依存関係を特定します。

圧倒的に聞こえますが、スキルは揃っています。バイトサイズのチャンクに変えてください。「オタク以外の人」を使って「オタクなもの」を説明する方法を学ぶことができれば、あなたは自分の体重に見合うだけの価値があるでしょう。


1
私のチームのメンバーはプロセスを見せてくれたので、インプットとアウトプット、そして彼らが何を望んでいるかについての考えがあります。私は問題をどのように解決したいかについてのアイデアを持っています、それは単にそれを断片に分割し、それを私に問題を与えています(特に、データベースのようにあまり熟練していないテクノロジーを使用しています)。幸運にも、「ギーク」から「ギークでない」までをかなりうまく説明できます。この時点で、コーディングの問題をスタックオーバーフローに持ち込み、解決策が実現可能かどうかを確認する必要があります。ご意見ありがとうございます。
-bhamlin

データベースに関する限り、Michael HernandezによるDatabase Design For Mere Mortalsという本をお勧めします。この本は傑出しています。
マイケルライリー-別名ガニー

1
「あらゆるプロセスを文書化する確実な方法」に対する+1。私がシステム分析の仕事のために最初に雇われたときに、それが私のキューブに目立って投稿されていたらよかったのに。
dodgethesteamroller

1
@bhamlin:提供しようとしているものに対する期待を減らすために最善を尽くすことをお勧めします。また、非常に小さな問題、1日にできると思うこと(1週間で終わるように;)、そしてできれば、モジュールだけでなく、そのままでは役に立たないものに分解してください。コア。このように、あなたが失敗した場合、あなたの仕事はまだ有用です。また、IMO、この経験はおそらく非常に有用で刺激的なものになりますが(金銭的ではありませんが)、最終的には憂鬱な思い出を作ります。
K.ステフ

18

この状況全体に対する私の見解は次のとおりです。彼らはあなたが合理的に達成できる以上のことを求めており、フィードバックやガイダンスを与えず、一般的にあなたの仕事をそれほど楽しくしていません。しかし、あなたは何かを学んでいるこのクラウドに銀の裏地があります。

特に、学位を取得するときに働きたくないような環境を学んでいます。また、実行するには大きすぎるプロジェクトに対処する方法も学習しています。どちらもあなたの能力を下回ると思われる仕事をあなたに与えることはないので、これらは両方とも保持すべき重要な知識です。彼らは常にあなたが与えることができる以上のものを求めます、そして彼らが期待を管理し、彼らが望むものを提供するために彼らと協力するのはあなたの仕事です。

ここで今できることについて。私は、あなたが毎日行うすべての日記つけることから始めます。これにより、説明責任が与えられます。「これが今日私が取り組んだことです」という単純な一日の終わりでさえ、彼らが望んでいるものを手に入れず、答えを探しに来たときに頼りになる何かを与えてくれます。

また、私はあなたのすぐ上司と話して、これらのより大きなプロジェクトの1つ破壊する方法があるかどうか見るでしょう。もしあなたがすべてをやるのが気に入らないなら、彼らはあなたにプロジェクトの研究とアーキテクチャをしてもらうだけかもしれませんし、別のインターンに後でそれを実装してもらうかもしれません。インターンシップに残った時間内に合理的に達成できると思うことを明確にして、それをあなたの目標にします。そうすることで、一日の終わりに雇用主に関連する何かを提供することができます。

最後に、エンジニアリングインターンに参加できるかどうかを確認します。これらのインターンもソフトウェアを開発していると思いますが、あなたが何をしているのか、何をしているのかがあまりにも離れているので、お互いから学ぶことはできません。私はプロジェクトで電気エンジニア、ソフトウェアエンジニア、コンピューターエンジニア、コンピューターサイエンティストと同様に仕事をしており、各人がチームに独自の強みをもたらしています。自分の強みが開発のどこにあるのかを特定し、それらの能力がエンジニアリングチームに役立つ理由を主張してください。


6
両親は、夏の終わりにオファーを受け取ったら受け入れるべきだと言っていましたが、この仕事はソフトウェア開発者としての私のキャリアを前進させるのに役立たないかもしれないと説明しようとしました。彼らは私に耳を傾け、私が得る仕事は祝福だとは思っていませんが、特にこれが私にとって良い職場環境でない場合、私には辞退する権利があると感じています。私は日記をつけるという考えが好きです、私は毎日ノートを持ち歩くので、私は何をしていないように見えないように私がしていることを文書化し始めます。私はあなたの助けに感謝します。
-bhamlin

1
問題ありません。このインターンシップを始めたとき、私は同じ立場にいるように感じました。私のマネージャーはエンジニアリングチームに非常に人手がかからないアプローチを採用しており、私たちが喜んで私たちの一日を構成できるようにします(これをサポートするアジャイル開発モデルに従います)。 。ログを保持することで責任を負うことができ、少なくとも何かをしているというドキュメントを提供できることがわかりました。また、私は毎日、週ごとに勢いを維持するのに役立ちます。
アンプト

7
@MLowryそれは悪いアドバイスだと思う。あなたが嫌い​​な職場にとどまると、身体的、特に心理的にあなたを疲れさせるでしょう。あなたはうつ病になり、すべての瞬間を憎み、毎日その決定を後悔します。なぜそれを通過するのですか?財務面が異常な場合は、6か月間行うのが理にかなっています。しかし、彼は彼のキャリアの絶対的な始まりにいることを考えると、おそらくそうではありません。
ラドゥマーゼア

2
「何かを学んでいる」ための+1。残念ながら、この作業環境は異常ではありません。ITビジネスに特に携わっていない多くの企業は、ITリソースの処理に苦労しています。したがって、ここで学習する教訓(あいまいな要件、厳しい期限)は、問題のある環境を見つけようとするときに価値があります。
グラハム

2
「ジャーナルを保持する」ための+1。あなたのキャリアの残りのためにその習慣に入ります!プロジェクトがうまくいっているとき、誰も質問しません。それが悪くなるとき、彼らはあなたがした/したすべてのくそったれを奪い取りたいと思う。日記はあなたの皮をとてもよくカバーしています。(ステータスレポートよりも優れています)。
TimG

13

インターンシップアドバイザーに相談してください

私がこれまで見てきたすべての答えは、雇用主に焦点を当てているようです。これは重要です。

ただし、学校のプログラムまたはオフィスを通じてこのインターンシップを設定している必要があります。このような状況に陥った最初の学生になるとは想像できません。彼らはあなたを特定の方向に導くことができるはずです。

彼らが今あなたを助けることができないとしても(私は信じがたいと思う)、あなたはこの状況で彼または彼女を見つける次の学生を助けるでしょう、それは過小評価できないものです。


+1これは、インターンが克服できないような困難に直面したときに最初に行うべきことだからです。
-verybadalloc

10

私はそのような2つのインターンシップを持ち、それらを非常に楽しんだ。あなたが欠けているように見える重要な明るい側面があります:

  • 現時点では、プログラマーの大規模なチームで働くプログラマーが夢見ることができるような創造的な自由を楽しんでいます。言語の選択から、ソース管理、エディター、ソフトウェアアーキテクチャまで、すべてがあなた次第です。私を信じてください、それがなくなったときあなたはそれを見逃します。
  • ソフトウェアについてあまり知らない人々と働くことは、ソフトウェア開発プロセスの重要な部分です。学校は、ソフトウェア開発を教える経験が豊富な人からの明確に定義された割り当てを期待するように条件付けています。プログラマのチームであっても、あなたの割り当ては決して明確ではありません。今それを扱うことを学ぶことはあなたに優位性を与えます。
  • メンターの利益なしにドメイン知識を獲得することは、ソフトウェア開発プロセスの重要な部分です。毎年1〜2回、「Xテクノロジーの主題専門家になる」というような割り当てを受けます。 誰かが会社で新しい技術を学ぶ最初の人でなければなりません。その人があなたになれることを示すことができれば、あなたはより興味深い割り当てを得るでしょう。
  • あなたの観点からは、それは多くのプレッシャーのように感じますが、あなたの彼らの期待は本当に非常に低いことを知っておくべきです。彼らは、適切なメンターなしではあなたにとってそれがより難しいことを知っています。頑張れば大丈夫です。

そうは言っても、最初の大規模プロジェクトに取り組むことは圧倒的です。以下が役立つ場合があります。

  • プロジェクト全体を一度に考えないようにしてください。今何をする必要があるかを考えてください。
  • 実行する必要のある機能のリストを取得し、それらを優先順位に並べるようにします。そうすれば、アプリ全体を完成しなくても、最も重要な機能はそのまま残ります。
  • 最初の機能をさらに小さなタスクに分割し、1〜2日で完了するタスクに到達します。馬鹿げた単純な音を出すことを恐れないでください。新しいプロジェクトでの私の最初のタスクは、常にハローワールドを機能させ、ソース管理にチェックインすることです。特に、新しい言語、またはしばらく使用していない言語の場合、ビルド環境とツールが適切にセットアップされていることがわかります。
  • 進捗状況を頻繁に確認してください。夏の終わりにそれらに完成品をダンプしようとしないでください。少なくとも1週間に1回、これまでに持っているものを見せてください。
  • あなたのニーズを満たすことができる既存のプロジェクトとコンポーネントを見つけるために、いくつかの努力を前もって費やしてください。既存のシステムをゼロからカスタマイズするよりも、既存のシステムをカスタマイズする方がはるかに簡単です。多くの企業が同様の種類の内部アプリを必要としています。これは私が自分で知っていたらよかったのに。私のインターンシッププロジェクトの1つは、基本的にCRMを(貧弱に)再発明しました。

ですから、リラックスして、最善を尽くし、ソフトウェアに関するものであろうとなかろうと、できる限り多くを学んでください。


6

ここの他の答えは非常に良いです、それらを何度も読んで、本当にそれらを理解しようとします。そうすれば、平均以上の努力で、インターンシップの反対側で「生きている」ことができるようになります。あなたの状況を考えると、それはあなたが予想よりも厳しいでしょうが、それは価値がある場合があります。

これは非常に重要です。というのは、別の会社1にポジションを申請するとき、重要な質問の1つが次のようになるからです。

X社でインターンシップを行ったと思います。どうでしたか?どうして行ってしまったの ?

あなたは、あなたが専門的な方法であなたの困難な状況を扱っていること、それらを表示することができた場合は、これはカウントされますLOTを、雇用者は通常、このような何かに非常に感銘を受けています。

たとえそれがひどいものであっても、クラスメートが決してしないことを学ぶ機会がある貴重な体験にすることができます...

1 =そこにとどまることでキャリアの自殺が起こることを願っています(遅かれ早かれ...おそらく早く)


2
これは答えが簡単な質問です。「私はXでの仕事を楽しんでおり、インターンシップ中に多くのことを学びました。しかし、彼らはソフトウェア開発会社ではありません。そこで滞在することで自分のエンジニアリングスキルを十分に伸ばすとは思いません。ソフトウェア開発者であり、より協力的なプロジェクトがあります。」
セルビー

5

私は昨年も同様の立場にあり、すべてをゼロから開発しなければならず、開発経験のある人は誰もいませんでした。私は彼らが私に与えたプロジェクトを終了しましたが、洗練されたアプリケーションや保守可能なアプリケーションとは呼びません(それがどのように機能するかを知っている唯一の人は私であり、会社の誰もコードを見ていないためです)

ここに私がやったことと、そのような状況にあった場合に行うことをいくつか示します。これらのいくつかは、以前の回答ですでに言及されています

見つけ出す:

  • 彼らは製品に何をしてほしいのか(入力と出力、最低限
  • あなたの制限は何ですか?(つまり、どのプログラムが使用できる/できないのですか?)

これにより、製品がどのように見えるかについての頭の中で写真が得られます。これを紙に描き、上司や監督に見せてください。彼らがそれについて言うことを見てください。気に入らない場合は、何を変更したいかを尋ね、変更してプロセスを繰り返します。気に入った場合は、最低限のコーディングを行い、簡単なデモを作成します。

デモを彼らに見せて(彼らがこれを念頭に置いているのかどうか尋ねてください)、これは彼らにあなたの進歩を示し、あなたが彼らが望むものを理解するのを助けます。

コーディングのヘルプが必要なときはいつでも、マニュアル/チュートリアル、グーグル検索を読んで、最後にスタックオーバーフローに投稿してください。

細部にこだわらないでください。これを行うと、多くの時間を無駄にします。

小さなチャンクのコード。各チャンクはアプリケーションの主要な機能です。

コードをコメントします。彼らがこれを別のインターンまたは従業員に引き継ぐことを計画している場合、それは彼らにとって大きな助けになるでしょう。

プロジェクトとプロジェクトの進捗状況について、マネージャー/スーパーバイザーと連絡を取り合ってください。

プロジェクトを完了できなくても心配する必要はありません。あなたはインターンであり、最善を尽くしました。彼らは、そのようなプロジェクトの経験の浅い人を雇ったことには責任がありません。

TL; DR

  • すべてのステップで上司とやり取りする

  • 主な機能をコーディングする

  • GoogleとStack Exchangeからヘルプを得る

  • 終了できない場合でも心配しないでください


1
  1. インターンシップの目標の明確化を求めます-なぜそんなに多くのプロジェクトを割り当てられたのですか?
  2. 割り当てられた時間内では、要求されたプロジェクトを完了できないことを経営陣に明確化する
  3. 時間を最大限に活用する方法の分析を準備します。たとえば、1つのプロジェクトのみで作業し、他のプロジェクトを削除することを提案します。

1つの小さなプロジェクトだけに取り組んだ場合、あなたの時間はあなたの会社に最も役立つでしょう。十分に文書化してください。アーキテクチャ、プロジェクトの目標、プロジェクトの進行状況、およびソースコードの有用なドキュメントの作成に焦点を当てます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.