Коли мова заходить про початок професійної кар'єри для Java-програміста, часто все представляється у похмурому світлі. Початківцям може здатися, що пробитися на ринок — це надзвичайно важке завдання. Скільки б ви не переглядали актуальні вакансії, на будь-яку позицію потрібні люди з досвідом, причому іноді складається враження, що навіть від джуніор Java-кодера роботодавці очікують як мінімум кілька років досвіду роботи, не кажучи вже про надприродні обсяги теоретичних знань. Java-джуніор у пошуку роботи. Як прокачати скіли та отримати практичний досвід - 1Але як отримати цей необхідний для реального працевлаштування досвід, якщо кодерів без досвіду брати ніхто не хоче? Замкнуте коло? Ні, просто одне з типових для початку кар'єри труднощів, яке не так вже й складно подолати. У цьому матеріалі ми зібрали кілька безвідмовних способів вирішити проблему нестачі практичного досвіду.

1. Незалежні проєкти

Почнемо з більш простих і, значною мірою, очевидних порад. Один з найкращих способів отримати практичний досвід у Java або будь-якій іншій мові програмування – це робота над незалежними та аматорськими проєктами. Наприклад, можна приєднатися до відкритого проєкту на Github. Не варто шукати складні чи такі, для реалізації яких потрібен оригінальний підхід та унікальні знання. Все, що потрібно від Java-розробника з мінімумом або взагалі без досвіду — це щоб він надавав можливості для практики: що більше, то краще. З поліпшенням базових навичок можна переходити до більш складних проєктів. Хоча в описах вакансій серед вимог часто фігурує досвід роботи з мовою від двох-трьох років, це не єдиний критерій. Так, компанії шукають людей, здатних працювати зі своїм та чужим кодом, знанням інструментів. Але роботодавці часто звертають увагу і на так звані “м'які навички” (soft skills). Це насамперед здоровий глузд, робота з людьми та комунікації, емоційний інтелект. Для всього цього потрібен досвід роботи над реальними проєктами зі справжніми проблемами та такими ж неілюзорними дедлайнами, разом з іншими кодерами та іншими фахівцями. Іноді наявність soft skills, навчання та бажання прогресувати компенсують в очах наймача відсутність спеціальних технічних знань та не надто багату теоретичну базу. Більше того, навіть якщо від претендента потрібно знання певної технології, якою Java-розробники без досвіду, як правило, не володіють, наявність у резюме кількох проєктів, опис досвіду роботи над ними та уроків, отриманих у процесі, дасть непогані шанси на підвищений інтерес зі сторони роботодавців.

2. Особисті проєкти

Ця порада цілком може стати в нагоді не тільки новачкам в Java, але і досить досвідченим професіоналам. Під "особистими" проєктами маються на увазі ті, якими Java-кодер займається як хобі, для розвитку своїх професійних навичок, з інтересу і просто для розваги, а не з метою заробити. Багато роботодавців при вивченні резюме кодерів звертають увагу саме на наявність у них власних “pet projects”. Чому? Якщо вони є, це говорить про те, що людина дійсно любить свою роботу і прагне професійного зростання не на словах, а на ділі. Java-джуніор у пошуку роботи.  Як прокачати скіли та отримати практичний досвід - 2Ось що про це говорить Орен Аїні (Oren Eini), голова компанії Hibernating Rhinos Ltd, яка розробляє програмні рішення в галузі інфраструктури баз даних: “Коли ми шукаємо нового розробника в нашу команду, одним із визначальних факторів для нас є пристрасть та інтерес до роботи. Ми виявили, що люди, яким дійсно важливо і цікаво те, що вони роблять, як правило, окрім суто робочих завдань, займаються і власними проєктами. Іншими словами, у них є домашні проєкти та проєктики. Це може бути особистий сайт, участь у стартапі друга або просто якийсь код, написаний з метою краще вивчити технологію. Коли ж я бачу, що у претендента зовсім немає сторонніх проєктів або вони залишилися в далекому минулому, для нас це поганий знак”. Краще й не скажеш.

3. Фріланс – безмежне поле для "прокачування" та набору досвіду

Відразу зазначимо, що програмісту-початківцю дуже складно пробитися на фріланс-майданчиках, але спробувати можна. Перехід до роботи фрілансером може бути відмінним проміжним етапом на шляху від зовсім зеленого Java-девелопера до впевненого Java джуніора. Здавалося б, між фрілансом та роботою фултайм Java-розробником різниця невелика. Але насправді на фріланс можна знайти набагато більше перспективних можливостей для малодосвідченого Java-джуніора. Все тому, що фрілансерів частенько наймають для разової чи нетривалої роботи над проєктами. Наприклад, їм довіряють завдання, обсяг яких занадто малий для того, щоб шукати для нього повноцінного співробітника. В англійській для опису таких мікропроєктів є термін "gigs" – "ліваки". Або проєкт сам по собі є експериментальним, або для нього потрібні занадто спеціалізовані навички. Як би там не було, при наймі фрілансерів роботодавці бувають менш вимогливими та обережними, оскільки вони несуть значно менше фінансових ризиків. Відповідно, і шанси отримати першу оплачувану роботу саме на фрілансі у Java-джуніора зростають. Фрілансерів часто наймають представники малого бізнесу, яким потрібна допомога програміста у вирішенні нескладних проблем. Або підприємці, які працюють над якоюсь інноваційною ідеєю з обмеженим бюджетом. Або навіть співробітники великих ІТ-компаній, які у вільний час розвивають власні експериментальні проєкти або концепти. Словом, варіантів маса, але здебільшого це буде невелика тимчасова робота з чітко сформульованими цілями.

4. Розробка у складі групи

Якщо індивідуальна робота над проєктами, чи то pet projects, чи завдання для фрілансерів, з якихось причин “не йде”, можна спробувати інший варіант – розробку у складі команди девелоперів приблизно одного рівня. Спільна робота і вирішення проблем не тільки допомагають швидше вчитися і прогресувати, але й вирішують проблему з мотивацією, яка гостро стоїть для багатьох розробників-початківців, особливо коли вони працюють вдома. Java-джуніор у пошуку роботи.  Як прокачати скіли та отримати практичний досвід.До речі, на форумі JavaRush періодично з'являються теми, де хтось збирає саме такі команди. Там же можна знайти і невеликі проєкти, що оплачуються, для одного розробника.

5. Стажування JavaRush

JavaRush допомагає своїм студентам отримати першу роботу не тільки словом (тобто порадами), але й ділом, пропонуючи власну програму стажування, під час якої можна попрацювати над цим проєктом, вивчити нові технології та відразу ж "обкатати" практичні навички щодо їх застосування. Стажування JavaRush – це три місяці повноцінної роботи над серйозним проєктом разом з отриманням додаткових теоретичних знань. Набір на стажування проводиться чотири рази на рік. Анонси публікуються за кілька тижнів до нового набору на сайті та на сторінках JavaRush у соцмережах. Втім, не стажуванням єдиним. Основний курс JavaRush теж включає не тільки малі завдання та завдання, але й повноцінні проекти, виконання яких приносить чимало досвіду. Зокрема, ще будучи студентом JavaRush, можна написати повноцінну гру, емулятор роботи банкомату або власний архіватор файлів. Як ви бачите, вирішити проблему нестачі практичного досвіду для Java-розробника можна, було б бажання. Саме бажання вчитися та розвиватися, непідробний інтерес до професії – це те, що хочуть бачити працедавці, вивчаючи резюме малодосвідченого фахівця. В описах вакансій для цього ще використовують популярне кліше “очі, що горять.” Ось таким він і має бути, майбутній Java-джуніор: з вогнем в очах і холодною рішучістю опанувати всі тонкощі Java в серці. Принаймні якось так це бачать роботодавці.