PavelUstyugov
@PavelUstyugov
php

Как стать Senior backend developer не устраиваясь в крупные компании?

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

Моя небольшая команда работают над своим стартапом. Из айтишников один бэкэнд разработчик, второй фронтэнд разрабочтик и администратор. Помимо айтишников полно другого народу - бизнес аналитики, маркетологи и т.п.

Получается, что мы работаем внутри своего проекта, основателями которого являемся и наш опыт растет по мере роста проекта, но как при этом целенаправленно прокачивать свои навыки, чтобы, к примеру, через 5 лет каждому дорасти до уровня Senior?

C Фронт-энд разработкой все понятно. Достаточно хорошо изучить JavaScript, поработать с разными фреймворками - React, VueJs и поизучать код других opensource Проектов.

Но как в этом случае быть php разработчику? В книгах обычно описаны азы, ну и ООП, патерны проектирования. Но этого же недостаточно чтобы стать Senior. Ну а про онлайн курсы я вообще не говорю - там обычно делают банальный проект и объясняются некоторые основы. Опять же это не ведет к уровню Senior?

Из того как я это вижу -
- нужно совершенствоваться в работе с базами данных. Быть экспертом в SQL запросах
- знать Linux на уровне разворачивании и настроек серверов.
- Знать основные инструменты - Docker, Git....,
- Знать ООП, патерны проектирования, алгоритмы
- Знать методики тестирования, создания тестов
Но что нужно знать еще и где этими знаниями понахвататься? Может быть на 'этом сайте проводить больше времени - читать ответы опытных кураторов тэга и анализировать вопросы ?

Скачивать чужие проекты и анализировать чужой код?

Интересует как дорасти до уровне Senior развивая именно свой проект. Предположим, Аналог Avito.
В принципе опыта у каждого из на ших разрабочтиков хватает чтобы разработать базовую версию проекта и совершенствовать ее. И по мере усложнения задач растет и опыт. И при этом даже используя примитивные практики программирования можно сделать жизнеспособный проект. Но как бы при этом развиваться?

Прошу хейтеров не ругаться. Вопрос задан на полном серьезе.
И пожалуйста не предлагайте устроиться на рабоут в сильную команду. Это невозможно потому что мы живем своим проектом и будем жить им как персонажи из сериала "Кремниевая долина". и мы даже собираемся сменить Фамилии на фамилии персонажей того сериала, одеваться как они и копировать их повадки и внешность.
  • Вопрос задан
  • 1626 просмотров
Пригласить эксперта
Ответы на вопрос 14
@FanatPHP
Чебуратор тега PHP
Если ты задаёшь этот вопрос - то никак.
Синьор - это в первую очередь самостоятельность.

В принципе нет проблем вырасти и самостоятельно, если проект растёт.
Но для этого нужны три вещи:
1. Чтобы разработчик изначально обладал нужными качествами. Все люди разные, кому-то дано дорасти до синьора, а кому-то нет. Важно это понимать.
2. Умение работать с информацией НЕ уровня "пойти на тостер" и "знать паттерны проектирования". Паттерны важны не сами по себе, не в виде карго-культа "все так делают, и мы так будем", а как ответ на определенные вызовы, которые начинает бросать кодовая база по мере роста.
3. Самое главное - чтобы проект действительно рос, ставя перед разработчиками всё новые задачи, из самых разных областей, от администрирования серверов до управления персоналом. Если проект не растёт, то не растёт и разработчик, как справедливо заметил CityCat4 в своём ответе. Именно поэтому основная рекомендация - это уходить в контору рангом выше, с более сложным кругом задач.

Всё. Все частности, которые ты тут написал - это именно частности, которые вне контекста не имеют смысла. Вконтакте написан без паттернов проектирования, на чистой процедурщине и энтузиазме. Знание гита важно не само по себе а как возможность управлять кодом проекта без того чтобы всё поломать. И так далее. Пока у тебя один разработчик, он будет говнякать гит коммит - гит пулл, и ни разу не сделает ребейз. А если даже и выучит несколько команд, то через неделю забудет. А вот когда будет 10 человек и график релизов - вот тогда придется взяться за гит основательно.
Ответ написан
CityCat4
@CityCat4
Если я чешу в затылке - не беда!
и мы даже собираемся сменить Фамилии на фамилии персонажей того сериала, одеваться как они и копировать их повадки и внешность.

Вот если бы я прочитал это первыми строками - я бы просто покрутил пальцем у виска и дальше читать бы не стал. Хочешь быть сеньором - будь им! Внутри своего проекта тебе никто это не мешает сделать. Внешнее отношение к вашей команде, как к кучке упоротых фанатиков это не поменяет нисколько.
Расти внутри такой тощей команды невозможно. Вы замкнулись внутри некоей оболочки и кажетесь себе Богами. Попробуйте-ка наружу и что-то сделать не относящееся к великому и ужасному :)

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

Косплейте дальше "Кремниевую долину" и называйте друг друга сеньорами - а что, можете себе позволить :)
Ответ написан
BojackHorseman
@BojackHorseman Куратор тега PHP
...в творческом отпуске...
по чьим меркам?
по меркам своего проекта вы уже сениор, поздравляю.
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Вам рекомендовали крупные компании по той причине, что там есть инженеры, у которых вы можете учиться а так же задач и ситуаций на много больше, чем будут конкретно в вашем проекте.
Дорасти до синьйора (в смысле что бы так вас оценивали тех интервьюеры) самостоятельно мягко говоря сложно. Это как рыбе изучать море в своем аквариуме.

Если вы только на одном своем проекте и все - рано, или поздно вы начнете дергадировать как инженер, либо примите это, либо расширяйте штат и учитесь у других
Ответ написан
@anton99zel
29а класс средней школы №7
В своём проекте Вы уже Бог, Сеньор-Помидор и Keanu Reeves (только в IT).
Все эти мидлы, джуниоры и сеньоры слишком относительны.
spoiler
даже собираемся сменить Фамилии на фамилии персонажей того сериала, одеваться как они и копировать их повадки и внешность

Моника Холл кто в вашем проекте?
Ответ написан
Dreamka
@Dreamka
Web-разработчик.
В вашем случае - никак.
Надо для начала понимать кто такой Senior и какие функции на него возложены.

C Фронт-энд разработкой все понятно. Достаточно хорошо изучить JavaScript, поработать с разными фреймворками - React, VueJs и поизучать код других opensource Проектов.


Это все и джун может.
Ответ написан
firedragon
@firedragon
Senior .NET developer
Пойдите в ирландский бар и посмотрите на зарубки на столе.
Спросите что это значит у бармена.
Посмейтесь, и выложите свое доказательство длины.
Услыште ответ бармена что до вас два идиота мерялись этими доказательствами с другой стороны стола.

А по теме сделайте крутой проект
Ответ написан
Robur
@Robur
Знаю больше чем это необходимо
Но как в этом случае быть php разработчику?


Так же как и любому другому разработчику. Если вам с фронтом все понятно то и с беком тоже вопросов быть не должно. А судя по простыне текста - вы не сильно представляете сами что вкладываете в слово Senior.
А это представление создать необходимо в первую очередь, потому что у 10 человек будет 15 противоположных мнений кого считать сеньором. Потому что по сути это просто название должности, а не какой-то понятный уровень. Я в разное время с +- одним и тем же набором знаний и навыков назывался и просто веб-разработчик и Senior Architect.
Чтобы у вас разработчики стали сеньорами - назовите их сеньорами, вы стартап, вы можете.

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

то что помогает расти:
- быть в курсе трендов/новостей. Не обязательно при этом им следовать но новые вещи всегда приносят новые взгляды, подходы, навыки, открывают новые пути решения старых проблем или новые проблемы которые раньше никто не думал решать. Даже если новый тренд еще сырой или не так уж хорош, вникая в то откуда он взялся, что хорошего несет и в чем отличие от того что было можно расширить свой кругозор и прокачать какие-то навыки.
- пересматривать старые проблемы и старые решения, ища более лучшие. Как минимум ввести практику выплаты техдолга. Это чаще всего момент применения чего-то нового, да и выпиливать говнокод можно только тогда когда разработчик уже представляет как должно быть сделано чтобы было лучше.
- самое главное - вылезти из пузыря. так как для вас найм новых крутых спецов которые что-то принесут скорее всего не вариант, то самое адекватное - это участвовать в каких-то сообществах, митапах и прочем. Но тут главное не попасть в "тусовочную" струю, а искать то где можно получать знания и меняться опытом реальных проектов.
- можно часть ваших наработок оформить в опенсорсную либу, если это будет востребовано. Так появятся люди которые сами вам будут предлагать лучшие решения, или указывать на проблемы, и то и то хорошо для роста.
Ответ написан
saboteur_kiev
@saboteur_kiev
software engineer
Подобные вопросы уже обсуждались, но у меня вопрос отличается от других.

Не отличается.

Обычно всегда советуют устроиться в крупную компанию, но в данном случае это исключено.

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

Получается, что мы работаем внутри своего проекта, основателями которого являемся и наш опыт растет по мере роста проекта

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

Но как при этом целенаправленно прокачивать свои навыки, чтобы, к примеру, через 5 лет каждому дорасти до уровня Senior?

Ровно также, как и в институт приходят все, но через 5 лет почему-то далеко не все выходят с красным дипломом. Больше самостоятельности, больше УСИЛИЙ для обучения.

C Фронт-энд разработкой все понятно. Достаточно хорошо изучить JavaScript, поработать с разными фреймворками - React, VueJs и поизучать код других opensource Проектов.

Нет, поработать явно недостаточно. Тут вообще пропущена пропасть технологий.

Но как в этом случае быть php разработчику? В книгах обычно описаны азы, ну и ООП, патерны проектирования. Но этого же недостаточно чтобы стать Senior.

Документация и опыт работы с разными проектами.

- нужно совершенствоваться в работе с базами данных. Быть экспертом в SQL запросах

Нет. SQL запросы это самый верхний уровень баз данных. Нужно понимать как они работают, чтобы строить архитектуру.

- знать Linux на уровне разворачивании и настроек серверов.

чего?

- Знать основные инструменты - Docker, Git....,

Уровень стажера

- Знать ООП, патерны проектирования, алгоритмы

Уровень стажера

- Знать методики тестирования, создания тестов

Это уже QA, или вы про что?

Но что нужно знать еще и где этими знаниями понахвататься? Может быть на 'этом сайте проводить больше времени - читать ответы опытных кураторов тэга и анализировать вопросы ?

Читатель никогда не сможет стать специалистом. Нужно быть писателем.

Скачивать чужие проекты и анализировать чужой код?

Скачивать и писать.

Интересует как дорасти до уровне Senior развивая именно свой проект.

Усложнять

Предположим, Аналог Avito.

Avito не обязательно сложный. Где-то

Прошу хейтеров не ругаться. Вопрос задан на полном серьезе.

И пожалуйста не предлагайте устроиться на рабоут в сильную команду.
Это невозможно потому что мы живем своим проектом и будем жить им как персонажи из сериала "Кремниевая долина".

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

И пожалуйста не предлагайте устроиться на рабоут в сильную команду. Это невозможно потому что мы живем своим проектом и будем жить им как персонажи из сериала "Кремниевая долина".

Ваша проблема в том, что вы знаете ответ на ваш вопрос. Но он вам не нравится. И вы в штыки воспринимаете критику. Но это же ведь ваша проблема.

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

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

Но нужно понимать, что сеньор - это не обязательно верх карьеры и не обязательно вообще цель карьеры. Далеко не все ими становятся, даже если они ими числятся. Это нормально.
Ответ написан
ivanopol
@ivanopol
Программист
Я бы посоветовал пройти курсы Дмитрий Елисеева, посмотреть его YouTube, почитать статьи на сайте. Хороша прокачка https://elisdn.ru/products
Ответ написан
vvpoloskin
@vvpoloskin
Инженер связи
Да, в стартапах ты будешь и жнец, и жрец, и на дуде игрец. Но это не профессиональный рост. Для профессионального роста нужны реальные задачи и ситуации, где вы принимаете решения и несёте за них ответственность, участвуете в масштабировании своих решений. В стартапе нет бизнес задач в классическом смысле (херачим, чтобы получилось - не задача), нет штата более опытных и зелёных разработчиков, нет выделенных архитекторов или аналитиков, нет руководителей проектов. Чтобы расти, нужно вовремя покинуть. Ну или сидеть и надеятся, когда ваш продуктовый ларёк превратиться во всем известную ритейлерскую сеть, а вы там будете в правлении. правда, к этому времени ваши навыки там будут уже не нужны. Подумайте, сколько ларьков было в 90-е, и сколько их сейчас, где работают их владельцы.
Ответ написан
@Kirill-Gorelov
С ума с IT
Все забыли про замечательную книгу Роберта Мартина "Идеальный программист"
Ответ написан
GreyCrew
@GreyCrew
Full-stack developer
Если ты делаешь большой проект, и при внедрении новых фитч экспоненциальная сложность и время внедрения тасков не увеличивается. То я поздравляю - ты можешь считать себя сеньором.
Ответ написан
Если вам повезет, и на вашем стартапе будет существенный рост нагрузки, который вы сможете научится держать, сам проект масштабировать не просто «докупим железа» и все это будет исходить от задач и проблем проекта, а не «я в книжке прочитал, нам надо делать так», то шанс есть.
Но вам надо будет пройти кучу граблей, сделать несколько раз не верно и потратить огромную кучу времени на это.
Если вам удача будет сопутствовать, то вы наймёте очень сильных людей, которые вас научат и принесут к вам хорошую и правильную культуру, опыт, знания. Но это будет путь, крайне схожий с «устроится в крупную компанию, где вас научат».

Иначе, вы, скорее всего, останетесь сеньорами в рамках своей компании, а на рынке вас будут оценивать иначе.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 нояб. 2020, в 00:04
50000 руб./за проект
31 окт. 2020, в 23:12
10000 руб./за проект