Як стати програмістом або Вивчити Java за 1 рік

Добридень, дорогий читач. Давно хотів написати таку статтю, але не вистачало часу, або заважала зрадницька лінь. Але, як би там не було, все-таки у мене вийшло зібратися з думками, щоб написати те, що принесе вам, я сподіваюся, яку-небудь користь. З радістю поділюся своїми знаннями та досвідом у відповідь з вас належить час і увагу. На мою думку, дана публікація добре підійде для тих, хто готовий визначитися в своїх інтересах і хоче пов'язати своє життя з IT — тим чи іншим чином. Отже, поїхали!

Programmer HD Wallpaper by PCbots

Вибір мови програмування

Публікація починає виглядати як багато подібні матеріали. За законом жанру я повинен буду написати назву пари трійки мов програмування, назвати кілька плюсів і мінусів і, в підсумку, так і не відповівши на питання, перейти до наступної частини. Почасти в цьому є частка правди, адже кожен вибирає для себе ту мову, яка йому ближче, виходячи з того, розробкою якого виду продуктів він хоче займатися в майбутньому. Більшість з вас вивчали в школі Turbo Pascal і навряд чи для вас буде новиною, що на цій мові зараз вже практично нічого не пишуть. Так і в даному випадку, вибирати мову треба грамотно, хоча мало знань ніколи не буває, але якщо ви хочете за короткий проміжок часу ефективно влитися в ряди програмістів, до вибору мови треба підходити з розумом. На самому початку запам'ятайте: хороший програміст ніколи не залишиться голодним, а в більшості випадків зможе купити собі багато ікри (це визначення підійде для будь-якої спеціальності, але жодна спеціальність не дасть вам такої свободи вибору місця роботи, як в плані компаній, так і країн — програміст він і в Індії програміст).

Логічно, що чим популярніше мову і затребуваність, тим більше шансів буде знайти роботу в майбутньому, при цьому мова повинна бути нескладним в освоєнні. Бо хоча на C++ і пишуть велику кількість ігор і отримують за це хороші гроші, новачкові, тим більше не знайомому з ООП (об'єктно-орієнтоване програмування) краще відкласти на деякий час цю мову куди подалі. Далі за посиланням надано список найбільш популярних мов програмування 2014 року, і як видно, на першому місці стоїть Java, далі йдуть C мови, потім Phyton, JavaScript, PHP, Ruby і т.д. Якщо самим пошукати подібні статистики, то ви побачите, що в різних джерелах місця зайняті по різному, але в цілому перші 10 місць за змістом скрізь будуть збігатися.

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

Виходячи з цих двох джерел ми вже можемо собі уявити, які мови програмування зараз «в моді». Як видно з назви, автор статті вибрав для себе Java. Хоча я вважаю його найкращим для вивчення ООП, знайдеться багато людей, які не погодяться зі мною, і це логічно — скільки людей, стільки й думок. Тут ми стаємо на невелике роздоріжжі доріг: вибирати Java, С# (дуже схожий на Java), Phyton, якщо ми хочемо працювати з начинками програм і додатків (back-end) або ж PHP, JavaScript, HTML, якщо хочемо займатися веб-розробкою (front-end). У першому випадку я б свій вибір зупинив на Java, а в другому — на PHP, хоча знову ж таки, тут більше за смаком, треба вже самому шукати інформацію про різних мовах і взагалі розуміти, чим ти хочеш займатися. Для роздумів ось добірка мов, які використовуються в найбільших інтернет компаніях світу.

Є 2 основні причини, чому я обрав або Java, або PHP. Перша — це дуже популярні мови і знайти відповідну роботу не складе праці, а друга — в тому, що ні з яким іншому мовам ви не знайдете стільки навчального матеріалу як по цим двом, причому як російською, так і англійською.

10001798275020e27dcdde1

Навчання

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

Взагалі, у мене є своя теорія, не раз підтверджена мною ж на практиці: абсолютно всьому можна навчитися за 1 рік. . Повірте мені, це суща правда, комусь навіть знадобиться менше часу, але якщо людина не перестає здаватися і протягом року з розумом підходить до навчання, практично неможливо, щоб він не навчився. Це не тільки в програмуванні, абсолютно в будь-якій сфері: хочеш грати на гітарі — без проблем (у мене це зайняло не так вже багато часу і сил), навчитися аргентинському танго, кататися на серфі — на все це вистачить одного року. Головне — вчіться!

В даному випадку я буду розглядати мову Java, так як він мені все-таки ближче. Благо в інтернеті повно людей, які безоплатно допомагають іншим в навчання, тому знайти підходящий для вас матеріал не складе праці. Тут викладені більше 1000 годин лекцій по Java, які можна з пером і папером переглядати в свою стінах затишної квартири (поки тільки російською мовою). Для тих, хто звик вчитуватися в прохідний матеріал, знову ж інтернет надає великі можливості і це лише один з численних сайтів з уроками по Java. Теорії хоч відбавляй, але не можу сказати про такий навчальний сайт, як Coursera.org, де ви зможете знайти навчальні курси на різних мовах і по різних областях, в тому числі і програмування — знову ж таки все абсолютно безкоштовно. Таких сайтів не один і не два, варто лише пошукати.

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

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

  • «Досконалий код» Стіва Макконнелла. Радиться прочитати кожному програмісту, незалежно від спеціалізації. Книга не прив'язана до якого-небудь мові програмування, вона зачіпає проектування і конструювання проектів різної складності. Даний посібник буде корисним як починаючому програмісту, так і професіонала;
  • «Филосиаия Java», Брюса Эккеля. Вже стало класикою керівництво для Java програміста;
  • <a href=«www.ozon.ru/context/detail/id/8237920/>Java. Повне керівництво», Герберт Шилд
  • ;

«Java. Бібліотека професіонала», Кейс Хорстманн, Гарі Корнелл.


healthit-resized-600

Допомога у практиці

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

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

  • Cyberforum — на мою думку, самий популярний російськомовний форум ІТшников, тут можна знайти відповіді на питання, при чому не тільки в області програмування;
  • Programmers forum — великий російськомовний форум;
  • Searchengines — відомий форум, але спеціалізується більше на веб — програмування;
  • Stack overflow — а це вже, не побоюся цих слів, самий популярний у всьому світі IT-форум, відповіді практично на всі свої запитання ви знайдете саме тут;
  • Dev shed — теж великий англомовний форум;
  • Quora — форум прямо не спеціалізується на програмуванні, але зате велика ймовірність, що ви отримаєте відповідь від справжнього професіонала.


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

Компілюємо код

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

Нарешті, для тих, хто дійсно хоче стати програмістом, бажаю взяти бика за роги, зібрати всю волю в кулак і робити те, що вам подобається. До мене вже тисячі разів говорили, але я повторюся, головне — бажання і праця. Тоді все у вас вийде. Запам'ятайте найголовніше: сприймайте вивчення мов програмування і різних технологій не як мета, а як ЗАСІБ. Тільки уявіть, які можливості перед вами відкриваються. Може бути, саме ви станете одним із тих, хто змінює світ у режимі реального часу. Так що удачі і спасибі за увагу!

Відео-бонус, для хто дочитав до кінця


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.