Комп'ютерна Академія IT STEP - повноцінна IT-освіта для дорослих і дітей. Ми навчаємо з 1999 року. Авторські методики, викладачі-практики, 100% практичних занять.

Ви використовуєте застарілий браузер!

Ваш браузер Internet Explorer, на жаль, є застарілим. Ця версія браузеру не підтримує багато сучасних технологій, тому деякі функції сайту можуть працювати з помилками. Рекомендуємо переглядати сайт за допомогою актуальних версій браузерів Google Chrome, Safari, Mozilla Firefox, Opera, Microsoft Edge

ШАГ логотип

Як обрати першу та другу мову програмування і чому цінність програміста не в обраній мові

IT STEP Academy

Освіта для дорослих

07.10.2022

1949 переглядів

Вітання! Мене звати Алекс Туманов. Я керівник напрямку Комп'ютерної Академії IT STEP «Розробка програмного забезпечення». За плечима — 20 років програмування мовами C, C++, C#, Java, PHP, Javascript.

У статті розповім, чому вчити другу, третю та всі наступні мови програмування не страшно, а весело та цікаво. А головне — це необхідність для кар'єрного зростання. Стаття допоможе і тим, хто ще не знає жодної мови — розвіяти міфи та увійти до ІТ без сумнівів та переживань.

У 90-х я писав мовою C. І це стало фундаментом кар'єри в ІТ з однієї причини

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

У мене була книга "Мова програмування С для чайників". Я її дуже люблю і в мене з нею лише найтепліші спогади.

Прочитав книгу від А до Я. Пробував щось робити сам, брав ідеї у друзів. Вони й рекомендували вчитись програмуванню з мови C.

Мені сподобалась мова своєю лаконічністю, красою та витриманістю. І C став фундаментом кар'єри. Як у моїй історії, так і мільйонів розробників у всьому світі.
 

Список трендових мов програмування від TIOBE. Жовтим виділені C та С-подібні мови

 

Через 20 років я ні про що не шкодую. Радий тому, що розпочав шлях саме з C. Подивіться на тренди 2022 року. Затребувані C-подібні мови програмування: C++, C#, Java, Javascript. Нещодавно виник Rust. Go — теж C-подібна мова.

Кожному, хто тільки-но починає кар'єру в IT, рекомендую звернути увагу на C — це фундаментальна мова програмування.

Вчитися програмування на C, як пізнати основи роботи з акціями. Фондовий ринок існує не одну сотню років. Змінюється суспільство, тренди. А фундаментальні поняття на кшталт диверсифікації портфеля, трендів на підвищення та зниження курсу, біржові крахи — повторюються. І вони допомагають правильно обирати акції компаній, зменшити відсоток помилкових рішень і аналізувати ринок.

С-подібні мови формують правильну свідомість. Не просто програміста, а інженера. І це різні терміни.

Програмісти та інженери різняться підходом до вивчення мов

Коли ви дивитеся відео про програмування на Youtube або читаєте блоги програмістів, у голові закрадається питання: «Усі говорять про тренди у мовах. Одні мають попит. Інші вмирають. Що вчити?»

«Якщо я програміст, то я знаю певну мову і пишу тільки на ній» — як правда, так і велика помилка.

Хороший програміст — це завжди інженер. Він не пише код конкретною мовою, на кшталт Python або Javascript. А вирішує завдання клієнтів.

Уявіть ситуацію: ви працюєте над програмою для мобільного банкінгу, на зразок Privat24. І знаєте лише одну мову. Ви берете цей інструмент, пишете код для програми. З помилками, багами — не має значення. Здаєте проект, навіть про них не замислюючись.

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

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

І не кожен роботодавець шукає спеціалізованого програміста. Наприклад, Microsoft набирає до штату дженералістів — універсальних розробників. Те, якою мовою людина програмує, — на другому місці. У Microsoft чудово розуміють: «Зараз розробник пише на С#. Якщо з'явиться проект на Java, ми передамо завдання саме цьому програмісту. Він знає C#, зможе швидко вивчити відмінності синтаксису мови. І розпочати роботу».

Відмінності синтаксису — фундамент для вивчення всіх мов після першої

Будь-яка професія накладає обмеження на мозок. Він функціонує так, щоб допомогти освоїти конкретну, обрану вами професію. Наприклад, суддя знає про свою професію в обкладинці канцеляризмів та складних юридичних термінів. Для нас легко оперувати поняттям «людина». Але в юридичному колі це завжди — «фізична особа».

Так і у програмуванні. Коли вчите першу мову, мозок створює нові нейронні зв'язки, які допомагають думати з позиції інженера.

 

У програмуванні ви навчаєтеся методології — це ідеї, принципи та способи написання програм. Наприклад, якщо ви знаєте правила настільної гри «А», то перейти на гру «Б» зі схожими правилами, але дошкою та картками з іншими картинками легше і швидше.

 

Мова - прикладний засіб, гайковий ключ з числовим маркуванням.

 

Як розуміє новачок: «Треба спочатку вивчити мову, а вже потім займатись проектами». Але це неправильний підхід.

 

Вчити 20 мов, щоб стати експертом — не має сенсу. Від однієї кількості мов страшно: «А чи я потягну стільки?» Це не коректний хід думок, який призводить до страху першого кроку в IT і подальшого навчання.

Відправна точка – методологія. Потім перша мова. Ваша перша мова — помічник для мозку. Він перепрошиває мозок під програміста. А ви крок за кроком рухаєтесь сходами вгору. Робите виважені кроки, нічого не боячись. Не стоїте на місці.

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

Тепер ви вчите нову мову не через правила (ви їх знаєте), а через відмінності синтаксису. І використовуєте мову в потрібній вам ніші. Як у прикладі з мобільним додатком.

 

Завдання №1 для вивчення будь-якої мови після першої — зрозуміти предметну область. Та з'ясувати, які завдання вирішує обрана мова програмування.

 

Наприклад, ви займаєтеся Frontend-програмуванням. Якщо ви вчили С, або C++, а переходите на Javascript, то дивитесь: «Так створюються умови в JavaScript. Так працюють цикли. А ось створюються масиви – я знайшов відмінності з мовами, що вивчав раніше, і все розумію. Останнє — базові поняття, методологія». І ви не витрачаєте час на розуміння того, що таке масив. Ви на C++ вивчили.

Як вибрати мову програмування, якщо розуміння в програмуванні ще немає

Раджу вивчати найпопулярніші мови програмування. І орієнтуватись на ту сферу, де хочете працювати. І «хочете жити» цією нішею.

Деяким моїм колегам подобається системне програмування — драйвера, антивіруси, фаєрволи, програмні продукти для автомобільних комп’ютерів. І вони вчили С++ першим. Мова  й досі популярна в ігровій сфері.

Якщо вам цікаво працювати з веб-проектами – навчайтесь технології Frontend (JavaScript, Html, CSS) та Backend (Java, Python, ASP.NET Core). Потім зможете вибрати одну нішу та зупинитися на ній. Або стати Full-stack розробником і робити продукт самостійно.

 

Якщо ж не знаєте, де хочете бути — візьміть мову, яка завжди користується популярністю. Наприклад, С++ або С #.

 

Я не дарма розповідав про C-подібні мови. Все, що вам потенційно подобається, пов'язане з C — C #, Java, JavaScript.

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

 

Перегляньте на Youtube огляди мов. Зверніть увагу, які завдання вони вирішують. 

 

І приходьте на спеціалізовані заходи, де детально розповідають про професії в IT. Наприклад, на івенти Комп'ютерної Академії IT STEP. Послухайте презентації, запитайте про все, що турбує. Розвійте для себе страхи та сумніви. 

І не звертайте увагу на конкретній мові — яка найлегша, а де платять більше. Дайте собі час спробувати в IT.

Другий варіант — забути про мови програмування, нішу та інтереси. Стати універсальним фахівцем.

Чітко зрозуміти: чому вчитися, а чому ні — новачкові важко. І самостійно це зробити не завжди вдається.

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

Але проблема не тільки в тому, щоб знайти програміста та мотивувати працювати з вами. Є ще кілька факторів, які впливають на рівень та час навчання:

  • Люди зайняті особистими проектами, підвищенням кваліфікації та роботою.

  • Не кожному програмістові подобається викладати.

  • Якщо немає програмістів, які готові працювати з вами безкоштовно, то ментору доведеться платити, як і за курси.

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

А шукати ментора не потрібно — за вами прикріплений цілий викладацький колектив. З чітко налаштованим графіком та програмою навчання.

Якщо вам цікаве програмування, але не знаєте, чого саме хочете від професії — станьте універсальним фахівцем. Записуйтесь на «Професійну комп’ютерну освіту» Комп'ютерної Академії IT STEP.

Після навчання ви — фахівець не в одній ніші. А програміст з багажем технологій. Сміливо вибираєте сферу, де бажаєте бути. Усвідомлено, з готовою базою.

На моїй практиці багато прикладів, коли люди після «Професійної комп'ютерної освіти» переходили з однієї сфери в іншу. Наприклад, з розробки мобільних додатків у Frontend. Все залежить від власних бажань та потреб компанії, де працює людина.

І не думайте зараз, яку мову програмування вчити. Якщо ви знаєте методологію програмування, освоїти предметну область другої, третьої… мов легко і цікаво, як прочитати книгу або подивитися всі сезони улюбленого серіалу. Спробуйте! Зробіть перший крок до IT.



Автор:

IT STEP Academy

Алекс Туманов. Я керівник напрямку Комп'ютерної Академії IT STEP «Розробка програмного забезпечення».

Дизайн

3D візуалізатор - професія майбутнього

Сучасний світ став візуальним, а тривимірна візуалізація – невід'ємною частиною нашої епохи. Пам'ятаєте останній раз, коли ви бачили реалістичне зображення будівлі, інтер'єру або продукту до його створення? Це була 3D візуалізація, і вона грає велику роль у нашому житті. 3D візуалізатор – це той, хто створює цю магію.

Сучасний світ став візуальним, а тривимірна візуалізація – невід'ємною частиною нашої епохи. Пам'ятаєте останній раз, коли ви бачили реалістичне зображення будівлі, інтер'єру або продукту до його створення? Це була 3D візуалізація, і вона грає велику роль у нашому житті. 3D візуалізатор – це той, хто створює цю магію.   Мистецтво 3D візуалізації проникає у багато сфер нашого життя. Від архітектури і дизайну інтер'єру до реклами та промислового проектування – скрізь можна знайти сліди роботи 3D візуалізаторів. Ми розглянемо, які завда

ШАГ логотип

Soft-skills

Як знайти роботу junior спеціалісту без досвіду роботи

Пошук роботи для фахівців у сфері інформаційних технологій завжди залишається актуальним питанням. Безліч новачків, які мають певні знання та навички в IT, стикаються із завданням: як розпочати кар'єру, не маючи досвіду роботи. Ринок IT надає безліч можливостей для джунів, які прагнуть застосувати знання на практиці.

Пошук роботи для фахівців у сфері інформаційних технологій завжди залишається актуальним питанням. Безліч новачків, які мають певні знання та навички в IT, стикаються із завданням: як розпочати кар'єру, не маючи досвіду роботи. Ринок IT надає безліч можливостей для джунів, які прагнуть застосувати знання на практиці.   Однак, незважаючи на потребу компаній у нових спеціалістах, пошук роботи для junior'ів без досвіду може стати певним викликом при конкуренції з досвідченішими кандидатами. Також, не завжди просто зрозуміти, які компетенції

ШАГ логотип

Soft-skills

10 кращих технік тайм-менеджменту для айтішника

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

Ефективне управління часом є однією з ключових навичок, необхідних айтішникам для успішної роботи в швидкому та динамічному світі інформаційних технологій. В індустрії, де терміни жорсткі, проекти багатозадачні, а вимоги до продуктивності високі, уміння ефективно планувати, організовувати та контролювати свій час стає невід'ємною частиною успіху.   У нашій статті ми представимо вам 10 найкращих технік тайм-менеджменту, спеціально підібраних для айтішників. Ви дізнаєтеся про різні стратегії, які допоможуть вам оптимізувати використ�

ШАГ логотип

SMART - цілі: найкращий помічник у плануванні для програмістів

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

Для успіху у програмуванні потрібні не тільки технічні навички, а й уміння ефективно керувати своїми завданнями та цілями. У цій статті ми поринемо у світ SMART-цілей та розглянемо, як програмісти можуть використовувати цей підхід для підвищення продуктивності та професійного розвитку.   Знайомство з концепцією SMART-цілей SMART - це акронім, який описує основні характеристики ефективної мети: Specific (конкретна), Measurable (вимірна), Achievable (досяжна), Relevant (пов'язана з поточними завданнями та цілями) та Time-bound (обмежена за часом). Кожен із цих аспектів �

ШАГ логотип

Цей сайт використовує Cookies

Політика конфіденційності