За програмисти: Как да оценяваме потенциалното ново работно място

Публикувано / posted 2016-10-14 в категория / in category: Некои съображения
  

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

В следващите редове ще изкажа "некои съображения", които са в резултат както на моя собствен опит, така и на опита на колеги.

 

Първо съвсем накратко по-важните фактори, които да се вземат предвид:

  1. Проекти, естество и метод на работа -- дали ще има добри проекти, от които да има какво да научите
  2. Офис локация и офис условия -- дали офисът създава условия за нормална и продуктивна работа
  3. Заплащане -- как и кога да си увеличим заплатата
  4. Колеги и атмосфера -- дали има нормални взаимоотношения
  5. Преки началници -- дали мениджърите са технически грамотни или са MBA тип меринджеи
  6. Дългосрочен ефект -- дали ще имате възможност да работите за фирмата дълго време и какъв ще е ефектът от това
  7. Възможности за кариера

 

Всеки човек придава различно значение на гореизброените фактори и затова не взимайте предвид реда в който са изброени.

 

По-подробно:

1. Проекти, естество и метод на работа

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

Забележка: по-долу често се споменават senior,  standard, junior и т.н. За повече инфо каква е разликата между тях: Какво е junior, standart, senior developer

1.1. Проекти

По отношение жизнения цикъл в който се намира проектите по които ще работите можем да ги разделим на:

  • готов проект, само с поддръжка -- това са проекти, който вече са готови, предадени са на клиента и има задачи само за бъгфиксинг и поддръжка. Подходящи са за "пенсионери", които просто искат да си имат спокойна и предвидима работа и да си чоплят по нещо без да се напрягат.
  • проект, който е на средата -- проектът е в процес на разработка. От една страна основите са отдавна положени, но от друга има още доста работа (месеци) до завършването му. Такива проекти обикновено вече си имат senior-и и са подходящи за средно ниво и junior-и.
  • проект, който започва от нулата -- най-подходящи са за senior девс (те си го знаят :-)). Всъщност, този тип проекти са най-подходящи по принцип (т.е. за всички)

По отношение на актуалността и потенциала за дългогодишност на технологиите:

  • остарели и замиращи технологии (например Delphi, PowerBuilder). Това са технологии, които отдавна се преминали зенита си и в момента се използват основно от стари системи. Най-често по тях има само поддръжка. Стойте далеко от такива проекти освен ако не сте "пенсионери".
  • зрели технологии (например C++, Java, C#) -- подходящи за всички
  • нови технологии с потенциал (например преди години такава беше Python. Днес такава е Rust) -- вероятно не са подходящи за средно ниво девс, защото е по-добре да се фокусират върху познатите им технологии с цел да задълбочат познанията си.

1.2. Естество и метод на работа

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

2. Офис локация и офис условия

2.1. Офис локация

Това е лесно. Всеки сам може да си прецени кое му е удобно. Повечето хора не са мазохисти и предпочитат локация, която им е относително близко и има място за паркиране (ако ходят с кола на работа). ПотресаЮщ е фактът, че продължават да наемат от софтуерни фирми сгради на n-ти километър на Цариградско шосе, до които е по-лесно да се стигне от Пловдив, отколкото от северните и западни квартали на София. Just saying…

Друго нещо, за което трябва да внимавате е, когато средна или малка фирма има офис в покрайнините на София, близо или дори отвъд околовръстното. На голяма фирма с над 50 човека просто и се налага да наеме цяла сграда или няколко етажа от сграда, което е доста трудно и скъпо, когато става дума за  центъра. За малките фирми обаче с до 20 човека персонал не е никакъв проблем да си наеме няколко стаи в бизнес сграда и съответно този стремеж към "евтинджос" е доста съмнителен.

2.2. Офис условия

За много програмисти това е една от най-болните теми. Още от 80-те години на 20-ти век проучване след проучване са показали, че продуктивността на програмистите е правопропорционална на наличието на тиха работна среда без прекъсвания, но въпреки това и до днес продължава практиката да не се осигуряват нормални условия за работа. Шумните офиси водят до ниска продуктивност и загуби за фирмите. Само за пример: ако един програмист взема 4к брутна заплата и той губи дори само 25% от продуктивността си заради шумен и пренаселен офис (не рядко загубата минава 50%) това са 1000 лева хвърлени на вятъра. Дори да се наеме допълнителна офис площ за по 300 лева на човек, пак е 3 пъти по-малко от загубата от 1000 лева.

Класация на офис условията от най-лоши към най-добри:

  • средно големи помещения около 20-40 кв.м, които са свръхпренаселени (за пренаселено се смята помещение в което се падат под 8,5 кв.м на човек. За свръхпренаселено -- под 6,5 кв.м). Обикновено в такива помещения е не само много шумно, но има и постоянно влизане-излизане на хора, задушно е и т.н. Не рядко има конфликти породени от това колко силно да е пуснат климатика, кога да се отваря прозореца и т.н. Обикновено фирмите с такива офиси са малки low-end outsourcing фирми. Избягвайте.
  • малки свръхпренаселени стаи (10-20 кв.м.) -- пак е задушно, но поне няма толкова много хора, които да вдигат шум. Обикновено става дума за недофинансирани стартъп-и или новосъздадени фирми. Избягвайте.
  • open space офиси -- могат да се определят с една дума -- "панаир". Не дай си боже да ви сложат близко до HR отдела или до support, който говори по цял ден скайп/телефон -- ще ви се втечнява мозъка всеки ден още преди да е станало обяд. Обикновено става дума за големи outsourcing фирми,  в които се гледа на програмистите като на консуматив. Избягвайте.
  • средни и малки пренаселени стаи
  • полу open space -- за разлика от open space-а имат някакви стени, които символично разделят хората на помещения с по 4-6-8 човека, но нямат врати и съответно проблемът с шума е почти същия.
  • средни НЕпренаселени стаи
  • малки стаи с до 3-ма човека в тях -- почти няма такива фирми, но намерите ли -- това е вашето място :-). Аз лично имах такъв късмет, докато работех в Up2Technology в старите им офиси в Лозенец и Изток.
  • единични стаи -- според мен това е вече прекалено, но има хора, които ги предпочитат

 

3. Заплащане

Има хора, за които заплащането е най-важното нещо. Ако сте от тях и сте junior имам следния съвет към вас: не си губете времето да си искате увеличение на заплатата от сегашния работодател. Я ви дадат 10-20%, я не. Обикновено следната тактика работи най-добре:

  • започвате първата си работа на ~1000 лева  най-често в outsourcing фирма. Трупате опит, работите година -- година и половина, и започвате да си търсите нова работа
  • започвате втората си работа на ~2000 лева. Трупате опит, работите година -- година и половина,  и започвате да си търсите нова работа. Ако сте правили нещата както трябва вече не би трябвало да сте junior.
  • трябва да станете по избирателни към фирмите. Outsourcing фирмите вече ще са загуба на време. Търсете стабилна продуктово ориентирана компания. Започвате работа на 2,5 -- 3к. Работите година и половина -- две. Ако сте си опичали акъла вече трябва да сте senior и оттук нататък вече е лесно.

 

4. Колеги и атмосфера

Ако за вас е важно да сте приятели с колегите си -- търсете малки фирми с до 15 човека персонал. В големите фирми първо, че става невъзможно да познаваш всички, второ, че атмосферата става леко поотровена, защото нерядко различните екипи имат конфликтиращи стремежи.

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

 

5. Преки началници

Избирайте фирми в които PM-ите са настоящи/бивши програмисти и избягвайте фирмите в които не са. С шеф-програмист е много лесно да се разбереш и той много добре знае кое е възможно и кое не. Шефовете не-програмисти дори и след години в бранша правят елементарни грешки и опъват нервите на екипа абсолютно излишно.

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

Фрапиращо е, че и до ден днешен е често срещано мениджъри да се опитват да налагат използване на определени технологии или решения без да имат никаква престава за какво става дума и да го правят, защото са прочели в някое мениджърско списание или интернет статия, че тази технология е много модерна/подходяща/agile и т.н.

 

6. Дългосрочен ефект

Опитвайте се да оценявате какъв е/ще е дългосрочния ефект от престоя ви в дадена фирма. Дали фирмата е с добро реноме и ще стои добре в CV-то ви?

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

Ако нямате познат, който да ви даде повече инфо за дадена компания отидете на bgrabotodatel.com и прочетете мненията за нея. Обикновено нещата стоят така:

  • хубави (или нови) фирми -- няма мнения за тях. Хората са доволни и съответно никой не се сеща да пише;
  • нормални фирми -- има някое друго мнение, повечето неутрални, тук-таме някое отрицателно;
  • кофти фирми -- има много отрицателни мнения и нерядко са с дълъг текст (повече от 10 реда), т.е. хората са били доста огорчени, за да си направят труда да пишат толкова.
  • много кофти фирми -- както "кофти" фирмите, но имат и силно положителни мнения. Това са фалшиви постинги оставени от HR отделите или шефовете с цел да позамажат положението (вместо да си вземат бележка и да оправят нещата). Това е брутален тарикатлък на дребно, който е симптом за фрапираща арогантност и бай-ганьовщина.

 

7. Възможности за кариера

За някои хора това да станат началници е най-важното нещо. Ако сте от тях най-добре отсега се ориентирайте към големи фирми и се настройте психически да работите дълго време за тях. Не се опитвайте да работите в малки и средни фирми, защото в тях просто няма място за израстване -- най-много да станете PM.

Не малко програмисти стават PM-и без да осъзнават, че така напускат средата на програмистите, в която има по-голямо търсене на кадри отколкото предлагане и навлизат в средата на мениджмънта, където предлагането е много по-голямо от търсенето -- ще се налага буквално със Сульо и Пульо да се конкурирате за едно място. За илюстрация: преди няколко години пуснахме едновременно обяви за PHP Developеr и PM. За един месец бяхме получили десетина CV-та за PHP позицията (нито един не ставаше) и над 120 за PM позицията. От тях поне 5-6 бяха изключително силни -- хора с по над 7 години опит, 2+ чужди езика, супер солидно представяне на интервюто. Наистина ли искате да сте в такава конкуренция?

 

Заключение

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

Друг (допълващ) подход е да си направите два кратки списъка: един с нещата, които задължително искате да има в новата ви фирма и един с нещата, които задължително НЕ искате да има в новата ви фирма. По този начин ще можете лесно да отсявате фирмите, понякога дори и още на етап разглеждане на обявата им за работа и съответно няма да си губите времето с интервюта.

 


Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Внимание: Моля, въведете само ПЪРВИТЕ ТРИ цифри от картинката
Important: Please enter just the first three digits from the image