- Захар День
- Єгор Яковішен
- Де вчитися в Москві
- Центр комп'ютерного навчання «Спеціаліст»
- Де вчитися онлайн
- Programming and the Web for Beginners
- «Школа програмування»
- Що читати в інтернеті
- HTML5 Rocks і CSS-tricks
У новому випуску рубрики про ефективне самоосвіта ми разом з експертами розбираємося, чому програмування - один з головних трендів останніх років, з чого варто почати знайомство з веб-розробкою і чим ці знання корисні в повсякденному житті.
Захар День
куратор профілю «Дизайн і програмування»
Школи дизайну НДУ Вищої школи економіки
Програмувати що-небудь дуже вигідно. Можна один раз витратити деяку кількість часу на написання програми і більше ніколи не вирішувати цю задачу повторно руками. У найближчому майбутньому зникнуть багато звичних нам професії і з'являться нові. З усіх боків говорять, що потрібно вчитися програмувати, тому що це актуально. Саме актуально - дуже правильне тут слово.
Програмування - це не тільки сам навик написання програм. Це в першу чергу розвиток мислення. Кодінг вчить кільком важливим речам: критичного мислення, декомпозиції і композиції. Це в цілому розвиває людину як особистість.
Що стосується побутового рівня, то в повсякденній роботі іноді потрібно витягнути якусь картинку або обійти криво написаний код, який не дає вам на сайті щось зробити. Історія з життя. Ми періодично замовляємо їжу додому на сайті однієї мережі ресторанів. Після логіна через Facebook поле для введення телефону на сайті заблоковано, а без телефону можна замовити їжу. Досить видалити в коді сайту слово disabled, щоб не залишитися голодним.
У веб-розробці поріг входу значно нижче, ніж в мобільній. Щоб розробляти під браузер, необхідно вивчити мову гіпертекстової розмітки HTML, каскадні таблиці стилів CSS і єдина мова програмування під браузер - JavaScript (не плутати з Java).
Останні кілька років активно розвивається JavaScript. З його допомогою можна писати практично під все, а якщо під щось не можна, то в найближчому майбутньому, швидше за все, буде можна. У будь-якому випадку без JavaScript нічого ділового в браузері зробити не можна, тому що це єдина мова програмування, який розуміє браузер. Але в даний момент в екосистемі JavaScript все дуже непросто для новачків, до того ж сам язик не дуже виразний. Зате дуже розвинена і зручна для початківця розробника екосистема мови Ruby, хоч він поступово і втрачає свою популярність. Більш того, важливий не тільки мову, а фреймворк (великий інструмент, що складається з великої кількості бібліотек) на цій мові - Ruby on Rails. З його допомогою можна за пару годин зробити багато користувачів веб-сервіс. Це моя особиста рекомендація для старту.
Якщо говорити про вивчення мов, то найпоширеніша помилка пов'язана з недотриманням синтаксису. Одна пропущена лапки, дужки, кома роблять ваш код неробочим. Крім того, небезпечно брати нові завдання в роботу, не виконавши попередні або не зміна пріоритети. Не варто думати, що мова і інструмент, з яким ви працюєте, зможе вирішити всі завдання. Інша часта помилка: код прийнято прикрашати відступами, таким чином створюючи структуру. Краще з самого початку навчитися структурувати свій код правильно.
Варто приділяти час вивчення документації. У кожної мови, бібліотеки та інструменту є технічна документація, а іноді і специфікація. Найчастіше - ще й співтовариство навколо цього інструменту зі своїм чатом або будь-яким іншим сервісом для спілкування.
Обов'язково потрібно вміти гуглити. Можна знайти відповідь практично на будь-яке питання. Потрібно бути посидючим: деякі речі займають велику кількість часу і вимагають серйозної мозкової активності і концентрації.
Головне - пам'ятати, що починати завжди складно. Деякі концепції і технології засвоюються до вільного використання тільки на третьому проекті. До того ж технічну документацію не завжди просто сприймати. Не забувайте до неї повертатися, коли щось не виходить.
Єгор Яковішен
Senior Frontend Developer в Look At Media
Причин, чому варто почати програмувати, кілька. Це активно зростаючий ринок праці. Я неодноразово бачив цифру в мільйон чоловік - такий буде недолік людей в цій сфері до 2020 року. Є така книга, свого роду маніфест, « Програмуй або будь запрограмований ». Суть її зводиться до того, що або ти сам починаєш розбиратися в технологіях, або технології починають формувати твоє життя. Продукти, якими ми користуємося, пронизані алгоритмами, які не всі розуміють. Відповідно, якщо хочеться хоч якось розбиратися, що до чого, було б непогано розуміти основи.
Абсолютно точно можна навчитися КОДІНГ прямо з дому. Є безліч сайтів для онлайн-навчання. Я сам час від часу проходжу якісь курси, мені дуже подобається. Вони інтерактивні, зрозумілі, ти відразу починаєш щось писати. До того ж зараз стало з'являтися все більше коротких інтенсивів, де можна за пару занять освоїти базу. Як правило, викладачі на них вчать тому, з чим самі мають справу, і на практиці знають, що працює, а що - ні. Книги - це добре, але дуже часто веб-технології розвиваються з такою швидкістю, що інформація в книзі може швидко втратити свою актуальність. Читати щось, що вийшло більше двох років тому, сенсу немає.
Багато хто вважає, що для програміста дуже важливо знати математику, але математики як такої в базовому програмуванні практично немає. Набагато важливіше здатність абстрактно мислити. Також важлива логіка, адже програмування - це по суті написання алгоритму роботи системи. Перед тим як цей алгоритм зробити, ти повинен спочатку побачити його у себе в голові. І, звичайно, англійська. Без англійської є велика ймовірність завжди плестися в хвості. Технічну документацію варто читати в оригіналі: переклад завжди запізнюється.
Десять років тому багато речей потрібно було писати з нуля. Зараз є велика кількість інструментів, які розраховані на новачків. Це різні бібліотеки, які можна брати і підключати цілими блоками в декількох рядках коду. Веб зараз багато в чому складається з компонентів - залишається вибирати потрібні і потім налаштовувати між ними логіку.
Не зациклюйтеся на теорії, потрібно більше практикуватися. Не варто читати цілий місяць книгу або набір статей. Має сенс чомусь вчитися, відразу це застосовуючи. Нехай це будуть найпростіші приклади, але як тільки в чомусь розібрався, потрібно це відразу написати.
Я б точно порекомендував ходити на мітапи - коли програмісти збираються і по черзі виступають з якимись доповідями. Це мотивує, там завжди приємна атмосфера, можна підійти до будь-якій людині і задати питання по темі. З найвідоміших - регулярні зустрічі розробників JavaScript MoscowJS Meetup , «Я.Субботнік» і Moscow Tech Meetup.
Де вчитися в Москві
moscoding.ru
Тверська, 7
Курс «Основи HTML і CSS і веб-анімації»
29 999 РУБЛІВ
Більшість курсів в MCS розроблені в основному для тих, хто з кодом знаком чуток. Навчання інтенсивне, триває зазвичай чотири-шість днів по вихідним. За цей час слухачі дізнаються основи і в кінці можуть створити більш-менш робочий проект. В якості викладачів виступають провідні розробники з стартапів і медіа: Hello Computer, Hyperboloid, SoundCloud, Look At Media і Meduza. Крім HTML / СSS і інструментів веб-розробки, можна навчитися основам створення мобільних додатків. Заняття проходять в красивому просторі DI Telegraph на Тверській, а команда збирається в основному з представників креативних індустрій.
Центр комп'ютерного навчання «Спеціаліст»
specialist.ru
Курс «Створення сайтів на HTML 5 і СSS 3»
9 150-11 490 РУБЛІВ
«Спеціаліст» діє при МГТУ імені Баумана. Сайт виглядає занадто складно, тому з ходу знайти потрібний курс, можливо, не вийде. Зате вчать тут багато чому, а курси поділені на різні рівні підготовки. Занурюватися в світ кодинга з нуля рекомендується на курсі «Основи програмування та баз даних». Випускники отримують свідоцтво про закінчення курсу, а якщо після захочеться змінити професію, у центру є своя служба персоналу, яка допомагає випускникам влаштовуватися на роботу. Головний плюс - безліч точок навчання по Москві, і в кожної потрібний курс починається в різні дати.
Де вчитися онлайн
Найпопулярніший і абсолютно безкоштовний сервіс в області навчання програмування з нуля. Навчання проходить у формі коротких вправ з простими завданнями та інструкціями. Навчатися тут варто базовим принципам роботи з JavaScript, HTML і CSS, а для більш глибокого занурення - йти на інші сайти.
Programming and the Web for Beginners
Перевірена часом Coursera співпрацює з відомими навчальними закладами, тому вселяє особливу довіру. Курси більш докладні, до того ж, на відміну від Codeacademy, займатися доведеться як в школі: є хоч і віддалений, але вчитель і певний темп, який не дозволить розслаблятися. Цікавий вступний курс Гарвардського університету є ще на edX .
Корисний російськомовний ресурс з 37 розділами, присвяченими різним аспектам роботи з версткою: від заняття по структурі HTML-документа до курсів про нові можливості HTML5 та CSS3. Для тих, хто хоче стати професіоналом, є два онлайн-інтенсиву (базовий і просунутий).
«Школа програмування»
«Школу програмування» заснували випускники Бауманки - більшою мірою для тих, у кого немає можливості або бажання записатися на офлайн-курси, а й штурмувати світ кодинга поодинці не хочеться. Заняття проводяться у вигляді вебінарів, а для тих, хто сумнівається є безкоштовні вступні уроки.
Що читати в інтернеті
Тут можна знайти відповідь на питання по будь-якій темі IT від учасників спільноти, добре в ній розбираються. Сенс такої: користувач пише питання, інші пишуть кілька відповідей, і найпопулярніші закріплюються нагорі. Є версія російською.
Платформа з найактуальнішими матеріалами для веб-розробників - про останні тенденції і найуспішніших інструментах.
Багатопрофільна майданчик, що поєднує в собі новинний сайт і колективний блог. Тут спілкуються реальні програмісти і ведуть свої блоги компанії. Крім основного сайту, є ще пов'язані з ним проекти, навколонаукові і більш теоретичні Geektimes і « Мегамозок ", а також " тостер », Російськомовний аналог Stack Overflow.
HTML5 Rocks і CSS-tricks
Сайти, присвячені поліпшень, новим розробкам і невеликим секретам HTML5 і CSS. Сюди корисно заглядати, щоб бути в курсі обстановки.
Щось на зразок соцмережі для програмістів, де, крім іншого, лежить величезна кількість бібліотек. Це хороший ресурс, але у нього є проблема - абсолютним новачкам без сторонньої допомоги і пошукача розібратися, що до чого, важкувато.
Дуже корисний підручник і за сумісництвом один з найбільших російськомовних порталів по JavaScript. Що важливо, постійно оновлюваний і підтримуваний працюють програмістами.
Обкладинка: Sebastiaan ter Burg [ CC BY 2.0 ]