Прилики и разлики между продуктови и аусорсинг компании

26 октомври
Денис Циплаков
Прилики и разлики между продуктови и аусорсинг компании
Денис Циплаков, Solution Architect в глобалната софтуерна компания DataArt анализира общото и различното между ИТ компаниите в зависимост от това дали разработват собствен продукт или оперират на аутсорсинг принцип. Ето кои според него са основните фактори, влияещи на комфорта на работа в единия и другия случай, както и какви са преимуществата и недостатъците по отношение на този критерий:
„Преди време бях помолен да напиша няколко абзаца за разликите между продуктови и аутсорсинг компании. Тези няколко параграфа в крайна сметка се превърнаха в доста дълга статия, но заглавието остана същото. Споделям с вас изводите, до които достигнах“:

НЕУМЕСТНО РАЗДЕЛЕНИЕ

На първо място, подробностите за функционирането на даден проект са много по-забележими от гледна точка на разработчика, отколкото на бизнес модела (аутсорсинг или собствен продукт). С други думи, всичко, което ще бъде казано тук за аутсорсинг и продуктовите компании, е осреднено. Следователно, когато отговаряте на отправена към вас оферта за работа, трябва да вземете предвид конкретна компания или проект, а не толкова бизнес модела.

False dilemma

Второ, разделението: „аутсорсинг – собствен продукт“ е доста повърхностно. Всъщност, съществуват доста повече видове компании: продуктови стартъпи (има толкова много, че дори няма да се опитвам да давам примери), наложени продуктови компании (като JetBrains), компании, за които ИТ не е основната област на дейност (напр. големи банки). 

На пазара оперират и компании, които предоставят на клиентите услугата за разработване на сложни решения, без да се преместват екипи и да ги наемат „по проекта“. Има и такива, които създават продукти с отворен код и печелят пари, като ги адаптират към нуждите на клиентите. Съществуват толкова много бизнес модели, че е невъзможно да се създаде ясен и конкретен списък.

Също толкова трудно е да се направи разлика между бизнес моделите на продуктовите компании. Струва си да се определи какво считаме за продукт. Да кажем, IntelliJ IDEA или MS Office са разбира се продукти. Gmail е онлайн услуга, но можете да я наречете продукт за по-голяма простота. Microsoft Azure е облачна услуга, но също така и продуктова и консултантска услуга.

От друга страна, има ясно разделение на компаниите на продуктови и аутсорсинг от гледна точка на пазара на труда.

бизнес модел

Аутсорсинг компаниите предлагат услуги за разработка на софтуер на голям и доста хомогенен пазар, като наемат програмисти (на договор или на проектен принцип) от пазара на труда. Може дори да се твърди, че всъщност аутсорсинг компаниите купуват услуги от разработчици, „препакетират“ работното им време по един или друг начин и го продават на клиентите. Броят на продадените работни часове според мен е един от най-важните фактори, влияещи върху доходите на компанията.

Ако отидем малко по-далеч - доходите на такива компании са пряко свързани с броя на програмистите, работещи в тях. От гледна точка на компанията е изгодно разработчиците да искат да работят за нея и да няма текучество. Но осигуряването на идеални условия за работа е практически невъзможно. Също така е важно, че през 2020 г. аутсорсинг компаниите са много сходни помежду си - всичко, което може да ги различава една от друга, вече е открито и използвано при преговори с клиенти. Разбира се, има някои разлики. Доста компании се отнасят към човешкия ресурс с не чак толкова голям приоритет, докато други, като DataArt например, инвестират много средства в удовлетворението и комфорта на служителите си. За програмистите тези разлики са най-забележими при преминаване от един проект към следващ.

От друга страна, печалбите на продуктовите компании зависят от продажбата на продукта (например съдържание на уебсайт, облак или нещо друго). Продажбите са независими от броя разработчици, участващи в производството на софтуерни решения. Ако даден продукт се продава добре, разходите за неговото производство и условията на работа на разработчиците могат да бъдат много добри (или изобщо да не са на ниво, зависи от собствениците на бизнеса). И обратно, ако даден продукт се продава лошо, независимо колко ефективно работи екипът - условията на работа няма да бъдат задоволителни. Освен това за много продуктови компании софтуерът може да не е единственият продукт, а само допълнителна дейност, която носи печалба.

И така, важно е дали компанията продава работно време (или нещо, в което това работно време е обгърнато като консултантски услуги) или продукт. Нека наречем първия тип аутсорсинг компании , а втория - продуктови компании . Бих искал обаче да отбележа, че всичко, което ще намерите по-долу, е вярно само за малки и средни компании. По-големите компании с десетки хиляди служители имат свои правила.

Заплащане

Аутсорсинг компаниите предлагат доходи, които са около средното ниво за пазара. Такива компании не могат да си позволят да плащат много над средното равнище, тъй като това би повлияло негативно на бизнеса. От друга страна, те не могат да плащат по-малко, отколкото налага пазарът, тъй като конкуренцията лесно би им отнела повечето специалисти. В този смисъл заплатата може да варира с не повече от 25%.

В продуктовите компании 30 души са в състояние да създадат продукт, който ще спечели стотици милиони за тях. Заплатите на програмистите, особено за ключови разработчици, могат да бъдат наистина високи. Те се определят не от търговски, а от психологически мотиви, т.е. колко работодателят е готов да плати на разработчиците.

Правилото и в двата случая е просто: ако плащате малко, повечето професионалисти ще изберат да напуснат. Сигурно ще има такива, които не правят нищо и ситуацията ги устройва, но те ще са изключения.

Не са много работните места, в които за работодателя да не е приоритет да избегне излишни разходи и без колебание е готов да плати заплата, която да е много по-висока от средната за пазара (ако знаете за такива места, уведомете ме!). Това е още по-рядко срещан феномен в аутсорсинга. Освен това, за да станете ключов, ценен служител, трябва да работите по-дълго (5-10 години).

ИНТЕРВЮ

Процедурата за провеждане на интервюта за работа в аутсорсинг компании е съвсем стандартна. Тя включва техническо интервю за определяне на нивото на уменията на кандидата, в някои случаи - тест по английски език, HR част, а често и интервю с представител на клиента. Всички тези стъпки са нещо като ритуал. В някои компании можете да очаквате практически тест, който продължава 2-4 часа.

В продуктовите компании процесът е идентичен, но често той включва и специфични елементи в зависимост от  бизнеса на компанията и нейната корпоративна култура.

image mobile block

програмни технологии

Аутсорсинг компаниите продават това, от което се нуждае пазарът. Те се фокусират върху 10-15 позиции от списъка на 20-те най-популярни технологии. Има голяма вероятност клиентите да попитат за тях и ще бъде много по-лесно да ги продадат. Ако се интересувате от Crystal, Elexir или Julia, ще ви е трудно да намерите място в аутсорсинг компания. Разбира се - не е и невъзможно.

Продуктовите компании се фокусират върху... продукта. Съвременният ИТ свят е така организиран, че продукти, идентични от гледна точка на потребителя, могат да бъдат изградени, използвайки повечето технологии, предлагани на пазара. Единствената разлика е броят на проблемите. Уеб сървър на bash? Добре. GUI за Windows, направен в Perl? Няма проблем! Python device driver? Google показва 34 700 000 страници по тази тема. Следователно, обхватът на технологията от гледна точка на продуктовите компании може да бъде по-голям, но може също така да попаднете в компания, в която през следващите 20 години този обхват изобщо да не се промени.

знания и умения

Сега нека погледнем от малко по-различна гледна точка: колко задълбочени трябва да бъдат знанията и уменията за разработчиците в единия и в другия случай. Този аспект е важен по две причини. Първо, когато правите това, което обичате, сте нетърпеливи да решавате сложни задачи. Малко хора искат да пишат алгоритми c = a + b през целия си професионален път. Второ, когато по една или друга причина решите да смените работното място, новият работодател ще се интересува от това колко напреднали са вашите познания за технологиите, споменати във вашето CV. Отговори като "Да, използвах Java, но нямам представа какво е equals и hashCode" няма да ви помогнат да бъдете нает в сериозен проект. Но разбирането на нюансите на уеб контролерите Spring MVC, демонстрирани по време на интервю, може да повлияе на бъдещата ви заплата. Трето, програмистите понякога имат шанс да работят върху нещо, което никой друг на света не е правил преди. Ако имате късмет, ще работите в наистина иновативен проект, което ще ви помогне в изграждането на нови познания и в професионалното развитие.

DA guys

Компаниите рядко решават да възложат критични части на системата на външни изпълнители. Ако системата се състои от 200 модула, прилагащи бизнес логика и ядро, създаването на последното е малко вероятно да бъде делегирано на аутсорсинг компания. Познавам няколко такива случая, но това са изключения. 

Нещата стоят малко по-различно в продуктовите компании. Ако трябва да се направи висококачествен продукт, ще трябва да изпълнявате всички сложни задачи на свой собствен риск.  На пазара има много продуктови компании и ако наистина искате да се занимавате с машинно обучение в приложение за разпознаване на лица например, най-вероятно ще намерите нещо подходящо. Трябва само да помните, че - първо - можете да търсите такава компания дълго време, второ - желанието ви да работите с тази технология може (косвено) да бъде приспаднато от вашата заплата.

УСЛОВИЯТА НА ТРУД

Прекарваме 1/3 от живота си на работното място. Струва си това време да мине в комфортни условия. В повечето случаи условията на труд в ИТ компаниите в един град са подобни, както и заплатите. Но в ИТ света има икони като Google. Има слухове, че служителите прекарват цялото си време в офиса (и спят в миниванове, паркирани пред сградата). Това, разбира се, е изключение и рядко чуваме за подобно ниво на комфорт.

Аутсорсинг компаниите се опитват да се разграничат от конкурентите си, но ако отхвърлим детайлите и анализираме общото ниво на удобства, те се оказват почти идентични. Невъзможно е да не забележите, че качеството на офис площите се увеличава всяка година. Това е прост механизъм - когато една компания направи крачка напред и подобри комфорта на служителите, всички останали се опитват да го поддържат. Когато смених работата си за последен път, избрах DataArt след първото посещение в офиса и именно с това компанията ме спечели (освен всички останали фактори).

Продуктовите компании обикновено следват общите тенденции, но има офиси, които определено са по-привлекателни от други - като Mojang.

За такива компании е много по-лесно да имат свои собствени офиси, декорирани в уникален стил. От друга страна, офисът на един от моите приятели беше във фабрика и за да стигне до него, трябваше да носи шлем и защитен костюм. Това са подробности, с които е добре да се запознаете предварително, тъй като понякога офисите на продуктовите компании са и производствени центрове, в които не работят само програмисти.

КУЛТУРА

Вътрешната култура в компанията обикновено се разбира като набор от норми, ценности и поведения, демонстрирани от по-голямата част от екипа. Културата може или да носи комфорт на служителите или да бъде токсична за тях. Всеки има индивидуални предпочитания, така че е трудно да се дефинира ясно кое е лошо и кое е добро, но тук ще се опитам да опиша няколко ключови аспекта.

Аутсорсинг компаниите си сътрудничат със стотици клиенти от различни страни. Когато продават услуги, те трябва да станат като другите мултинационални компании - клиентите не обичат да работят с разработчици от култура, която изобщо не разбират. Фирмите са различни, разбира се, но определено имат международен подход.

DA Corporate Cultre Comic Strip

Продуктовите компании са много по-разнообразни и тяхната вътрешна култура се влияе от областта на дейност. Производителите на игри се различават от софтуерния отдел на петролните компании например. Изборът е огромен, просто трябва да решите кое ви подхожда най-добре.

УПРАВЛЕНИЕ

Последният важен аспект според мен са управленските въпроси, които могат да бъдат разделени на две части: управление на проекти и управление на ниво компания. Стилът и подходът за решаване на проблемите и в двете области оказва значително влияние върху ежедневната работа на програмистите.

Agile методологията се използва широко в аутсорсинга. Тя съчетава различни подходи, така че детайлите се различават в зависимост от компанията и дори от конкретни проекти, но основните елементи (tickets, sprints, stand-ups) обикновено са сходни. В повечето случаи програмистът е само ръководител на проекти и той не е „шеф“, а по-скоро служител със сложни, но разбираеми функции. Управление от типа „Аз съм шефът тук, а ти си никой“ обикновено е крайно нетипично за една аутсорсинг компания.

Working process

В големите продуктови компании екипите за разработка се управляват по подобен начин, тъй като методологията Agile доказа своята ефективност. Но там, където съпротивата срещу промяната е висока, все пак ще намерим отдели, сектори, повече бюрокрация и т.н. Това дава ясна картина на кариерния път - от junior можеш да станеш мениджър на отдел, но ми се струва, че през 2020 г. това не е най-популярният модел за професионално развитие .

В заключение бих искал да подчертая още веднъж, че съм описал само общи тенденции. Срещал съм изключения за всяка от тях, така че основният принцип при търсене на работа трябва да бъде разбирането на бизнес модела и стратегията на компанията. Ако работодателят търси програмисти за своите клиенти и мениджърите от страна на клиента ще управляват екипите, струва си да проверите кой е клиентът и какво изисква проектът. Ако дадена компания се занимава с разработка на софтуер, а не „продава“ разработчици, има голяма вероятност вашите знания и опит да бъдат оценени и няма да бъдете наети само по време на конкретен проект, а за постоянно. 

Избор винаги има, затова е важно да вземете предвид всички фактори, за да се спрете на най-подходящото работно място за вас, което да е полезно от гледна точка не само на заплащане, но и натрупване на знания и професионален опит, както и постигане на личен комфорт.