Хочу начать писать программы с чего начать

Мотивация или как начать писать

Для многих из нас написание текстов является сложной и неприятной задачей. Пожалуй, всем знакомы ситуации, когда оно либо откладывается на последний момент и делается в спешке кое-как, либо отнимает огромное количество времени при очень низкой продуктивности.

Отчасти неприязнь к письму объясняется болезненными школьными или студенческими воспоминаниями: всех нас заставляли писать сочинения, рефераты, дипломы и диссертации по совершенно неинтересным нам предметам. Между тем, школа или университет отнюдь не являются единственными местами, где нам необходимо писать тексты.

Отчёты и доклады на работе, мотивационные и рекомендательные письма, рецензии на книги и фильмы, заметки в блогах и социальных сетях – вот лишь немногие из тех видов письма, с которыми мы сталкиваемся каждый день. Не говоря уже о том, что некоторые из нас хотели бы писать рассказы, сказки для своих детей или мемуары, но никак не могут приступить к этому занятию. Как же сделать написание текстов эффективным и приносящим нам удовольствие? Другими словами, каким образом можно замотивировать себя на написание текста и довести этот процесс до конца?

Содержание

  1. Мотивация к письму
  2. Ситуация первая: я хочу начать писать тексты, но не знаю, о чём
  3. Ситуация вторая: я начинаю писать, но не могу довести работу до конца
  4. Ситуация третья: мне не хватает терпения и усидчивости во время письма
  5. Ситуация четвёртая: не могу заставить себя приступить к написанию текста
  6. Ситуация пятая: я пишу очень медленно
  7. Проверочный тест

Мотивация к письму

В наиболее общем смысле:

Мотивация – это внутреннее или внешнее побуждение человека к действию.

Внешняя мотивация, как явствует из названия, – это совокупность внешних факторов, которые заставляют нас приняться за работу. В случае с написанием текстов, типичными примерами внешней мотивации является необходимость написать курсовую работу в университете или годовой отчёт на работе. Если студент не напишет курсовую работу в срок, то его могут отчислить из университета.

Если работник не подготовит отчёт, то он потеряет доверие коллег и начальства, не сможет рассчитывать на продвижение по карьерной лестнице и повышение зарплаты, возможно даже, будет уволен. Отчисление из университета, плохие оценки, продвижение по карьерной лестнице – всё это внешние факторы, мотивирующие к написанию текста. Безусловно, внешняя мотивация может иметь и более сложный характер: иногда люди начинают писать тексты, чтобы самоутвердиться, привлечь к себе как можно больше внимания, справиться со своими комплексами и фобиями и т.д. Однако в данном случае письмо также является всего лишь инструментом для достижения других целей.

При этом многие психологи утверждают, что внешняя мотивация никогда не может сравниться по своей силе с внутренней мотивацией. Внутренняя мотивация – это совокупность личностных потребностей, желаний и черт характера, которые способствуют эффективному выполнению какого-либо задания.

Различие между внешней и внутренней мотивацией можно проиллюстрировать на примере фраз «Мне нужно» и «Я хочу». В первом случае, я ничего не хочу писать, но от меня этого требуют внешние обстоятельства, во второй ситуации, мне совершенно ничего не нужно, но я хочу писать. Между тем, сила внутренней мотивации часто переоценивается. Ресурсов лишь внутренней мотивации может быть недостаточно для того, чтобы довести дело до конца. Поэтому идеальным является сочетание внутренней и внешней мотивации.

Для того чтобы понять свой уровень самомотивации, предлагаем вам пройти специальный тест.

Тест на самомотивацию

Как прийти в IT (с чего начинать)

Как прийти в IT (с чего начинать)

Некоторое время назад в корпоративном блоге EPAM на dev.by была размещена статься в двух частях (первая и вторая), в которой мы с коллегами отвечали на наиболее частые вопросы о том, с чего начинать желающим построить карьеру в IT. Размещаю у себя полный (не порезанный на части) вариант.

Наверняка у вас есть знакомые, которые работают или получают образование в весьма отдалённой от IT сфере, но время от времени интересуются, как можно переквалифицироваться в успешного и достойно зарабатывающего IT-специалиста.

Сегодня на вопросы о том, с чего начать карьеру в IT, ответили представители тренинг-центра ЕРАМ: Евгений Пешкур, заместитель директора по подготовке персонала, Святослав Куликов, менеджер отдела по функциональному тестированию, Александр Барановский, руководитель образовательных программ по тестированию, и Светлана Захаренко, Java-тренер.

1. Хочу работать в сфере IT, но не знаю, с чего начать. Что посоветуете?

Евгений Пешкур:

Трудно советовать, не зная стартовых условий. Посоветую для среднего пользователя PC, уверенно овладевшего Counter Strike, форумами и социальными сетями.

Учите английский язык. Без шуток. Если вы не восприняли это серьезно, дальше можно не читать. Изучение английского до минимального уровня, применимого в компаниях, работающих на внешние рынки (уровень B1, если кому интересно) занимает год-полтора. Знание другого иностранного языка будет плюсом, но никак не заменой.

Вам простят незнание какой-либо технологии, но не отсутствие языковой подготовки.

В основе всего лежит то, чему учат все ВУЗы, – способность самостоятельно искать и изучать материал. Многие, не осознавая этого, рассматривают курсы как место, где их «возьмут за руку и приведут к успеху». На самом деле, вас приведут к промежуточному финишу, дадут сертификат (оценку, диплом) и далее сделают в блокнотике пометку «профнепригоден». И это будет связано не с результатом финального теста, а с вашим образом мышления. И опытный преподаватель это очень быстро определит, проверяя и обсуждая с вами ваше задание. «Незагугленное» и осмысленное решение (пусть и не работающее, даже попытка его создания), отходящее от того, что он сам преподал днем ранее, для него будет очевидным.

Начните с азов. Смешно и нелепо, но добрая половина из тех, кто идёт на курсы, не знают, что такое бит и байт. Замечали возмущения типа «платил за винчестер на 40 GB, а дали всего на 38»? Почитайте, что такое сети и каковы общие принципы их работы. Познакомьтесь с базовыми понятиями типа ascii, heap, process

  • вы будете долгое время проигрывать в степени профессионализма тем, кто посвятил IT всю жизнь.
  • Программирование. Как начать писать программу?

    Как создать онлайн курс? С чего начать

    Но эти факты – не приговор, и я лично знаю тех, кто пришёл в IT из «гуманитарных профессий», но благодаря своей целеустремлённости добился ощутимых успехов.

    Александр Барановский:

    Каждый конкретный случай надо разбирать под микроскопом, так как я не могу сказать «каждый гуманитарий может стать программистом», это было бы неправильно. В нашей практике прецеденты были. Но нужно понимать, что это далеко не просто и требует огромных усилий, терпения и упорства.

    Светлана Захаренко:

    Ничего невозможного нет, переучиться можно всегда :), вопрос в конечной цели и затрачиваемых ресурсах. Если вы решили стать программистом именно потому, что программирование вам интересно, переучиться будет не очень сложно, так как скорее всего интерес возник не спонтанно, вы его поддерживали, вы уже имеете представление о программировании, возможно, читали литературу, форумы, пробовали решать задачи.

    Читайте также:
    Ошибка 5005 0x80070002 при работе программы установки

    Если же решение переучиться возникло, когда это стало очень «модно» и уровень заработной платы вырос, переучиться будет сложно. В первую очередь для преодоления трудностей в обучении необходима будет «подпитка», которая часто получается именно из интереса к профессии, а не из мотивации «модно и дорого».

    Прежде чем принять решение о смене профессии, стоит соотнести своё желание с уже имеющимися навыками и знаниями. Очень сложно стать космонавтом, имея слабый вестибулярный аппарат.

    3. Как выбрать «своё» направление обучения?

    Евгений Пешкур:

    Посоветоваться с теми, кто достаточно долго работает в IT и сам успел попробовать много различных ролей или тесно работал с представителями различных специализаций. Т.е. это специалист уровня Team Leader или выше. А далее пробовать.

    Святослав Куликов:

    В последнее время участились случаи «перепрофилирования в IT» с единственной целью – получением высокой зарплаты. Аргумент понятный, честный и имеющий право на существование. Но если деньги – единственное, что интересует вас в IT, то дальше вы рискуете столкнуться с серией сложностей и разочарований, так как заниматься нелюбимым делом – это всегда насилие над собой (даже при хорошей зарплате).

    К тому же, «мир IT» очень обширен и многогранен, а многие новички даже не представляют, какие бывают «IT’шные профессии и специальности». Тут неплохо бы почитать сайты с описаниями IT-вакансий, а про заинтересовавшее спросить знакомых, работающих в этой сфере.

    Из личного и наболевшего: если исходный вопрос звучит как «расскажите мне, чего я хочу», то самым честным ответом будет «не знаю». Чтобы узнать, надо хотя бы немного пообщаться со спрашивающим, так как здесь вопрос из области обучения выпадает в область профориентирования.

    Светлана Захаренко:

    Попробовать направление «на вкус». Например, если вы выбираете между программированием и тестированием, можно взять задачу и решить её с точки зрения программирования, затем можно взять ещё одну задачу и решить её с точки зрения тестирования, остаётся только сравнить результаты и ощущения. Используйте давно известный способ проб и ошибок. К сожалению, не существует такого рецепта, чтобы сразу правильно и без «шишек».

    4. Какие технологии нужно в первую очередь изучить новичку? (Какие базовые знания в программировании и использовании ПК нужны новичку в IT-мире)?

    Святослав Куликов:

    Сначала – просто выйти на уровень уверенного пользователя. Если кто-то, читая этот ответ, стал криво усмехаться и подумал про «вот, опять про гуманитариев», то смею вас разочаровать: технарь, не умеющий скопировать файл по сети, пропинговать хост или построить график в Excel – явление столь же частое.

    Далее есть три пути:

    • Быстрый: сразу изучать то, с чем вы собираетесь работать на своей первой IT-должности. Это быстро потому, что позволяет (временно!) пропустить огромный пласт «фундаментальных знаний», но побочным эффектом является способность решать только узкий круг очень чётко описанных задач. Уйму недостающих знаний придётся накапливать по мере наработки опыта.
    • Медленный: начать с базы – от основ алгоритмизации к паре языков программирования (сейчас, как правило, – Java/C# + что-то из серии JavaScript/Python/Ruby/PHP) и изучению конкретных технологий (я затруднюсь назвать «универсальные примеры», слишком уж много вариантов).
    • «Универсальный путь для сферического ученика в вакууме»: JavaScript + HTML + CSS, Java или C# + базы данных.

    Светлана Захаренко:

    Мне кажется, что самыми базовыми будут хорошие навыки пользователя ПК и обязательно очень качественное владение иностранным языком. Также неплохо понимать операционные системы, желательно иметь опыт использования разных ОС, понимать командную строку.

    Если говорить о технологиях, то было бы неплохо иметь знания по базам данных, языку SQL, понимать XML, иметь представление о UML.

    5. Что лучше: изучать интересующие технологии самостоятельно (книги, интернет) или записаться на тренинг или к репетитору?

    Евгений Пешкур:

    Идеально сочетать оба способа. Суть IT’шника – постоянное САМОразвитие. В начале пути посещение тренинга или репетитора сэкономит массу времени, укажет правильный путь и сделает нужные акценты. Ну и в личной работе скорректирует именно ваши отклонения от курса. Но не надо заблуждаться – самостоятельное изучение первично. «Я бы в … пошел, пусть меня научат» – это в корне неверный подход. «Пойду учиться, пусть мне помогут» – вот так надо.

    Александр Барановский:

    Оптимальный вариант – совместить приятное с полезным :). Книги расширяют кругозор и дают точку зрения на проблему/технологию. Тренинги позволяют закрепить знания на практике под присмотром тренера.

    Светлана Захаренко:

    В данном вопросе я бы не отделяла одно от другого, чтение большого числа книг/форумов/статей не принесёт пользы без чётко заданной траектории. Правильно направить, подсказать наиболее удачные источники информации сможет тренер либо специалист, имеющий большой практический опыт в выбранной области. С другой стороны, посещение тренинга без изучения дополнительной литературы тоже не принесёт должного результата. Ещё все очень зависит от того, как человек привык усваивать материал: в группе студентов, в одиночестве и с книгой либо один на один с преподавателем. Возможна комбинация обучения по книгам, с преподавателем и группой студентов :).

    6. Какие тренинги в сфере информационных технологий сегодня пользуются популярностью среди студентов (по технологиям и местам проведения)?

    Александр Барановский:

    Популярны как и давно существующие «Введение в функциональное тестирование», Java, .NET, так и новые области – Mobile Development, BI.

    Святослав Куликов:

    Самыми популярными направлениями тренингов EPAM в Минске являются Java, .NET, тестирование – обучение по этим направлениям проводится, в основном, на базе БГУ, БГУИР, БНТУ. С перечнем направлений подготовки, осуществляемой тренинговым центром ЕРАМ на базе ведущих вузов РБ, вы всегда можете ознакомиться на нашем сайте. Стоит особо подчеркнуть, что мы проводим подготовку не только программистов и тестировщиков. Следите за открывающимися наборами на тренинги.

    Часто можно услышать вопрос о том, куда лучше пойти – в тренинговый центр той или иной IT-компании или в независимый (коммерческий) тренинговый центр. Ответ прост: любая IT-компания, проводя бесплатный для слушателей тренинг, хочет видеть их в числе своих будущих сотрудников.

    Потому такие тренинги максимально адаптированы к бизнес-процессам конкретной компании и идти на них лучше в том случае, если вы хотите работать в этой компании. Коммерческие же тренинговые центры предоставляют, как правило, более «универсальную» подготовку, но поскольку невозможно за разумное время «научить всему», при таком подходе могут быть упущены моменты, важные для трудоустройства в конкретную IT-компанию. Это не вина тренинговых центров, это объективная реальность. Итого: в «фирменных» центрах – «уже, но глубже», в коммерческих – «шире, но мельче». К слову, можно совместить оба подхода :).

    7. Какие сайты, форумы и сообщества стоит посещать, чтобы быть в курсе последних событий в IT-сфере?

    Святослав Куликов:

    www.habrahabr.ru, www.dev.by, www.stackoverflow.com + 2-3 более узкоспециализированных ресурса по вашему IT-направлению.

    8. Какими профессиональными и личными качествами должен обладать сотрудник, работающий IT-специалистом?

    Евгений Пешкур:

    Святослав Куликов:

    Умение и желание учиться, учиться и ещё раз учиться – всю жизнь. Умение и желание ставить перед собой всё более и более смелые цели и сложные задачи. Понимание, что IT – это не столько работа, сколько «способ мышления».

    Светлана Захаренко:

    На мой взгляд, это любопытство (всегда хочется попробовать что-то неизвестное и новое или залезть в самую глубь уже знакомого), желание постоянно развиваться и учиться, ответственность (за себя и за команду), умение решать задачу в срок, чувство юмора :).

    Читайте также:
    Программа чтобы избежать антиплагиата

    9. Как вести себя на собеседованиях (на работу или тренинг), чтобы не провалить их?

    Евгений Пешкур:

    Надо начать ДО собеседования. Для начала подготовиться: почитать о будущей профессии, работодателе, собрать информацию. Если пришёл человек и говорит «хочу у вас работать», но при этом не поинтересовался вышеуказанным, то это означает, что, скорее всего, и работать он будет так же. Если нет острой потребности в таком человеке, то опытный рекрутёр такого «завернёт».

    Ну а на самом собеседовании всё обычно: вежливость и воспитанность. Вы приходите в свой потенциальный коллектив, в котором вам не только работать, но и проводить треть своего времени. Учитывая сон, вы часто с семьей будете общаться меньше. Запах, речь, одежда, жвачка, выброшенный за собой стаканчик, в котором вам предложили воду.

    Что касается сути беседы, тут советов нет. Задача собеседующего – понять ваш действительный уровень и соотнести его с имеющимися требованиями. Не нервничайте и уважайте собеседника.

    Светлана Захаренко:

    Быть естественным, не пытаться копировать либо изображать некоторую манеру поведения. Быть достаточно открытым, вежливым, искренним, заинтересованным. А ещё очень важно иметь соответствующие квалификации знания :).

    Святослав Куликов:

    Об этом написана уйма статей (например, поищите на Хабре – там относительно недавно этот вопрос рассматривали со всех сторон). Универсальный ответ – быть честным и не притворяться тем, кем вы не являетесь. Да – это не самый популярный совет, да – так вы рискуете провалить не одно собеседование, и да – это почти единственный способ оказаться «на своём месте».

    10. Сколько времени потребуется, чтобы из новичка сделать толкового ценного сотрудника?

    Евгений Пешкур:

    Год на минимально приемлемый уровень и ещё два для стабильной отдачи. Каков вопрос, таков и ответ :).

    Святослав Куликов:

    Всё зависит от того, что мы вкладываем в понятия «новичок» и «толковый ценный сотрудник» :). В среднем – от 1-2 до 3-5 лет.

    Запись опубликована 2013.08.23 автором admin745wesj в рубрике Обучение, Тренинги.

    Полезное

    Популярное

    • Книга «Тестирование программного обеспечения. Базовый курс.» (1 040 437)
    • Перевод стандартов PSR-0, PSR-1, PSR-2, PSR-3, PSR-4 (435 632)
    • Как прийти в IT (с чего начинать) (373 804)
    • Пример научного текста (научной статьи) (291 630)
    • Книга «Работа с MySQL, MS SQL Server и Oracle в примерах» (170 564)
    • Техника написания хороших кратких Summary баг-репортов (135 501)
    • Как писать научные тексты: примеры научного стиля с пояснениями (120 996)
    • Как писать научные статьи и тексты (88 306)
    • Готовим тестировщика: с нуля и до… (необходимого уровня) (83 834)
    • Как работают веб-технологии и веб-приложения (в картинках) (74 627)

    Источник: svyatoslav.biz

    Как стать фронтенд-разработчиком: детальный роадмап для начинающих

    Как стать фронтенд-разработчиком: детальный роадмап для начинающих девелоперов

    Рассказываю о том, с чего начать изучение программирования, чтобы стать фронтенд-разработчиком, пишущим сайты и приложения на JavaScript.

    Предисловие

    Обычно подобные инструкции и роадмапы начинаются с такого обширного понятия, как интернет, а от него отходят в разные стороны ветви с вопросами: «Что такое HTTP?», «Как работает интернет?», «Что такое доменное имя?», «Что такое браузер и как он работает?».

    Но давайте начистоту: если вы задумываетесь о том, чтобы стать фронтенд-разработчиком, то вы 100% имеете представление о браузерах и их назначении, а вникать в технические особенности DNS-серверов на ранних этапах необязательно. Поэтому в этом роадмапе будет меньше теории и больше практики.

    И еще момент. В этой статье предполагается, что вы умеете создавать файлы в текстовом редакторе и знаете английский на уровне B2. Придется много читать на иностранных ресурсах и работать с программами в духе Sublime Text или VS Code.

    Комьюнити теперь в Телеграм
    Подпишитесь и будьте в курсе последних IT-новостей

    Этап 1: Верстка HTML

    Начинать будем с верстки, то есть создания структуры страницы. Некоего скелета для будущего приложения или веб-ресурса.

    Перед тем как лезть в изучение JavaScript, нужно сделать пару статичных страничек и придумать юзкейсы для будущего программного кода. Это важно, потому что, начав с JavaScript (или любого другого языка), многие разработчики теряются из-за тотального погружения в логические задачки и нехватки фантазии. Потенциальные фронтендеры попросту не осознают, как применить полученные знания на практике.

    Наличие сверстанной страницы частично решает эту проблему, позволяя работать с «реальными» объектами разработки, а не просто решать логические задачки и общаться с голой математикой (оставьте это бэкендерам).

    Заодно вы освоите навыки по созданию классов и правильному оформлению HTML в соответствии с правилами валидаторов. Это будет полезно и при стилизации сайта, и при добавлении логики в приложение.

    Так что учим семантику HTML, запоминаем базовые теги и принципы оформления блоков с текстом, изображениями и другим контентом. Учимся подключать внешние документы (с программным кодом и стилями) и т.п.

    Схема изучения HTML

    Используемые технологии:

    • HTML в чистом виде
    • Текстовый редактор для работы с HTML

    Ссылки:

    • MDN Web Docs HTML Basics
    • MDN Web Docs HTML Guidelines
    • W3C Validator

    Этап 2: Стилизация при помощи CSS

    Следующим этапом станет освоение CSS – каскадной таблицы стилей, отвечающей за расположение объектов на странице и их внешнее оформление.

    Суть в том, что в пределах HTML все файлы и блоки текста следуют друг за другом сверху вниз, а шрифты и цвета соответствуют тем, что по умолчанию выставлены в браузере. Если применить CSS, то расположение и внешний вид элементов на странице можно изменить.

    Нужно выучить основы оформления стилей и применить их к элементам в HTML-файле, научиться корректно располагать их по отношению друг к другу и сделать так, чтобы сайт был адаптивным для всех разрешений экрана.

    Схема изучения

    Используемые технологии:

    • HTML с классами и ID
    • Базовый CSS

    Полезные ссылки:

    Этап 3: Базовые аспекты JavaScript

    Теперь перейдем к настоящему языку программирования (до этого были языки разметки). У нас на руках уже есть статичные стилизованные страницы, теперь мы можем придумать, что с этими страницами сделать (добавить интерактива, кнопок и т.п.).

    Сначала придется учить JavaScript в отрыве от HTML и CSS, чтобы понять, как работает программирование в целом и JavaScript в частности. Надо ознакомиться с типами данных, понять, что такое консоль, редакторы кода, переменные, операторы и т.д.

    Обучение может проходить параллельно в двух направлениях:

    1. Чтение учебников, изучение алгоритмов и проверка своих навыков в сервисах наподобие Codewars. Тут вам поможет ресурс Javascript.info и куча полезных книжек в духе «Грокаем алгоритмы».
    2. Работа над собственным сайтом. Надо придумать какой-нибудь алгоритм. Пусть это будет даже простенький калькулятор, главное, чтобы это было нечто свое, что можно «пилить» по ходу самообразования. Тут вам поможет Google и Stack Overflow.

    Схема изучения JavaScript

    Используемые технологии:

    • JavaScript в чистом виде (так называемый VanillaJS)
    • CSS в JavaScript
    • HTML в JavaScript (DOM)

    Полезные ссылки:

    • JavaScript.info
    • Codewars
    • Python Tutor
    • Книга «Грокаем алгоритмы»
    • Курсы и сервисы для обучения
    • ООП

    Этап 4: GitHub и пакетные менеджеры

    Во многих школах по изучению JavaScript и программирования в целом этот этап становится первым. Но на онлайн-курсах в этом есть необходимость (нужно проверять задания и где-то хранить код). Я же решил перенести этот этап сюда, потому что работать с git трудно. Он запутанный, и пока в нем не освоишься, все дико раздражает. Если начать с git, то может и вовсе пропасть желание работать с кодом.

    Читайте также:
    Как удалить программу мой мир

    Но совсем без git нельзя. Важно где-то хранить код и контролировать версии приложения, чтобы каждый этап разработки был «задокументирован».

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

    Так что наберитесь терпения и вперед читать git-how-to.

    Схема изучения Git и npm

    Используемые технологии:

    • git
    • git-клиенты
    • Хранилища репозиториев
    • Менеджер пакетов npm (или yarn)

    Полезные ссылки:

    • Git How To
    • npm: инструкция для начинающих

    Этап 5: Вспомогательные инструменты

    Я в одну главу объединил несколько очень полезных, но необязательных вещей, которые понадобятся для работы с JavaScript, CSS и HTML. Эти инструменты сделают код в разы качественнее и надежнее.

    • Бандлер – это программа, собирающая несколько частей программы в единый проект, попутно обрабатывая код, добавляя в него какие-то свойства и минимизируя его.
    • Prettier – утилита, которая автоматически корректирует форматирование страницы, чтобы код выглядел симпатично и аккуратно.
    • ESLint – плагин, заставляющий программиста писать код в соответствии с определенными правилами (например, используя только современный синтаксис).
    • TypeScript – позволяет обозначать тип используемых в коде данных, чтобы избегать ошибок типизации и сделать код гораздо более надежным.
    • DevTools – браузерные инструменты, которые упростят верстку и позволят проверять гипотезы в отношении CSS, не покидая браузер.

    Схема изучения вспомогательных инструментов разработчика

    Используемые технологии:

    Полезные ссылки:

    • Статья «How to set up Webpack with ES6»
    • Конфигурация ESLint от компании Airbnb

    Этап 6: CSS-препроцессоры и фреймворки

    Знать базовый синтаксис CSS, разбираться в переменных CSS, уметь красиво стилизовать код и непосредственно приложение – это круто. Но, скорее всего, вам придется изучить какой-нибудь препроцессор.

    Препроцессор – это специальный плагин на языке JavaScript, расширяющий возможности CSS и добавляющий туда циклы, логические вычисления, динамически меняющиеся переменные, вложенность кода и кучу других полезностей.

    Также есть полноценные CSS-фреймворки, меняющие подход к стилизации документов и позволяющие вносить изменения в дизайн сайта, не используя CSS-файлы вовсе. Чтобы разобраться в том, как они работают, надо внимательно почитать про PostCSS, LESS, SASS и TailwindCSS.

    Схема изучения CSS-препроцессоров

    Используемые технологии:

    Полезные ссылки:

    Этап 7: JavaScript-фреймворки

    Здесь работает та же схема, что и в случае с CSS-препроцессорами. Нужно выбрать какую-то технологию, которая ближе всего лежит к сердцу, и начать ее углубленно изучать. Все фреймворки дополняют JavaScript, добавляя в него новые возможности.

    Выбирать желательно из четырех наиболее перспективных – Angular, React, Vue или Svelte.

    • React – наиболее востребованный, с ним проще всего найти работу.
    • Vue – довольно специфичный, используется реже.
    • Angular задействован в корпоративной разработке.
    • Svelte – слишком молодой, но амбициозный.

    Схема изучения JavaScript-фреймворков

    Используемые технологии:

    Полезные ссылки:

    • 7 популярных фреймворков (статья старовата, но ситуация не особо поменялась)
    • Критерии выбора фреймворка

    Этап 8: Тестирование кода

    Важная часть работы с кодом – тестирование. По-хорошему, в компании должен быть специальный человек для решения этих задач. Но есть два «но».

    • Иногда компании экономят и взвешивают эту задачу на разработчиков. Это «иногда» происходит достаточно часто, поэтому лучше уметь самому писать тесты и проверять свой код на работоспособность.
    • Уметь самостоятельно тестировать код – это быть уверенным в том, что он работает как следует, и не упрощать работу других отделов компании.

    Нужно изучить различные методы тестирования кода и ближе познакомиться с соответствующими программными библиотеками.

    Тестирование кода

    Используемые технологии:

    Полезные ссылки:

    • Как тестировать svelte-компоненты
    • Зачем вообще нужны тесты и как их писать

    Этап 9: Progressive Web Apps

    PWA – это особый вид сайтов. Это сайты, которые выглядят и ведут себя, как приложения. Они могут запрашивать у пользователя его местоположение, присылать уведомления, хранить файлы и другие данные в офлайн-режиме. Делать все то, что вы привыкли видеть в программах для Windows, macOS, iOS или Android, но в пределах браузера.

    Для пользователя такие приложения безопаснее, быстрее, симпатичнее и эффективнее с точки зрения энергозатрат. Сплошные плюсы.

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

    Схема изучения PWA

    Используемые технологии:

    Полезные ссылки:

    • Как добавить уведомления на свой сайт
    • Как определить геопозицию пользователя через браузер

    Этап 10: Деплой сайта/приложения

    Если уже научились писать код и даже создали какой-то сайт, то пора отправить его в интернет (задеплоить).

    Для публикации сайта в сети обычно привлекают отдельного человека, но если вы сделали тестовый проект и хотите превратить его в общедоступное портфолио, то нужно добавить проект в интернет самостоятельно.

    • Статичный сайт можно опубликовать на GitHub. Это бесплатно. Нужно просто запушить его в репозиторий и настроить gh-pages.
    • Небольшой проект для проверки гипотез и демонстрации потенциальному заказчику можно опубликовать бесплатно через сервис Netlify.
    • Если у вас проект посерьезнее и требуется размещение на собственном сервере, то придется изучить принципы работы хостингов и регистрации доменных имен (то, от чего мы отказались в начале пути).

    Схема изучения деплоймента сайтов и приложений

    Используемые технологии:

    Полезные ссылки:

    • Как разместить сайт в Timeweb
    • Как настроить gh-pages
    • Как разместить сайт на Netlify

    Этап 11: Безопасность

    По большому счету, заботиться о безопасности нужно не фронтендеру. Какие-то совсем базовые вещи в духе HTTPS гарантируются вам хостингом. Допустить совсем уж очевидные уязвимости тоже не получится, ведь браузеры и языки достаточно хорошо защищены.

    Базово стоит разобраться с тем, как работает CORS и как обходить его ограничения. Это поможет избежать проблем с реализацией функций в духе загрузки файлов на сервер.

    Для общего ознакомления стоит почитать про топ-10 самых распространенных угроз для веб-сайтов на OWASP.org.

    Схема изучения безопасности в сети

    Используемые технологии:

    Полезные ссылки:

    Дополнение: мобильная и десктопная разработка

    Для фронтенд-разработчика, успешного в вебе, следующим этапом развития может стать глубокое знакомство с технологиями создания мобильных и десктопных приложений на JavaScript-фреймворках.

    Например, Instagram, Twitter, Pinterest, Spotify и десятки других популярных программ создавались с использованием JavaScript-кода.

    Специализированные фреймворки позволяют преобразовывать код, используемый в вебе, и превращать его в нативные компоненты для запуска на компьютерных и мобильных ОС.

    Схема изучения мобильной и десктопной разработки

    В этой области популярны технологии:

    • React Native
    • NativeScript
    • Flutter
    • Ionic
    • Electron (для Windows, macOS и Linux)

    React Native самый быстрый, он лучше всех продвинулся в области создания нативных приложений. Взгляните на Discord – он написан на React + Electron для компьютеров + React Native для мобильных систем. Выглядит и работает отлично.

    Flutter тоже хорош. Довольно популярен и приближен к нативному коду по ощущениям со стороны пользователя.

    NativeScript наиболее универсальный, но приложения, созданные с помощью него, все же больше походят на веб-страницы, нежели на полноценные программы.

    Используемые технологии:

    Полезные ссылки:

    Вместо заключения

    А что дальше? Дальше учиться. Фреймворков и технологий куда больше, чем описано в этой статье.

    То, о чем мы говорим – это один из популярных роадмапов. Просто пошаговый план для общего ориентирования в пространстве. Вам же придется приобрести куда больше знаний и изучить куда больше технологий, в частности тех, что захочет использовать руководитель/заказчик. Но теперь вы знаете, с чего начать путь к фронтенду в вебе.

    Хотя нет, это еще не все. Я совсем забыл рассказать о soft skills (гибких навыках) в IT-сфере, а без них сейчас никуда. О значимости и типах софт-скиллов вы можете почитать в статье «Что такое soft skills и как их развить» – изложенная в ней информация обязательно пригодится вам при первом трудоустройстве в IT-компанию.

    Источник: timeweb.com

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru