Как да постигнете успех като програмист

Tproger интервюира Алексей Макеев, директор на Siebel CRM практика и партньор на AT Consulting, специализиран в внедряването и поддръжката на сложни информационни системи, бизнес консултации, управление на проекти и ИТ аутсорсинг. AT Consulting вече има 15 партньори, включително управляващ партньор. Всеки партньор носи пълна отговорност за една от бизнес областите в компанията по отношение на стратегията за развитие на пазара, финансовите резултати, експертизата.

Как попаднахте в ИТ? Какъв точно беше тласъкът за вас, който предполагаше, че искате да свържете професионалната си дейност с тази област? Влияло ли е основното образование на избора на пътя?

Дойдох в AT Consulting за стажантска позиция на тестер по мащабен проект за внедряване на CRM система в голям телеком оператор. Тестването се проведе по принципа на "черната кутия": Работих като потребител, натисках бутони, наблюдавах реакцията на системата, проверявах тестови случаи и търсех грешки. Но през цялото време исках да разбера системата по-дълбоко, да разбера как тя работи. Отначало се опитах да автоматизирам нещо, да напиша скриптове, които щракаха върху бутоните вместо мен, да създавам заявки, които правят селекции, за да проверя дали скриптът работи правилно или не. Това ми достави удоволствие и в крайна сметка реших да се опитам като разработчик на същата система. Успях да се преместя на позицията на стажант.

Така станах работен кон, разработчик, натоварен със сложна работа.

Получавахте ли помощ от колеги по проекта или трябваше сами да го разберете?

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

Казахте, че сте избрали информационните технологии, защо не сте привлекли научна дейност?

От самото начало не се чувствах склонен към науката. Въпреки че в продължение на няколко месеца се занимаваше с научни дейности, свързани с програмирането. А именно той симулира различни научни проблеми в Matlab в Изследователския институт. Но работата там не ме вдъхнови, исках да намеря динамичен млад екип, да решавам сложни технически проблеми. И така съучениците се обадиха в AT Consulting, желанието за работа и способността за бързо учене бяха оценени тук.

В кой момент разбрахте, че вече имате достатъчно опит и защо изобщо решихте да станете мениджър?

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

Докато работех по проект като разработчик, периодично общувах с представителите на клиента, консултирах ги относно работата на системата и помагах в изготвянето на отчети. Разбрах, че това ми харесва и искам да премина от развитие директно към формализиране на бизнес проблеми, поставяне на цели и комуникация с бизнес клиенти. Това би било едновременно добра следваща стъпка в кариерата ми и определено предизвикателство, тъй като комуникативните ми умения бяха на ниско ниво. След като работих като анализатор в продължение на година и половина, започнах едновременно да изпълнявам функциите на екип, ръководен по проект.

Какви умения сте работили и как? Имаше някои курсове, вътрешно, външно обучение?

Какво бихте препоръчали на специалисти, които искат да растат, какво трябва да овладеят, какво да търсят?

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

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