- •Тема 1 Програміст. Опис професії
- •Інструменти програміста
- •Тема 2 Особливості професії
- •Тема 3 Типи людей за профорієнтацією
- •Тема 4 Сучасні напрямки в програмуванні
- •Тема 5 Документація на програмне забезпечення
- •Тема 6 Кодування на мові Visual Basic. Форми та елементи керування
- •Тема 7 Програмна зміна властивостей і методів
Інструменти програміста
IDE — інтегроване середовище розробки, прикладами якого є Microsoft Visual Studio (мови Visual Basic .NET, C++ та ін.) і Delphi. В Linux/Unix-системах відомі, передусім, вільні відкриті інструментальні системи KDevelop і Eclipse (обидві підтримують декілька мов програмування: Java, C++, Python та ін.), які дозволяють розробляти програми як для Windows, так і для Linux.
SDK — Software Development Kit — набір програм, необхідних для розробки ПЗ на певній мові програмування.
DDK — Driver Development Kit — набір програм, необхідних для розробки драйверів.
Програми, які зазвичай входять в SDK:
Компілятор — транслює вихідний код, зрозумілий програмістові, в машинну мову, зрозумілу процесорові, віртуальній машині чи інтерпретатору, які безпосередньо виконують код програми.
Тема 2 Особливості професії
Програміст - це фахівець, який займається розробкою алгоритмів і комп'ютерних програм на основі спеціальних математичних моделей. Програмістів можна умовно розділити на три категорії в залежності від спеціалізації:
Прикладні програмісти займаються в основному розробкою програмного забезпечення прикладного характеру - ігри, бухгалтерські програми, редактори, месенджери і т.п. До області їх роботи також можна віднести створення програмного забезпечення для систем відео-та аудіо-спостереження, СКД, систем пожежогасіння або пожежної сигналізації і т.п. Також до їхніх обов'язків входить адаптація вже існуючих програм під потреби окремо взятої організації або користувача.
Системні програмісти розробляють операційні системи, працюють з мережами, пишуть інтерфейси до різних розподілених баз даних. Фахівці цієї категорії відносяться до числа найбільш рідкісних і високооплачуваних. Їх завдання полягає в тому, щоб розробити системи програмного забезпечення (сервіси), які, в свою чергу, управляють обчислювальної системою (куди входить процесор, комунікаційні та периферійні пристрої). Також в список завдань входить забезпечення функціонування та роботи створених систем (драйвера пристроїв, завантажувачі і т.д.).
Web-програмісти також працюють з мережами, але, в більшості випадків, з глобальними - Інтернет. Вони пишуть програмну складову сайтів, створюють динамічні Web-сторінки, web-інтерфейси для роботи з базами даних.
Особливості професії
- На основі аналізу математичних моделей і алгоритмів рішення науково-технічних і виробничих завдань програміст розробляє програми виконання обчислювальних робіт.
- Складає обчислювальну схему методу розв'язання задач, перекладає алгоритми рішення на формалізований машинний мову. Визначає введення інформації в машину, її обсяг, методи контролю вироблених машиною операцій, форму і зміст вихідних документів і результатів обчислень.
- Розробляє макети і схеми введення, обробки, зберігання та видачі інформації, проводить камеральну перевірку програм.
- Визначає сукупність даних, які забезпечують вирішення максимального числа включених в дану програму умов.
- Проводить налагодження розроблених програм, визначає можливість використання готових програм, розроблених іншими організаціями.
- Розробляє і впроваджує методи автоматизації програмування, типові і стандартні програми, що програмують програми, транслятора, вхідні алгоритмічні мови.
- Виконує роботу з уніфікації і типізації обчислювальних процесів, бере участь у створенні каталогів і карток стандартних програм, у розробці форм документів, що підлягають машинній обробці, в проектних роботах з розширення сфери застосування обчислювальної техніки.
Плюси і мінуси професії
Плюси професії:
- висока заробітна плата;
- порівняно високий попит на фахівців;
- іноді можна отримати роботу не маючи вищої освіти;
- по перевазі є творчою професією.
Мінуси професії:
- доводиться часто і багато пояснювати одне й те ж, тому що те, що зрозуміло й очевидно програмісту, зовсім не завжди зрозуміло і очевидно користувачеві;
- робота в режимі авралу (іноді) в стресовій ситуації.
- професія накладає специфічний відбиток на характер, який подобається далеко не всім оточуючим.
Місце роботи
- IT-компанії та web-студії;
- науково-дослідні центри;
- організації, які мають на увазі в своїй структурі штатну одиницю або відділи програмістів.
Важливі якості
Програмування є областю, яка бурхливо розвивається, тому програміст повинен вміти швидко адаптуватися до поточного стану технології і постійно вивчати нові технології. Тому здатність до самонавчання - одна з головних навичок, якою повинен володіти програміст. В іншому випадку через кілька років його цінність як фахівця виявиться помітно нижче.
Володіння англійською мовою на рівні читання технічної документації є ще однією обов'язковою вимогою, що пред'являються до представників цієї професії. Для таких фахівців дуже важливе уміння працювати в команді, над великими проектами, із засобами колективної розробки, з великими фінансовими системами (бюджетними, банківськими, управлінського обліку).
Сходинки кар'єри і перспективи
Хорошим стартом кар'єри може стати приєднання до групи програмістів при розробці будь-якого проекту. Великі проекти часто привертають увагу західних компаній, які «перекуповують» російських програмістів. Наприклад, колись група наших молодих вчених розробляла процесор «Ельбрус» для Міноборони, а в результаті їх всіх перекупила корпорація Intel, і тепер наші вчені і програмісти працюють за кордоном, а сам проект «Ельбрус» потихеньку закрився. Проблема «витоку мізків» у цій професії - одна з найбільш гострих.
Програміст може зробити кар'єру до керівника групи програмістів (тім-лідер), IT-директора підприємства, менеджера IT-проекту і т.п. В ході роботи програміст може переміщатися в рамках своєї спеціальності, вдосконалюючись професійно.
Знамениті і великі програмісти:
Кнут Дональд Ервин;
Мацумото Юкихиро;
Таненбаум Ендрю;
Реймонд Ерік Стівен;
Фаулер Мартін;
Хоппер Грейс;
Столлман Річард Меттью;
Кей Алан;
Мейєр Сід;
Страуструп Берн.
