В днешното интервю ще Ви запознаем с програмист, натрупал опит в САЩ, но поставил си за цел да приложи наученото у нас, споделяйки го чрез обучения на най-младите. Как от утвърдено име на софтуерен инженер, Филип Янков се превръща в ментор и вдъхновител на подрастващото поколение програмисти, поели по неговите стъпки, избирайки да се развиват в сферата на високите технологии в България, предстои да научим сега…
Продължаваме с нашата рубрика “Добрият пример”, която стартира със съоснователя на ARC Academy Антони Христов и продължи с поетесата от ЮАР Дейзи Патън. И тъй като за PC Mania най-добрият пример е на преподавател, доказал се в своята професионална област, днес ще Ви запознаем с ментора и съосновател на “x8academy” Филип Янков. Гостът ни има близо 15 години опит в IT сферата, работейки през годините в авторитетни международни компании като SAP, Microsoft, VMware, Toptal и други; също е бил основател и консултант на стартъпи и успоредно с това не е спрял да обучава ученици и студенти за целите на IT сектора, дори и учейки ги как да разработват свои игри. Нещо повече, Филип, в екип с други негови колеги, печели NASA Space Apps Challenge, за което постижение специално ще си поговорим в продължението на това интервю през следващата седмица. Също така, Филип е бил част от екип, отличен от Българска асоциация по информационни технологии (БАИТ) и отделно от това е автор на патент за оптимизация на запис на транзакционна информация във файлова система. Но, може би, най-важното негово достижение е решението му да се върне и да работи за бъдещето на България, след като натрупва солиден опит в Силициевата долина. Приема ИТ обучението на младото поколение като свое призвание и в настоящия разговор с него ще стане дума точно за предаване на знанията, както и за връзката “ученик-учител”. А сега поздравяваме сърдечно Филип при нас, в сайта за електронни и видео игри PC Mania, и най-после му даваме думата:
PC Mania: Здравей, Филип, първо от нашето онлайн списание те поздравяваме за впечатляващата професионална биография! В гореизложеното представяне не остана място, за да споделим с читателите ни, че си завършил “Компютърни науки” във ФМИ на СУ, специализирайки “Изкуствен интелект”. Също така, преподаваш в родния университет още от 2009 г. Започнал си там с курса “Съвременни Java технологии”, а днес си повече от актуален сред студентската общност с дисциплината “Проектиране и разработка на компютърни игри”. Похвално е, че твоите студенти получават умения, които им дават шанс да започнат работа в IT сферата почти веднага, след като завършат курс при теб, или в Академията “x8academy”. В тази връзка, кое приемаш за най-голямо предизвикателство и лично за себе си, когато водиш обучения? Питам не случайно, а защото си споделял в други свои изяви, че всеки човек е различен, следователно е нужен някакъв индивидуален подход към него. За преподаването кое се явява най-решаващ фактор, за да бъде наученото от студента действително успешно приложено в практиката?
Филип Янков: Здравейте и от мен! Въпреки бляскавата визитка на ИТ сектора в медиите, има много предизвикателства в ИТ образованието, а и целия сектор в държавата. За да се даде изчерпателен отговор на въпроса кои са предизвикателствата и кое е най-голямото трябва да си зададем един друг въвеждащ въпрос – защо изобщо някой иска да учи програмиране, компютърни науки, софтуерно инженерство, компютърни системи и всичко свързано с ИТ? Така че ще започна от малко по-надалеч…
Медиите в България рисуват една прекрасна картинка на заплатите, възможностите, развитието, гъвкавата работа, добрите специалисти и всичко останало в сектора, поради което много млади решават, че трябва да бъдат в сектора и да се развиват в него, както и много други специалисти, с висше образование и опит, решават да се преквалифицират, за да осигурят за себе си и семействата нормален и достоен живот и бъдеще. Данните в медиите (хубаво е да се гледат данни от Националния Статистически Институт – НСИ, а не от проучвания, които на първо място не могат да гарантират за истинността на данните, а на второ, за необходимата статистическа тежест) говорят за 2-3 пъти по-голяма средна заплата в ИТ сектора, отколкото средната заплата в държавата, а по най-пресни данни, от 12 ноември 2021, 1543 лв. е средната брутна заплата за септември 2021, като заплатата в ИТ сектора е най-голяма. Въпреки това, малко е информацията относно какво точно трябва да направи кандидат:
- За да се озове в сектора.
- Да може да започне работа, като младши инженер, както и:
- Да продължи да расте като минимум с темповете на развитие на сектора, за да остане в него.
Ще използвам една официална статистика от компанията, в която работих, чиято цел е да намира програмисти и софтуерни инженери по света и да ги свързва с най-добрите компании в света, защото те се нуждаят постоянно от специалисти от най-добър калибър, за да продължат да развиват продуктите, които милиони хора по света използват ежедневно. Тази информация ще покаже какъв е процентът на много добрите специалисти в света, тоест, дали и колко е лесно за всеки да се развие до ниво на много добър специалист в световен мащаб. Статистиката показва, че само 3% от кандидатите успяват да минат летвата и изискванията, за да могат да работят в част от най-добрите продукти и проекти по света. Важно е да се наблегне отново, че това е статистика получена от над 300 хиляди кандидати в световен мащаб, за период от над 10 години, а не на фона на ИТ сектора в България, или, например, само и единствено в София.
Филип Янков: Ситуацията в ИТ сектора в България и София обаче е малко по-различна. От национални данни, най-доброто формално висше образование по специалностите за ИТ сектора се предлага в Софийския университет. По информация в медиите обаче заплатата на доцент в Софийския университет е под 1000 лв. Би трябвало да става очевидно, че човек, който взима заплата над 3 пъти по-малка от специалистите в ИТ сектора, много трудно може да се справи с обучението на кадри на добро световно ниво. И не само заплатата на персонала във висшите учебни заведения, но и на учителите в училищата, са под средното за страната. Ще си позволя и да цитирам лични наблюдения върху компютърните специалности във Факултета по Математика и Информатика на Софийския университет. От приетите в специалност Компютърни науки, едно мое наблюдение от над 5 години показва, че при един поток студенти, разделен, на 4 групи, през третата обучителна година 4-те групи се прегрупират в 3 – тоест ¼ от приетите студенти, още преди завършването или отпадат, или не се справят с темпото и изискваното ниво. Второ лично наблюдение е, че при завършване на втората обучителна година, половината от студентите във факултета, вече работят, а дори голям процент от тях са наети на пълно работно време в сектора.
От двете наблюдения може да се заключи, че възможността за реализация за студентите в Софийския университет, които минават поне минималната необходима летва, за да продължат и завършат образованието си е 100-процентова в сектора в страната. За нещастие, следствие от това, че повече от половината третокурсници работят е, че фокуса се измества върху учене на работа, а не отделяне на достатъчно време във формалното образование. Защо е така – може би заради проблема със заплатите, описан по-горе. Какви са последствията – ИТ сектора в държавата се превръща в занаятчийски, а не такъв с висока добавена стойност, която произтича от работа върху продукти с висока интелектуална собственост, получена чрез научни разработки и опит от работа върху сериозни и големи комерсиални продукти. За никой не е тайна, че чуждите фирми отварят офиси тук, за да намалят разходите си, защото заплатата в страната е много под средната европейска. Тоест, има едни “фирми майки”, навън, които държат контрола върху производството на ИТ продуктите, които предлагат, и използват България, за изработка на част, от тези продукти, чрез отваряне на офиси/фирми тук, назначаване на персонал, даване на част от работата по тези продукти и контрол, че работата ще бъде извършена качествено.
Липсата на държавна стратегия, в която е включена сериозна инвестиция в образованието, не само за ИТ сектора, а образованието по принцип, лимитира възможностите в държавата да се произвеждат продукти с висока добавена стойност, просто защото няма такива специалисти в държавата. Няма как такива специалисти да се появят случайно, а дори и да има, случайността се лимитира в по няколко човека на стотици, или хиляди, които успяват да минават летвите на световен мащаб за изключително добри и качествени специалисти. Има едно твърдение, че за да си добър е нужно 1% талант и 99% труд. Е, този труд специално в ИТ сектора, дори ако приемем, че младите са склонни да го инвестират, все пак, е крайно недостатъчен. Необходимо е да има система, която да изгради тези специалисти до световно ниво, докато те инвестират този 99% труд, а не да се разчита на случайност. По принцип, навсякъде по света, тази система се нарича (всъщност) „образование“, но както виждаме, нашата държава не инвестира в него…
Който започне да инвестира усилия, пари, време, за да влезе в ИТ сектора, защото е престижно, даващо възможности и т.н., реално няма адекватна метрика за развитието си. Защо? Единствената лесна такава е дали те наемат на работа и на каква заплата. Факт е и, че има постоянно отворени 4-5 хиляди позиции в сектора (видно по порталите за обяви за работа), тоест секторът изпитва огромна нужда от специалисти. Заради този факт има огромна конкуренция между фирмите за качествените специалисти, което води до вдигане на заплатите, за да могат те да бъдат привлечени. Получава се така, че не уменията на кадрите в сектора, са тези, които ги назначават и повишават заплатите им. Конкуренцията и малката средна заплата в държавата, погледната през световната призма, са по-големи фактори от уменията.
Всичко това обаче кара всички, които влизат в сектора, да не гледат на уменията на първо място. Все пак фирмите, щом им повишават заплатите, би следвало, че прогресират в уменията си, работните задължения, умения и т.н. Уви – може повишението на заплатите да отива за съвсем друго, например, за да не си мислят служителите-програмисти да отидат да работят за фирма конкурент.
Филип Янков: Всичко казано дотук описва и най-големия проблем, който аз лично срещам при обучението на хора да влязат в ИТ сектора, или да се развиват в него – неадекватността по отношение на уменията, желанието за развитието им и т.н. Мога дори да споделя и факти, от курсовете, които водя – преди 10 и преди 5 години, бройката на желаещите да научат материала до ниво, което не просто да минат интервю за работа в сектора (за следващото над тяхното ниво), беше в 2-3 пъти по-голям. В момента, от 2-3 години, ясно си личи, как студентите в Софийския университет, както и голяма част от работещите в сектора, изобщо не се борят за знания до ниво за минаване на интервю или повече. Просто вече всички знаят, че фирмите се избиват за кадри, съответно намирането на работа се превръща в една друга игра, не на знания и умения, а на чиста проба-грешка коя фирма е свалила летвата за наемане, защото точно в този момент някой се нуждае неистово от кадри.
PC Mania: Предходният въпрос бе по-скоро като въведение, а сега ще се опитаме с теб в детайли да навлезем в темата за ефективното преподаване на качествено знание. Сигурно ти е позната фразата, че добрият учител не е този, който “налива знанията”, а успяващият да вдъхнови учениците и дотам, че те самите “да се превърнат в… учители”! Съобразно данните от обученията в “x8academy” през годините става ясно, че от над 400 обучени, 15% стават лидери във фирмите, само след две години трудов стаж на работното им място, а 20% от обучаваните са на водещи позиции в индустрията на третата година. Като цяло, 2/3 от курсистите на Академията стартират своята кариера до 2 месеца след края на обучителната програма при това в компаниите, включени в Топ 100 на IT сектора в България. В този ред на мисли, напомням за съществуването и на друг израз, според който учителят единствено сочи вратата, но от ученика зависи дали той ще мине през нея или не. Някои са прескочили прага й, други са я оставили широко отворена след себе си, трети са я открехнали само, или са я притворили леко, а сигурно има и такива, които са я затворили с трясък. Въпросът ми е, следиш ли какво се случва с професионалното развитие на всеки един курсист, преминал високата летва на обученията в Академията? Ставате ли приятели извън аудиторната заетост, срещате ли се регулярно, общувате ли, или комуникацията приключва с последната дата на изпита?
Филип Янков: Определено мога да заявя, че измежду хората, които са минали през курсовете, в които преподавам, са минали немалко хора, които са взели по нещичко от нас – преподаващите, за да се запалят и те самите да виждат смисъла, да имат желанието да преподават. През годините в работа за подобряване на ИТ образованието съм стигнал до някои изводи изобщо за образованието, които съм споделил във видеото с мен в началото на интервюто и противно на твърденията от народопсихологията в наши дни, че който не става за специалист, то той трябва да става учител, щом не може да прави нищо друго. Да си учител, обаче, изобщо не е шега работа, а да не говорим колко важна е тази професия. За демонстрация колко е важна е факта, че в Япония, единствените хора, които не трябва да се кланят на императора, са тези с учителска професия. Причината е, че без учители няма да има и императори. Не е мое твърдението, а съм го чул от много умни хора, че възможностите на една нация се виждат, като се погледнат учителите. Това очевидно е забравено от управляващите ни, след като се неглижира компетентността, както и заплащането на учителите. Все пак, нека сега да не се отклоняваме, защото точно темата за учителството е дълбока…
Филип Янков: Относно Вашия въпрос, очевидно е, че следя развитието на голяма част от хората, които обучавам, иначе нямаше да ги има и цитираните от Вас цифри. Те са изключително важна метрика на резултата от това, което правя. Лично смятам, че както всеки лично трябва да има някаква такава метрика, дали и колко е адекватен в това, което прави, така и образователната система трябва да има такива метрики. В противен случай никога няма да излезем от дупката, в която е държавата ни в последните години, въпреки богатата история. Ние може и да не следим какво и как правим, но чуждите фирми и институции го правят. Изборът е напълно наш, както личен, така и групов, като нация.
Много голяма част от контактите ми в ИТ сектора, са създадени на база на обученията, които съм правил, на участници в тях или техни приятели. Отговора на въпроса дали поддържам връзка с част от хората, които съм обучавал – да, твърдо! Още повече, не само следя развитието на голяма част от тях, а и научавам по нещо от тях, защото част от тях стават активни в средата, започват и те да правят обучения, споделят опита си по конференции и събития, което е ключа към развитието на сектора ни. Смятам за много важно, да има силна общност специалисти в ИТ сектора, да обменят опит, да се развиват взаимно, след като ИТ сектора се развива с много по-голяма скорост от останалите сектори. Няма как специалист от ИТ сектора сам със собствени сили и развитие да е по-добър от себе си, но почерпвайки и споделяйки опит от другите. Затова, аз лично съм решил да участвам, например, в събитията, организирани ежемесечно от Dev.BG, както като лектор, така и като слушател.
PC Mania: Понеже PC Mania е списание за електронни и видео игри, няма как да пропуснем да си поговорим с теб за любимата ни тема, в аспекта й на избираемия курс от учебната програма на ФМИ за проектиране и разработка на компютърни игри, който ти ще водиш вече за 4-та учебна години през летния семестър на СУ. В предварителния ни разговор ти спомена, че държиш дисциплините, които преподаваш, да се водят последователно, тоест всяка учебна година, дори и това да се случва без теб. Да разбирам ли, че за всеки курс подготвяш твои заместници, в това число и бъдещи лектори за курса “Проектиране и разработка на компютърни игри”? Сподели ни, трудно ли се намират последователи в преподавателското поприще? Или зависи от дисциплината и когато става дума за игри, желаещи не липсват? Питаме те, Филип, тъй като точно за нас, в PC Mania, е важно младите хора да програмират свои авторски разработки, за да ги има оригиналните, иновативни и завладяващи игри, но в случая навярно опираме до проблема с кадровия ресурс. В IT сектора със сигурност не липсват кандидати за вакантните позиции, но квалифицираните едва ли са много. Тук е мястото на ролята, която си избрал – като учител, ментор, преподавател, лектор, трейнър, специалист, обучител, професионалист, експерт – да откриеш новите таланти. Много роли, но една мисия. В този ход на мисли, би ли посочил от гледна точка на дългогодишната ти практика, с “игрите” ли следва да се започне обучението по програмиране на подрастващите, или със състезателното програмиране? Защото приложното програмиране, включително разработката на игри, като че ли се явява по-голям мотиватор за учениците, отколкото алгоритмичното програмиране. Кое реално, според теб, отваря големия портал към IT сферата и дали това не са всъщност игрите?
Филип Янков: Тук има много въпроси, затова ще започна да отговарям последователно. Първо, защо държа курсовете, които водя да се провеждат всяка година? През изминалата и тази година, някои от курсовете, които водя, не се провеждат, поради обяснимите причини свързани със ситуацията и вируса по света и в страната. Иначе, курсовете, които преподавам в Софийския университет, са избираеми – тоест всеки студент, може да прецени дали иска да научи някой от дадените предмети и кога. Винаги съм се водел от нуждите и развитието на сектора. Съответно, фундаменталните знания, които виждам, че или са необходими в момента, или ще са необходими в бъдеще, но, по една или друга причина, не са засегнати малко или много в учебните планове, и следва да бъдат достъпни като избираеми дисциплини. Затова продължавам да събирам екипи от колеги, от университета и от фирмите в сектора, за да преподаваме такива избираеми дисциплини, които да обогатят знанията на студентите.
Знанията от тези курсове са необходими в сектора, като това не е само мое мнение, но и на колегите, с които организираме и преподаваме тези дисциплини, както и на колегите във факултета и университета. Затова, тези курсове трябва да се преподават, стига да има желаещи да инвестират усилия, за да получат тези знания. Такъв курс, трябва да спре да бъде преподаван, може би, когато не е необходим вече като знания в сферата (или, например, ако в няколко последователни години няма желаещи да го учат). В противен случай, съм на мнение, че студентите трябва да имат избора да учат курсовете през всяка година (все пак знанията са полезни и за всеки следващ випуск). Всеки от курсовете го правим заедно с колеги, първо – за да стане по-качествен курс, защото всеки има различен опит, който си струва да се предаде, второ – наистина за да могат тези курсове да бъдат провеждани ежегодно – повечето колеги, които преподаваме тези курсове, сме практици от сферата, тоест, основната ни дейност е друга, съответно времето ни е ограничено и за да ги има тези курсове, както и да са качествени, ние заедно сме длъжни да работим в екип, за да се случват тези курсове.
Филип Янков: Тук мога да разкажа историята на курса по “Проектиране и разработка на компютърни игри”, за да отговоря и на някои от следващите въпроси. За никого не е тайна, че голяма част от софтуера, който потребителите в държавата ползват не се заплаща, в това число спадат и игрите. Децата в страната, обаче, имайки възможността да играят игри по избор (просто защото е възможно да играят без да плащат), получават едно много ключово умение за бъдещето им. Освен, че те се запалват по магията на игрите, съответно и могат да решат това да им е призванието, най-силното, което получават, е усетът коя игра е добра, и защо. След като всяко дете може да играе неограничен брой игри – да види как са направени, кои са интересни, какво точно е интересно в тях и т.н. това дава на всяко дете, а след това и на възрастните, които са играли и играят доста игри умението да отличават коя игра е добра и защо. Но защо това умение е ключово? Все пак, игрите са продукт, който струва пари, тоест потребителите по света плащат за този продукт, за да го използват, играят. Съответно, имайки умения, креативност и прозорливост коя играе по-добра от друга, кои игрови характеристики ще направят една игра много успешна, човек, може да се превърне в много добър специалист по разработка на игри. Нещото, което както казахме по-горе лимитира ИТ сектора, е че за да си специалист, трябва да минеш обучение и да имаш солиден опит в изработка, както и използване на даден тип продукти (софтуерни/хардуерни), тук, при този тип продукт – игри – го има в изобилие в държавата ни. Това е мое мнение, което може да не е подкрепено още с факт от вида – българска компания разработи игра, което е в топ 10 на света по приходи, но, ако има план и стратегия, е напълно възможно и това да стане факт…
От години исках да споделя опита си и да преподавам такъв курс по ред причини в допълнение на горната. Уви, нямах достатъчно време, изискващо се, за да се направи такъв курс на ниво, каквото ми се иска. Един ден, си тръгвах от факултета, след поредния преподаден час, бързайки за работа, но на стълбите между етажите ме срещна един колега – Дарко Данчев, който беше участник в друг курс, в който преподавам. За подкрепа на фактите, които по-горе дадох, той беше тогава третокурсник, но вече имаше солиден опит зад гърба си от работа по фирми, както и беше разработвал десетки игри. Както обичахме с него да си говорим за идеи, за подобряване на статуквото – във факултета, университета, държавата, света, тогава, той сподели, че имал идея да се направи курс за игри във факултета (в никой друг университет в страната нямало такъв и студентите на поне Софийския университет да имали шанс да получат такива умения), но сам той нямаше точно двете най-важни неща, които споделих по-горе за правене на курсове – достатъчно необходимо време – и, все пак, поне два специалиста с опит, които да споделят повече, и да се направи един наистина добър курс. Дарко, имайки идеята, че трябва да има такъв курс във ФМИ, мислел точно да ми предложи да го направим заедно, защото вече ме познаваше и знаеше, че имам такъв опит, както и желания, също като него да преподавам точно това. За няма и минута, докато извървяхме разстоянието от вътрешните до външните стълби на факултета, разменихме 2-3 изречения, беше ясно, дори само с поглед, разменен помежду ни, че ще го направим. В допълнение, за тази минута, докато излезем от факултета, срещнахме професор Мария Нишева, която питахме веднага за мнение, дали правилно мислим, че такъв курс има място в програмата на факултета. Тя потвърди, като ни остави за домашно да се захванем да разработим идеята до цялостен план с конкретика и детайли, за да можем да валидираме и с други колеги във факултета и този курс да се превърне в реален…
Филип Янков: Няколко месеца по-късно, двамата вече преподавахме първото издание на този курс. В него, както може да се предположи, присъстваха само и единствено, най-мотивирани студенти, които са играли през живота си толкова много компютърни игри, че искаха да се научат да ги правят, не просто като геймъри, или като занаятчии, а като изкусни майстори, знаещи фундаментите и основните как това да се случи в действителност. През годините се присъединиха още трима наши колеги – Иван Ванков, Камен Вакъвчиев, Стефан Рачков, които се включиха в екипа, за да преподаваме този курс заедно, да го еволюираме, надграждаме и да го правим всяка година по-добър от предната.
След няколко издания и подобряването на курса постоянно, стигаме до момент, в който, за да подобрим съществено резултата от този курс, са необходими действия не само от наша страна. Крайните проекти на студентите са игри, по избор, направени в екип или самостоятелно. Важен детайл е, че този курс е с фокус към техническата част за изработка на игри, но както знаем, за да се разработи една игра, са нужни и много други специалисти, освен технически такива – хора на изкуството, маркетолози и други. Процесът по изработка на една игра е екипен, тоест, за да се придобият още умения, отвъд необходимите технически такива, трябва да се формират екипи с други специалисти, за научаване и упражняване на още знания, както и за много по-цялостен краен резултат. И на нас, екипът, който преподаваме курса, ни се искаше студентите да се научават много по-цялостно на това как да изработват свои авторски проекти от началото и до самия край.
Има няколко правила, които се касаят до придобиването на различни умения. Едно правило вече е споменато по-нагоре, че ставането на добър специалист е 1% талант и 99% труд, а второ е, че за да се усвои до ниво на майсторство дадено умение са необходими поне 10 хиляди часа практика. Проста калкулация показва, че колкото по-рано се започне с практиката, толкова повече се увеличава шансът за достигане до майсторски умения. Знам, че Министерството на образованието въведе предмет за изучаване на компютърно моделиране за децата още от 3-ти клас. Знам също и че предметът информатика, в който за първи път се учи програмиране на програмистки език, беше преместен в по-късен клас (ако не се лъжа от 6-7ми клас, се премести в 8ми), като освен това, не е задължителен за всички училища в страната. Първото, е много добра стъпка, спрямо горните правила, второто – не чак толкова, защото в развитието на всеки програмист, софтуерният инженер следва да има подход на надграждане на знанията постоянно – тоест, не само да има предмет от 3-ти до 5-ти клас, във всички училища, а след това въпреки, че има предмет по информационни технологии, той не е свързан с разработки, а по-скоро с обща култура на използване на дигитални продукти. Чак в 8ми клас, има предмет по информатика, като е с много малко часове. И чак след 10-ти клас децата могат да изберат профилирано обучение по информатика от 11-ти клас. Как точно да изберат тази опция? Те са имали само по някакви си 3 часа на седмица досега, при това само в 8ми клас… Дали това е достатъчно, за да може едно дете да избере само профилирано обучение, тоест да се е запалило по предмета, да му е харесало и т.н.? Втория вариант е профилираното обучение по информатика от 8ми клас в специализираните паралелки, всеобщо наречени “Професия програмист”. Тук отново е валиден същият въпрос, как детето да направи този избор само, а не това да идва като решение от родителите му?
Филип Янков: Ясно е, че децата обичат да играят игри – тук нямам предвид компютърни такива. Съответно е много добре игрите да бъдат използвани за обучителни и възпитателни цели от много ранна детска възраст. Наша отговорност, като възрастни, е да осъзнаваме този факт и да го използваме. По отношение на обучението по програмиране и как е най-адекватно да се започне с него – няма смисъл да откриваме топлата вода, има хиляди експерти по света, инвестирали десетки години професионална работа и кариерите си единствено в тази насока. Съответно, логично е да се поучим от каквото казват те, логично е да направим проучване, да се информираме, да знаем какво казват експертите, в световен мащаб, относно как да се започва с програмирането, кога и т.н. Забелязвам, че в България, и особено в ИТ сектора, има едно огромно его у специалистите, което не позволява да се погледне безпристрастно на фактите, да за използва световното знание по дадена тема, в случая как да се започне с програмирането за деца, да бъдат взети тези факти и след това адаптирани в българската среда…
Адаптирани, обаче, не означава изопачени и обезобразени до такава степен, че да не си личи, че сме взели добрите практики по света. Световните практики са за използването на игри, като инструмент, упражнителни задачи, за преподаване на важни теми. Конкретен отговор на въпроса – трябва ли да се започва с приложно програмиране и то на игри, вместо да се започва обучението с алгоритмично и състезателно програмиране – би трябвало да е станало ясно, че е необходимо да има приложно програмиране, за да се вижда резултатът от това, което детето прави и учи. Този резултат трябва да е близък до това, което вижда това дете. Няма как и да не послушаме добрата световна практика, че е добре да се започне с алгоритмичното мислене и програмиране, просто задачите, трябва да бъдат колкото се може по приложими. Смея да твърдя, че задачите по състезателно програмиране са точно такива. Те имат в условията си разгадаване на човешки казус и обличането му в програмистки концепции, което е връзката на тези задачи с човешката реалност. За сравнение – ако една задача има в условието си само програмистки и научни концепции, то този, който се обучава, няма как да види връзката на тази задача със света, с работата, с приложението на нейното решение. За да може обаче да се изготвят качествени материали, са необходими специалисти и време. За да бъдат научени пък уменията планирани в тези качествени материали, трябва и време – 3 часа в 8ми клас, е крайно недостатъчно. Кратък отговор на въпроса – трябва ли да се започва с приложно програмиране – по-скоро не като самоцел, а като средство за преподаване на алгоритмично програмиране. Няма как да се преподава програмиране без да се преподават алгоритми и алгоритмично мислене. Всяка една програма написана на програмистки език е алгоритъм. Това трябва да се осъзнава. А и това е едно от първите неща, което трябва да се осъзнае от хората, искащи да се научат да програмират. Какво са тези компютърни програми, какво могат да правят, как го правят. Много хора залитат към състезателния аспект на алгоритмите – кой знае повече стандартни алгоритми, кой знае по-бързи алгоритми, кой може по-бързо и ефективно да прилага стандартните алгоритми, но алгоритмите не са само това. Задачите и примерите, които се дават на едно дете, докато учи алгоритмично програмиране, трябва да са строго от живота на това дете, за да може, то да разбере сложните научни концепции. Отново ще повторя – необходимо е да имаме специалисти на световно ниво, за да се изготвят такива материали и програми. И ако си мислим, че е невъзможно да ги имаме – това не е вярно – има безплатни такива, има организации и всичко по темата в света около нас. Просто трябва желание, ресурси и поне средно ниво специалисти в страната, които да видят световната практика, да я използват и надградят. По мое мнение, има много още какво да се желае по въпроса в България. Това само ме радва, защото имаме много какво да подобряваме. В момента целия свят знае, че сме в челните места в списъка с аутсорсинг дестинации на ИТ услуги по света. С текущото ни ниво на образование и умения, подобряването ни по темата означава, че можем да вървим още по-нагоре. Защо да не бъдем не просто ауторсинг дестинация, а място, което е люлка на развитие на технологии продукти? Изборът е наш.
Правенето на компютърни игри, или такива за мобилни устройства, не е нещо лесно и просто. Даже напротив. То включва изключително много необходими умения, от техническа гледна точка – познания за хардуер и софтуер, процеси за разработка, ефективни алгоритми и структури от данни, познания по компютърна графика. Правейки игри, моделирайки някакъв игрови свят, са необходими и познания по науки като физика, психология, икономика. Необходимо е и визия за музика и визуални изкуства. Далеч не е тривиална задачата да събереш в ефективен екип специалисти с умения в изброените сфери, за да бъде направена една игра. Не просто игра, а такава, която да носи удоволствия от всякакво естество. Трябва да става ясно, че това не може да стане просто с минаване на един курс по темата, а е дълъг процес на изграждане на експертиза. Няма как да бъде създаден експерт за 1 или 2 години. Ако искаме в държавата да се създават добри компютърни игри, имайки впредвид, че почти всяко дете играе компютърни игри, както и такива на мобилни устройства, това трябва да се превърне в държавна стратегия – децата да имат право на избор в часове в училище и в школи по интереси (които, обаче, няма как да се появят от нищото). И отново бих казал – изборът е наш…
Следващата седмица очаквайте втората част на интервюто!