На що звертати увагу при виборі найпершої спеціалізації? Чи варто керуватися власними почуттями, чи можна вгадати перспективну технологію і навіщо все-таки вчити англійську?
Розказуємо про це в нашій статті.
Порада перша: подумати про теоретичну науку і пробувати знання на практиці
Якщо ви вирішили йти класичним шляхом, тобто почали з навчання в вузі, зверніть увагу на Computer Science як на академічну дисципліну. Далеко не всі студенти, хто міг би розвивати цей напрямок саме в університетах, замислюється про таку можливість. Втім, кар'єра вченого підійде не всім. Але якщо для вас такий зв'язок між цілком абстрактними викладками і реальною розробкою найчастіше очевидний - можливо, склад вашого розуму дозволяє розраховувати на серйозні успіхи в теоретичній кібернетиці.
Тим же, кому нецікаво довго розбиратися, яким чином побудови теоретиків кібернетики втілюються на практиці, варто скоріше включатися в реальні проекти.
Напевно, найправильніший спосіб зрозуміти, наскільки подобається та чи інша справа - "помацати" її руками. Незалежно від того, який з двох сценаріїв ви вибрали: курси / самоосвіта або класика з п'ятьма роками університету, закінчення навчання чекати не потрібно. Зараз є можливість потрапити в продуктивне середовище раніше, шукати практикантські вакансії або пробувати писати щось своє з друзями. Головне - переконатися, що така робота приносить задоволення.
Порада друга: довіряти собі та аналізувати емоції
Є професії, представники яких в будь-якій країні світу завжди трохи на своїй хвилі. У них особливий стиль спілкування, специфічна мова і своєрідні жарти.
Мова програмування - перш за все мова спілкування, причому не тільки з машиною, а й один з одним. З одного боку, це перший привід задуматися, чи близька вам обрана професія. З іншого (і це дуже хороша новина) - якщо ви із задоволенням приймаєте ці принципи мислення, ви на правильному шляху. Відчувши основи розробки, набагато легше опанувати будь-який з використовуваних технологій. Це означає, що входом в професію може стати будь-яка мова. Якщо зараз такою часто виявляється, наприклад, Python, чому б і ні?
Сьогодні ви можете дійсно знайти спеціалізацію, до якої у вас схильність. Наприклад, специфічний інтерес до пристрою систем може стати відмінним фундаментом для кар'єри в інформаційній безпеці або тестуванні.
Існує думка,, що багато хто з тих, у кого поки трохи досвіду в реальних проектах, думають, ніби в QA потрапляють люди, нездатні писати програми. Мовляв, якщо хочеш в IT, але вчасно не навчився на розробника - йди в тестувальники. Насправді, класними фахівцями в тестуванні стають ті, кому по-справжньому подобається доводити додатки до ідеалу.
Порада третя: не боятися помилок і змін
Якщо ви навчилися кодувати, ще й кодувати добре та із задоволенням, залишається тільки зберігати готовність освоювати нові технології. Робити це потрібно, причому виключати, що вам, наприклад, не доведеться змінити мову програмування, не можна. Ніхто не гарантує і того, що одного разу не спаде на думку, ніби ви взагалі помилилися у виборі професії. У цей момент головне твердо оцінити, що саме не подобається. Швидше за все, причиною дискомфорту виявиться нецікавий проект, неприємний начальник або навіть те, що хлопці навколо виявилися не такими класними, як здалося спочатку.
Але якщо вам подобається сам процес - створення програми, її тестування або, скажімо, організації розробки - весь інший антураж поміняти відносно нескладно. Ринок IT динамічний, швидко оговтується після криз, компанії на ньому завжди конкурують за фахівців, особливо захоплених своєю справою. Якщо ви відкриті новому, відповідна пропозиція вас знайде.
У світі технологій при нинішньому доступі до інформації та освіти головне - не лінуватися і не боятися нового. Зараз досить списків популярних, високооплачуваних або улюблених програмістами технологій. Заглядати в них варто - будь-яка інформація може виявитися корисною. Але розраховувати раз і назавжди вгадати з платформою не доводиться. Нещодавно багато говорили, що через рік всі програмуватимуть на Golang, але поки програмують на ньому чомусь не всі.
У той же час стартувати з явно застарілою технологією тому, що зараз тим, хто згоден її використовувати, платять трохи більше, не порадимо. Зрозуміло, що в майбутньому це загрожує втратою роботи. Але врахуйте, айтішники - люди чутливі (навіть якщо ви поки за собою цього не помітили). Тому не прирікайте себе на взаємодію з ненависним інструментом заради зайвої пари доларів. Читайте пораду номер два і врахуйте, що краще за все в кінцевому результаті оплачується улюблена справа - в ній простіше досягти майстерності.
Порада четверта: дивитися на всі боки і вчити англійську
Програмування не схоже на класичні інженерні дисципліни. У нього куди більше спільного з філологією. Проілюструємо на простому прикладі. Візьміть задачку і попросіть будь-яку групу людей розв'язати цю проблему всіма можливими методами. Залежно від рівня підготовки таких рішень буде два, три, п'ять, але навряд чи набагато більше. Загалом, «декількома способами».
А тепер дайте групі програмістів завдання створити додаток для певного проекту: ви отримаєте рівно стільки різних програм, скільки людей буде їх писати. Процес створення програми більше схожий на написання твору, ніж на рішення прикладу. Якщо в школі клас пише твір про кота, не тільки тексти, а й самі коти виходять несхожими один на одного. Такий простір дає широкі можливості для пошуку в майбутньому.
Мабуть, тим, хто починав навчання з двома екземплярами книги на всю команду з 120 чоловік, які два тижні розпечатували з дискети в два проходи на матричному принтері, а потім їх видавали на руки під чесне слово і запис в журналі, залишається тільки заздрити сьогоднішнім студентам . Необхідності самостійно дресирувати комп'ютер, діючи з натхнення, тепер немає. Для пошуку інформації є безліч ІТ-спільнот і Google, життя без якого взагалі складно уявити.
Ще одне дуже важливе питання - англійська мова. Думаємо, для програміста зараз її знання виявилися навіть важливіше математики. І не тільки тому, що знання мови дозволяє спілкуватися з іноземними замовниками, спрощує пошук роботи і побудову кар'єри. Здатність розуміти англійську на порядок розширює можливості донавчання в будь-якій області, адже багато публікацій (чи не 80%) ніхто не збирається переводити на національні мови.
Порада п'ята: пробувати сили і бути азартним
Почнемо з того, що значення сильного шкільного бекграунду для програміста переоцінюють.
Раніше школи чітко ділилися на спеціалізовані, куди досить рано відбирали талановитих дітей - їх готували для подальшої роботи на стратегічно важливих напрямках, і всі інші, де думати майже зовсім не вчили, у всякому разі в рамках стандартної програми.
Пробуючи себе в різних технологіях, мовах програмування зараз, ви розширюєте кругозір та зрозумієте, що ваше, а що якось не дуже.
Якщо азарт занурення безпосередньо в технології в якийсь момент перестане бути таким гострим, завжди є можливість сконцентруватися на командній роботі. Взагалі-то далеко не всі хочуть бути менеджерами, і штовхати себе в цю сторону хорошому технічному фахівцеві штучно не варто. Однак якщо ви відчуваєте в собі потенціал лідера - упускати цей шанс просто шкода.
При цьому, щоб стати хорошим менеджером зовсім не обов'язково бути кращим програмістом в світі. З іншого боку, якщо ви вже стали професіоналом у галузі розробки програмного забезпечення, вас набагато легше візьмуть колеги, якими ви прийшли керувати (принаймні спочатку). У будь-якому випадку вміння говорити з командою на одній мові дуже важливо.
На закінчення скажемо, що з вибором спеціалізації зволікати не варто. Пробуйте цікавий напрямок на практиці, насолоджуйтеся професією і міняйте сферу, якщо вона здалася вам нудною. Прислухайтеся до себе і все вийде!