Як я можу врятувати стажування? [зачинено]


65

Зараз я працюю інтерном у дуже великій компанії з розробки програмного забезпечення. Посада, на яку я подала заявку, не була спеціально посадою з розробки, але команда, яка мене найняла, хотіла, щоб сервіс-мажор допоміг спробувати розробити для них деякі внутрішні проекти. Я тут вже чотири тижні, і початкове здивування починає зникати. Однак я є єдиним спеціалістом з питань CS в усьому офісі - ніхто з моєї команди, в будівлі чи навіть у сусідніх місцях не має досвіду в розробці програмного забезпечення. Найкраще, що я маю, - це менеджер баз даних, і їх відділ надто зайнятий, щоб підтримувати мене у своїх проектах. Мої товариші по команді допомагають мені навчитися виконувати свою роботу (що для мене важливо робити свою роботу), але немає нікого, хто міг би допомогти мені виконати свою роботу, тобто розвиток.

Проекти, які вони мені давали, мають більший обсяг, ніж усе, що я робив у школі. Це, в поєднанні з тим, що я працюю самотньо, намагаюся розробляти програми з нуля без форми керівництва або навіть чітко визначених цілей, мене дуже хвилює моя здатність бути успішною. Я ледве знаю, з чого слід почати, і тепер у мене, мабуть, менше двох місяців.

Я відчуваю, що мені слід вивчити процес розробки програмного забезпечення, але зараз це все одно, що я відчуваю себе через темну. Це особливо хвилює мене, оскільки в першу чергу я не дуже впевнений у своїх навичках розвитку. Я досліджував і викладав сам, але отримую лише шматочки та шматочки. Вони великі очікування від мене, але я не впевнений у своїх можливостях. Очевидно, що мені потрібно сісти і поговорити зі своїми менеджерами про посаду, в якій я перебуваю, і я маю намір це зробити якнайшвидше (вони часто їздять і поза офісом).

Як я маю справу з цим? Це стажування закінчиться до того, як я про це дізнаюся, і я не хочу залишати ні з чим, щоб показати свій час тут. Вони теж не хочуть цього, і вони завжди доступні, щоб допомогти мені, але без знання програмування є лише стільки, що вони можуть зробити. Боюся сказати їм, що я нездатний виробляти те, що вони хочуть. Як я маю це ставити до них? Я бачу, як інженери-інтерни отримують допомогу від інших інженерів, вчаться робити свою роботу, і мені здається, що я просто сиджу тут, пропонуючи свій час. Будемо дуже вдячні за будь-які поради щодо виправлення моєї ситуації.

Оновлення

Я ціную всі корисні відгуки від усіх, це допомогло полегшити мою думку. Перше, що я зробив - це зустріч з керівниками та керівниками. Ми обговорили, що очікувалося від мого часу тут. Вони розуміють, що у мене не так багато часу, як стажист, і це допомогло поставити сферу на ті рамки, які ми хочемо досягти, що дозволить майбутнім стажистам чи працівникам сподіватися наростити те, що я залишаю. Я також вирішив свої занепокоєння щодо своїх можливостей за відведений час, який вони зрозуміли та очікували.

Я отримав дзвінок від адміністратора бази даних в іншому місці - мій менеджер поспілкувався зі своїм керівником, і вони збираються підтримати мій проект, який тепер дасть мені ресурс для використання, тому я не сиджу, не маючи уявлення, що я " м роблю. Але це лише одна половина. З усіх можливих проектів ми звузили його до двох найважливіших, над якими можна працювати. Що стосується мого іншого проекту, то, як хтось згадував, я, по суті, є провідним архітектором програмного забезпечення, що є унікальною ситуацією для інтерна. Якщо справи йдуть хоча б напів успішно, я думаю, що я здобув багато знань та досвіду, які можуть допомогти мені у майбутніх роботодавцях. На даний момент я думаю, що у мене є міцні основи, щоб почати досліджувати та розвивати свої проекти. Ще раз дякую за відповіді від усіх!


80
Більшість місць очікують, що інтерни - це люди, які не знають, чим займаються, але бажають навчитися та набути будь-якого досвіду. Стажування без наставника звучить так, що вони справді просто хотіли дешевого або безкоштовного розробника, і вони не повинні очікувати, що ви виробите готовий продукт. Дізнайтеся скільки завгодно про весь досвід, а потім, коли ваше стажування закінчиться, рухайтеся далі. Ідеально до місця, де ви можете стажуватися з реальними розробниками програмного забезпечення :)
Рейчел

9
Це , здається, не бути специфічним для програмної інженерії, так що може бути краще підходить більш в Workplace.SE
Барт ван Ingen Schenau

53
"намагання розробляти програми з нуля без будь-якої форми керівництва або навіть чітко визначених цілей" - ідеальне навчання для розробки програмного забезпечення в реальному світі!
Алан Б

7
Ласкаво просимо на сторінку "речі, яких ти не вивчаєш у книгах". Це лише одне з багатьох середовищ, в яких ви можете опинитися, коли закінчите навчання. Я опинився саме у вашому становищі, за винятком того, що я закінчив ступінь, і це було в MIS.
Чад Гаррісон

3
@BartvanIngenSchenau У питанні є кут розробки програмного забезпечення, ОП - це одинокий розробник у компанії. Це створює деякі унікальні проблеми, і я думаю, що деякі з них можуть отримати користь від рішень для розробки програмного забезпечення. Можливо, питання краще підходить для робочого місця, але якщо це не стовідсоткова тема, я не думаю, що ми повинні його мігрувати. Якщо громада вирішить, що питання тут не обговорюється (закривши його як таке), я з радістю перенесу його.
янніс

Відповіді:


124

У мене є погані новини для тебе, Бемлін:

Ви не стажер. Скоріше, ви неоплачений / дешевий працівник.

Стажування - це неоплачена або низькооплачувана посада, де ви можете практикувати свої новонабуті навички в безпечному ((як правило)) спокійному середовищі та отримувати шанс спостерігати за "справжніми" професіоналами у вашій галузі, які роблять "справжню" роботу, отримуючи при цьому зворотній зв'язок на фрагменти, які вони дозволяють змінювати (як правило, під наглядом та / або затвердженням).

Те, що хотіла ваша компанія, насправді не було стажистом, а скоріше безкоштовним / дешевим джерелом розробки програмного забезпечення. На мою думку, це досить часто . Я живу в місті коледжу, і на моєму останньому місці роботи менеджери часто чули, що вони говорять: "Ей, відділ інформаційних технологій занадто зайнятий, щоб робити проект X, давайте подивимось, чи можемо ми здобути в Університеті кілька стажистів, щоб написати його для безкоштовно / дешево! " Ми б бурмотіли, стогнали і стискали зуби до неба, але це була реальність місця, і я міг зрозуміти, чому менеджери пропонують таке. На жаль, результати виявилися не надто великими: програмне забезпечення, яке доставляли інтерни, ніколи не було згуртованим / масштабованим / чистим / тощо (але, якщо чесно, жодного з матеріалів, які ІТ-відділ не видав ...)

Це залежить від вас, що ви робите. Моя порада полягає в тому, щоб просто розвивати все, що ви можете (іноді тиск є чудовим мотиватором), Але ви також повинні планувати проходити «справжнє» стажування в іншому місці, коли ця закінчиться, якщо це можливо.

Тож не звинувачуйте себе, але те, що ви заходили, НЕ було справжнім стажуванням.


18
@Ampt Для мене більшість платних стажувань в основному говорять: "Ми заплатимо вам, щоб ви навчалися разом з нами, і наприкінці цього періоду, якщо все буде добре, ми хотіли б вас найняти" . Це дає сторонам більш тривалий проміжок часу для оцінки один одного, і якщо все піде добре, вони також можуть найняти працівника, який отримує освіту за їхньою системою, і який вони знають, що це добре підходить для компанії. Якщо вони отримують нове програмне забезпечення дешево в процесі, це додатковий бонус, але не очікування.
Рейчел

7
Стажування, як правило, не оплачується? Це для мене новина ...
М. Дадлі

3
Це хороший момент @Ampt. Я відредагував свою відповідь, щоб сказати "неоплачено / дешево" зараз. В цілому я думаю, що відповідь все ще залишається; це місце не дуже хотіло стажиста, вони просто не хотіли платити повну ціну за ІТ-послуги.
Грем

7
@ bhamlin більшість людей без фонового програмного забезпечення буквально не мають поняття, скільки часу або зусиль знадобиться програмним проектам. Немає жодної підказки. На жаль, так воно і є.
Ендерленд

10
Якщо стажування не виплачується (або нижче деякої заробітної плати, можливо мінімальної, якщо пам'ять слугує), вона повинна продемонструвати помітну вигоду стажувальнику, інакше бізнес фактично порушує законодавство про працю. Це дуже важлива відмінність, якщо цей хлопець не отримає зарплату, він може подати позов до компанії дурно. (Або так говорять закони США, не можу говорити з іншими країнами)
Джиммі Хоффа

28

Як спеціаліст CS, у вас є навички вирішення проблем. Незрозуміло, який тип проектів вони хочуть розвивати. Якби мені довелося здогадатися, вони, ймовірно, хочуть, щоб ти допомогла автоматизувати деякі внутрішні процеси. Спершу я спробую отримати велику діаграму зображень про те, які процеси в даний час є, і залежності між відділами для кожного з цих процесів.

Далі я б шукав якісь низько висячі фрукти, які можна було б автоматизувати або принаймні спростити.

Нерозумний спосіб документування будь-якого процесу

Задайте ці питання у такому порядку:

  1. Який вихід? (Отримайте якомога конкретнішу відповідь)
  2. Які входи?
  3. Чи достатньо входів для створення результату?

Якщо відповідь на номер 3 - НІ , то перейдіть за пропущеними фрагментами. Це можуть бути формули, ділові правила чи будь-які інші.

Якщо вихід із першого кроку є занадто складним, тоді розбийте його на керовані фрагменти та атакуйте кожен фрагмент як окремий процес.

Документуйте те, що ви виявили. Визначте потенційну єдину точку відмов. Визначте слабкі або дефіцитні залежності.

Я знаю, це звучить непосильно, але у вас є набір навичок. Просто перетворіть його на шматки розміру для укусу. Якщо ви зможете навчитися пояснювати "видовищні речі", використовуючи "розмовляти з нею дурками", тоді ви будете варті вашої ваги золотом.


1
Члени моєї команди демонстрували мені процеси, тому я маю уявлення про входи та результати та що вони хочуть. У мене є уявлення про те, як я хочу вирішити проблеми, це просто розбити її на частини і скласти все це, що створює мені проблеми (особливо, використовуючи технології, в яких я не такий досвідчений, як бази даних). На щастя, я можу досить добре пояснити "витівку" до "не-вунду". Я думаю, що в цей момент я повинен почати ставити свої проблеми з кодуванням для переповнення стека, щоб побачити, чи можливі мої рішення. Дякуємо за ваш внесок
bhamlin

Що стосується матеріалів бази, то я рекомендую книгу під назвою « Дизайн баз даних для простого смертного » Майкла Ернандеса. Ця книга видатна.
Майкл Райлі - AKA Gunny

1
+1 за "Нерозумний спосіб документування будь-якого процесу". Мені б хотілося, щоб це було помітно поміщено в моєму кубі, коли мене вперше прийняли на роботу для системного аналізу.
dodgethesteamroller

1
@bhamlin: Я пропоную зробити все можливе, щоб зменшити очікування щодо того, що ви збираєтеся досягти. Крім того , розбити його на дуже невеликі проблеми, то , що ви думаєте , що ви можете зробити в день (так , що це буде зроблено в протягом тижня;) , і переважно, речі, які корисні як , а не тільки модулі, які не будуть працювати без серцевина. Таким чином, якщо ви не зможете, ваша робота все одно буде корисна. Крім того, IMO, цей досвід, ймовірно, буде дуже корисним і стимулюючим (хоча і не фінансово), але в кінцевому рахунку створить пригнічуючу пам'ять.
К.Штефф

18

Ось мій погляд на всю цю ситуацію: вони просять більше, ніж ви можете розумно виконати, не даючи вам жодних відгуків чи вказівок, і взагалі роблячи свою роботу не такою приємною. Але є срібна підкладка до цієї хмари Ти чомусь вчишся.

Зокрема, ви вивчаєте таке середовище, у якому НЕ хочете працювати, коли отримуєте ступінь. Ви також дізнаєтесь, як розібратися з занадто великим проектом, щоб його здійснити. І те, і інше, є важливими знаннями, на яких потрібно триматись, оскільки ніхто не збирається давати вам роботу, яку, на їхню думку, є нижче вашої здатності. Вони завжди будуть просити більше, ніж ви можете дати, і ваша робота працювати з ними, щоб керувати очікуванням і доставити щось, що вони хочуть.

Про те, що ви можете зробити тут і зараз. Я б почав, веду журнал про все, що ви робите в кожному дні. Це дає вам відповідальність. Навіть простий кінець дня "над цим я працював сьогодні" дасть вам щось відмовитися, коли вони не отримають того, що хочуть, і приходять шукати відповіді.

Я також хотів би поговорити з вашим безпосереднім начальником і побачити, чи є якийсь спосіб розбити один із цих великих проектів . Якщо вам не зручно робити всю справу, можливо, вони просто запропонують вам зробити дослідження та архітектуру проекту, а може, пізніше ще один стажер буде його реалізувати. Просто будьте зрозумілі, що ви думаєте, що можете розумно досягти за час, який ви залишили на стажуванні, і зробіть це своєю метою. Таким чином, ви все-таки доставляєте щось важливе для свого роботодавця в кінці робочого дня.

Нарешті, подивіться, чи можете ви приєднатися до стажистів з інженерії . Я припускаю, що ці інтерни також розробляють програмне забезпечення, і я не бачу причини, чому те, що ви робите, і те, що вони роблять, настільки відокремлено, що ви не можете навчитися один у одного. Я працюю з інженерами-електриками, програмними інженерами, комп’ютерними інженерами та комп'ютерними науковцями так само над своїми проектами, і кожна людина привносить свої сили в команду. Визначте, де ваші сильні сторони в розвитку, і спробуйте скласти випадок, чому ці здібності добре піддаються інженерній команді.


6
Мої батьки сказали мені, що я повинен прийняти пропозицію, якщо отримаю її наприкінці літа, але я спробував пояснити їм, що ця робота може не допомогти просунути мою кар’єру розробника програмного забезпечення. Вони не хочуть мене слухати і думають, що будь-яка робота, яку я отримую, - це благо, але я вважаю, що маю право відмовитися, особливо якщо це не гарне робоче середовище для мене. Мені подобається ідея ведення журналу, я щодня ношу зошит, тому почну документувати те, що роблю, щоб не з’явилося, що я нічого не роблю. Я вдячний за твою допомогу.
Бемлін

1
Без проблем бамлін. Коли я розпочав цю стажування, я відчував, що перебуваю на тій же посаді. Мій менеджер дуже підходить до інженерної команди, дозволяючи нам структурувати свій день, як нам заманеться (ми також слідкуємо за спритною моделлю розробки, яка це підтримує), і виходячи з класів, де у мене були майже щоденні вимоги до проектів, це було зовсім інакше . Я виявив, що ведення журналу несе мене підзвітною, а також надає документацію, що я, принаймні, роблю щось. Це також допомагає мені підтримувати імпульс день у день і тиждень на тиждень.
Ampt

7
@MLowry Я думаю, що це погана порада. Перебування на робочому місці, яке ви ненавидите, змусить вас фізично і особливо психологічно. Ви ввійдете в депресію, будете ненавидіти кожну мить і будете шкодувати про це рішення кожного дня. Навіщо переживати це? Було б сенс зробити це протягом 6 місяців, якщо фінансова сторона була б надзвичайною. Але, мабуть, це не так, враховуючи, що він на абсолютному початку своєї кар'єри.
Radu Murzea

2
+1 для "Ти щось вчиш". Це робоче середовище, на жаль, не є деякою аномалією. Багато компаній, які спеціально не займаються ІТ-бізнесом, борються з тим, що робити з ІТ-ресурсами, тому уроки, які ви засвоїте тут (розпливчасті вимоги, погані терміни), будуть корисними згодом при спробі виявлення проблемних умов.
Грем

2
+1 для "Вести журнал". Займіться цією звичкою до кінця своєї кар’єри! Коли проект іде добре, ніхто не задає питань. Коли йде погано, вони хочуть забрати кожну чортову річ, яку ви робили / робили. Журнал дуже добре висвітлює вашу шкуру. (краще, ніж звіт про стан).
TimG

13

Поговоріть зі своїм консультантом з питань стажування

Усі відповіді, які я бачив до цього часу, схоже, зосереджені на роботодавці, що важливо.

Однак ви повинні бути налаштовані на цю стажування через програму чи офіс у вашій школі. Я не уявляю, що ти будеш першим у них студентом, який наткнувся на подібну ситуацію. Вони повинні мати можливість направляти вас у певному напрямку.

Навіть якщо вони зараз не можуть вам допомогти (у що мені важко повірити), ви допоможете наступному школяреві, який опиниться в цій ситуації, що не можна недооцінити.


+1, оскільки це має бути першим, що повинен зробити стажист, коли вони стикаються з начебто непереборними труднощами.
verybadalloc

10

Я мав два таких стажування і користувався ними надзвичайно. Є вагомі яскраві сторони, яких, здається, вам не вистачає:

  • У цей момент ви насолоджуєтеся такою творчою свободою, про яку програмісти, які працюють над великими командами програмістів, можуть лише мріяти. Все, від вибору мови, до контролю джерел, до редакторів, до архітектури програмного забезпечення, залежить тільки від вас. Повірте, ви сумуєте за цим, коли його вже немає.
  • Робота з людьми, які мало знають про програмне забезпечення, є важливою частиною процесу розробки програмного забезпечення. Шкільна обстановка дозволяє вам очікувати чітко визначених завдань від людей, які мають великий досвід викладання програмного забезпечення. Навіть у командах програмістів ваші завдання ніколи не є чіткими. Навчившись із цим боротися зараз, ви дасте перевагу.
  • Отримання доменних знань без вигоди наставників є важливою частиною процесу розробки програмного забезпечення. Раз на рік чи два я отримую завдання на кшталт "Станьте нашим експертом з питань X технології". Хтось повинен бути першим у компанії, яка вивчила нову технологію. Ви отримаєте більш цікаві завдання, якщо зможете показати, що людина може бути вами.
  • З вашої точки зору, це відчувається як великий тиск, але ви повинні знати, що їхні очікування щодо вас справді досить низькі. Вони знають, що вам складніше без відповідного наставника. Просто зробіть все можливе, і ви будете добре.

Незважаючи на це, вирішення вашого першого великого проекту може бути надзвичайно важливим. Наступне може допомогти:

  • Постарайтеся не думати про весь проект одразу. Подумайте, що вам потрібно зробити зараз.
  • Отримайте перелік функцій, які потрібно виконати, і наведіть їх на порядок пріоритетності. Таким чином, якщо ви не закінчите весь додаток, найважливіші функції все одно будуть там.
  • Розбийте першу функцію на більш дрібні та менші завдання, поки не приступите до тих завдань, які ви можете закінчити через день чи два. Не бійтеся, щоб вони звучали нерозумно просто. Моє перше завдання щодо нових проектів - це завжди привіт працювати над світом. Особливо, якщо це нова мова чи мова, яку я не використовував деякий час, говорить про те, що моє середовище побудови та інструменти налаштовані належним чином.
  • Часто переглядайте свій прогрес. Не намагайтеся скидати готовий продукт на них наприкінці літа. Покажіть їм принаймні раз на тиждень, що у вас є.
  • Витратьте трохи зусиль, щоб спробувати знайти існуючі проекти та компоненти, які можуть відповідати вашим потребам. Налаштувати існуючу систему набагато простіше, ніж робити її з нуля. Багато компаній потребують подібних внутрішніх додатків. Це я хотів би, щоб я знав про себе. Один із моїх стажувальних проектів в основному відновлював (погано) CRM .

Отож, розслабтеся, зробіть все можливе та навчіться стільки, скільки зможете, будь то програмне забезпечення чи ні.


6

Інші відповіді тут дуже хороші, читайте їх знову і знову і дійсно намагайтеся розібратися в них. Якщо ви зробите це тоді, доклавши більше, ніж середнього зусилля, ви зможете вийти «живими» з іншого боку вашого стажування. З огляду на вашу ситуацію, вона буде жорсткішою, ніж ви очікували, але це може бути варте того.

Це має вирішальне значення, оскільки, коли ви подасте заявку на посаду в іншу компанію 1 , одним із ключових питань буде:

Я бачу, тут ви проходили стажування в компанії X. Як це було? Чому ти пішов ?

Якщо ви зможете потім показати їм, що ви вирішили свою складну ситуацію професійно, це буде рахувати ЛОГО , роботодавці зазвичай дуже вражені чимось подібним.

Навіть якщо це щось смокче, ви можете зробити його цінним досвідом, з якого у вас є можливість дізнатися, що ваші однокласники ніколи не будуть ...

1 = Я сподіваюся, що ви цього отримаєте, тому що залишаючись там буде кар'єрне самогубство (рано чи пізно ... напевно, рано)


2
На це питання легко відповісти. "Мені подобалося працювати в X, і я багато чому навчився під час стажування. Однак, вони не є компанією, що займається розробкою програмного забезпечення. Тому я не думаю, що я б добре розвивав свої інженерні навички, залишаючись там. Я б швидше працював з іншими розробники програмного забезпечення та мають більш спільні проекти ".
selbie

5

У минулому році я був на подібній посаді, де мені довелося розвивати все з нуля і не було нікого з досвідом розвитку. Я закінчив проект, який вони мені дали, але я б не назвав це відшліфованою програмою або навіть ремонтопридатною (оскільки єдиний, хто знає, як це працює, - це я, і ніхто в компанії не розглядав код.)

Ось деякі речі, які я зробив і зробив би, якби опинився в цій ситуації. Про деякі з них уже згадувалося в попередніх відповідях

Здогадатися:

  • Що вони хочуть, щоб виріб робив (входи та виходи, мінімальний мінімум )
  • Які ваші обмеження? (тобто які програми можна / не можете використовувати?)

Це дасть вам картину в голові про те, як повинен виглядати виріб. Намалюйте це на аркуші паперу і покажіть його своєму керівнику / керівнику. Подивіться, що вони говорять про це. Якщо їм це не подобається, запитайте у них, що вони хочуть, змінити його та повторити процес. Якщо їм це подобається, зробіть мінімальну кількість кодування та створіть просту демонстраційну версію.

Покажіть їм демонстрацію (запитайте, чи це те, що вони мають на увазі), це покаже їм ваш прогрес і допоможе зрозуміти, що вони хочуть.

Щоразу, коли вам потрібна допомога з кодування, читайте посібники / навчальні посібники, пошук у Google і, нарешті, публікуйте інформацію про переповнення стека.

Не зациклюйтесь на дрібних деталях. Ви витратите багато часу, якщо це зробите.

Кодуйте невеликими шматками , кожен з яких є основним функціоналом для програми.

Прокоментуйте свій код. Якщо вони планують передати це іншому стажеру чи працівникові, це буде їм величезною допомогою.

Продовжуйте спілкуватися з вашим менеджером / керівником про проект та про ваш прогрес у ньому.

І не хвилюйтеся, якщо не можете закінчити проект, ви стажер і зробили все, що могли. Вони винні в тому, що найнять когось із досвідчених для такого проекту.

TL; DR

  • Комунікуйте зі своїм менеджером кожен крок

  • Код головного функціоналу

  • Отримайте допомогу від Google та обміняйтесь стеками

  • Не хвилюйтеся, якщо не можете закінчити


1
  1. Шукайте роз’яснення щодо цілей стажування - чому вам призначили стільки проектів?
  2. Поясніть керівництву, що протягом відведеного часу ви не можете виконати запитувані проекти
  3. Підготуйте аналіз, як найкраще використовувати свій час. Наприклад, запропонуйте працювати виключно над одним проектом, а інші - відмовитися.

Ваш час найкраще допоможе вашій компанії, якщо ви працювали виключно над одним невеликим проектом. Переконайтеся, що це добре документоване. Зосередьтеся на створенні корисної документації з архітектури, цілей проекту, прогресу проекту та вихідного коду.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.