Починаючи свою кар’єру в якості даних вченого, чи потрібен досвід інженерії програмного забезпечення? [зачинено]


20

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

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

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

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

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


1
Це питання видається поза темою, оскільки йдеться про кар’єрні поради. Доведено, що поради щодо кар'єри призводять до орієнтованих на думку, широких питань, а іноді й до обмежених питань, більшість з яких не спричиняє корисного дискурсу. Якщо ви не згодні з цією думкою, будь ласка, поставте питання про Data Science Meta .
asheeshr

1
Попросіть Quora допомогти.
zihaolucky

Відповіді:


30

1) Я вважаю, що не потрібно сумніватися, чи адекватний твій досвід для кар’єри в галузі даних. Ступінь CSH IMHO більш ніж достатній для науковців з точки зору інженерії програмного забезпечення. Сказавши це, теоретичні знання не дуже корисні без відповідного практичного досвіду , тому я б неодмінно намагався збагатити свій досвід, беручи участь у додаткових шкільних проектах, стажуваннях або проектах з відкритим кодом (можливо, орієнтованих на науку даних / машинне навчання / штучний інтелект ).

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

3) Я вважаю таке визначення вченого даних досить точним і сподіваюся, що воно буде корисним для вашого майбутнього успіху в кар’єрі:

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

PS На сьогоднішній день величезна кількість різноманітних ресурсів на теми наукових даних є вражаючою, але ця програма з відкритим кодом для вивчення наукових даних може заповнити деякі прогалини між вашими BSc / MSc відповідними навчальними програмами та реальністю кар'єри в галузі даних (або, принаймні, забезпечити якийсь напрямок для подальших досліджень та, можливо, відповість на деякі ваші занепокоєння): http://datasciencemasters.org або на GitHub: https://github.com/datasciencemasters/go .


2
+1 Вам потрібно багато інженерного досвіду, щоб бути ефективною наукою про дані, але цього ви не отримуєте в школі. Використовуйте школу для теорії та використовуйте завдання для інженерної майстерності.
Шон Оуен

3
Мені сподобалося, що "Вчений з даними - це той, хто кращий у статистиці, ніж будь-який програмний інженер і кращий у розробці програмного забезпечення, ніж будь-який статистик".
Вабіт

Не могли б ви відповісти на це питання щодо Data Engineerпрофорієнтації.
стор

@stom З різних причин я не можу відповісти на ваше запитання, але я рада поділитися з вами такими відповідними та чудовими ресурсами IMO : 1) medium.com/@rchang/… ; 2) medium.com/@rchang/… ; 3) medium.com/@rchang/… ; 4) medium.com/@richard534/… . Як ви могли помітити, перші три посилання - на публікації серії. Сподіваюся, це допомагає.
Олександр Блех

9

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

Тож я б сказав, що деякі навички проектування програмного забезпечення є надзвичайно корисними, але вам не потрібно здібності для створення величезної програми на C # / Java або будь-якому іншому. Чому мені подобаються деякі навички SW - це просто те, що ваш код, мабуть, виглядає набагато краще, ніж код у того, хто ніколи не програмував заради програмування. Здебільшого останній код дуже важко зрозуміти / налагодити для сторонніх людей. Крім того, іноді ваш аналіз потрібно інтегрувати в більшу програму, розуміння потреб програм безумовно допомагає.


6

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

Хороший вибір курсів, btw. Подумайте також про стажування.

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