Що шукають роботодавці в заявниках-самоучках? [зачинено]


23

Я програміст-самоучок, який збирається вийти на ринок праці. Що я хочу знати - це найкращий спосіб показати свій досвід роботодавцям?

Що працедавці хочуть знати про мій досвід програмування? Чи хочуть роботодавці переглянути код, який я написав, чи могли вони бачити програмне забезпечення в дії? Або їх цікавить лише те, наскільки моє програмне забезпечення використовується / скільки воно принесло дохід? Чи варто писати про мій стиль дизайну та програмування?

Моє переслідування: Нещодавно я закінчив університет, де вивчав іноземні мови, і саме в цей час я дізнався, що програмуванням - це те, що я справді хочу займатися. В даний час я гаражний програміст, розробляю програмне забезпечення для клієнта для комерційного використання, продовжуючи самостійно навчатись, але моя мета - почати «правильну» роботу та кар’єру. На додаток, я зараз живу у Фінляндії, але шукаю роботу в Китаї чи Японії (я вивчив обидві мови під час навчання за кордоном).


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

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

4
Погляньте на те, що повинен знати кожен мажор CS . Він підкреслює важливість наявності git-портфоліо досвіду для показу працівникам, навичок Linux / UNIX, різних парадигм програмування та багато іншого. Також дивіться Матрицю компетентностей програміста та безкоштовні курси інформатики Coursera .
Ентоні

@ AnoPäivinen BTW, не варто недооцінювати кількість самоучених людей у ​​бізнесі і не відволікайтеся на те, що може здатися величезними прогалинами, які у вас будуть спочатку. Я працював з чудовими людьми, які були самоучками.
MrFox

Відповіді:


8

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

  • Здатність бути гнучкими та швидко вивчати нові технології (це особливо важливо для програмістів-самоучок)

  • Можливість спілкування з проблемами

  • Здатність вирішувати алгоритмічні та логістичні задачі (важливо для програмістів-аналітиків)

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

  • Чесний і працьовитий.

У багатьох випадках великі компанії попросять вас надати заявнику. Ці вправи складаються з труднощів, але одним із прикладів може бути кодування багаторазового модуля, який перетворює суму в доларах в англійський читаний рядок тексту, який був би записаний на чеку на цю суму, тобто. "$ 999,34" до "Дев'ятсот дев'яносто дев'ять доларів і тридцять чотири копійки".

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


9

Розгадка

Серйозно, я шукаю лише кілька речей у кандидата:

  1. основна здатність до програмування
  2. інтерес до програмування
  3. розуміння, співмірне з освітою та досвідом
  4. вміння вчитися
  5. доброта

Приклади: випускник середньої школи, який вирішив 50 проблем Ейлера: найняти легко. MSCS з 4.0 GPA, який не може пояснити різницю між TreeMap і HashMap: не наймайте.


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

1
@ AnoPäivinen: Він охоплює цілий спектр поведінки, пов’язаних з поводженням з колегами, які всі враховуються для інших. "Ривок" визначається неврахуванням інших.
Кевін Клайн

Я збирався сказати, що я повинен прийти працювати на вас, виходячи з ваших вимог, але я не маю уявлення, що таке дерево / хеш-карта - це lol. Після трьох років життя та дихання програмного забезпечення / веб-розробки я все ще потрапляю на інтерв'ю за речі, про які я ніколи не чув. Мені здається, що я нічого не навчився. Іноді я клянусь, що ви все це вигадуєте. Або це, або я насправді нічого не навчусь, поки мене не найнять.
Джош Кемпбелл

@Josh: отримати копію "Введення в алгоритми". Будь-яке видання.
кевін клайн

1
@papercuts: Якщо ви подаєте заявку на стажування, я думаю, було б доцільно згадати, що ви вирішили n проблеми Ейлера, де n> 20. Ваша мета з резюме - отримати дзвінок. Інформація, яка демонструє певну здатність насправді програмувати, не зашкодить.
кевін клайн

3

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

По-перше, ніколи не пишіть "зайнятість у Китаї чи Японії" . Це звучить як "Фінляндія чи Австралія" (без образи). Вони абсолютно різні, і вам доведеться вибирати.

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

Насправді у вас є два найкращі варіанти:

  • Випускник у країні свого майбутнього. Це дасть вам (а) знання про національні стандарти; (b) ділові контакти; (c) офіційний диплом (який може бути важливішим, ніж ви думаєте). Також, як і скрізь, великі компанії контактують з університетами, щоб знайти найвидатніших студентів, і ви маєте хороші шанси стати таким.
  • Зверніться до багатонаціональної компанії, яка має філії в Китаї. Ви можете поговорити з HR та погодитись працювати на місцевій посаді певний час, а потім переїхати в межах однієї компанії (менше документів). Маючи мову та культурне походження, вам було б легше. І до моменту переїзду ви вже будете мати практичний досвід ІТ в компанії.

Дякую за розуміння! Звичайно, це може здатися дивним, що я вирішую між Китаєм (Шанхай) та Японією, вони дуже різні, але мені обоє дуже подобаються. Але я ще не можу вирішити, хто з них кращий, тому я прагну до обох і бачу, що відбувається. Цікаво, чи це має сенс!
Ано Пайвінен

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

2

Що працедавці хочуть знати про мій досвід програмування?

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

Чи хочуть роботодавці переглянути код, який я написав, чи могли вони бачити програмне забезпечення в дії?

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

На додаток, я зараз живу у Фінляндії, але шукаю роботу в Китаї чи Японії (я вивчив обидві мови під час навчання за кордоном).

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


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

2

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

Переконайтеся, що ви знаєте більше, ніж просто написання коду, переконайтеся, що ви знаєте, що є ремонтом і як його досягти; що таке СОЛІД, чому він вважається хорошим і потрібним; шаблони дизайну тощо.

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


2
Ось що я зазвичай знаходжу відсутнім у CS-програмах! Можливість декламувати O (n) для різних контейнерів, але ніколи не використовували налагоджувач.
Мартін Бекетт

2

Що працедавці хочуть знати про мій досвід програмування? Чи хочуть роботодавці переглянути код, який я написав, чи могли вони бачити програмне забезпечення в дії?

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

Або їх цікавить лише те, наскільки моє програмне забезпечення використовується / скільки воно принесло дохід?

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

Чи варто писати про мій стиль дизайну та програмування?

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


Гаразд, мені буде менше піклуватися про те, як моє програмне забезпечення опиняється в руках клієнта, і згоду на його написання.
Ано Пайвінен

2

Навички самонавчання

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

Що працедавці хочуть знати про мій досвід програмування? Чи хочуть роботодавці переглянути код, який я написав, чи могли вони бачити програмне забезпечення в дії?

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

Ще деякі моменти, які можуть бути дуже важливими для роботодавців:

  1. Добре ставлення
  2. Пристрасть до програмування
  3. Комп'ютерний досвід - щоб зрозуміти, як ви розумієте основи роботи комп’ютера та програмного забезпечення
  4. Робоча етика та м'які навички
  5. Здатність до навчання та самовдосконалення
  6. Навчальна історія
  7. Попередній досвід роботи
  8. Відсутність заздалегідь задуманих уявлень
  9. Здатність задавати питання - Так, задавати питання, а не робити припущення.

1

Окрім інших відповідей - перелічіть інструменти, які ви засвоїли, навчаючи себе.

Я підготував випускників шкіл з великими іменами з великими іменами, які наполягали на написанні коду Java в блокнот Windows та на використанні компілятора командного рядка («краще так» - для однокласної програми). Більшість робочих місць використовують IDE та інші засоби програмування. І навчити їх користуватися Eclipse було простіше, ніж намагатися навчити їх SVN.

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

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


Гарний момент у вивченні різних ВІД. Моє ставлення до цього часу було "whadev, я дізнаюся їх, коли потрібно".
Ано Пайвінен

1
Я бачу вашу думку щодо IDE, але я б взяв когось із лише командним рядком Java з досвідом роботи над розробником BlueJ!
Майкл К

0

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

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


0

Що я хочу знати - це найкращий спосіб показати свій досвід роботодавцям?

Якщо дипломи недоступні, відомі сертифікати є плюсом. Деякі сертифікати не вимагають курсу, ви можете скласти лише іспит.

Що працедавці хочуть знати про мій досвід програмування?

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

Чи хочуть роботодавці переглянути код, який я написав, чи могли вони бачити програмне забезпечення в дії?

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

Або їх цікавить лише те, наскільки моє програмне забезпечення використовується / скільки воно принесло дохід? Чи варто писати про мій стиль дизайну та програмування?

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

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