Loading...

Професия програмист: Какво се крие зад нея?

avatar Георги Кацаров 4 минути 549
Професия програмист: Какво се крие зад нея?

Вероятно много от вас си задават въпроса „Какво ми трябва, за да практикувам професията програмист?“. И почти веднага следва отговора „Ами програмен език, разбира се!“. Дали обаче „програмен език“ е достатъчен отговор на този въпрос?

Какво означава да упражняваш професията програмист?

Професията програмист изисква да имаш способността да намираш решения на различни проблеми и задачи, посредством изграждане на различни математически и логически конструкции. Сама по себе си тази способност се състои от няколко ключови компонента: умението да пишете код (или както го наричаме разговорно „да кодиш“), да развиете алгоритмично мислене, фундаментални знания за професионалното направление, в което искате да се развивате и едва накрая – програмният език.

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

  • Умението да „кодиш“

Възможно е на прима виста коденето да ви изглежда като резултат от научаването на определен програмен език. В действителност за да можеш да кодиш, означава да придобиеш набор от специфични технически умения, като: - работа с променливи, цикли, условни проверки; - умението да използвате функции, методи и/или обекти; - умението да работите с масиви, списъци, асоциативни масиви и други;

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

  • Алгоритмично мислене

Алгоритмичното (или наричано още инженерно, математическо или логическо мислене) е друго важно качество за професията програмист. Какво представлява то? Това е способността да откривате различните математически зависимости в даден проблем, от които извличате необходимата ви информация и решавате проблема. Тази способност се свежда единствено до вашата логическа мисъл. Нея можете да развиете чрез различни задачи по математика, физика и подобни (не е задължително), но задължително с редовно и интензивно решаване на различни задачи по програмиране.

Ако трябва да придадем някакви по-ясни контури на обемите - ще трябва да решите минимум 1000 задачи в рамките на една година. По този начин вие ще натрупате опит в решаването на различни проблеми чрез математически способи – нещо ключово за програмирането.

При изграждането на това умение езикът за програмиране няма значение.

  • Основополагащи знания за професия програмист

Тук вече може да се каже, че езикът има някаква роля. Защо? Различните типове проблеми се решават с различни технологии (или различни програмни езици). В своето развитие те от своя страна следват различни математически и логически модели, които се наричат „парадигми“. Различните програмни езици са базирани на различни парадигми. Ето няколко от тях:

  • ООП – обектно-ориентирано програмиране. При него логиката, която изграждате, се обособява в групи, наречени „обекти“, които взаимодействат помежду си.
  • Функционално програмиране – за разлика от ООП, тук се използват ламбда функции, както и функции от по-висок ред;
  • Бази данни – това е колекция от логически свързани данни, които се отнасят към конкретна предметна област. Те също така трябва да са структурирани по определен начин.
  • Уеб технологии (тук влизат езиците за дизайн и различни онлайн функционалности като HTML, CSS, JS, DOM, AJAX и други);
  • Мрежово програмиране, мрежови протоколи и мрежова комуникация;

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

  • Програмният език

Стигнахме и до момента за програмния език. Тъй като вече уточнихме какво представляват различните парадигми, този път ще разгледаме друг техен аспект – „нивото“ на езика. „Нивото“ е условен термин, чрез който ние посочваме дали коденето чрез съответния език изисква по-директна настройка и контакт с хардуера или не. Ако езикът е от по-ниско ниво това означава, че програмирайки, вие ще трябва да определяте детайли като какви части от паметта да използва вашата програма, как да ги използва.

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

От кой програмен език да започна?

Зависи от вас. Най-напред трябва да сте наясно със себе си. Ако имате някакъв точно-определен интерес в IT сферата, разберете кой програмен език ще ви свърши работа. Ако обаче просто искате да се квалифицирате, залагайки на популярна технология или просто да се пробвате в програмирането – имайте в предвид, че в индустрията се търсят най-вече разработчици с езици от високо ниво, като C#, Java, Python, а ако имате интерес в уеб разработката –HTML, CSS, JavaScript и PHP (който е по-подходящ за надграждане на вашите HTML и CSS умения).

Езици, които не са подходящи за начинаещи програмисти – това са езиците, които са ограничени до специфична технология (като Swift, Objective C и други). Също така езиците от ниско ниво като С++, С, а да не говорим за Assembly Language - са неподходящи за начинаещи. Те са трудни, имат строго съответствие между езика и машинните кодови инструкции, а също така и нямат голямо търсене от страна на бизнеса. В същото време обаче те ще ви дадат много по-голям контрол над програмата и нейното изпълнение от страна на хардуера.

Кандидатствайте сега за програмата за софтуерно инженерство на Софтуерния университет и поемете по своя път в света на програмирането! Тя ще ви предостави всичко необходимо, за добър старт в професията програмист. От вас се изисква само желание и постоянство.

Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.