JavaRush /Java блог /Random UA /Як стати програмістом (частина 1)
Bender
1 рівень
Маунтин-Вью

Як стати програмістом (частина 1)

Стаття з групи Random UA
як стати програмістом Отже, ти відчуваєш гостре бажання стати програмістом. Куди тепер тікати? На це питання існує безліч відповідей у ​​мережі. Колись ми вже писали статтю про це . Тим не менш, судячи з питань, які нам задають у соціальних мережах, новачки часто губляться в достатку інформації і не знають, з чого починати. В принципі, ми на JavaRush тільки тим і займаємося, що допомагаємо відповісти на це питання. Однак для тих, хто зовсім розгубився, ми вирішабо скласти приблизний план дій.

Для початку визначся з пулом технологій

  1. Вибери 2-3 основні джерела знань, а також із десяток додаткових. Але не забувай «гуглити», якщо щось не зрозуміло.
  2. Вибери середовище розробки та встанови на свою робочу машину все необхідне програмне забезпечення.
  3. Визначся з тим, що ще вивчати та де черпати інформацію.
А тепер про все по порядку. Для початку визначся з мовою і пулом технологій Якщо ти зовсім нічого не знаєш про програмування, у тебе є два варіанти (насправді — більше, але ми тут не для того, щоб тебе заплутати). Шлях перший. Спробувати щось максимально просте на базовому рівні, і вже потім визначитися. HTML CSS JS Наприклад, мова розмітки сайтів HTML. Базове знання HTML - корисна навичка для будь-якого айтішника. Однак сама по собі ця мова дає новачкові дуже невиразне уявлення про програмування як таке. Розмітка — це не цілком програмування, і щоб дійти від створення сторінок до справжніх завдань, які вирішують не верстальники, а програмісти, потрібно багато чого вивчити. Тим не менш, отримати уявлення про HTML і його вічному супутнику CSS, що наводить красу, — дуже просто. Інтерактивні курси можна знайти тут: https://www.codecademy.com/learn/web https://htmlacademy.ru/program В обох курсах є платний та безкоштовний контент. Безкоштовного для початку цілком достатньо. Не надто складно вивчити основи JavaScript. Це вже справжнісінька мова програмування. Мегапопулярний причому, щоправда, з одним «але» — це найпопулярніша «друга мова», тобто така, яку більшість програмістів використовують як допоміжну. Основним він є для так званих «Фронтендників», програмістів, які створюють і привносять інтерактивність в інтернет-сторінки. Заради справедливості зауважимо: простота JavaScript - палиця з двома кінцями. На початковому рівні все дуже просто, але запрограмувати відносно складний багаторядковий додаток на JavaScript - завдання не з легких. Тож його не можна назвати універсальною мовою. Тим не менш, ось тобі кілька посилань на хороші JavaScript-ресурси. Стануть в нагоді якщо не відразу, то трохи пізніше. http://learn.javascript.ru/intro https://www.codecademy.com/learn/javascript Хорошим «навчальним» мовою сьогодні вважається Python. Він досить простий в освоєнні, відрізняється кодом, що читається, вирішує широке коло проблем, дозволяючи сфокусуватися на задачі, без постійних тривожень про те, як у цьому самому програмуванні все влаштовано. У якийсь момент ця особливість («високрівневість») може зіграти з новачком злий жарт, і він намагатиметься шукати у доброї «змійки» руки та ноги, яких немає. python Python' має і інші недоліки, наприклад, повільність при виконанні програм. І ще маса всякого підводного каміння, яке стає очевидним пізніше, коли програміст достатньо «наб'є руку» на найпростіших завданнях. Є ще дуже популярний PHP, але навряд чи варто з нього починати: мова і справді поширена, але до неї у професіоналів безліч претензій. Згадаємо і Ruby — мова чимось схожа на Python, але не найпростіша для розуміння. PHP, Ruby і Python вирішують приблизно ті самі завдання. В принципі, якщо ти впевнений на всі 200%, що хочеш писати тільки сайти і нічого більше, пул HTML + CSS + JavaScript + Python/PHP/Ruby тобі підходить. Хоча насправді ці прекрасні технології навіть Web не повністю охоплюють. Будь-які складні бізнес-програми, які ховаються за сайтами, дуже часто написані більш універсальними мовами. Таких як Java чи C#. Крім решти, рекомендуємо обов'язково подивитися популярний Гарвардський курс з основ програмування CS50 (ми його переклали на російську недавно, подивитися можна тут ). Він ідеально підходить для новачків. А якщо тобі, навчившись, захочеться не сайти клепати, а писати ігри, створювати програми під мобільні пристрої, програмувати мікропроцесори, чи створювати величезні корпоративні програми? А раптом робототехнікою захопишся? Наукою? Та чи мало, куди занесе… Згадай, чи так рідко життя вносило до твоїх планів свої корективи? Ось чому ми вважаємо раціональнішим і правильнішим другий шлях. Шлях другий. Вивчити універсальну та затребувану мову програмування, вміння працювати з якою добре оплачується. Java Вищезгаданий Python певною мірою підходить, але є куди потужніші у своїй універсальності мови. У тому числі — Java, C#, C++. Перші два багато в чому схожі та вирішують схожі завдання. По суті, вони вирішують будь-які завдання. Web, десктопні та мобільні (з застереженнями, про які пізніше) програми, робота з консоллю та графікою. Навчальний код на них також цілком комфортно писати. Який вибрати? В принципі, будь-який з них добрий. Але давай діяти раціонально (це дуже корисно для програміста!). Вбиваємо в Google щось на кшталт «найзатребуваніші мови програмування» і дивимося на результат. Ось кілька цікавих посилань: https://dou.ua/lenta/articles/language-rating-jan-2016/ https://hh.ua/article/13333 http://itdistrict.ru/kakoy-yazyik-programmirovaniya- samyiy-vostrebovannyiy-v-2016-godu/ https://dev.by/lenta/main/top-15-samyh-vostrebovannyh-yazykov-programmirovania-v-2015-m http://www.3dnews.ru/926356 У першій статті підбито підсумок традиційного опитування розробників (6181 особа, 91,5% респондентів проживає в Україні, 8,5% — за її межами), присвяченого затребуваності мов програмування. У другому – опитування HR-менеджерів (це ті, хто персонал підбирають), про те, які фахівці у сфері розробки їм найбільше потрібні. Останні три статті містять висновки експертів, йдеться про глобальний ринок праці. Якщо тобі ліньки переходити за посиланнями, ось вичавки зі статей: Судячи з джерел, найбільш затребуваною мовою є Java. Також у лідерах є де-не-де JavaScript і PHP. JavaScript через його поширеність у Інтернеті і тому, що його дуже часто використовують як «другу» мову (це теж відображено в дослідженні з першого посилання). Причина поширення PHP наступна: дуже багато сайтів було написано саме цією мовою, їх потрібно якось підтримувати, тому фахівці все ще потрібні. Однак їх кількість, згідно з тим самим дослідженням і здоровим глуздом (мова має масу недоліків, з цією тезою згідно з більшість розробників), продовжує скорочуватися. Стало менше і тих, хто пише на C#, тоді як кількість людей, які використовують Java, зросла, JavaScript теж. Зросла і кількість програмістів на Python, але відсоток опитаних на ринку поки невеликий: 8%, тоді як частка Java становить 26.3%. Далі – опитування рекрутерів. З нього теж можна зробити однозначний висновок, що найзатребуваніші розробники сьогодні - ті, хто володіє мовою програмування Java. Їх назвали потрібними всі опитані HR без винятку. Другими на думку фахівців з найму є ті, хто програмує на C#. Посилання на статті, в яких описані світові тенденції, не внесли жодної різноманітності в струнку картину: Java, Java і знову Java. Або ще докладний відеоролик, в якому навчений програміст пояснює, яка мова і для чого потрібна. Сам програмує на C#, C, Python. Як перша мова рекомендує Java: https://www.youtube. com/watch?v=T70qJndjYi0 Популярність мови пов'язана в першу чергу з її специфікою: саме на Java реалізується безліч бізнес-додатків, він універсальний і не залежить від платформи, на якій запускається програма. Мова відмінно підходить для створення великих та маленьких програм. Крім того, на основі Java створено Android. Java існує вже досить давно, і за час, що минув з її народження, мова обросла безліччю корисних бібліотек, і при цьому активно розвивається та оновлюється. Так що для роботи з Java потрібні фахівці і для розробки нових продуктів, і підтримки/оновлення вже існуючих.
Ну добре, скажімо, Java. Як платять фахівцям із цієї мови?
як платять програмістам Щоб з'ясувати, є багато прекрасних сайтів, наприклад, DOU. Крім усього іншого, на цьому сайті збирається статистика про те, скільки заробляють фахівці з розробки та інші «айтішники» в Україні. Отже, переходимо за посиланням , вибираємо там, наприклад, місто Київ та посаду Junior Developer (або просто Developer), вибираємо Java та порівнюємо з іншими мовами. Якщо ти живеш не в Києві, не хвилюйся: ми відстежували різницю вартості роботи в різних містах та у статті « Шлях програміста », наводабо таблицю з приблизними даними. Скопіюємо її сюди, ось вона: порівняння зарплат Це докризова таблиця. На даний момент ситуація дещо змінилася, київські зарплати залишабося приблизно на тому ж рівні, а от московські наблизабося до київських. Якщо ти вивчив посилання з DOU, то, мабуть, помітив, що Java-програмісти — не лише найзатребуваніші, а й одні з найбільш високооплачуваних фахівців.
А, може, Java це занадто складно?
...Насправді ні. Є мови, які першому етапі навчання здадуться простіше. Однак Java має величезний жирний плюс: він масовий, потрібний і присутній на ринку вже багато років. Відповідно матеріалів для навчання, лекцій, книг, форумів як для новачків, так і для запеклих програмістів — безліч. Ком'юніті дуже допомагає навчанню. Головне у всьому цьому розмаїтті не заплутатися та підібрати навчальні матеріали. Про це ми напишемо у наступному пункті. Ти вирішив, що хочеш розробляти ігри і прочитав, що більшість суперхітів написано на C++. То може одразу його і вчити, цього старійшину світу універсальних мов? Можна спробувати, але ідея не найкраща: С + + надзвичайно складний для новачка. А ось після підготовки Java ти без проблем зможеш перейти на C++, якщо захочеш. До речі, далеко не всі великі гри написані на C++. Знаменитий Minecraft , наприклад, створений на Java.

Короткі висновки

Висновки
  • Найзатребуваніші розробники пишуть на Java і потреба в них постійно зростає;
  • Java-розробники мають високі зарплати;
  • Java – універсальна мова. На ньому можна писати майже що завгодно. Ігри у тому числі;
  • Java відносно простий у вивченні;
  • Після Java неважко перейти на C#, дуже легко вивчити JavaScript, Ruby, Python. Після Java програміст готовий до докладного знайомства зі складним С++;
  • Android заснований на Java;
  • Реалізація багатопоточності в Java доставляє. Якщо ти новачок, ти, швидше за все, поки що не розумієш, як це класно. Просто запам'ятай цю фразу =);
  • Переважна більшість програмістів володіє JavaScript як друга мова.
Виходячи з усього перерахованого вище, наш рекомендований пул технологій для вивчення на початковому рівні: Основна мова : Java. Вчимо ту його частину, яку називають Java Core; Додатково : HTML, CSS, JavaScript. Підключай їх поступово, починаючи з другого-третього місяця навчання для відволікання та відпочинку від Java. Другу частину статті читайте тут . Третю частину статті читайте тут . Четверту частину статті читайте тут .
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ