Советы начинающим web-разработчикам (Как быстрее пройти путь от Junior к Middle)
Всем привет! Меня зовут Григорий Фролов, я более 20 лет занимаюсь разработкой и продвижением Интернет-проектов. Прошел путь от фрилансера до руководителя web-студии (njsoft.dev). Мы в NJ Soft открыты к диалогу с начинающими разработчиками. Если ты хочешь найти себя в команде - велкам в ЛС в телеграм @gynsus
В данной публикации - мои рекомендации как начинающему разработчику быстрее пройти путь от Junior к Middle. Поехали!
- Начните работать на Ubuntu, Fedora или других Linux 🐧
- все необходимое ПО для разработки, включая операционную систему будет бесплатным
- будете работать в “родной” для основных web-окружений среде
- поймете где искать конфиги
- быстрее привыкнете к консоли
- повысите свою информационную безопасность - Настройте локальное окружение для работы с несколькими проектами 🐳
- изучите Docker и научитесь запускать проекты в контейнерах
- установите отдельно nginx/apache/mysql/php в разных конфигурациях и научитесь быстро поднимать проекты локально
- разберитесь в основных параметрах веб серверов, серверов БД, научитесь их перегружать и управлять базовыми настройками - Если вы хотите быструю прокачку — выбирайте Digital-агентство и любым способом устраивайтесь на позицию Junior 🥋
- перестанете жить в мире иллюзий о разработке, столкнетесь с реальными задачами бизнеса, их требованиям по скорости и качеству кода
- нагрузка всегда будет больше, чем представление о том, на что вы способны. это позволит вам постоянно расти, даже ночью вы будете “компилировать” код, который прочитали в проекте днем 🙂
- посмотрите изнутри на индустрию разработки ПО на примере web и mobile-решений, поймете возможные треки для профессионального пути - Если скорость собственного роста для вас не так важна и есть запрос на более спокойный ритм работы, медленные скорости процессов и более бюрократичную структуру — посмотрите в сторону вакансий на стороне Заказчика web-проектов — это могут быть производственные компании, дистрибьюторские бизнесы, телеком и т. п. 👷
- первое время скорее всего будет рост, потом будет момент, когда самостоятельно нужно будет прикладывать усилия и создавать внутренний интерес к росту (важно этот момент поймать и вовремя отрефлексировать) - Подпишите и участвуйте в профессиональных сообществах (Habr, Tproger) 🤩
- находите интересных людей и подписывайтесь на них, наблюдайте за тем, как они думают, чем живут, как и кого ищут себе в команду
- используйте любые возможности для общения — комментарии, рандом кофе, митапы и т. п.
- больше ошибайтесь, начиная от формулировки своих мыслей, заканчивая проектами, да любыми действиями — т. к. на рефлексии собственных ошибок возможен быстрый и качественный рост
Советы №1 и №2 помогут вам развивать еще и админские компетенции. Когда разработчик не пасует перед не сложными админскими задачами - это жирнейший плюс. Интересуйтесь и практикуйте подобные задачи, это сильно увеличивает вашу пользу для команды.
Вы спросите, а где совет больше учиться? Да хватит уже учиться, идите и практикуйте! Вот такой вот совет 🤓
Достаточно странные советы для *начинающих web* разработчиков.
Советы в принципе странные.
Какой наиболее странный и в чем?
Если не слышали, то очень рекомендую: Аркадий Арканов "Профилактика ревматизма у бухгалтеров".
Этот человек вообще соображает в программировании?
А по какой причине, простите?
Большинство проектов работает в unix-среде. Когда разработчик не только понимает, а еще и практикует unix - это хороший плюс для решения нештатных ситуаций.
Например каких? (каких нештатных ситуаций)
https://w3techs.com/technologies/overview/operating_system
Причем здесь статистика использования ОС на серверах и ОС, используемых для веб-разработки? На сервере может крутиться что угодно. Например, если там крутится CentOS, мне себе тоже что ли CentOS ставить, чтобы под него разрабатывать? Да вроде нет.
ОСОБЕННО, учитывая перечисленные вами apache, nginx, mysql, php, docker, git и прочие прочие. Использование этих инструментов и языков для разработки и тестирования не вызывает проблем ни на винде, ни на маке, ни где-либо еще.
Более того, винда с ее WSL вообще прекрасно позволяет совмещать и линукс-среды, и непосредственно виндовый набор удобного софта.
это хороший плюс для решения нештатных ситуацийВ нормальных конторах решением внештатных ситуаций на проде занимается админ, а не веб-разработчик.
все так, но
В нормальных конторах решением внештатных ситуаций на проде занимается админ, а не веб-разработчик.- на больших проектах в докер быстрее работает в unix
- работая в unix разработчик втягивается и начинает думать на уровне работы os, на которой крутится боевой проект
что есть нормально? разные бывают команды, когда тех. специалист развивается еще и по админским скиллам - это только плюс
Вы у себя на локальных машинах докер что ли запускаете с боевой БД проекта??? Что значит "большой проект"?
что есть нормально?Нормально - это когда каждый занят своим делом
когда тех. специалист развивается еще и по админским скиллам - это только плюсПлюс для вас как работодателя, чтобы платить человеку по одной ставке, а вешать на него допом чужую работу? Ну тогда не спорю, плюс жирнейший. Тогда можно сразу искать так называемого "фулстека", чтобы он вообще все за всех делал.
бывают ситуации, когда повторить кейс можно только с актуальной БД или ее частью
Нормально - это когда каждый занят своим деломв стартапах, например, совмещение ролей - это нормально
Плюс для вас как работодателя, чтобы платить человеку по одной ставке, а вешать на него допом чужую работу? Ну тогда не спорю, плюс жирнейший. Тогда можно сразу искать так называемого "фулстека", чтобы он вообще все за всех делал.все зависит от среды, в которой живет проект
даже у нас есть разделение на админов, frontend, backend
но мы - микро команда, на нас не нужно ориентироваться
вцелом, когда разработчик не пасует перед админскими задачами - это жирнейший плюс
поэтому мой совет новичкам-разработчикам - интересоваться и практиковать подобные задачи, это сильно увеличивает их пользу для команды
Для этого существует тестовый стенд и прод стенд.
Я вообще слабо себе представляю кейс, при котором какая-то разница в скорости докера между ОС будет играть роль и что там запускать "для теста" надо локально, чтобы это вообще влияло на что-то.
в стартапах, например, совмещение ролей - это нормальноЭто не нормально, а вынужденно.
вцелом, когда разработчик не пасует перед админскими задачами - это жирнейший плюс поэтому мой совет новичкам-разработчикам - интересоваться и практиковать подобные задачи, это сильно увеличивает их пользу для командыТак бы и писали, а не категорично говорили, что винду нужно выкинуть "от слова совсем". Благодаря этому и появляются люди, которые не понимают что и почему и откуда нужно выкидывать. А оказывается, выкидывать-то ничего не нужно, нужно либо просто учитывать условия работы конкретного проекта, либо вообще задуматься а нормально ли структура этого проекта организована.
Спасибо за диалог, скорректирую этот пункт.
У вас недостаточно компетенций задавать вопросы про большие проекты, ведь вы с 2017 года работайте комментатором на vc ^ ^
Очевидно ваши знания остались на уровне 2013 годов. Да в 2013 каждый второй уже админил linux сервер из под форточки на centos. Но щас уже 2022 год и скоро вас заменят. Да и в нормальных конторах вы не работали - это сразу видно.