Професія «программист»: плюси і мінуси
Останнім часом професія «програміст» стала дуже затребуваною і популярною. А все завдяки розвитку інформаційних технологій, адже без комп'ютера та Інтернету зараз дуже складно обійтися. У цій статті ми детально розповімо вам про це перспективному виді діяльності.
Історія
Мало хто знає, коли з'явився перший програміст. Історія професії йде корінням в початок 19-го століття. У 1804 році Жозеф Жаккар побудував ткацький верстат. Саме він вважається першим запрограмованим пристроєм, що дозволив створювати візерунки на тканинах за допомогою перфокарт.
Перше ж обчислювальний пристрій, або Аналітична програмована машина, була розроблена Чарльзом Беббідж. Однак він так і не зміг її побудувати. У середині 1843 Ада Лавлейс (дочка поета Джорджа Байрона) написала для неї першим в історії програму, вирішальну рівняння Бернуллі.
У своїй науковій роботі Ада розглянула багато різних питань. Кілька висловлених нею положень (зв'язок циклічних процесів обчислень з рекурентними формулами, принцип економії діючих осередків пам'яті) актуальні і для сучасного програмування. У коментарях Лавлейс і матеріалах Беббіджа є такі поняття, як індексний регістр, модифікація команд і бібліотека підпрограм. Ці терміни увійшли в ужиток лише в 1950-х роках, коли професія програміст (плюси і мінуси можна прочитати нижче) тільки зароджувалася. А широке поширення вони отримали тільки через пару десятиліть.
Перший програміст
Хоч жодна програма Ади Лавлейс була запущена, її прийнято вважати першим програмістом (хоча за сучасними мірками, написання тільки однієї програми не вважається професійною діяльністю). На честь неї було названо один з універсальних мов програмування - «Ада».
А найпершим був «Планкалкюль», створений німецьким інженером Конрадом Цузе в 1941 році. На жаль, історія не зберегла імен перших професійних програмістів (у відриві від налаштування апаратури комп'ютера). Це сталося тому, що в той час дана діяльність розглядалася лише як другорядна налагоджувальна операція.
Визначення
Програміст - це фахівець, який займається розробкою комп'ютерних програм і алгоритмів при активному використанні спеціальних математичних моделей. Залежно від спеціалізації програмісти поділяються на три категорії:
- Прикладні. Пишуть програми прикладного характеру: месенджери, редактори, бухгалтерія, ігри і т. Д. Створюють драйвера для СКД, систем відеоспостереження, пожежогасіння та ін. Також адаптують вже існуючі програми під потреби конкретного користувача або організації.
- Системні. Пишуть інтерфейси до баз даних, працюють з мережами, розробляють ОС. Фахівці цієї категорії найрідкісніші і високооплачувані. Їхнє головне завдання - розробка сервісів (програмного забезпечення) для управління обчислювальною системою (периферійні, комунікаційний пристрої і процесор).
- Web-програмісти. Працюють з мережами, але в основному з глобальними (Інтернет). Створюють веб-сторінки і пишуть програмну основу сайтів. Також в їх обов'язки входить робота з базами даних.
Освіта
Професія «программист» є в списку спеціальностей безлічі вузів. Якщо розглядати столицю нашої країни, то найавторитетнішими є: МГУ, МАІ, МЕСІ, МІЕМ, МІРЕА, МГТУ, МІФІ і МФТІ. Отримати професію програміста можна і в інших мегаполісах. Дефіциту з інститутами (або філіями), навчальними цієї спеціальності, немає навіть в маленьких містах. Згідно зі статистикою, російські вузи щороку випускають близько 100 тис. Програмістів.
У процесі навчання краще зосередитися не стільки на прослуховуванні лекцій, скільки на вирішенні завдань та участі в різноманітних навчальних проектах. Майбутній програміст повинен навчитися думати і приймати вірні рішення. Так як розвиток інформаційних технологій йде бурхливими темпами, то фахівцеві цієї сфери потрібні навички самоосвіти, які після отримання диплома дозволять йому не втрачати кваліфікації і йти в ногу з часом.
Суміжні кар'єри
Для російських програмістів (на відміну від зарубіжних) допустимо наявність суміжного освіти. Вони можуть бути математиками, фізиками, хіміками та ін. До речі, дуже популярною останнім часом стала професія «інженер-програміст».
Як показує практика, отримання суміжного вищої освіти не заважає бути їм першокласними IT-фахівцями. Відомо, що програмістів з азіатських країн (Індонезії, В'єтнаму, Китаю) залучають до масового індустріального програмуванню. А в тих областях, де потрібні творчі рішення, найбільш сильні російські фахівці. В першу чергу це обумовлено високою якістю фундаментальної освіти.
На факультеті кібернетики та вищої математики МДУ існує спеціальна програма дворічного навчання у вечірній час, що дозволяє підготувати програмістів з дипломом по суміжних напрямів і спеціальностей. Крім державного диплома про додаткову кваліфікацію випускники цієї програми отримують міжнародні сертифікати. Також є можливість дистанційного навчання через Інтернет. Наприклад, перебуваючи в який-небудь провінції, можна отримати престижну спеціальність «технік-програміст» (професія не дуже популярна, але перспективна). Йдемо далі.
Функціональні обов'язки
У Росії професія «програміст» (опис є в розділі «Визначення») не пов'язана з розробкою нових додатків, операційних систем і програм за типом Adobe Photoshop або MS Office. Цим займаються фахівці високої кваліфікації з таких фірм як Oracle, Sun, Adobe, Microsoft і т. Д. У вітчизняних компаніях подібні проекти велика рідкість і майже всі програми, які ставлять на свій ПК російські користувачі, створені західними фірмами. Є кілька вітчизняних фірм-розробників ПЗ, але їх дуже мало. Наприклад, «Лабораторія Касперського», що випускає антивірусні програми. Також створенням програмного забезпечення займається і ряд державних структур: НДІ, конструкторські бюро космонавтики та військово-промислового комплексу. Але знову ж, їх можна перерахувати по пальцях.
Великим попитом в Росії користуються программісти- «прикладники»: сьогодні будь-яка компанія потребує автоматизації бізнесу, в можливості вести облік продукції, швидко обмінюватися інформаційними повідомленнями між підрозділами фірми і працювати по внутрішній комп'ютерній мережі. Відповідно до особливостей свого бізнесу, компанії адаптують, а якщо потрібно, то і розробляють відповідні пакети програм. Потрібно розуміти, що автоматизація бізнесу видавничого дому і ресторану - це зовсім різні речі. Крім програмного забезпечення деяким фірмам необхідний регулярний моніторинг налагодженої системи та її модифікація, на випадок розширення бізнесу. Тому роботодавці набирають програмістів у свій штат. Але деякі фірми вважають за краще замовляти автоматизацію бізнесу професійним IT-компаніям.
Зараз на ринку праці росте попит на програмістів 1C, які адаптують пакети програм компанії «1C» під потреби конкретного підприємства, а здебільшого - його бухгалтерії. Проаналізувавши вимоги замовника, вони встановлюють ПО, що полегшує розрахунки, оптимизирующее роботу персоналу і налагоджує документообіг.
Ще одна популярна сфера діяльності - web-програмування: розробка, підтримка і модернізація сайтів. Ця сфера вимагає знання декількох мов: XML, javascript, CSS, XHTML, MYSQL, PHP. Причому більшість роботодавців бажають отримати фахівця, разбирающего як у дизайні, так і в програмуванні. Тобто він буде займатися не тільки технічними питаннями, але й оформленням, а також інформаційним наповненням сайту.
Важливі якості
Будь-яка професія майбутнього (програміст особливо), пов'язана з що швидко областями, потребують від фахівця навичок швидкої адаптації і здатності до самонавчання. Якщо у працівника їх немає, то через кілька років його кваліфікація помітно знизиться.
Ще один важливий навик - знання англійської мови. Особливо високі вимоги до цього вмінню пред'являє професія «інженер-програміст», де необхідно читання іноземної технічної документації.
Претенденти на посаду провідного спеціаліста повинні бути ініціативними, самостійними, самоорганізованими і відповідальними. Також необхідно вміння керувати колективом і проектами.
Плюси професії «программист»
Головний позитивний момент спеціальності - це зростаючий попит на її представників. Темпи зростання сфери інформаційних технологій в Росії складають приблизно 25% на рік, що набагато вище аналогічних показників в США і Європі. Професія «програміст» користується настільки великим попитом, що навіть випускник інституту з мінімальним набором знань може відразу влаштуватися на роботу. Ще одна перевага спеціальності - можливість роботи за кордоном, де російські експерти цінуються особливо високо.
Мінуси професії «программист»
Звичайно, у будь-якої спеціальності є і негативні сторони. Головний мінус професії - комплекс «козла відпущення». Наприклад, ви влаштувалися на роботу в компанію, що займається розробкою ПЗ. Потрібно розуміти, що замовників на цю послугу буде небагато, і менеджери будуть намагатися вхопити будь дорогий проект. При цьому якими засобами і в які терміни він буде виконаний, вони не особливо замислюються. Розплачуватися за таке «планування» доведеться програмістам-розробникам допомогою нічних або вечірніх «чувань» в офісі, а також роботою у вихідні дні. Це найсуттєвіший мінус, який має професія «програміст». Але нам здається, що чималий розмір заробітної плати з лишком його компенсує. Ну, і не варто забувати про хороших кар'єрні перспективи і можливості реалізації творчих задумів.
Оплата праці
Професія «програміст», опис якої давалося вище, вважається однією з найбільш високооплачуваних в Росії. Навіть початківець фахівець легко знайде собі роботу, відповідну рівню його знань. Зарплата стажиста становить приблизно $ 1000. Штатний програміст в середній компанії отримує до $ 2000. Ведучий - $ 2500-3000. Наступний щабель в кар'єрних сходах - керівник IT-відділу. У цьому випадку, крім обов'язкового досвіду роботи, необхідно знати англійську мову, вміти управляти персоналом і т. Д. Заробіток може доходити до $ 4000. А якщо хороший програміст очолить великий проект з розробки ПЗ, то зарплата може перевершити планку в $ 5000.
Кар'єра і перспективи
Хороший старт кар'єри - приєднання до групи фахівців, які розробляють якийсь проект. Великі проекти нерідко привертають увагу зарубіжних компаній, які можуть «перекупити» талановитих російських працівників.
Наприклад, в минулому столітті група наших учених займалася розробкою процесора «Ельбрус» для Міноборони. Дізнавшись про це, корпорація Intel перекупила всіх фахівців, а сам проект «Ельбрус» закрився. Також дуже яскравим прикладом є Олексій Пажитнов, який придумав гру «Тетріс». Спочатку він працював в РАН, а після професійних успіхів перейшов в Microsoft. Написані ним програми та ігри досі користуються високим попитом.
Професія «программист» (плюси і мінуси вказані вище) передбачає певний кар'єрний ріст. Про декількох етапах кар'єрних сходів, ми розповіли в розділі «Оплата праці». Вищими ступенями є посади IT-директора компанії, менеджера IT-проекту, керівника проектної групи і т. П. Головна умова переміщення на більш високу позицію - вдосконалення професійних навичок.
Великі і знамениті програмісти
Список їх досить великий, тому ми назвемо лише найбільш відомих:
- Фаулер Мартін.
- Реймонд Стівен.
- Таненбаум Ендрю.
- Мацумото Юкіхіро.
- Кнут Дональд Ервін.
- Страуструп Бйорн.
- Мейер Сід.
- Кей Алан.
- Столлман Меттью.
- Хоппер Грейс.
Закони Мерфі для програмістів
- Замість того щоб в нападі злості молотити системний блок, всі чомусь луплять по невинному монітору.
- Справжній програміст поміняв вже як мінімум 3 облитих пивом клавіатури.
- У словосполученні «мишка-норушка» немає ніякого сенсу.
- Програмісти, які відчувають проблеми з налаштуванням кодування, автоматично стають неандертальцями.
- Справжній програміст в разі голодування може ще протягом місяця харчуватися їжею, виколупати з клавіатури.