Что отличает freelance программиста от корпоративного?
========================================================

 Очень часто слышу от hr, что они ищут программистов (допустим backend), но им нужны разработчики с опытом работы в компаниях от 2-3 лет, и они категорически не рассматривают бывших freelance разработчиков. Говорят, что фрилансеры не знают большего стека технологий, который нужен именно для работы в команде.  
  

Подскажите, что это за стек технологий? 

> Подскажите, что это за стек технологий?

  

По опыту своих коллег:  

Потрындеть по 4 часа в день друг с другом, час пить чай/кофе, ещё час материть заказчиков и последний час чтобы написать пару строчек кода. 

 Проблема как раз таки в том, что нужен опыт командной разработки. То есть если вы фрилансер и вы работаете еще с десятком человек - то это не сильно отличается от "корпоративного" разработчика.  
  

А по поводу стэка... ну как правило фрилансеры одиночки плохо знают git/hg (commit, push что еще надо), не знакомы с такими вещами как CI, CD, не пишут тесты. А что уж говорить о методологиях разработки, их и "корпоративные разработчики" частенько не понимают. 

 Дело скорее не в стеке технологий, а в том, что 2 большие разницы работать в команде в офисе и работать дома фрилансером. Как минимум атмосфера разнится, а по факту - процесс разработки построен иначе. Как вариант - кадровики не хотят связываться с человеком, который "попробует, ему не понравится в офисе" и он свалит обратно во фриланс. 

 Хорошему специалисту-фриленсеру смысла никакого нет устраиваться на обычную работу. Поэтому устраиваются только те, кто не осилил фриленс.  
  

Ну а эти не особо удачливые фриленсеры это все больше синоним "школяр, без опыта по профессии, но очень любящий деньги".  

Минимальный уровень знаний вполне достаточен, чтобы зарабатывать даже и получше тех, что работают в оффлайне по той же профессии.  
  

Но это тупиковый путь развития.  

Точнее - очень-очень медленный. Кое-каких вещей, если не повезет попасть в очень сильную команду с коллегами - просто невозможно будет освоить.  
  

Я работал с фриленсером, у которого 7 лет опыта....  

Гм. Гонору-то было: я опытный разработчик, не нужно мне указывать.  

Работал полгода, взял денег сколько просил (мы не торговались), сделал то, что невозможно использовать.  
  

Потом его работу с нуля переделал годовалый юниор за 3 месяца под моим руководством.  
  

Что за стек - лучше спросить у них самих.  

Этих стеков как собак нерезанных.... 

 Следует разделять удаленную работу и фриланс, однако оба типа работ присутствуют на фриланс-биржах.  
  

Удаленная работа оплачивается на повременной основе, фриланс - за результат.  

Отсюда и минусы фриланса: максимально быстро сделать проект, который будет невозможно поддерживать. 

 Фрилансер - человек более свободный, понимающий цену своего времени. Корпоративщик тратит время и получает ЗП. Мотивации у двух этих типов очень разные. От того, кто работал на фрилансе и раскрутился в офис не затащишь, потому что: а зачем ? 

 По опыту найма фрилансеров скажу: программисты с фриланса долго не задерживаются и зачастую снова уходят на вольные хлеба в поисках лучшей жизни. Поэтому так их с неохотой берут. 

>  Говорят, что фрилансеры не знают большего стека технологий, который нужен именно для работы в команде.

  

И они правы. Человек работающий только на себе и нацелен на получение прибыли от результата своего, будет тяжело работать в команде где выполнение проекта будет зависеть не только от тебя одного, но и от соседа Васи у которого только закончился испытательный срок и ему нужно помогать будет для получения общего результата. Есть кто это легко делает, а в большинстве случаев помогать и обучать особо не кто не старается (жадные на знания).   

P.S. привожу слова своего товарища который с этим столкнулся в начале карьеры backend 

 Основное и единственное отличие сотрудника компании от фрилансера - страх потерять работу 

 Тут сложный момент. Не рискну говорить за всех, но расскажу о своём личном опыте и опыте моего друга.  

Мне на данный момент 33 и я всю жизнь проработал в офисе, никогда ни одного дня не фрилансил. Хотя понимаю, что во фрилансе больше денег. Но. Находясь в офисе ты находишься во взаимодействии с коллегами, а значит возможен **очный** обмен опытом, который, как ни крути, более интенсивен и более значим, нежели заочное общение на форумах. Просто потому что очно общаться проще и продуктивнее. Кроме того, для фриланса важна сильная самодисциплина: слишком много дома есть отвлекающих факторов и, лично мне, трудно находясь дома сосредоточиться на работе; далее, я разделяю среду обитания: на работе я работаю, а дома я отдыхаю. Ввиду таковой психологической установки мне трудно дома переключиться на рабочий режим. Ну и плюс к этому, о доходе в полмиллиона деревянных мне можно лишь мечтать, но меня деньги не интересуют как таковые, а потому мотивацией являются не деньги, а делание полезного и **большого** продукта, т.е. относительно маленькие проекты (с ограниченным сроком разработки и поддержки) меня не интересуют. Потому я всегда работал в ай-ти-шных интернет-компаниях над большими проектами, но никогда не рассматривал возможность трудоустройства в студию.  
  

Далее про друга. Он фрилансит уже более 10 лет. И, когда начинал, то немного троллил на тему "а я вот не работаю на дядю". Спустя 5 лет, он понял, что всё-таки работает. Но только на много разных дядь.  

Далее, есть момент в сложности самообразования: когда он не взаимодействует с большим коллективом таких же умных людей, то обмен опытом происходит гораздо слабее (писал выше), а потому знания необходимо самостоятельно подчерпывать из разных источников (хабр, англоязычные статьи, книжки, блоги умных разработчиков, и т.д.), но вот ведь вопрос: а когда это всё читать?, и каким образом это можно опробовать (если только не вести собственный(ые) опен-сорс проектики)? А значит, если нет жажды знаний, то варясь в зафиксированном стеке технологий начинается профессиональная стагнация. На что друг стал жаловаться мне 3 года назад: он понял, что очень много не знает, что появилось много нового и интересного, но он из-за того, что "просто решал прикладные задачи конкретного заказа" пропустил это всё. Было интересно за ним наблюдать, когда рассказывал ему про Git, DIC, модульное тестирование и т.д. --- то были удивлённые глаза ребёнка.  

Кстати, о детях. Упомянул выше, что для фриланса нужна сильная самодисциплина. У него тоже было такое: когда начал фрилансить, то он уже жил с девушкой (ныне женой) и она никак не могла понять почему нельзя отвлекать: ну вот же он!, что такого, чтобы помочь что-нибудь сделать по дому по-быстрому (например помыть посуду или вынести мусор): работа ж не убежит?, а что такого, чтобы подойти и спросить что он хочет на ужин? В конечном итоге проблема решилась тем, что договорился с ней о том, что в период с 2-х часов дня до 6-ти часов вечера, она к нему даже близко не подходит, не спрашивает, не отвлекает и вообще старается не шуметь. Вроде, всё стало хорошо... пока не родился ребёнок, а вот там уже не объяснить ребёнку, что папа работает и не надо мешать. Поэтому всё закончилось тем, что он снял комнату в офисе и теперь каждый день, как и многие другие люди, ездит работать в офис.  
  

Собственно к чему я это всё. И там и там есть плюсы и минусы. И каждый находит и занимается тем, что ему интересно, к чему больше лежит душа.  

Но лично я с большой настороженностью отношусь к найму фрилансеров в штат компании лишь по одной причине: если недостаток знаний всегда можно восполнить общением и обучением, то вот с коммуницированием возникают (по моему опыту) значительные проблемы: нежеление (а иногда и саботаж) в части принятия используемого код-стайла; нежелание исправлять замечания, оставленные во время код-ревью; притаскивание сторонних говно-библиотек без необходимости; нежелание писать модульные тесты; а в отдельных случаях, даже эгоизм. При этом, уточню, что это относится не ко всем! Далеко не ко всем! Во всей моей практике такое было лишь дважды и то были **молодые** фрилансеры. Так же замечу, что опытные фрилансеры (ввиду большего жизненного опыта) гораздо спокойнее и легче вливаются в команду (такие тоже приходили и у меня был опыт работы с ними). 

 Работа в команде дисциплинирует. В команде, если надо, ткнут носом в ваши косяки (в коде).  

В команде не допустят, что бы вы писали абы как.  

Фриланс - это по большей части сопутствующие услуги, а не серьезная разработка корпоративного уровня. 

 Работа в команде - это немножко другой набор навыков, частично противоположенный свободе фриленса.  
  

Но в данном конкретном случае скорее речь идет о том, что **у подавляющего числа фриленсеров нет нужной квалификации.**  
  

А тот, у кого квалификация есть - просто не пойдет на очную постоянную работу.  

Так как заработок квалифицированного специалиста во фриленсе в среднем в 3-5 раз (по моему 15 летнему опыту) превышает заработок того, кто работает постоянно устроенным. 

 Опытный специалист зарабатывает на фрилансе не на 10-20% больше, а больше в 2-3 раза.  

Ему просто незачем идти на обычную работу.  
  

Те, кто идут на обычную работу после фрилансе - это специалисты из нижнего ценового сегмента, другими - самой низкой профессиональной квалификации.  
  

А тут наступает когнитивный диссонанс:  
  

Человек меряет свою квалификацию по заработку.  

После фриленса он хочет столько же денег - то есть начинающие специалисты меряют себя той же суммой денег и на обычной работе.  
  

Вот тут и сюрприз - на постоянной работе такие деньги платят только опытным специалистам.  
  

Вот и получается - приходит устраиваться на вакансию человек с фриленса с заведомо более низкой квалификацией. Именно об этом и говорят HR. 

 Мышлением, образом жизни, спецификой работы. На самом деле при частом общении со фрилансерами становится заметно что они не такие как все.А связываться с ними не хотят так как они не привыкли работать в команде, комуницыровать. 

 Тут совсем не в стеке технологий дело. Работа в компании - это следование корпоративным правилам, которые могут быть на все, в зависимости от величины компании. На дресс-код. На правила оформления коммита. На стиль кодирования. На то, что контора по утрам поет корпоративные гимны :-) На то, что если сеньор сказал, что передача параметров будет по значению, джуниор должен сделать именно так, а не пытаться "оптимизировать" код, передавая по ссылке. Фрилансеры, особенно долго проработавшие там и уже набившие преизрядное портфолио, как правило этого не хотят понять. Это и не удивительно - фрилансер это менеджер проекта, сеньор, миддл и джуниор в одном лице и любое действие он рассматривает не столько как программер, сколько как менеджер проекта. В компании это как правило не надо - поручили написать процедуру расчета квадратного корня - не нужно возводить вокруг нее маткад :-) 

 Фрилансеров не берут в организации по причине отсутствия у оных такого понятия как трудовая дисциплина, которая у них отсутствует как категория в принципе. Скажите, что вы занимались аутсорсингом - это может прокатить. Фриланс уже себя запачкал, так же как и работа по договору.