Що потрібно зробити, що б стати програмістом, міркування про все що навколо
Досить часто мені задають подібні питання. Після невеликих розпитувань з'ясовується, що люди не особливо представляють особливості цієї професії. Більш того, люди не особливо навіть і хочуть бути власне програмістами. Наприклад, зовсім недавно у мене був подібний розмова з одним моїм знайомим хлопцем. Після пари питань з'ясувалося, що він хоче бути швидше дизайнером або архітектором. А власне саме програмування його не особливо цікавить. Думаю, що це ключовий момент - насамперед потрібно розібрати власне ким ви хочете бути, а вже потім намагатися «зробити мрію реальністю». Отже приведу приблизну невелику інструкцію:
1. Спробувати розібратися з різноманітністю «околопрограммістсткіх» професій, спробувати з'ясувати ким ви все таки хочете стати, тільки тоді намагатися «копати глибше»
Наведу список (далеко не повний) професій, які дехто вважає, що ними займаються програмісти, хоча це не так:
- Адміністратор. Займається адмініструванням комп'ютером. Тобто такі люди користуються вже написаними програмами, налаштовують їх, встановлюють і намагаються що б все працювало. Сфера застосування просто величезна - від адміністраторів в інтернет кафе до адміністраторів серверів у великих компаніях. Слід зазначити, що часто такі адміністратори дуже непогано розбираються в програмуванні і навіть деякі пишуть невеликі програми для автоматизації деяких процесів пов'язаних з їх роботою. Проте це не програмісти і їх не слід плутати.
- Дизайнери, веб дизайнери. Займаються власне дизайном. З програмуванням пов'язані тільки тим фактом, що для роботи користуються комп'ютером, а так нічого спільного. Ще сюди можна віднести художників.
- Верстальники. Займаються приведенням текстів до заданого виду. Наприклад, в газеті чи журналі вони призводять вже набрані тексти до єдиного формату. Ще бувають верстальники веб сторінок, що приблизно те ж саме, тільки зі своїми особливостями.
- Спеціалізовані залучені фахівці. Залежно від програми, якою займається команда це може бути професійний економіст, бухгалтер або дитячий психолог. Такі люди працюють поза штатом програмістської команди, але звичайно ж програмістами не є. Слід зазначити, що тут є якась тонка грань і дуже часто відрізнити одне від іншого досить важко. Взяти наприклад проектувальника рівнів для ігор. (Пару років тому один мій знайомий хлопець хотів їм стати).
Більш того, слід зазначити, що навіть якщо ви зрозумієте, що ви хочете стати например не програмістом, а адміністратором, то і тут вам ще слід подумати. Почитайте, наприклад, статтю в вікіпедії про адміністраторів і прочуствуйте то кількість спеціалізацій адміністраторів, яке там наведено. Повірте з програмістами все ще більш заплутано.
2. Припустимо ви вивчили всі і все таки вирішили стати програмістом. Тепер вам потрібно визначиться зі своєю майбутньою спеціалізацією. Ви можете досить багато чого знайти в інтернеті на цю тему, думаю, що вам потрібно як мінімум відповісти на наступні питання:
- Програмувати під Windows або під щось інше?
- Мова програмування?
- Напрямок (або розділ) в обраною мовою програмування?
На даний момент, не можна сказати однозначно що краще. Вивчати все підряд просто не реально. Далі я буду припускати, що ви збираєтеся програмувати під Windows, мова програмування C #, напрямок - веб-програмування (тобто ви хочете писати сайти). Чому так? Так просто саме зараз я цим займаюся.
Якщо ви дійшли Дода місця, то можете вважати, що половину справи ви зробили. Далі вам потрібно:
- Купити комп'ютер (або той пристрій для якого ви хочете писати програми)
- Поставити програму в якій ви будете власне писати програми. Для C # це Microsoft Visual Studio.
- Поставити перед собою завдання і спробувати її вирішити. При цьому спробуйте пояснити самому собі, як таке завдання найпростіше і найбільш надійно можна вирішити.
- Купити книгу по потрібних вам мови програмування і ознайомиться з основами і основними конструкціями даної мови. Дуже важливо розуміти, що вивчити всі особливості мови без практичного використання неможливо. Ви повинні просто оглядово знати, що дана мова дозволяє зробити і які правила побудови програм він використовує.
- Почати вирішувати задачу. І розв'язати цю проблему, чим більше завдань ви вирішите самі, тим ближче ви будете до мети.
Чого робити НЕ треба!