• Построение веб-отдела?

    @InOdinWeTrust
    1) Для начала необходимо выяснить как можно больше деталей о будущем проекте (веб-сайт).
    2) (Важно!) Записать все требования на бумаге, согласовать с вышестоящим начальством.
    3) Примерно прикинуть, сколько людей нужно будет, чтоб покрыть большую часть требований.
    4) Расписать роли без привязки к конкретным людям - кто за какую часть требований отвечает.
    Обязательно указать роль, которая выставляет требования к проекту.
    (по ролям, чаще всего нужен один тех лид, который полностью закроет техническую часть требований - выбор архитектуры, софта; тим лид - закроет организационные и управленческие вопросы, набор в команду, методологию разработки. Ну и обычные роли для разработки веб-сайта - сисадмины, разработчики, тестировщики. Ну и продакт менеджеры, аналитики, если нужно).

    4) Оценить бюджет команды, внести коррективы в роли, состав.
    5) Согласовать с вышестоящим руководством, при необходимости вернуться к пункту 1.
    Ответ написан
    Комментировать
  • Внедрение правок на проекты генерит ошибки вне внедряемой области - как этого избежать?

    @InOdinWeTrust
    Вы подняли сложный вопрос, на который нет одного ответа. Тут нужно в первую очередь смотреть на:
    1. Ценности компании.
    2. Архитектуру проекта/проекта.
    3. Процессы - менеджмент, разработка, тестирование,
    4 . Ресурсы - команда, документация, знания, навыки, время и тд.

    1. Есть, грубо говоря, набор ценностей, которые приносят компании доход.
    Например - показ каталога товаров. Чем лучше показан каталог, тем больше пользователей зависает на странице, тем больше покупают/хотят/выходят на связь/ppc - неважно, что именно, но это приносит компании деньги. Поломка каталога товаров грозит потерей денег/репутации/времени/рынка. Поломка где-нибудь в личном кабинете, рассылке или другом месте, не несет таких угроз. Собственно, исходя из имеющихся ценностей и оценки рисков, должен быть список "важного" функционала. Того, который не должен ломаться.

    2. Архитектура проекта может быть монолитом с точки зрения оценки рисков. Сломали одну функцию - ломается вся система. А может быть устойчивая к проблемам система - сломали одну функцию, система продолжает работать в целом. Архитектуру нужно выбирать исходя из ценностей и рисков. Самая ценная часть должна быть максимально изолирована от проблем остальной системы. Самый ценный функционал должен продолжать работать при поломке каких-то элементов. Например, изменили структуру базы данных вашего каталога товаров - каталог должен продолжать работать. Пусть показ данных будет неполным, но он будет. Закладывайте это на этапе разработки архитектуры. Делайте рефакторинг существующих проблемных мест. Фокусируйтесь на ценностях.

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

    4. Ресурс - с учетом вышеперечисленного, выдвигаются требования к ресурсу. Если для тестирования критически важных мест системы нудно 100 человекочасов и специалисты уровня "синьор" - нужно выделять эти ресурсы. В противном случае, выделять больше времени, или перераспределять больше специалистов, вычислительных ресурсов на автотесты.
    Ответ написан
    Комментировать
  • Как ускорить выкатывание изменений в большом проекте (монолит)?

    @InOdinWeTrust
    Возможно, вы доросли до большого проекта. Значит, без аналитики не разобраться.
    Нужно четкое представление сколько времени тратится на каждый шаг вашего процесса релиза.
    Если нет однозначных метрик - покрывайте. Нужно не на глаз сколько минут, а четко статистика по каждой задаче - сколько времени собиралась, тестировалась, сколько релиз, сколько проверка бизнесом, и тд и тп. Метрик мало не бывает.
    Затем по собранным данным рисовать графики, диаграммы, анализировать, на что тратится больше всего времени.
    Затем думать, где можно оптимизировать.
    Анализировать и оптимизировать не имея на руках цифр и картинок с диаграммами - это путь вникуда. Можете угадать с оптимизацией, можете не угадать.

    Когда все данные на руках есть, можете оптимизировать.

    Чаще всего помогает:
    - Исключить из процессов или минимизировать участие людей (CI, CD, автотесты и тд)
    - Распараллелить множественные однообразные процессы (мержи, запуски тестов на задачах, запуски тестов на билде, и тд)
    - Группировать (тестировать билд один раз после того, как в него попали все нужные бизнессу задачи)
    Ответ написан
    1 комментарий
  • Как исправить ошибку [[2006] MySQL server has gone away]?

    @InOdinWeTrust
    MySQL server has gone away - означает, что клиент потерял соединение с MySql сервером. Причин может быть миллион. Что нужно делать, если не можете найти конкретную причину - восстанавливать соединение и повторять запрос.
    Ответ написан
  • В чём отличие по смыслу reference от link?

    @InOdinWeTrust
    https://en.oxforddictionaries.com/definition/link
    A relationship between two things or situations, especially where one affects the other.
    link - это больше связь с чем-то

    https://en.oxforddictionaries.com/definition/reference
    The action of mentioning or alluding to something.
    Mention or citation of a source of information in a book or article.
    reference - это больше ссылка, отсылка на что-то

    Лучше всего смотреть сразу в английских словарях, типа оксфордского или merriam-webster.
    Ответ написан
    Комментировать
  • Нужен ли слепой 10-ти пальцевый набор?

    @InOdinWeTrust
    Слепой метод печати - просто инструмент, который помогает не отвлекаться от монитора, при наборе кода.
    Не соглашусь с отметившимися тут - это навык существенно добавляет скорости и точности набора, экономит силы на длинных дистанциях. Да, поначалу скорость набора может быть смешной, не больше 30-40 слов в минуту.
    Главное отличие от обычного полного или частичного подглядывания на клавиатуру - вы исправляете ошибки сразу, а не после того, как набрали, и это экономит время и силы. Кроме того, из личного опыта - меньше отвлекаетесь.
    Естественно, при программировании требований к самому процессу больше, чем просто при наборе текста, поскольку используются спецсимволы. Придется действительно постараться, чтоб они и цифры покорились. Времени потратится больше, чем на изучение и наработку набора простого текста.

    И да, 10-ти пальевый слепой метод печати не сделает вас хорошим программистом.
    Но из двух одинакового уровня людей, я бы выбрал владеющего слепым набором.
    Ответ написан
    Комментировать
  • Имеет ли смысл переквалифицироваться с экономиста на бизнес-аналитика?

    @InOdinWeTrust
    Навыки и знания экономистов не сошлись клином на 1C.
    1. Карьерные перспективы: реально ли стать в будущем руководителем проекта?

    Чтоб стать руководителем проекта, необходимо заниматься управлением проектами. Учиться организовывать людей решать какие-то проблемы. Для этого необходимо самому научиться решать проблемы лучше остальных, чтоб на вас обратили внимание и привлекли к более сложной и ответственной работе, дали ресурс в виде людей и прав. Какого плана проблемы будут решаться - не важно. Занимайтесь тем, что вам нравится. Имея экономическое образование, можно помогать людям строить бизнесы, закрывая организационно-финансовую часть.

    2. На какие компании/продукты/направления стоит обратить внимание при потенциальном поиске работы?

    На компании, реально зарабатывающие деньги.

    3. Какие навыки необходимо развить?

    Полезных навыков великое множество. Ценность не в конкретном навыке, а том, насколько хорошо он у вас прокачан. Например, навык печь пирожки, может быть пошлым и абсолютно никому не нужным навыком, пока он не развит. Но если вы его прокачали настолько, что все хотят только ваши пирожки - он бесценен.
    Обычно, во всех профессиях ценится:
    1. Коммуникация - умение находить общий язык с разными людьми, умение слушать, умение доносить мысли грамотно, убеждать.
    2. Проактивность - и так понятно.
    3. Честность - честных людей не любят, но ценят. В большом бизнесе без честности в круге топ менеджмента и собственников не обойтись никак. Честность можно и нужно тренировать.
    4. Ответственность и решимость - все что вам поручили, будет сделано, и никак иначе быть не может. Развивайте навык доводить любое дело до конца и решать проблемы, от которых отказались остальные.
    Остальные навыки лежат в вашей профессиональной сфере. Смотрите на то, что тяжело дается другим, и постарайтесь в стать в этом лучшим, научитесь решать проблемы, которые не могут решить остальные.
    Ответ написан
    Комментировать
  • Какие есть англоязычные ресурсы по IT?

    @InOdinWeTrust
    Программирование, железо - https://news.ycombinator.com/ агрегатор с IT направленностью.
    Ответ написан
    Комментировать