Компанії не прагнуть зараховувати Ваш фрілансерський досвід до активної практики. І правильно роблять. Чим ближче від домашнього холодильника працює програміст, тим нижче його ККД та розвиток. Фактично фрілансер програє по всьому:
- по взаємодії з командою;
- по скілах;
- по трудовій дисципліні;
- точності планування.
Щоправда, якщо трудову дисципліну ще можна надолужити, взаємодію з командою швидко налаштовують, якщо ти не повний соціопат, то з навиками можуть бути серйозні трабли — простий смертний ніколи не прокачає за кілька місяців річний багаж знань та досвіду. Тут потрібно постійно прюцювати.
Є кілька шляхів не деградувати:
- щоразу брати проект з новими вимогами, де в середньому 30%-60% незнайомого;
- навідуватись на курси, платні курси по корисних темах;
- самоосвіта через відео уроки, курси онлайн тощо.
Перший спосіб еволюційний
Він є найбільш комфортний в аспектах планування — те, що вчити вказує замовник. Проте найбільш стресовий по дедлайнах — той же клієнт буде не в захваті, коли ви розтягнете тижневу на місяць. До того ж є висока імовірність поверхневого вивчення — аби прискорити процес девелопери зазвичай відкладають розширену матчастину “на потім”…
Я так розширював свої горизонти на початку кар’єри, коли переповз в програмування з журналістики, не найкращий спосіб.
Платні курси
Напрочуд ефективна річ, особливо, якщо їх організовують великі компанії для своїх актуальних та майбутніх співробітників. Те, на що варто звернути увагу, на мою думку — щоб курси були сфокусованими.
Тобто жодних марафонських забігів на 9 місяців, з вартістю півтори тисячі умовних — на них Вам прокачуватимуть широкий кругозір, а потрібна вузька спеціалізація. Максимум 2-3 місяці, з глибинним вивченням аспектів, що Вас цікавлять.
Самоосвіта
Цей пункт в кінцевому методі дає те ж саме, що й еволюційний, з єдиною відмінністю — тут Ви ставите навчання перед комерційним замовленням. Суть методу в тому, щоб вкладати 4-10 годин в тиждень на самоосвіту, заповнюючи пробіли в навиках.
Проте де взяти пробіли? Дорожня карта для самоосвіти програміста
Якщо Ви просто відкриєте книгу з програмування, там буде купа нудних аспектів, котрі не прив’язані до практики. Натомість вчити потрібно так, щоб знання знадобились вже найближчим часом. Як прицілитись на такі знання? — є кілька варіантів:
- співбесіди. Формуєте резюме, виставляєте його на джині, або розписуєте профіль на linkedin. Специфіка сервісів така, що Вам самі писатимуть HR-и та якщо все буде ок, запрошуватимуть на співбесіди. Головне, юзати даний метод помірно, якщо Ви плануєте залишатись на разі на вільних хлібах — в такому випадку ви фактично тратите час співробітників компанії на себе. Цим не варто зловживати хоча б з етичної точки зору;
- екзамени та сертифікації — просто бомбезна річ. Знаходимо сервіс, який сертифікує девелопері і пробуємо приміряти свої знання. Тут я користуюсь двома джерелами: tests4geeks та zend certification (якщо надумаєте проходити, приготуйте ~$150. Особисто я поки листаю запитання до екзамену). Бомбезність сервісів в тому, що там ніколи не морочать голову самою теорією — запитання завжди переплетені з практикою. Відтак, спробувавши пройти бодай один екзамен, матимете непоганий список для закупок;
- еволюція безкоштовних курсів. Поясню: наприклад, Ви проходите якийсь курс від а до я, але залишаєте свій акаунт активним. При будь-яких оновленнях курсу Вам приходитимуть сповіщення про нові програми. Такий підхід наприклад в codecademy, це різносторонні курси, де можна спробувати як java, так і ruby, python — часто розуміння синтаксису та логіки інших мов лише сприятиме якості написання Вашою основною мовою програмування.
І наостанок пам’ятайте, що як тільки Ви перестаєте розвиватись, то починаєте деградувати. Просто ніколи не зупиняйтесь в розвитку, смачного 🙂