Мнозина от младите хора искат да бъдат програмисти. Привлечени от перспективата за големи заплати, изобилна работа, богат избор от щедри работодатели и шанса да работят за някои от най-успешните фирми в света, все повече хора търсят нови възможности в непрекъснато развиващата се област на разработването на софтуер. Но бързите курсове по програмиране могат да разочароват нахъсаните ентусиасти.
Нарастващата популярност на писането на код – особено след пандемията – доведе до бум в броя на школите за писане на софтуер. Много от тези училища провеждат интензивни курсове за период от по няколко месеца. Учащите излизат с известни знания по програмиране и с очакването, че взимайки си сертификата в края на курса, за тях ще се избиват десетки софтуерни фирми, зажаднели за млади таланти. Понякога действително става така. Но нерядко ситуацията е друга.
Бързите курсове не всякога успяват да създадат у учащите ценните умения, от които се нуждаят, за да успеят. Като лидер на фирма за разработка на софтуер по поръчка и професор, преподаващ софтуерно инженерство, Макс де Лавен, основател и технически директор на Builvable, познава уменията и опита, който търси при завършилите. Казва, че начинаещите разработчици на софтуер не винаги биват обучавани на уменията, които работодателите ценят и ще очакват.
И това, уви, важи не само за бързите курсове по програмиране, но и за университетите и програмите за квалификация и преквалификация. В резултат, казва Лавен, разработчиците биват подведени – и в крайна сметка разочаровани – от институциите, които твърдят, че ги „позиционират за успех”.
„Да си разработчик на софтуер е страхотна работа – за мнозина е късмет да могат да направят успешна кариера от любовта си към писането на код – но не става въпрос само за изучаване на даден език за кодиране, за да започнат да валят пари”, казва Лавен пред TechRepublic. „Да станеш разработчик на софтуер е по-трудно, отколкото може да си помисли обикновеният човек – и е скъпо”.
Много от младите хора са силно увлечени от обещанието за астрономически заплати, особено в големи софтуерни фирми. Лавен обаче казва, че реалността рядко отговаря на фантазиите на новозавършилите курсисти, изкарали обучение по програмиране.
Още по-лошото е, че в много отношения учениците са обучени „за провал”, казва Лавен. Той е виждал новобранци, които не отговарят дори на най-базовите изисквания за „писач на код”, камо ли пък за софтуерен разработчик. „Виждали сме хора да кандидатстват, след като са изкарали тримесечно обучение в някоя школа, където им е обещано, че ще се научат да пишат код. След това виждаме, че не знаят нищо”.
Разочаровани са учащите, разочаровани са и работодателите. Нещо повече, подобно състояние може да бъде опустошително за хората, които са решили да се насочат към програмирането след промяна в кариерния път.
В крайна сметка научаването на писането на код е само върхът на айсберга. Разликата между писането на код и разработването на софтуер може донякъде да се оприличи на разликата между това да имаш речник с думи и да можеш да съчиниш текст със съответната граматика и култура зад езика. „Това, че можете да косите морава, не означава, че можете да управлявате фирма за озеленяване”, казва Лавен. „Само около 40% от разработката на софтуер е писане на код”.
Курсовете по софтуерно инженерство трябва да обучават студентите цялостно, за да бъдат добри софтуерни професионалисти – а не само добри писачи на код. Езиците за програмиране се научават, но по-важно е да се научат „навиците” за писане на код, защото „хората могат да развият лоши навици, а лошите навици са много трудни за премахване”, казва експертът.
Наред с това обаче има цяла кошница с други знания, които разработчикът на софтуер трябва да има. Практическият опит винаги е ценен. Курсовете и университетските програми трябва да насърчават практическата работа и да дадат на учащите „работни знания” за различните компоненти от цикъла на създаването на софтуер.
Важно е да има умения за боравене с API. Всеки софтуерен инженер днес ще се срещне с нуждата от работа с API. Софтуеристите трябва да знаят да „говорят” езика на API, да познават различните технологии тук.
Всяко приложение, което се разработва в днешно време, по един или друг начин отива в облака. Това значи, че на софтуеристите са нужни задълбочени знания за облачните технологии. Те трябва да разбират от платформите, които съществуват, и от техните особености. Това е важно за доброто позициониране на пазара на работна сила. „Когато човек дойде при работодателя и каже: „Работил съм с Amazon Web Services или Google Cloud Platform или Azure”, работодателят веднага се заинтересува от този човек”, споделя Лавен.
Всичко това изисква и от образователната система да се промени и да се адаптира. Университетските програми, специализациите, курсовете и преквалификационните програми трябва да вземат под внимание потребностите на съвременните кандидати за кариера в софтуерния свят.
до .. Не си измисляй. В дипломите на информатиците пише ли “квалификация инженер”? Май не, а? Много се дразня, когато някой се представя за инженер без да има инженерна диплома.
До аз:
Да, няма пълно застъпване на понятията, но в контекста на тази статия правиш разграничение без съществена разлика. Хващаш за думи излишно.
Информатиката е доста широкообхватно понятие. При всички случаи покрива чисто инженерни дисциплини като разработката на софтуер.
По дефиниция инжернерство е използването на научни принципи и методи за проектиране и създаване на машини, сгради и всякакви други продукти. Софтуерните програми също са продукт.
В този смисъл разработката на софтуер е инженерна дисциплина, част от Информатиката.
Може да погледнеш и Information Engineering – дисциплина, която се занимава с генерирането, разпространението, анализа и употребата на информация, данни и знания в системите.
Писането на код е най-несъществената част. Основното е да знаеш как да подходиш към всеки отделен проблем, това е най-важното умение в програмирането. След това е търсене и намиране на необходимата информация за решение на проблема. И всичко това трябва да става в оптимален срок. Да можеш да комуникираш с колеги така че да те разбират е друго важно умение.
Писането на код е най-незначителното умение – но предимно на това наблягат в тези академии.
Информатиката не е инженерна дисциплина.
Емиии, появиха се дебили като ***, които да подлъгват хората, че лесно се става програмист.
Всички тия академии заблуждават хората жестоко и задръстват индустрията с наистина некадърни кадри.
Това е все едно да те научат на азбуката в първи клас и да започнат да ти обясняват, че си доста добър писател – еми, не, няма как.
Информатиката е една от най-трудните и сложни за усвояване (инженерни) дисциплини, а писането на код е най-несъществената част от разработката на софтуер.
Всичко е if-then-else.