Що це за професія - програміст?

Що це за професія - програміст?

Є така професія — верстатник. За радянських часів на великих заводах біля воріт прохідної часто писали, що потрібно, скажімо, слюсарів-інструментальників і робітників-верстатників. Таке зазвичай означало, що завод дуже великий і з якоїсь причини їм потрібні робітники дуже багатьох спеціальностей.

Зміст матеріалу


У добре налагоджених виробництвах писали у разі нужди, що потрібно "токарів не нижче 5 розряду" або, "потрібно фрезерувальників 3 − 5 розрядів". Це означало, що технологічний ланцюжок чомусь порвався і потрібні абсолютно конкретні фахівці для роботи в абсолютно конкретних місцях. Тому що "робітник-верстатник взагалі" — не існує в природі. Є токарі, фрезерувальники, пресувальники, фахівці з верстатів з ЧПУ і ін.

Так само справи йдуть і з програмістами. Тому шукати роботу по слову "програміст" — значить, постійно отримувати величезну пошту. Одна біда: усі пропозиції будуть "не зовсім такі" або взагалі "зовсім не про те".

Оскільки ж еволюціонувала професія "програміст" від її виникнення до нашого часу?

Учора

З часу появи в 40-і роки найперших ЕОМ електронщики, що створили цих монстрів, з досадою виявили, що монстрами потрібно якось управляти. Так з'явилися перші програмісти.


Свої програми вони писали в кодах машини. Перші ЕОМ займали цілі поверхи великих будівель. Безліч шаф, сполучених дротами. При цьому кожен запуск ЕОМ був складною процедурою, що вимагала спільної роботи як електронщиків, так і програмістів.

У цій спільній роботі з'явився загальний термін програмування bug, помилка. Інженери після невдалої спроби запуску ЕОМ в ході ревізії устаткування виявили в одній з шаф таргана, який закоротил якісь лінії і, ставши вуглинкою, заважав правильній роботі вузла ЕОМ. Хтось прочитав замітку в журналі виявлених помилок — мовляв, в шафі номер такий-то був знайдений черговий баг — і назвав багом вже помилку в програмі. Звідси і пішли програмні баги. Але не відразу.

Про перших, легендарних, програмістів ходили легенди. Що де, один з них зумів вручну зімітувати перед начальством роботу бази даних заводу, сходу переклавши наявний у нього текст в коди ЕОМ і на додаток прорахувавши і поставивши потрібну кількість пропусків в кожному рядку з урахуванням довжини вже введеного тексту. Інший зумів у декілька разів прискорити програму, зроблену іншим, безталанним програмістом, за рахунок масового використання машинних регістрів замість елементів пам'яті. Ну і так далі.

З часом запуск ЕОМ став простішим процесом, а програмісти поділилися на дві групи. На системщиков, які писали системні програми для ЕОМ, управління пишмашинками, принтерами, перфораторами і перфозчитувачами. І на "програмістів просто" — що писали програми для користувачів і працювали вже не в машинних кодах, а на машинних мовах.

У наших програмістів тоді був знаменитий транслятор ТА-1М, що дозволяв писати програми мовою Алгол-60. А слідом за Алголом-60 в користуванні програмістів з'явилися Фортран, Фокал, Алгамс, Паскаль, Модула — і множина інших.

Серед них на самому початку не занадто виділялася мова С. Ну, просто група програмістів, працюючи над мовою, якою було б зручно писати операційні системи для новітніх тоді мікропроцесорів, розробила мову А. Не сподобалося. Розробили В. Теж не припав до двору. А ось третя версія, мова З, виявився хорошим інструментом для розробників різноманітного ПО(чи SW — software).

Тим часом ЕОМ змінилися дуже сильно, тепер користувачів стали допускати майже до них. У ЕОМ з'явилися комп'ютерні термінали, з яких вони могли звертатися до програм ЕОМ, працюючи в режимі командного рядка і отримувати результати програми, що роздруковуються на принтері.


Поняття "Системний програміст" змінилося кардинально. Невелику частину операційних систем ще писали мовою Асемблера, але основна частина ОС вже писалася мовою С.

А прикладні програмісти писали свої програми для автоматизації різноманітних розрахунків на З, на З++ і на спеціалізованих мовах. З'явилися перші бази даних, що дозволяють згрупувати набори даних за різноманітними ознаками.

Сьогодні

"Сьогодні" підкралося непомітно. Навіть для багатьох програмістів. Ми ще сміялися над "цією дурістю", над комп'ютерними мишами і ОС Windows - 3.1. Час комфортного управління лінійно працюючими програмами(і комфортного їх написання) йшов безповоротно.

Комп'ютерна бухгалтерія нестримно міняла форму. Відразу повинен признатися, що за бухгалтерію всього світу — не розписуюся. Не знаю. Нашій бухгалтерії, загалом, я теж не знаю, але попрацювати в цьому напрямі мені довелося.

У лихі 90-і, епоху рейдерських захоплень і відстрілу тих, у кого кольта не було або хто його вихопити не встиг, перші, хто виробив програми для бухгалтерії та на додаток хто був позубастее — лобіювали зміни в стандартах підрахунку оформлення документів, щоб задавити конкурентів, людей, можливо, і талановитіших у бухгалтерських розрахунках, але що не відчули віяння часу і усіх тонкощів лобіювання, що не зрозуміли. Хто не встиг — той запізнився, фірма 1С захопила якщо і не увесь ринок, то велику його частину, переробивши під себе деякі держстандарти по бухгалтерії.

Ринок ПО мінявся нестримно, ті, хто встиг за тенденцією або сам приклав руки до виникнення тенденції — разом злітав. Ну, а хто не встиг.

Монітори стали кольоровими і нестримно стали покращувати свої параметри. Від CGA до XVGA і далі. Прадідусі процесорів нестримно росли в потужності — 8086, 80286, 80386, 80486, 80586. Кожен подальший — в рази потужніше за попередній. Далі 80586 перейменували в Пентіум — і стали рости вже номери "пнів". Пентіум-1, 2, 3. Так же швидко росли об'єми магнітних дисків, об'єм оперативної пам'яті комп'ютера.

Деякі комп'ютери не мінялися в розмірах, різко збільшуючи свою швидкодію і потужність, зате деякі стали дуже маленькими і почали управляти годинами, пральними машинами, холодильниками.


Нестримно стали розвиватися мережеві технології. Від телефонних модемів на 1900 Бод, з яких входили в Інтернет особливо просунуті користувачі в початку-середині 90-х років, до мережевих плат, що вже переварюють в секунду більше десятка мегабіт інформації.

Нестримно розвивалися бази даних. Перші з них клепалися зовсім з розділених службовими символами текстових рядків, потім бази стали бінарними. А у наш час бази вже є розподіленими по мережі, знаходяться одночасно на різних комп'ютерах, можливо, навіть в різних місцях планети. І для обслуговування якогось запиту, можливо, почнуть працювати сервера, розміщені на різних континентах.

І усе це програмне багатство створюють програмісти. Хтось — фахівець з певних баз даних, хтось — фахівець із створення GUI — інтерфейсу спілкування користувача з програмою, хтось — фахівець з розробки методів спільної роботи програм, розміщених на різних вузлах мережі.

Фахівці з певних мов, обізнані Delphi, Паскаль, З++. Програмісти 1С, програмісти по розробці і супроводу різноманітних БД. Фахівці з програмування в Windows, фахівці з Linux. Фахівці із З++, працюючі в Borland - C або в Qt, Microsoft Visual C.

Хороший програміст З++ може працювати в Borland - C, а може бути фахівцем з Qt. Фахівець в мові Перл може зовсім не знати роботу баз даних.

Вже років 20 пройшло відколи для програмістів сталося вавілонське стовпотворіння і вони розділилися на багато-багато груп, кожна з яких розмовляє своєю мовою, не розуміючи своїх колег.

А хтось говорить, що працює "просто програмістом"!