Содержимое
#вашивопросы Возможно ответ на мой вопрос уже был в канале, но я всё-таки дерзну спросить ещё. Я совсем далек от айти сферы, работаю руками, и, возможно, меня сейчас закидают камнями идейные айтишники, но хочу изучить с целью увеличения заработка, не скажу, что меня тянет прям куда-то туда. Потому что я и не пробовал ничего ещё. И вот решил углубиться и застопорился на этапе выбора специализации(фронтенд, девопс, бекэнд, датасайнс и т.д. и т.д.) Как ты выбирала специфику, в которую углубилась, почему именно бекэнд? Вопрос у меня вызывает чувство дежа вю, вероятно, что-то похожее уже было. Но мне ежедневно задают одни и те же вопросы, поэтому я уже смирилась с тем, что приходится повторяться в постах. Специализацию я как таковую не выбирала. И метод обучения у меня был бессистемный - я просто изучала все подряд на coursera и edx. Курсов тогда там было не много, и около половины их тех, что я прошла были связаны с Python. Так что первую работу я искала - связанную с Python (а это так или иначе больше про бэкенд). Первое место, где я работала - было в отделе Ops (это как DevOps, только без Dev) - отвечали мы за то, чтобы запускать в продакшен код, написанный разработчиками (из отдела Dev) и следить, чтобы всё работало как нужно. Мы настраивали графики с метриками, и следили по ним, что ничего не сломалось, реагировали на жалобы пользователей. Быстро чинили, когда что-то ломалось. Выкатывали в продакшен новые версии кода (и откатывали их, если возникали проблемы). Быстро делали хотфиксы, и чинили продакшен "по живому". Разработкой я там тоже занималась - но не 100% времени и не для критичный сервисов, также занималась поддержкой баз данных. Это была работа полу-админская, полу-разработческая, а потом я постепенно уходила в чистую разработку. Дальше я ушла на вакансию разработчика - и опять-таки, мой бэкграунд (Python, базы данных итд) - был больше про бэкенд. Дальше работа строилась по методике DevOps - это значит, что нет разделения на Dev и Ops, как в предыдущей компании и разработчики отвечают не только за написание кода (dev), но и за деплоймент его на продакшен и за то, чтобы всё там работало. То есть это тот же мониторинг - графики, хотфиксы и поддержка сервисов - только на этот раз ты же сам и написал тот код, который поддерживаешь, а не отдел Dev, сидящий в другом кабинете. Вот так я и стала бэкенд-разработчиком - не могу сказать, что я как-то осознанно выбирала направление, просто шла туда, где мои знания могли пригодиться. Дата-саенс я пробовала изучать, уже работая разработчиком, но как-то забросила. К математике у меня не совсем лежит душа, мне больше нравится решать инженерные задачи - придумывать и создавать работающие приложения и сервисы. А DevOps - это процесс, не человек, как любят у нас шутить. Человек, которого называют DevOps - это инженер, что-то среднее между администратором и разработчиком. Он отвечает за налаживание собственно DevOps как процесса. В частности, за настройку инфраструктуры, чтобы код, написанный разработчиком можно было одной кнопкой (а то и автоматически) отправлять на тестирование, на сборку, и затем - в продакшен, и также автоматически откатываться на предыдущую версию, если что-то прошло не так. Это у нас называется CI/CD - continuous integration, continuous delivery. Хороший и дорогостоящий девопс-инженер должен как свои пять пальцев знать, как работать с кучей технологий, но требования к конкретным технологиям разнятся в зависимости от того, что используется в компании. Например, если там всё сделано на основе Kubernetes - девопс должен быть экспертом по кубернетису. И это всё же больше админская вакансия, чем разработческая, а я училась именно разработке. Фронтэнд - ну.. не знаю. Задачи по фронту мне иногда приходится делать, но уходить с головой в один только фронтэнд как-то особо не хотелось. На бэке ведь столько всего интересного - и базы данных, и брокеры сообщений, и сервера и этот ваш ci/cd, и сети, чего там только нет. Задать вопрос автору блога можно здесь: @hum_it_bot