Ответы пользователя по тегу Веб-разработка
  • Стоит ли идти в веб-разработку?

    yurakostin
    @yurakostin
    Front-end developer
    Идти или нет
    Идти в веб разработку стоит по двум причинам:
    • Веб разработка, как и любое другое ремесло - занятие, которое нужно попробовать, чтобы понять, нравится оно или нет, а значит, если вам интересно, то попробуйте, но не ждите быстрого результата. Редкий художник/писатель быстро/дорого продаёт свои работы в первый год, пока он осваивает ремесло. Возможно аналогия не самая удачная, но, надеюсь, понятная. (PS: я учился вебу год перед тем как попасть на первую работу)
    • Умение программировать учит по-другому думать и смотреть на решение любых проблем. Хотя далеко не у всех программистов системный подход к решению задач.


    Направление в разработке
    С направлением есть нюансы, которые актуальны, по крайней мере для меня ( эти нюансы справедливы для любой сферы деятельности человека).

    Предположим, что вы выучили всё, что нужно и нашли работу. И первый год уже учитесь на работе, решая бизнесовые задачи, и вы счастливы, получая деньги и делая то, что вам интересно.
    Проходит 2 года и вы чувствуете что набили оскомину, что ваша работа вас уже не радует.
    Это может говорить о том, что:
    • Вы выросли и вам нужно просить дать вам больше ответственности и других задач, или менять работу с повышением.
    • Вы выгорели на текущей работе от горящих сроков, токсичных коллег или руководства. В этом случае, если на вопрос "нравится ли мне делать то, что я делаю?" ваш внутренний голос отвечает "да, я всё ещё это люблю, я просто устал от негатива, сроков, недосыпа, etc", тогда имеет смысл поменять компанию.
    • Если же вы понимаете, что не испытываете никакой радости в принципе, а вся эйфория была только от того, что у вас был хороший заработок, тогда, к сожалению, IT - не ваше.


    Дальше, если вы всё-таки остались в IT, наступает прикольный момент, когда вы думаете, что изучили всё, что было можно изучить, или хотели бы заняться чем-то другим: мигрировать с веба на мобилки; мигрировать с интерфейсов на геймдев; мигрировать с фронта на бэкенд; etc.
    Тут наступает новый момент выбора, и у вас, очевидно, два варианта:
    • Остаться там, где вы есть.
    • Мигрировать.


    Выбор зависит от одной простой составляющей: деньги.
    Не в смысле, что ваша зарплата станет ниже из-за того, что нужно осваивать новые инструменты(на это в своё время я спокойно мог пойти), а в том смысле, что ваши платёжные обязательства могут на этом этапе жизни превышать тот порог, до которого опустится ваша зарплата. Тут на помощь может прийти только поддержка тех, с кем вы могли бы разделить ваши платёжные обязательства.

    Очень условный совет на счёт более раннего определения предпочтительного направления заключается в том, что нужно бесконечно учиться и пробовать разное. Ваша работа(опять же, так было и есть у меня) не заканчивается после того как вы ушли из офиса(или закрыли ноутбук, работая удалённо).
    После завершения рабочих обязанностей вам нужно самую малость отдохнуть, а дальше открывать ноутбук и пробовать писать игру/мобильное приложение/бэкендовый сервис/и т д. Только так вы поймёте, что вам нравится больше. Важно, помнить, что новая область всегда будет казаться сложнее того, что вы знаете, но если вам интересно - не опускайте руки.

    У меня тоже получилось многословно =)

    PS: всё написанное выше - не инструкция, а мой личный опыт и суждения.
    Ответ написан
    2 комментария
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    yurakostin
    @yurakostin
    Front-end developer
    Умные люди уже написали всё, что хотел написать я, но вставлю свои пять копеек, уж извините.

    Я очень хорошо знаком с этой болью. И раньше тоже(на прошлых местах работы) неоднократно заводил разговор о том, что нужно всё переписывать. Молодо - зелено.

    Бизнесу действительно не выгодно тратить любого вида ресурсы(время, деньги) на переписывание с нуля.
    Здесь бизнес следует правилу, которое мы - разработчики периодически забываем "работает - не трогай".

    Другое дело, что мы, в отличие от бизнеса, понимаем, что ещё немного и кодовую базу будет невозможно поддерживать.
    И хочется бросить это всё и переписать, или просто бросить и уйти туда, где трава зеленее, код чище(идеален), где можно будет использовать любые фреймворки, библиотеки, инструменты, которые на данный момент кажутся вам самыми клёвыми. Однако этого не бывает практически никогда.

    Теперь о позитивном.

    Переработка кода - отличный опыт. Я бы даже сказал, что он ценнее, чем разработка на Angular 100500 версии, которую вы хотите использовать больше для того, чтобы сказать "теперь я умею angular(подставь своё) 100500 версии".
    Вам придётся быть ещё более внимательным чем обычно, так как обновлять код нужно осторожно, чтобы ничего не сломать. Ещё более вдумчивым, ещё более внимательными, ещё более *, так как читать/понимать/править чей-то код - великий труд. К слову, это может показаться бредом, но вы вполне можете изучить что-то новое для себя пока будете рефакторить.

    И да - рефакторить нужно частями. И чем части эти будут меньше, тем лучше.
    Поэтому рекомендую взять самый адовый на ваш взгляд модуль/кусок/файл с кодом и разбить на логические части его работу. Затем осознать, что нужно разбить ещё.. ещё.. и ещё... Словом, декомпозируйте до тех пор, пока не поймёте, что дальше декомпозировать некуда.
    В итоге вы обнаружите огромный список задач. С этим списком уже можно работать. Для начала необходимо оценить его в человеко-часах. Дальше можно показать его руководителю, показать временные оценки, а самое главное - объяснить, на кой чёрт нужно тратить столько времени на эти задачи, вместо того, чтобы запилить новую фичу.
    А тратить это время нужно по той простой причине, которую мы преследуем изначально - ради чистоты, понятности, поддерживаемости кода. И.. да - если рефакторите js, то делайте это через TDD, это должно облегчить вам задачу (хотя вначале будет казаться иначе).

    Моя коллега с первой работы сейчас занимается одним интернет-магазином. Мне невероятно нравится читать её сообщения о том, что она выпиливает css код тысячами строк. Даже не представляю, насколько приятно ей смотреть на результат своей работы.

    Может показаться, что предложенный подход(рефакторинг) - полный бред и безумие, но это не так.
    Удачи вам.
    Ответ написан
    Комментировать