
Професия Системен програмист
Системният програмист разработва системен или основен софтуер, методи и инструменти за моделиране, анализ и изграждане на софтуерни продукти, насочени към решаване на проблемите с надеждността, производителността и сигурността на ИТ системите.
Бързото разпространение на компютърните технологии и широкото навлизане на софтуерните системи водят до увеличаване на тяхната взаимозависимост и сложност. Светът е свидетел на безпрецедентно бързо развитие на технологии за разработване на програми и анализ на различни видове данни, както и на научните дисциплини, на които тези технологии разчитат.
Успоредно с това нарастват рисковете, свързани с повреда на системата или неправилното им поведение. Поради тази причина съвременният системен програмист трябва да съчетава качествата на инженер и изследовател, да може да създава решения, които съчетават рационално инженерно изчисление и строг математически анализ.
Системните програмисти са необходими в услугите, за да гарантират надеждността и сигурността на информационните системи; търговски и правителствени организации, които се интересуват от методи за анализ на големи данни, инструменти за разработка и мониторинг на мобилни и разпределени системи; научни центрове, водещи основни и приложни изследвания в областта на компютърните науки.
Търсенето на програмисти непрекъснато нараства. Делът на системните програмисти в общия брой програмисти не надвишава 1-2%, което се обяснява с изключително високите изисквания към компетенциите на такива специалисти. Пазарът е готов да „консумира“ много повече, но предлагането винаги остава изключително ограничено.
Защо е търсен системния програмист?
· бързото разпространение на компютърните технологии и необходимостта от сложен софтуер;
· информатизиране на всички сфери на икономиката и социалната сфера‘
· бърз растеж в многообразието от компютърни архитектури, всяка от които изисква собствен слой основен софтуер
Какви задачи ще реши системния програмист?
· проектиране и разработване на ефективни и надеждни софтуерни системи и операционни системи, които координират работата на различни елементи на компютър и / или компютърни системи;
· автоматизация на процесите, при които е възможно използването на съвременни информационни технологии (големи данни, машинно обучение, семантични мрежи, невронни мрежи и др.)
· гарантиране на надеждността, безопасността и ефективността на устройства и системи, които включват софтуерни компоненти;
· анализ на проблемите с внедряването и използването на компютърни инструменти и софтуерни продукти за автоматизация на бизнес процесите в компанията.
Какви знания и умения трябва да притежава системния програмист?
· познаване на принципите за изграждане на основните видове системен софтуер: операционни системи, компилатори, системи за управление на бази данни, компютърни мрежи, инструменти за съхранение и обработка на големи масиви и потоци от данни;
· познаване на основните принципи на методите за анализ и синтез на програми;
· познаване на научните основи и съвременните технологии за анализ на различни данни, включително данни на естествени езици, графична и аудио информация;
· способност за работа със съвременни инструменти за разработване и анализ на софтуерни и хардуерни системи, включително анализ, моделиране, мониторинг, проверка и др.;
· способност за работа в среда на големи отворени международни проекти open source.