Як стати фахівцем на фрілансі
darksladen: У вас якесь неправильне уявлення про фріланс та офіс. Різниця полягає ЗАГАЛЬНО не в тому, де кого битиму по руках.
На фрілансі – кілька поганих відгуків і взагалі роботу не знайдете. В офісі можна роками нічого не робити та отримувати зарплату. А можна на фрілансі на всіх класти болт, виполіти пару гарних замовлень на рік і жити на втіху. А в офісі орати як лось цілий рік, а тебе у відпустку на два тижні поспіль не відпускають.
Тому не потрібно порівнювати офіс та фріланс шаблонно – все залежить від того, як влаштувалися в офісі, як влаштувалися на фрілансі.
Saboteur: Я ж питаю не про те, де і як краще влаштуватися, а як стати цінним фахівцем! І йдеться і йде про офіси компаній, що поважають себе. Коли я працював стажером на бітріксі! у невеликій конторці я як мінімум бачив гарний код, тому що на кожному проекті був досвідчений тимлід, який перевіряв кожен рядок на пулл реквестах. І коли я написав компонент, що складається зі 100 рядків коду і відправив на перевірку, я отримав 30 зауважень, які потім правил дня 2 =) При чому все працювало чудово і код начебто був читаний і красивий з мого боку, але мені вказали, в чому мої помилки і як, а головне чому можна зробити краще. На фріланс такого немає, хіба що при роботі віддалено!
Також наведу приклад Хауді Хо - це канал на ютубі одне "профі", який заробляє скажені за його словами бабки і в принципі я йому вірю, але він тягне максимум на недосвідченого мідла, хоча він думає, що він мега крутий спец.
Проблема ж у тому, що багато фрілансерів думають, що вони роблять все якісно і також вважають себе великими гуру, тому що вони роблять робочі сайтики, але це далеко не так! Покажи їх код будь-якому сеніору так він бипісля 10 рядків дивитися не стане, скаже що все і так зрозуміло.
darksladen: На фрілансі тебе ніхто не посварить за твій поганий код.
На фрілансі кілька скарг від замовників – і роботу взагалі не знайдеш, кількість бірж обмежена, і взагалі на фрілансі сарафанне радіо – річ вкрай важлива.
darksladen: Ви дуже помиляєтеся. Замовнику потрібен робочий продукт. Йому взагалі начхати на ваш код. Ось серйозно. Замовник заробляє не добрим кодом, а працюючим продуктом. І якщо говнокодер напише говнокод, але який при цьому працюватиме - замовник матиме прибуток, а програміст зарплату.
ВСЯ СУТЬ красивого коду зводиться тільки до одного - ЧУДОВИЙ КІД ЛЕГШЕ ЧИТАТИ ПРОГРАМІСТАМ, звідси побічно йде здешевлення розробки та підтримки. ВСІ, ні на що інше красивий код не впливає.
І в офісі може зустрітися така ж ситуація, коли скрізь говнокод, причому набагато частіше, ніж на фрілансі. Тому що в ентерпрайзі головний не програміст і не архітектор, а замовник, який дає тиждень на 10 фіч, і реалізовувати як встигнеш. І якщо не встигнеш – замовник найме натовп індусів, які наговнокодять, але встигнуть, а ти і весь твій офіс – залишитеся без зарплати та без роботи.
Коротше не плутайте якість коду, і місце, де його пишуть. Офіс і фріланс тут взагалі не до чого.
Ви знову про те, що після фрілансу в офісі вам покажуть чари коду. Звідки це ви взяли? Я пропрацював в офісах понад 20 років, і я бачу, що все залежить не від офісу, а від конкретного проекту.
Були проекти, в яких код регулярно аналізувався чимось типу pvpstudio, був скрам і було обговорення тонкощів стилю кодингу, у CI мізків було більше, ніж у стажистів. жвимоги замовника на застарілій версії php або java, що практично не підтримується, і замість CI набір скриптиків, які руками колупають під кожен реліз.
Гівнокод взагалі не має на увазі повільну роботу. Ви посилено плутаєте говнокод та невмілого користувача. А в основному, говнокод виходить, коли потрібно терміново і зараз у продакшен, і роблять, як встигають. Тому що красивий код приносить економію у довгостроковій перспективі.
У команді сидять ТАКІ Ж люди, як і скрізь. Можуть зустрітися хороші, можуть зустрітися ідіоти, що не виховуються. І з чого ви взяли, що в офісі вас поправлятимуть та підказуватимуть? У вас своя ділянка роботи - ви її і робіть. Ніхто за вас вашу роботу робити і перевіряти ще раз не буде. Code review буває різні, і знову не залежить від офісу чи фрілансу. Якщо ж за вами все перевіряти ще раз - то кому ви такий потрібні?
Замість паритися з тим, як і де шукати - просто пишіть код. Читайте статті за вашим напрямом, підглядайте готові рішення з вашого напрямку в open source. З досвідом прийде розуміння, що я цю фічу реалізував ось так, а тут ось так - і ви почнете самі бачити де і як код йде краще.
Стати фахівцем можна ВИКЛЮЧНО працюючи, навчаючись, працюючи і навчаючись. Жоден хороший спеціаліст не витрачатиме на вас час, тим більше безкоштовно. Ну пару питань так, пару складних моментів так, але щоб постійно вас вивчати – ні. Переважна кількість курсів – це для базових знань. Тому всі фахівці можуть працювали і в командах, але хорошими фахівцями ставали поодинці.
GavriKos, Як і на фрілансі - залишать негативний відгук і знизиться кількість замовлень. ви прямий такої гарної думки про кваліфікацію замовників, що вони можуть оцінити технічну якістьпроекту в якому не бум бум.
в офісах набагато більший шанс отримати адекватну оцінкувід досвідченого колеги.але не завжди, так.
а на фрілансі вкрай низька ймовірність нарватися на замовника який сам профі в доручається вам завдання.
так що не треба ля-ля.
darksladen, Я говорю про красивий код образно маючи на увазі красиві рішення, які ЕФЕКТИВНО працюють
це не гарний код. Це ефективна архітектура - код при цьому може бути і говнокодом. Але якщо базова архітектура ефективна, то й говнокод не зіпсує підсумкову продуктивність системи.
Saboteur, У команді сидять ТАКІ Ж люди, як і скрізь. Можуть зустрітися хороші, можуть зустрітися ідіоти, що не виховуються. І з чого ви взяли, що в офісі вас поправлятимуть та підказуватимуть?
на фрілансі цього точно не робитимуть. замовник, як правило, не фахівець у коді - він тільки результат подивиться.
в офісі – більше шансів. Але якщо саме що для навчання - потрібно вибирати правильний офіс. тобто фірму, де роботу з кодом поставлено високому рівні. щоб можна було повчитися. колеги навчатимуть - нікуди вони не дінуться, це властивість людини, нам це подобається (ну ось ви ж тут на форумі цим і займаєтеся і отримуєте оплату як НСВ, як і я).
в офісі шансів більше. але не в довільному офісі.а в офісі обраному для кращого навчання.навіть наплювати на зарплату.
Думаю тобі варто погуглити "Ефект Даннінга - Крюгера".
Ти саме йому і схильний в даний момент. Тобто ти тільки почав, зробив перший крок, він виявився вдалим і ти одразу ж запишався, почавши вважати себе "крутим" фахівцем. Це видно з того, що ти пишеш і як, та й з самого питання.
Хоча код у чужих проектах, зякими мені доводиться працювати в рази гірше за мого і це ще раз підтверджує, що на фрілансі працюють одні невуки і некомпетентні фахівці. Можливо він тобі не зрозумілий, так, але не факт, що гірше. Я свого часу, коли тільки починав, теж таке думав часто. Нині навіть соромно згадувати той час.
Найкращий спосіб розвиватися, це працювати у команді. При цьому ще й спілкуючись з командою, а не просто безмовно кулити до спільного репозитарію.
Дивно, що ви сказали про свої напрацювання та фреймворки, які використовують фрілансери. Я не вважаю це хорошим підходом, тому що це велосипеди, яких має бути якнайменше в нормальному проекті. Ось один із прикладів новачка. Зазвичай вони дві крайності: писати все самому (від ОС до фреймворку); взагалі нічого не писати, використовуючи сотні готових рішень. У тебе другий варіант, часом рішення криється в 2-3 рядках коду, але новачок качає здоровенну бібліотеку або цілий фреймворк. При цьому не рідко буває, що новачок бере готовий фреймворк, вирішення завдання в 2-3 рядках коду у виклику базових функцій цього фреймворку, але ні, він шукатиме окрему бібліотеку, тому що почитати документацію по фреймворку не його.