https://github.com/vvscode/js--base-course
https://www.youtube.com/watch?v=uLXFz2na4SY
поверхносто почитать https://oz.by/books/more1015206.html - там много всего базового описанно. Для понимания того как работают языки программирования под капотом. Ну и есть базовые принципы организации кода. От которых можно отталкиваться.
https://www.ozon.ru/context/detail/id/139296295/?utm_source=google&utm_medium=cpc&utm_campaign=RF_Regstore_Product_DSA_NewClients&gclid=Cj0KCQiA3Y-ABhCnARIsAKYDH7vud98DyahIgZSvlnru9N_iTMJbEEDmBu37lvJm8AP7aE5FXUhxDSAaAv0XEALw_wcB - без алгоритмов никуда к ним надо както подступиться. Алгоритмы это по сути правила работы с наборами данных, вы же не будете заново изобретать подходты от программы к программе. Если хорошо разберетесь со всеми базовыми алогритмами легко пройдете собеседование в белорусский яндекс https://yandex.ru/jobs/?cities=157
https://www.e-reading.club/book.php?book=82825 - больше про организацию кода в командах, разделение ответственностей. Если пойдете в большую компанию работать, там так или иначе вас этому научат. Ну или со временем сами дойдете :D
https://learn.javascript.ru/ https://medium.com/@amel_true
вот еще сайт для самых маленьких, ребята на украине делают
https://frontender.info/ https://medium.com/devschacht
- Git;
- Terminal; - лучше всего сразу в линуксе или osx;
- Структуры данных и алгоритмы;
- SOLID, KISS, YAGNI;
- Github;
- Различия в open source лицензиях;
- Semantic Versioning;
- SSH;
- HTTP, HTTPS, разные типы API (WebSockets, REST, GraphQL, …)
- Design Patterns;
- Кодировки и тп;
- Что такое JSON, XML;
https://github.com/elsewhencode/project-guidelines/blob/master/README-ru.md
-
Изучение основ, что такое Functional Programming, OOP, принципы SOLID, и тп.
-
После изучения основ - взяться за паттерны проектирования - советую эту книжку так как тут в схемах и картинках быстро можно понять что к чему - https://www.ozon.ru/context/detail/id/20216992/
-
Можно изучить и попрактиковаться самому в написании паттернов и алгоритмов https://github.com/trekhleb/javascript-algorithms
-
Можно дополнительно понять как алгоритм работает визуально https://github.com/algorithm-visualizer/algorithm-visualizer что бы проще было запомнить.
-
Изучить принципы работы интернета - протоколы связи, TCP-IP, HTTP, HTTPS, что такое CDN, как загружается сайт. Как работает браузер.
-
После изучения паттернов взяться за фрэймворки. На каждом языке есть фрэймворки. Это набор решений для типовых ошибок, собранных в одном месте. Для JS сейчас самый популярный это https://reactjs.org/, для ruby - ruby on rails и тп. Не так важно какой фрэймворк изучать они все +- одинаковы.
-
Погружаясь в фрэймворк - главное понять возможнтсти, что с помощью него можно сделать, я вот начинал вот с таких штук https://www.youtube.com/playlist?list=PLB86E02CE3735E3B6, потом начал изучать http://railscasts.com/, но сейчас можно на русском например тут https://www.youtube.com/watch?v=LvcK-ZF6dhI&list=PL9LUlh0qu464FPCHUrH3VkR1nQIlnIxR2 . Язык сам по себе не так важен, как что с помощью него можно сделать, вот примеры лучше всего смотреть а не читать.
-
Когда ты понимаешь что же можно сделать с помощью того или иного фрэймворка. Самое время начать самому пытаться либо повторить. Либо что лучше изменить чужое. Ищишь на этом сайте любой проект который тебе нравится устанавливаешь себе и пытаешься менять или улучшать это. https://github.com/search?q=react . Разбираясь в чужом коде учишься в 3-и миллиона раза быстреею
-
Читаешь про тесты и учишься тестировать свой код тестами. https://facebook.github.io/jest/
-
Читаешь про agile и процессы в командах. https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%B1%D0%BA%D0%B0%D1%8F_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8 впринципе все что надо знать тут http://www.full-stackagile.com/2016/02/14/team-organisation-squads-chapters-tribes-and-guilds/
-
Читаешь книгу типо https://oz.by/books/more10120181.html, что бы понимать как самоорганизоваться.
-
Читаешь лучшие практики по Node.js https://bestofjs.org/projects/nodejs-best-practices и вкуриваешь их без всяких фрэймворков.
И все ты готов к собеседованию на должность среднего разработчика. Обычно примерно такой уровень занний выносят за 3-4 года вуза в БГУИР.
...а вообще самое главное в IT это ходить на собеседование. И не боятся написать рекрутеру
вот тут парень оч подробно рассказывает
https://vimeo.com/255927491/8a65b0cb04 работает вообще по любым специальностям в it