Задать вопрос
  • Цель - WEB Full-stack. Сносный ли план обучения для новичка?

    @bestann
    Я училась хорошо, но из знаний тебе действительно понадобится математика (развитое логическое мышление) + английский, это отмечено правильно. В остальном много лишнего и уводящего не в ту степь. Работала в телефонии, но тоже пришлось перейти в DevOps, т.к. нет перспектив. В итоге по жизни приходилось учить кучу всего НЕНУЖНОГО (например разные телефонные станции, на что ушло много времени). Если бы сразу удалось на Linux устроиться, не потеряла бы 15 лет. Поэтому пишу тебе о том,что действительно понадобится. Не трать время не ненужное, и так учить надо ОЧЕНЬ МНОГО. Нужен широкий кругозор.

    Установи дома операционную систему Pop!_OS (на основе Ubuntu) и привыкай работать в Linux. Поставь там qemu, kvm, git, ansible, docker, docker-compose. Тебе будет достаточно виртуальных машин для изучения материала. Ansible на самой машине как контрольная управляющая нода, а настраивать им виртуалки.

    Поставь VSCode Insiders Edition. В нем хорошо работать с кодом. Там плагинов много. И для редактирования yml файлов Ansible, Kubernetes), для Dockerfile, и для программирования потом пригодится.

    Поставь Obsidian. И пиши всю документацию там, собирай там все свои знания! Приучай себя делать конспекты и переводы. Формат написания - Markdown, как раз тот, в котором программисты README.md пишут. https://obsidian.md/ (ставится на разные ОС)

    Чтобы не учить лишнее, пишу, что учить:
    Хорошо знать Linux - Уильям Шоттс - Ок, найди книгу RHCSA8 Sander van Vugt (даже на русском есть,думаю, умеешь искать), подготовься и сдай экзамен RHCSA, дает хорошую базу по Linux. Также есть его видеокурсы, я по ним готовилась. (тоже достанешь). Второй хороший автор Andrew Mallet. Практикуйся на виртуалках CentOS8 (у них проблема с поддержкой с нг, но можешь и нестабильный релиз использовать,тебе же не в продакшн). За рубежом сейчас альтернатива — Rocky Linux. На виртуалках посмотришь как работать с менеджером пакетов yum/dnf, на Pop!_OS - c apt.
    На русском по Linux курсы Кирилла Семаева на Youtube.

    Ansible — управление конфигурациями. Подготовка к экзамену RHCE8 (он после RHCSA), те же авторы (книги есть). У Andrew Mallet досконально разбирается Ansible, можно одновременно с Linux учить,потому что он там и линуксовые команды grep и прочие использует для анализа файлов конфигурации. Очень хороша родная документация на сайте Ansible. Также качай примеры ролей на Ansible Galaxy.
    На русском курсы Астахова на Youtube.

    Git — тут что найдешь. Он есть в составе Kubernetes База от Слерм, материалов достаточно. Цикл статей почитай тут https://css-tricks.com/creating-the-perfect-commit..., 7 и 8 часть скоро выложат. Но для начала поищи видеокурсы на русском (все есть). Надо видео посмотреть, чтоб нагляднее было, потому что сначала непонятно как это ты работаешь вроде в одной папке, но можешь находиться в разных ветках.

    Gitlab — Как вариант завести аккаунт на Gitlab.com и там пробовать. И смотри файлы .giltab-ci.yml и сопутствующие включаемые файлы через include самого Gitlab. Узнай как включать переменные, якоря, extends, needs, правила rules, needs (кстати сейчас можно без stage только через needs), разницу между кэшами и артефактами.
    Jenkins, teamcity используется, но Gitlab у нас чаще... Учи то что чаще используется. Ты не сможешь все инструменты освоить физически. Как устроишься, будешь осваивать имеющееся на работе.

    Docker — так же можешь изучить дома. Курсов хватает. Также попробуй в docker-compose запустить несколько контейнеров.

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

    Попробуй установить Nginx + php-fpm + mysql (или MariaDB) - например, чтоб заработала википедия простая BookStack. Локально пропиши имя сайта и проверь как работает, бэкапь базу, потом все удали и восстанови. https://www.bookstackapp.com/

    Kubernetes — сложно без базы указанной выше, но можешь подписаться на youtube канал Слерма,у них же есть периодически бесплатные курсы с возможностью практики. Дома можно только minikube, если ресурсов мало. Это факультативно, даже первые 4 пункта.

    По языкам программирования. Хотя бы освой bash в Linux. Python или Go — можно намного позже, это уже для программистов.Для тебя это будет плюсом.но в довесок. Иначе ты до профессии девопса будешь долго идти, а вернее до пенсии)) Сейчас спрос очень большой!!!

    Итак, резюмируя: Linux (+bash), Ansible, Docker, git —must have, Gitlab, SQL - желательно. Сети — очень зависит от работы. Главное, понимать что такое ip-адреса, dns, маска, шлюз, понимать как настраивать файрвол и сетевые интерфейсы в Linux, понимать что включить (какой параметр), чтобы Linux начал маршрутизировать трафик.
    Kubernetes, Terraform — это уже уровнем выше.

    Далее штудируешь вопросы к собеседованиям (тоже есть в интеренете),причем некоторые вопросы особенно часто задают на собесах (сама недавно собесы проходила). Проходишь 10-15 собеседований и прокачиваешься, записывай все задаваемые вопросы и готовься после каждого собеса к следующему. Могут дать и тестовое задание, если на джуна. Попроси время на выполнение.

    Тут расти и расти до бесконечности.

    Извини за нескромный вопрос: почему ты в 22 года только на 1 курсе колледжа заочно? Это даже не вуз.
    И что за краткий курс школьной математики? Ты в школе не учился что ли?
    DevOps — это непросто, поэтому надо хорошо понимать, какая у тебя база, потянешь ли ты.

    UDP. Только увидела.
    Если цель не DevOps, а web fullstack, то может твой план подойдет больше. Но тоже надо иметь ввиду, что FullStack — это много. Иди сначала фронтенд-разработчиком. Если хочешь учит востребованное, то JavaScript, для фронденда фреймфорк vue.js или react. Если хочешь быть бэком, надо уже хорошо знать базы данных помимо самого языка программирования. Из популярных так же JavaScript (node.js). Python и Go так же популярны. И если уж учить, то Go, а не C#.
    Ответ написан
    7 комментариев