» » Чи варто вашій дитині бути програмістом?

Чи варто вашій дитині бути програмістом?

У попередній статті ми обговорювали практичні поради, як навчити дитину програмувати. Можливо, вашому чаду це заняття сподобалося і ви вже замислюєтеся, чи варто йому вчитися на програміста. Що це за професія - програміст?

Програміст - фахівець, що займається написанням і коригуванням програм для комп'ютерів, тобто програмуванням. Професія програміста вважається однією з найбільш популярних і престижних, вона приносить високий дохід або зарплату, завдяки якій ситуація «де жити, за що поїсти, одягнутися, полікуватися і т. П.» Перестає бути проблемною. А якщо компанія, в якій працює програміст, велика, то, швидше за все, вона запропонує і хороший соцпакет (страхування здоров'я, безвідсоткові кредити, тренажерний зал / басейн, оплата лікарняного, гнучкий графік та інше).

Спеціальність програміста дає можливість широкого вибору місця роботи як в Росії, так і за кордоном. Роботу програміст може знайти в офісі будь-якої компанії або в спеціальних комп'ютерних фірмах, а може працювати і вдома в якості фрілансера (фрілансер - це «вільний художник», тобто людина, яка самостійно шукає для себе проекти, він вільний у виборі замовника і бере на себе всю відповідальність з виконання замовлення).

Нерідко програміст, крім основної роботи (написання програмного коду), займається багатьма іншими справами:

- Планування робочого дня (іноді тільки свого, іноді і складання списку справ для підлеглих);

- Спілкування з замовниками (щоб зрозуміти, що саме потрібно зробити);

- Написання документації до тієї частини роботи, яка вже виконана;

- Передача досвіду молодим колегам;

- Пошук інформації (буває, щоб дізнатися, як зробити що-небудь, потрібно переглянути купу сайтів і книг);

- Дотримання розпорядку (у багатьох компаніях встановлений свій робочий регламент, в якому потрібно розібратися і дотримуватися його).

Але в основному характер роботи програміста - це кропітка праця, довге сидіння за комп'ютером за розробкою програмного коду (програмного забезпечення).

Чи є програмування творчістю? Звичайно! Під час мого навчання в МАІ на факультеті прикладної математики керівник нашої групи шанований і заслужений професор часто повторював, що «програмування - процес творчий». Програмування зазвичай ділиться на кілька рівнів (етапів): архітектура, проектування, реалізація (кодування). Кодування з них найменш творче, але й там є нетривіальні і цікаві завдання. Не бачив творчості в програмуванні тільки той, хто взагалі толком не стикався з програмуванням або стикався тільки з найпримітивнішим рівнем кодування, яке зазвичай надається найбільш некваліфікованого персоналу (кодерам).

Зрозуміти різницю між програмістом і простим кодером, або зрозуміти суть програмування як творчості, можна так. Посадіть 10 програмістів незалежно вирішувати одну і ту ж задачу (реалізувати проект) або написати шматочок системи. Так, програми складаються з стандартних конструкцій, але в підсумку ви отримаєте 10 різних програм, і деякі з них, можливо, будуть відрізнятися в корені і структурно. Саме в цій різниці і укладено творчість. Для однієї задачі існує величезна безліч програм, які її вирішують. Вміння вибирати «правильні» програми з цієї безлічі - це і є творчість програмування!

Причому через кілька років (якщо цей проект або система будуть працювати і підтримуватися програмістами) ви побачите, що код одних з цих програм був уже до невпізнання переписаний, код само інших живе і донині. Більше того, з нього програмісти змогли виділити кілька повторно використовуваних рішень, які стали «проростати» в весь проект або в його нові версії.

Але перш ніж ви станете відмінним програмістом (не просто кодером), вам доведеться довго і багато вчитися. А потім знову вчитися, вже будучи програмістом. Тобто постійна самоосвіта і розвиток своїх навичок програмування - це неодмінна умова для роботи програмістом. Адже виходять нові версії програм, змінюються характеристики обладнання і вам завжди потрібно бути в курсі всіх змін, інакше легко втратити кваліфікацію і стати профнепридатним. Конкуренція на ринку праці серед програмістів висока, і ви зможете знайти дійсно хорошу роботу тільки в тому випадку, якщо знаєте свою справу на «відмінно». Втім, в цьому немає нічого страшного, адже програмування може бути дуже захоплюючим, творчим і вигідним (у всіх сенсах) справою.

А перш ніж вчитися на програміста, визначитеся, яким програмістом ви хочете стати. Програмісти бувають різні. По області роботи вони діляться на системних програмістів, прикладних програмістів, веб-програмістів, програмістів і адміністраторів СУБД, укладачів алгоритмів, мережевих адміністраторів, системних адміністраторів, фахівців з комп'ютерної безпеки та інших ...

І в кожній цій області програміст повинен володіти теоретичним і практичним мінімумом знань і досвіду, тобто вивчити і вміти застосовувати основні технології та мови програмування, що відносяться до обраної сфери діяльності. Наприклад, веб-програмісту (або веб-розробнику) добре б знати в повному обсязі: javascript, PHP (ООП), jQuery, AJAX, HTML, XML, CSS ну ще з БД MySQL або PostgreSQL. З цим пакетом знань ви як веб-програміст зможете претендувати в Москві на 150 (і більше) тисяч рублів зарплати, та ще будете рости по кар'єрних.

Є, звичайно, і загальний теоретичний мінімум для кожного програміста. Що він включає? Та зазвичай все те, що вивчають програмісти кілька років у вузі або коледжі. Не пропускайте нижченаведені курси, вони дуже знадобляться вам в роботі програміста.

1. Вступні курси:

Математика

Логіка

Дискретна математика

2. Повні курси:

Апаратне забезпечення

Операційні системи

Загальне програмне забезпечення

Графіка, формати

Мережа

Бази даних, мова запитів T-SQL

Мови програмування

Теорія програмування, алгоритми і комбінаторна оптимізація

Методологія розробки

Криптографія (основи)

Інструментальні засоби (середовища) розробки

Прикладне програмування

Веб-програмування та скриптові мови

3. Факультатив:

Психологія (відносини з клієнтами, колегами і начальством)

Фізіологія (організація ефективної роботи)

І ще трохи про вимоги до розуму або інтелекту програміста. Згідно загальновизнаним оцінками психологів, професія програміста вимагає високого рівня розвитку інтелекту. Найчастіше для програмістів необхідні такі якості, як здатність до абстрагування та розумінню відносин між елементами, гнучкість мислення, критичність, схильність до планування, аналізу та систематичній роботі, готовність поповнювати знання і переучуватися. На якісно різних етапах роботи програміста (аналіз завдання, складання блок-схеми, розбиття на модулі, кодування, налагодження, стикування модулів, документування, супроводження тощо) перераховані властивості представлені в різних співвідношеннях. Програміст повинен тримати в голові безліч фактів, не випустити з уваги жодної дрібниці, намагатися сприймати речі такими, які вони є, висловлювати свої думки чітко і ясно, твердо знати, чим варто займатися, а чим ні ...

Ось, в принципі, і все. Думайте, вирішуйте і вчіться. Успіхів всім майбутнім програмістам!