SoftServe

от 1500 специалистов
Киев, Харьков, Львов, Днепр, Одесса, Винница, Житомир, Запорожье, Ивано-Франковск, Кременчуг, Кропивницкий, Луцк, Николаев, Полтава, Ровно, Сумы, Тернополь, Ужгород, Херсон, Хмельницкий, Черкассы, Чернигов, Черновцы, Белосток (Польша), Варшава (Польша), Вроцлав (Польша), Гливице (Польша), Познань (Польша), София (Болгария)

1 июля 2019 23:04

Demien Blogan, Game Developer

Розкажу свій досвід проходження на різні курси в цю академію. Рік назад в Рівному появилась можливість попасти на С++ курси. Те, що вони просили на сайті, я знав. Там нічого складного немає. Подав заявку, чекав. Проходження йде в три етапи: онлайн-тест, розмова по телефону на визначення рівня англійської мови, технічна співбесіда (і з HR-ом також). Вискажусь по всіх 3 етапам:

Онлайн-тест С++: Всі питання (їх було 6) були на українській мові, абсолютно не важкі (по ООП та STL), побудовані так, що треба писати розгорнуту відповідь (що мені й сподобалось), та дві задачки. Задачі цікаві, обидві заставили подумати, але я їх вирішив. На все дається обмежений час, але якщо попередньо відкласти всі плани і сконцентруватись, то можна здати спокійно. Я здавав не спокійно, бо находиться на військових навчаннях в цей час, коли тест був доступний. Інтернет роздавав собі через телефон, так ще й 2 рази ноутбук виключався, із-за чого втратив 10 хвилин часу. Тому дуже переживав. Тест (дивно) оцінюється в 1000 балів. Боюсь дізнатись, в чому різниця між оцінками 412 і 413. Здав десь за 900. Не пам’ятаю, як я це дізнався, бо зазвичай після здачі тесту він блокується і ніхто вам оцінку не скаже.

English C++: також подзвонили, ми десь говорили 8 хвилин, мене питали про базові теми, тому проблем не відчув. Дали рівень Pre-Intermediate Low.

Технічна співбесіда С++: перед нею захожу на сайт і бачу, що я на курсах по .NET. Це абсолютно різні напрямки. Звязуюсь з ними, кажу що за біда, мені кажуть що людину на С++ вже найшли тому курси відмінили, але оскільки на думку HR-менеджера .NET і С++ — це майже одне і те саме, то вона почала мене переконувати, що за місяць до курсів я ще встигну перевчитись. Я відмовляюсь і ухожу.

Оскільки на той час мені більше хотілося заробляти на програмуванні, ніж робити те, що мені подобається, то я почав переучуватись на .NET. Відмовився від курсів, бо вважаю що за 1 місяць те що вони просять на сайті від студентів цих курсів, вивчити не можливо. Півроку пройшло. Прочитав 3 книги по C#, 2 книги по SQL, 2 книги по CSS & HTML. Почав вчити JavaScript і тут появляються заново курси на .NET. Я важав що все ще не готовий, але іншого шансу може не бути, тому подав заявку. Круг розпочався знову...

Онлайн-тест C#: я очікував що питання будуть також на українській. На цей раз я був дома, нікуди не спішив. Трішки хвилювався бо це для мене було важливе. І тут бац, всі питання на англійській мові. Це дуже сильно мене збило. Ніхто не попередив, хоча це не складно було зробити. Наступна проблема в тому, що питання були тестові — вибрати правильну відповідь. Питань було десь 20 приблизно. Коли здавав тест, то знімав відео, щоб перевірити себе потім. 2 питання я накосячив, бо просто неправильно перевів. 1 питання не знав. До багатьох питань є дійсно претензії, мол «чому ви задаєте ці питання людям, які тільки на курси збираються?» і «як це питання має показати мої знання в цій області?». З горем пополам здав цей клятий тест, десь на 300 балів із 600. Думав, що далі не пройду. Пройшов. Ну ладно.

English C#: дзвонять. На цей раз знову все те саме, нічого нового, але за півроку я піднявся до Pre-Intermediate Strong. За це я не боявся.

Технічна співбесіда C#: прихожу, нервуюсь. Дуже нервуюсь. Але не показувати це вмію. Прийшов зарано, чекав своєї черги хвилин 30. Вони викликали через кожні 20 хвилин відповідну людину. Там був мій знайомий по курсам англійської. Я вивчив все. Машинально і спокійно міг дати описати контраваріантність, абстракцію, композицію, коваріантність, поліморфізм, наслідування, інкапсуляцію і уйму інших термінів і конструкцій. Він нічого з цього не знав. Я думав, що його не візьмуть. Він іде перший, приходить, я в нього питаю «що питали?». Дякуючи цьому, що він мені сказав, де він налажав, я швидко в інтернеті найшов відповіді на ці питання (і да, в мене їх питали також). Настає моя черга, захожу, сідаю. Сидить HR-менеджер і програміст якийсь. HR-менеджер питає лише одне питання «розкажіть про себе». Розказав. Далі починаються технічні питання. На всі даю машинальні відповіді, спокійно. Все йде легко. На 2 питання не відповів. Було питання по JavaScript, яке я не знав, бо не достатньо вивчив ще його (але це не має бути проблемою на такому етапі) і питання було по Entity Framework. Я коротко пробігся по цій технології і все. Тому не міг дати відповідь але сказав що я знайомий з цим і якщо треба, легко розберусь. Оцінюю себе на 10/12. Ввечері приходить лист, де пишуть що я не пройшов. Лист (як потім я дізнався) заготовлений, причина всюди пишеться одна «є кандидати з кращим рівнем знань». Засмутився, змирився, почав займатись тим, що мені завжди подобалось — ігрова розробка. Потім я дізнаюсь що мого знайомого, який гірше відповідав на технічній співбесіді, взяли. І я поняв, що мене не взяли не із-за «відсутності необхідних знань». Я їм на співбесіді сказав що хотів би розробляти ігри і розумію, що тут я це робити не буду, але це не страшно, бо я отримую насолодження від програмування. Можливо вони подумали що я ненадійний і з часом піду, тому відшили. Глупо. Дуже глупо отшивати по такій причині. Але повторюсь, це я так думаю.

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

Онлайн-тест C++ 2: всі ті самі питання. Навіть через 1 рік їх не змінили. Здав на раз-два, максимально розписавши всі відповіді і написав рішення тих двох задач набагато краще, зрозуміліше і простіше. Знав, що тест точно пройду. Пройшов.

English C++ 2: не проходив, так як в базі вони зберігають мій попередній результат і він їх задовільнив. Вони хотіли звязатись зі мною по телефону (старому), не вийшло, тому звязались по почті. Запросили на співбесіду. До речі, курси ці починаються 4 липня, тому все це, що розказую, було 1-2 тижні тому.

Технічна співбесіда С++ 2: приїхав замучений з Рівного на машині. Оскільки їхав далеко, то розрахувати, щоб рівно в зазначений час приїхати, не зміг. Приїхав на 1 годину раніше. Сидів, чекав. Позвали. На цей HR-менеджер більше цікавиться мною, задає більше питань, серед яких є улюблені «на яку зарплату розраховуєте?», «що ви очікуєте від курсів?» і інші незручні питання. Як мені говорили знайомі і сам HR-менеджер — не очікуйте від курсів, що вас будуть вчить. Дадуть робити проект на групу, допоможуть (можливо) в деяких питанях а так вчіть самі і робіть самі. Я би не доколупувався до цього, якби на офіційному сайті не було вказано що ми будемо вивчати уйму цікавих і нецікавих речей. Тому знайте, що вас чекатиме на курсах (не тільки на С++ а й як мінімум .NET також). Після того, як ми розібрались з питанням «яку зарплату очікуєте?», я зрозумів що треба казати відповідь «1 міліон гривень» і робити серйозне лице. Бо вважаю це питання не доречним. Або ви чітко називаєте зарплату, а потім «торгуєтесь», або взагалі не обсуждаєте її до того моменту, поки перед фактом не поставите. З HR-менеджером розібрались. Задає питання програміст. Більшість з них елементарні. Різниця між константними вказівниками, щось про розумні вказівники, про види пам’яті (стек, куча, статична пам’ять). Були питання, на які я не знав відповіді:
— Чи знайомі з метапрограмуванням?
— Які знаєте патерни? Опишіть їх?
— Де найбільше застосовується паттерн Одинак (Singleton)?
— Для чого треба future і mutex?
— Різниця між TCP i UDP?
— Для чого треба weak_ptr?
І начебто все. Оскільки метапрограмування для початківця — це щось заглиблене і тонке, спеціалізоване, то звісно що я з ним не стикався ніколи і не чув. Чому це питати в людей, які тільки на курси йдуть? Треба вивчити — це не проблема. Найшов книгу чи курси, за 1 тиждень розібрався. По паттернам. Ненавижу, коли від новачків просять їх знати. Я скільки не вчу паттерни, я не розумію, для чого мені їх вчити на такому етапі. Я не пишу такі проекти, де мені їх треба використовувавти, бо я новачок. Я прочитав щось по патерну, зрозумів приблизно для чого він, через 2-3 тижні забув, бо не використовую. Все що знаю, це лише назви їх. Такі речі приходять з досвідом (я вважаю). Чим частіше використовуєш той чи інший паттерн, тим краще його розумієш. По паттерну Сінглтон взагалі дивне питання, бо щоб дати на нього відповідь, треба знати дуже багато проектів, де він в принципі застосовується, проаналізувати, де він застосовується більше і тільки тоді вирішувати. Початківець має це знати? Та люба інша людина, яка дала вам відповідь на це питання, 100% просто десь прочитав що «Сінглтон використовується найбільше тут» і все. По future і mutex — просто не знав, бо я так далеко не залазив в паралельному програмуванні. Да, чув. Да, бачив код. Та й все. Не використовував, тому не можу нічого сказати. Але тут ще раз кажу, розібратись в цьому не проблема. Це навіть за 2 дня можна зробити. По TCP i UDP дивне питання, не розумію, як воно відноситься до С++ і чому його питати в початківся. Раніше знав різницю, коли вчив його. Я думаю, це достатньо загуглити 1 статтю та й все. Єдине питання, де дійсно вважаю, що мій косяк, це по weak_ptr. Я просто чув про нього, приблизно міг промямлити як він працює, але не знав причину його необхідності. На цьому все. Приблизно через тиждень (сьогодні) мені сказали що я не підхожу. Лист ідентичний до попереднього. Причина та сама «є кандидати з кращим рівнем знань». Не знаю, ребят, яких ви вундеркіндів шукаєте. Мені здається, що на курси треба брати людей, які здатні вчитися, хочуть вчитися і саме головне — швидко вчаться. Я вважаю, що я показав ці навички. Якщо вони вам не важливі — ОК, це ваше діло.

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


LinkedIn

Нет комментариев

Подписаться на комментарииОтписаться от комментариев

Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.