какво ще избереш

Хей Хабр!

какво ще избереш Кого да уча? Трябва ли да отида да уча компютърни науки или да стана софтуерен инженер? Тези въпроси са много актуални в наше време.

какво ще избереш

Хората, които тепърва започват своето пътуване в ИТ сферата и ще се запишат в някой технически университет или просто търсят програми за обучение по програмиране, най-често се натъкват на огромен брой посоки. Въпросът е, че във всяка от тези области предметите са сходни, особено през 1-ва и 2-ра година.

За по-голяма яснота ще разделим всички области на два лагера – компютърни науки и софтуерно инженерство. Фундаменталната разлика е, че първото направление е по-гъвкаво и изучава по-добре фундаментални неща, докато второто е насочено към по-практични умения за създаване на програми за пазара. Която и от тези области да изберете, в крайна сметка ще станете програмист. Най-вероятно ще отидете някъде да работите след или по време на следването си и точно в какъв сектор за развитие ще бъдете допуснати и за какво можете да кандидатствате ще зависи коя посока ще изберете.

И двата лагера обхващат подобни теми през първите 2-4 семестъра, като линейна алгебра, смятане, дискретна математика и диференциални уравнения. Цялата тази математика обикновено се изучава и в двата лагера, но Computer Science добавя още един курс по дискретна математика и диференциални уравнения. Също така общо за всички области е въведението в общата компютърна наука и тук започват разликите. В направление Компютърни науки се говори за компютърна архитектура, теория на изчислителните алгоритми, структура на данните и техния анализ, как работят програмите и как могат да бъдат написани с помощта на класически дизайни, операционни системи, компилатори и т.н. Тоест покрива се по-голяма основа. От своя страна Софтуерното инженерство говори за OOP дизайн, тестване на софтуер, основите на операционните системи и т.н. С други думи, обхваща се изучаването на техники, за да може студентът да се научи да използва готови решения и с тяхна помощ да решава различен набор от бизнес проблеми. Всичко това обикновено се изучава през първата година на обучение.

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

Третата година на обучение по компютърни науки е посветена на изучаването на комбинаторика, криптография, AI, основите на разработката на софтуер, 3D графики и теория на компилатора. А в Софтуерното инженерство се изучава системна сигурност, мрежи и интернет, управление на софтуер и управление като цяло. Но в зависимост от университета тези предмети и дълбочината в тях може да варират.

Може би основният въпрос на тази статия остава въпросът къде е по-добре да отидете. Всичко зависи от вашите предпочитания. Ако искате да бъдете много гъвкав и многостранен инженер, тогава трябва да отидете в Computer Science. И ако искате да свържете живота си с разработката на софтуер и да можете да създавате някои полезни програми за крайните потребители, тогава Софтуерното инженерство е точно за вас.

какво ще избереш

За да обобщя, бих искал да кажа, че в Computer Science ще бъдете научени да решавате проблеми и да измисляте елегантни начини за решаване на тези проблеми, а в Software Engineering ще бъдете превърнати в бизнес програмист, който ще може да управлява проекти, хора и създават актуален софтуер.

Източник: www.habr.com

Добавяне на нов коментар