TechNews.bg
АктуалноНовиниСофтуер

Курсовете по програмиране могат да разочароват

Бързите курсове не всякога успяват да създадат ценните умения, от които се нуждаят учащите
(снимка: CC0 Public Domain)

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

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

Бързите курсове не всякога успяват да създадат у учащите ценните умения, от които се нуждаят, за да успеят. Като лидер на фирма за разработка на софтуер по поръчка и професор, преподаващ софтуерно инженерство, Макс де Лавен, основател и технически директор на Builvable, познава уменията и опита, който търси при завършилите. Казва, че начинаещите разработчици на софтуер не винаги биват обучавани на уменията, които работодателите ценят и ще очакват.

И това, уви, важи не само за бързите курсове по програмиране, но и за университетите и програмите за квалификация и преквалификация. В резултат, казва Лавен, разработчиците биват подведени – и в крайна сметка разочаровани – от институциите, които твърдят, че ги „позиционират за успех”.

„Да си разработчик на софтуер е страхотна работа – за мнозина е късмет да могат да направят успешна кариера от любовта си към писането на код – но не става въпрос само за изучаване на даден език за кодиране, за да започнат да валят пари”, казва Лавен пред TechRepublic. „Да станеш разработчик на софтуер е по-трудно, отколкото може да си помисли обикновеният човек – и е скъпо”.


Много от младите хора са силно увлечени от обещанието за астрономически заплати, особено в големи софтуерни фирми. Лавен обаче казва, че реалността рядко отговаря на фантазиите на новозавършилите курсисти, изкарали обучение по програмиране.

[related-posts]

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

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

В крайна сметка научаването на писането на код е само върхът на айсберга. Разликата между писането на код и разработването на софтуер може донякъде да се оприличи на разликата между това да имаш речник с думи и да можеш да съчиниш текст със съответната граматика и култура зад езика. „Това, че можете да косите морава, не означава, че можете да управлявате фирма за озеленяване”, казва Лавен. „Само около 40% от разработката на софтуер е писане на код”.


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

Наред с това обаче има цяла кошница с други знания, които разработчикът на софтуер трябва да има. Практическият опит винаги е ценен. Курсовете и университетските програми трябва да насърчават практическата работа и да дадат на учащите „работни знания” за различните компоненти от цикъла на създаването на софтуер.

Важно е да има умения за боравене с API. Всеки софтуерен инженер днес ще се срещне с нуждата от работа с API. Софтуеристите трябва да знаят да „говорят” езика на API, да познават различните технологии тук.

Всяко приложение, което се разработва в днешно време, по един или друг начин отива в облака. Това значи, че на софтуеристите са нужни задълбочени знания за облачните технологии. Те трябва да разбират от платформите, които съществуват, и от техните особености. Това е важно за доброто позициониране на пазара на работна сила. „Когато човек дойде при работодателя и каже: „Работил съм с Amazon Web Services или Google Cloud Platform или Azure”, работодателят веднага се заинтересува от този човек”, споделя Лавен.

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

още от категорията

Кодът, генериран от AI, съдържа 1,7 пъти повече грешки от човешкия

TechNews.bg

AI агент Kiro разработва самостоятелно софтуер

TechNews.bg

Инструментите за разработчици са под постоянна атака

TechNews.bg

Бъдещите разработчици няма да кодират, а ще управляват AI

TechNews.bg

Не ви се пише код? Opal ще го направи вместо вас

TechNews.bg

GPT-5 обещава значителен напредък в програмирането

TechNews.bg

6 коментара

аз 25/05/2021 at 22:36

до .. Не си измисляй. В дипломите на информатиците пише ли “квалификация инженер”? Май не, а? Много се дразня, когато някой се представя за инженер без да има инженерна диплома.

Отговор
.. 25/05/2021 at 12:49

До аз:

Да, няма пълно застъпване на понятията, но в контекста на тази статия правиш разграничение без съществена разлика. Хващаш за думи излишно.

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

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

В този смисъл разработката на софтуер е инженерна дисциплина, част от Информатиката.

Може да погледнеш и Information Engineering – дисциплина, която се занимава с генерирането, разпространението, анализа и употребата на информация, данни и знания в системите.

Отговор
VL 25/05/2021 at 09:47

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

Отговор
аз 25/05/2021 at 08:38

Информатиката не е инженерна дисциплина.

Отговор
.. 24/05/2021 at 16:37

Емиии, появиха се дебили като ***, които да подлъгват хората, че лесно се става програмист.

Всички тия академии заблуждават хората жестоко и задръстват индустрията с наистина некадърни кадри.

Това е все едно да те научат на азбуката в първи клас и да започнат да ти обясняват, че си доста добър писател – еми, не, няма как.

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

Отговор
Анонимен 24/05/2021 at 11:18

Всичко е if-then-else.

Отговор

Коментари