Продавець Интернет магазин розвиває свій бізнес на Prom.ua 10 років.
Знак PRO означає, що продавець користується одним з платних пакетів послуг Prom.ua з розширеними функціональними можливостями.
Порівняти можливості діючих пакетів
Bigl.ua — приведет к покупке
Кошик
164 відгуків
Червоноткацька 84 корпус 26, Київ, Україна
+380 (44) 500-92-36
+380 (50) 810-72-22
+380 (63) 208-22-22
Торговое и складское оборудование
Кошик

Шлях програміста: через що доведеться пройти джуніору, щоб стати синиором

Шлях програміста: через що доведеться пройти джуніору, щоб стати синиором

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

Половина розробників Prom.ua стали частиною команди, спочатку прийшовши на позицію junior-спеціаліста. За нашими спостереженнями, в середньому за 1,5-2 роки джуниоры проходять шлях до middle-розробників, а ще через 2-3 роки – від middle до senior. А при бажанні – долають цей шлях ще швидше. Про те, на що варто звернути увагу студентам, влаштовуючись на роботу або інтернатуру, у чому відмінність роботи в аутсорсе і в продуктовій компанії, а також про те, як адаптуватися джуніору у великої девелоперської команди, спеціально для AIN.UAрозповідають співзасновник і технічний директор Prom.ua Тарас Мурашко і розробники продукту компанії.

IMG_9650

Тут і далі: фото нового офісу Prom.ua

Про освіту

Якщо ви замислюєтеся про те, щоб почати працювати девелопером, найголовніше – отримаєте правильне освіту в університеті з хорошими IT-кафедрами. В Україні такі є в КПІ, Харківському політехнічному та Національному університеті ім. Т. Р. Шевченка. Це база. Далі — все залежить від вас і того, чи готові ви займатися самоосвітою в режимі нон-стоп, проходити різні онлайн-курси, лекції. Якщо ви новачок – вам підійдуть Codecademy іCodeschool. Для вдосконалення знань — Coursera, Edx, Udacity. Також в допомогу — пошуковик по корисним курсів Class Central.

Не варто намагатися освоїти одночасно декілька мов програмування. Краще вибрати один, відточити на ньому майстерність, тоді і інші мови освоїти буде простіше. До речі, Python — відмінний мову для початку навчання, оскільки він простий в освоєнні і код на ньому пишеться дуже швидко.

Перш ніж претендувати на посаду junior-розробника варто отримати досвід — практична обкатка і реалізація своїх ідей, робота в opensource-проектах та на фрілансі будуть дуже корисні.

Найцінніші якості програміста – відмінне логічне мислення, самомотивація і захопленість програмуванням. Саме ці якості потрібні для того, щоб стати хорошим розробником. Важлива також наполегливість, якщо ви хочете працювати в якійсь конкретній компанії. У нашій практиці були хлопці, які приходили на співбесіду чотири рази — кожен раз вони знали все більше і більше, але все одно недостатньо. Але через 3-4 роки наполегливості і праці все-таки стали частиною нашої команди.

Про аутсорсе і продуктових компаніях

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

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

Перше робоче місце: чого чекати?

Ігор, девелопер:

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

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

Антон, тім-лід:

«Спочатку ментори довіряють «джун» невеликі, але потрібні для роботи проекту таски (наприклад, замінити кнопку, способи взаємодії елементів сторінки тощо). Я, наприклад, знав лише базові функції, але не знав деяких архітектурних особливостей, зв'язки моделей з базами даних, деякі фреймворки, бази даних (наприклад, PostgresQL), API і т. п. У мене близько року пішло на те, щоб вивчити різні «куточки» проекту. А потім я швидко набив руку».

Початківці девелопери Prom.ua виконують такі ж завдання, як і всі інші. Так, звичайно, складність завдань у джуна та «бувалого» — різна, але ступінь важливості цих завдань проекту – така ж, як у більш досвідчених колег. І на продакшн виконані джуниорами таски йдуть рівно так само, як і у всіх. Крім того, через якийсь час видно, як працює новоприбулий і який робить внесок. Почасти тому немає потреби в якихось титулів, «погонах».

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

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

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

«І насправді, це круто, і це плюс – працювати з людьми, які розумніші за тебе і мають величезний досвід розробки, яким з тобою поділяться. У нас з цим дуже просто: достатньо підійти до будь-якому розробнику, тім-ліду або навіть СТО – і ти завжди отримаєш допомогу і рекомендації. Напевно, було б, сумно прийти в компанію, в якій ти новачок, але знаєш значно більше, твої нові колеги».

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

IMG_9683

Що повинен зробити молодий розробник, щоб влаштуватися на роботу:

  • Зробити власними руками будь-який проект (сайт, інтернет-магазин, прості програми, тощо).
  • Постійно вчитися: просто прийміть той факт, що ви не найбільший у світі молодець. Завжди буде хтось краще, професійніше, молодша, з великим обсягом знань і великим досвідом їх застосування. В IT те, про що ви прочитали вчора на «Хабре» вже застаріло, в кращому разі, рік тому.
  • Бути цікавим, як кіт: вивчати і розбиратися в нових технологіях; цікавитися новинками у технологіях розробки і пробувати їх застосовувати;
  • Шукати будь-які можливості для стажування/інтернатури, звертатися увага на різні курси з можливістю працевлаштування.
  • Знайти і активно залучатися до ІТ-спільноти розробників і ходити на їх зустрічі.
  • Вибираючи компанію мрії, активно просувати себе і продзвонювати рекрутерів після відправлення резюме.
  • Багато працювати: якщо хочете працювати в хорошій компанії, яка піклуватиметься про вас, платити гідні гроші і розвивати вас, то будьте готові багато працювати.

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

Автор: Тарас Мурашко, співзасновник і технічний директор Prom.ua

Інші статті

Наскільки вам зручно на сайті?

Розповісти Feedback form banner