Софтуерен инженер с минимум 2-3 години опит, използване на най-новите уеб технологии, участие във всички етапи на разработката… Това е идеалният търсен профил на средно ниво софтуерен специалист. Ще срещнете безчет подобни обяви – пазарът показва, че се нуждаем от 20 000 нови софтуерни инженери!
Навлизането на много млади хора в софтуерната индустрия създаде огромно предизвикателство. Оказа се, че няма достатъчно опитни програмисти, които да влязат в ролята на ментори и да предадат практически умения на начинаещите.
„Много от тях идват току-що завършили университети, академии или други частни обучаващи организации. По-подготвените са не само в пъти по-скъпи, те просто липсват. „Ще си ги обучим“, казват всички. Друг вариант няма, а мерките за внос за нови кадри още не са дали знак за подобряване на тази тенденция”, коментира ситуацията Мартин Кулов, председател на Асоциацията на софтуерните инженери (АСИ).
Проблемът не опира само до технически умения. Начинаещите могат да се обучат и самостоятелно, с повече време пред компютъра и подходящи материали – видео, статии, примерен код и т.н. Сами по себе си обаче техническите умения не са достатъчни, категорични са специалистите в областта.
Общоприетото схващане е, че всички опитни програмисти бягат навън, за да работят в големите софтуерни компании. Според Мартин Кулов обаче, това не е точно така. „Старши софтуерни инженери все още има в България, даже част от тези, които са напуснали страната преди време, сега се завръщат. Тук са, но вече са много малко на фона на всички нови хора, влезли в тази професия”.
По неговите думи, в резултат на относително малкия брой „завършени специалисти“, се забавя професионалното развитие на начинаещите софтуерни инженери. „Те имат много труден старт в своята работа и липсата на менторство често ги кара да вдигнат глава и да потърсят своя професионален път навън – където тревата винаги изглежда по-зелена и нещата се правят правилно”, казва Кулов.
За съжаление, „навън“ бягат именно най-нужните специалисти – тези в средата на своето професионално развитие. „Ако ги питате защо, отговорите плашещо съвпадат: по-добро качество на живот и възможности за развитие. А за този тип професия развитието не означава единствено финансови резултати, нито е важна титлата във визитката. Развитието е усъвършенстване. Развитието е постигане на все по-добри резултати и личностно удовлетворение”, споделя опитният специалист.
Разбира се, заплащането и качеството на живот, което то осигурява на един софтуерен инженер в България, в сравнение с онова „навън“, е важен фактор. Но възможностите за развитие се явяват истински ограничаващият фактор.
„Хубавото е, че можем и сами да променим това, съдейки по себе си и близките колеги. Откакто напуснах работата на пълен работен ден и започнах сам да отговарям за професионалното си развитие и финансово осигуряване, осъзнах, че сам можеш да научиш всичко… стига да имаш достатъчно време и желание. Дали успявам? Някъде да, някъде не. Причината за „не“-то е една: няма време!”, откровен е Мартин Кулов.
В бързо развиващата се софтуерна индустрия човек трябва да се фокусира върху малко неща, които да развива сам, а останалото, основното, да учи от опита на хората, с които работи и общува и които вече са го научили, е неговият съвет.
„Започнах да ходя активно на срещи на потребителските групи, посещавах конференции, а по-късно и самият аз започнах да водя сбирките на групите, да инициирам създаването на нови и да говоря по локални и международни конференции”, разказва Кулов.
И въпреки всичко, едно нещо постоянно му липсва и до днес. Това са разговорите с хора с подобно на неговото мислене, които имат сходни проблеми в работата и са пробвали едно или друго решение. Така възниква идеята за създаване на Асоциация на софтуерните инженери – тя отговаря на нуждата „да си част от общност, която се развива и която те развива”.
След първите успешни конференции през миналата година, посветени на социално-когнитивните умения и DevOps практиките, сега АСИ започва да налага формата 2DoIT. Асоциацията подготвя конференция, която събира на едно място практици от реалния бизнес – както на сцената, така и сред публиката – и показва именно реалните проблеми и начините за тяхното разрешаване.
Избраните лектори са едни от най-успешните имена на българския софтуерен бизнес, професионалисти с богат опит и международни проекти зад гърба си, които владеят най-добрите практики и модели на софтуерната индустрия и ги внедряват ежедневно в работата си. Български специалисти, запознати отлично с родната действителност.
„Това не е криворазбран патриотизъм – просто който и да е успешен модел от „навън“ няма да работи, ако не знаем как да го адаптираме към особеностите на локалната среда”, казва Кулов по повод избора на лектори за 2DoIT2016.
Как се обучава всъщност един програмист, QA специалист или софтуерен архитект? Търсенето в Google помага, но истината е, че много неща не могат да се научат от интернет. „Колкото и алтернативно да звучи, ученето става в кафе паузите, разговорите с колегите, дискусиите и най-вече от опита”, смята Кулов.
Поуката, извлечена като резултат от чуждите грешки, какво е работило и какво не, какво е можело да стане по-лесно и по-добре, може да се опише само с две думи – добри практики. Познаването на добрите практики и тяхното прилагане е това, което отличава начинаещия програмист от наистина успешния софтуерен професионалист.
„За старшия софтуерен инженер е характерно, че той знае кога прилагането на точните за случая добри практики и модели ще доведе до желания резултат. Прилагането им не е самоцел, а се подбира внимателно в зависимост от конкретната ситуация. Защото грешки в архитектурата, избора на технологичен стек и техники за автоматизация или проблемите с качеството струват много скъпо и могат твърде бързо да спрат развитието на която и да е перспективна софтуерна компания”, казва председателят на АСИ.
И докато все още се чудим откъде да намерим опитни хора, съотношението младши и старши софтуерни инженери продължава главоломно да се увеличава в полза на първите. До степен, в която старшите инженери са постоянно заети да оправят проблемите, създадени от младшите, и да имат все по-малко време да ги обучават.
Софтуерният ни бранш се доближава до момента, в който старшите инженери ще станат абсолютно недостъпни, за да споделят своя опит. Тогава софтуер ще създават предимно млади и необучени хора, които ще експериментират за сметка на бизнеса.
„И вместо да обърнем поглед към тези млади хора, в които сме повярвали, че могат да се развият, и да им предадем нужния опит, ние ще продължаваме да мечтаем за тези 20 000 нови кадри, които трябва да дойдат от „някъде“. Но аз не бих разчитал на този модел”, заключи Мартин Кулов.