• Как спроектировать архитектуру большого проекта с начальным знанием программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    К сожалению с начальным знанием программирования - никак.
    Вы не можете привлекать сторонних разработчиков, но уже привлекаете их через Тостер.

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

    Как говорят - оптимизация до оптимизации не нужна.

    У меня был опыт запуска интернет-магазина во времена, когда их было десяток на всю страну. Первый интернет-магазин мы писали почти полгода, внедрив в него тысячи фич, которые оказались невостребованными. Через год проект себя отбил, и мы заказали не редизайн а весь магазин с нуля. Разработка шла 2 месяца, обошлась в 4 раза дешевле. Функционал стал гораздо удобнее. И мы поняли, что в первый раз надо было тоже пойти по более простому пути, тогда мы мы запустились на 4 месяца раньше и отбились бы за полгода.
    Ответ написан
    1 комментарий
  • На каком этапе лучше начинать изучать паттерны проектирования?

    Паттерны имеет смысл учить после 1-2 лет разработки.
    Хорошее место для старта - https://metanit.com/sharp/patterns/ (знаю их наизусть)

    Почему не сразу?
    Да потому что это будет бесполезно, нет еще проблем которые бы решались с применением паттернов, их не видно за незнанием языка.
    Когда сам язык на котором вы пишите является проблемой, то паттерны только увеличат срок его освоения.

    Сначала учимся ходить, потом бегать.

    На собеседовании о них спросят, но для галочки. Позиция младшего разработчика требует знание языка и наличие огромного желания развиваться.

    Это мое ИМХО.
    Ответ написан
    1 комментарий
  • Что делать когда коллеги уровнем ниже?

    @amambaru
    Кто сказал что они ниже уровнем?
    Эффект Даннинга — Крюгера
    Программеру всегда трудно вникнуть в чужой код - это не зависит от квалификации того, кто кодировал.
    Возможно что даже и они более квалифицированы - просто давным-давно забили на перфекционизм, а из вас он еще прет из за юнешеского максимализма.
    А может и вы правы.

    Тут дело не в квалификации, а в мотивации и организации процесса.
    Скажем, мне доводилось работать в команде, где в git пропускали всего по 200 строчек изменений за раз. И эти строчки обязательно должны были пройти через стандартизованное форматирование и линтеры (статические анализаторы) - иначе их git выплевывал. Это вынуждало программистов писать более менее приемлимо - коллег код меньше раздражал.
    Ответ написан
    19 комментариев
  • Стоит ли изучать symfony 1.4 для трудоустройства?

    @dimarick
    Учите симфони 3 (в крайнем случае симфони 2, отличаются непринципиально). находите работу где используют именно его. Внимательно относитесь к best practice которые вам предлагают разработчики фреймворка. Благо сейчас в пхп с выбором фреймворка все стало просто: энтерпрайз с интенсивным многолетним развитием - это симфони3+, простые сайты разряда "сделал и забыл" - ларавел.
    Ответ написан
    2 комментария
  • Стоит ли изучать symfony 1.4 для трудоустройства?

    @pantagruel964
    Уже Symfony 4 на носу и php 7, как стандарт.
    Сами подумайте, хотите ли вы вернуться лет на 10 в прошлое и там зависнуть
    Ответ написан
    Комментировать
  • Стоит ли изучать symfony 1.4 для трудоустройства?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Сказал, что они делают сайты на symfony 1.4.
    После этого дальше можно не читать...
    Он сам себя дурит: вместо того, чтобы перевести проект на актуальную версию, он ищет тех, кто готов учить старьё ради того, чтобы не потерять клиента.

    От подобных предложений - сразу БЕГИТЕ.
    Ответ написан
    Комментировать
  • Как сделать разработку web-движка публичной?

    longclaps
    @longclaps
    Три года - изрядный срок, полагаю, вам уже можно рассказать о гитхабе.
    Итак, гитхаб - такой сайт, где вы можете выложить в публичный доступ свой продукт.
    После этого вы сможете гораздо более эфективно искать и привлекать единомышленников.
    Ответ написан
    3 комментария
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    @L17217
    Сеньором вы будете как раз тогда когда будете знать куда следует двигаться.

    26 летних сеньоров не существует. Это фантастика

    Вы только поняли что дело не в языках и не во фреймворках? Поздравляю вы только что перестали быть ДЖУНОМ
    Ответ написан
    2 комментария
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Как вы это делаете?! За 17 лет работы в ИТ у меня ни разу не возникало вопроса "Куда двигаться?", только "Где взять времени на освоение всего этого бесконечного изобилия технологий, углублённого изучения уже знакомого и реализацию множества идей?"
    Ответ написан
    4 комментария
  • С чего начать и как писать Unit-тесты для проектов на PHP?

    janson
    @janson
    PHP-разработчик
    1. установить PHPUnit
    2. научится запускать тесты на PHPUnit. Самые банальные по мануалу. Просто запускать и понять, как они срабатывают.
    3. опробовать подход на небольших учебных задачах (всякие code-kata подойдут, задачи типа FizzBuzz, конвертёр температур из шкалы Цельсия в шкалу Фаренгейта, любые простые, алгоритмизируемые задачи с проверяемым результатом).
    4. После понимания сути тестов, заводим tests/ в реальном проекте, и начинаем думать, как это всё завести. В первый раз достаточно сложно сообразить как всё это добро соединить. Постепенно прикручиваем тесты, осваиваем технику работы со стабами (Stub) и моками (Mock).

    В процессе освоения шага №3, опробовать TDD: до написания кода, решающего задачу, пишем тесты для будущего кода. Это потребует в процессе написания теста продумать, как будут называться классы, методы, функции, какие граничные условия для прохождения тестов и проч.

    Очень вероятно, что с первого раза не всё будет понятно и просто. Пробуйте.

    Как пища для размышлений и осваивания методологии TDD, подборка задач:
    codekata.com

    Во многих там даже условия тестов прописаны, остаётся подкорректировать под себя и принятся за реализацию.
    Ответ написан
    Комментировать
  • Где искать middle/senior backend программиста?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    Вам бы искать спонсора или пытаться реализовать менее затратный проект.
    Искать программиста (да еще и senior!) за печеньки, это такое дело... нынче студенты по 100к на вакансию джуна просят.

    Мы правда очень хотим делиться деньгами, платить с каждой продажи, но с теми, кто реально делает то, что обязан и за что взял ответственность.

    Так вот говорите своим потенциальным спонсорам, что готовы возместить 100% убытки, если деньги спонсора сгорят, а бизнес не выгорит. Не только же программистам брать на себя ответственность :)
    Ответ написан
    Комментировать
  • Где искать middle/senior backend программиста?

    @raspier
    Java Developer
    Вы просто представьте ситуацию с другой стороны.
    1) Сидит Senior/Middle зарабатывает 200-250к. Обычно, это человек с опытом 5-7 лет минимум. У него, наверное, есть семья, может быть ипотека. И он читает ваше предложение. Вот что его должно переубедить перейти к Вам? Это у джунов в голове стартапы. Жёсткий Enterprise быстро эту дурь из головы выбивает. Логика меняется на "если на проекте не готовы платить, то он нахрен никому не нужен". Я, кстати, в таком работал)
    2) Какая доля? Эквивалент 200к? Так через полгода можно будет проект переписывать на имя этого программиста. Я уже не говорю, что по вашим словам, на этот стартап уже работали программисты ЗА ДЕНЬГИ, и те ушли.
    Ответ написан
    9 комментариев
  • Где искать middle/senior backend программиста?

    TheTalion
    @TheTalion
    Я так понял, вам не просто senior backend нужен, а senior backend + senior architect?
    Таких людей с горящими глазами нет В ПРИНЦИПЕ.

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

    У вас вариант только один - искать финансирование. Стартапы, зачастую, дико скучная для обучения сфера. Это не создание игр, где местами весело.
    Ответ написан
    9 комментариев
  • Как добиться независимости в тестах (phpunit)?

    @kn0ckn0ck
    Продюсер
    Не стоит смешивать модульные тесты и интеграционные (или функциональные). Цель модульных тестов проверить работу одного модуля (класса, например). В этом случае все его зависимости мокаются. Целью интеграционных тестов является проверка взаимодействия цепочки модулей (сервисов, с БД и т.п.) друг с другом.

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

    То есть правильно было бы сформулировать вопрос таким образом: "какой процент покрытия модульными тестами будет достаточным для моего кода?" Обычно останавливаются где-то на 70-80%

    Также очевидно, что 100% работающих модульных тестов не гарантирует работу интеграционных тестов или функциональных. Поэтому необходимо писать и те и другие.

    Я бы не стал фанатично закрывать все методы классов тестами, а только те, в которых имеется высокая цикломатическая сложность, либо которые скорее всего будут меняться. Короче, нет большого смысла в тестировании примитивных/стабильных участков кода.
    Ответ написан
    Комментировать
  • Что посоветуете еще подучить что бы тянуть на Junior PHP разработчика?

    @Fortop
    Tech/Team lead
    Для джуна уже более чем неплохой стек (при условии, что действительно знаете, а не думаете, что знаете)

    Так что есть смысл расти выше к мидлу.

    • Подтянуть использование ООП (те самые абстрактные классы и интерфейсы).
    • Обязательно Composer, посмотреть некоторые пакеты которые есть на packagist
    • Разобраться в key-value БД, очередях.
    • Познакомиться с патернами.
    • Добрать еще 1-2 фреймворка из разряда Zend/Symfony (но не Yii, Codeigniter, Kohana) и Slim/Zend Expressive
    • Разобраться с REST
    • API
    Ответ написан
    7 комментариев
  • Junior PHP, что бы вы спросили на собеседовании?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Джуниор джуниору рознь и в разных конторах разные требования, но в идеале вам нужно знать и уметь:
    - PHPStorm, PSR, чистый самодокументированный код
    - Composer, автозагрузка классов
    - Базовое понимание ООП, статический и динамический контекст, умение применять на практике
    - Git, работа с ветками, мерджи, разруливание конфликтов
    - Индексы в БД, какие, для чего нужны, составные индексы, какие недостатки имеют
    - Джоины в БД, подзапросы, группировка
    - Внешние ключи в БД, минимум по нормализации данных
    - JS, jQuery, HTML, CSS, хоть минимально

    Все остальное индивидуально, в зависимости от требований.
    Ответ написан
    8 комментариев
  • Не перебор ли для тестового задания?

    Sanes
    @Sanes
    Тестовое задание не должно занимать много времени.
    Если посчитать рабочий день, как 4 продуктивных часа, то даже 1 день это много.
    ИМХО. Задание должно быть на пол-дня максимум. 2 часа на проектирование/тестирование и 2 часа на разработку.
    Ответ написан
    8 комментариев
  • Как правильно оценить сколько ты стоишь на рынке труда(fron end || .NET)?

    AgentProvocateur
    @AgentProvocateur
    Ну да, frontend-разработчик 1 разряда, С#-программист 3 разряда и стандартизация по госту)) IT-сфера в данный момент не стандартизирована, потому подобную градацию свести невозможно. В том числе и по оплате - буквально недавно наблюдал 2 идентичные по требованиям вакансии PHP-разработчика в разных компаниях с разбегом по зарплате почти в 2 раза.

    Ни о каком "отличном владении" на дистанции до 5 лет речи быть не может (по тому же правилу 10 000 часов отработки, чтобы стать специалистом), особенно, в enterprise-сфере.

    В целом, тут всё как и в других областях, градация идёт по:
    • опыту командной работы (где, сколько лет, задачи какого масштаба решались);
    • решаемым задачам (могу копать, могу не копать, могу заставить копать другого);
    • уровню образования (в/о, сертификация, языки и т.д.);
    • спросу/предложению на конкретную технологию/навык;
    • опыту руководства коллективом/проектами.

    И самое главное - ценность сотрудника (и уровень его оплаты) определяется масштабом проблем, которые он способен решить в бизнесе работодателя, а также масштабом прибыли работодателя от результатов деятельности сотрудника.

    Ответ на вопрос "Как правильно оценить сколько ты стоишь на рынке труда?": ты стоишь ровно столько, за сколько в данный момент времени тебя готовы нанять. Рынок труда отличается от рынка с арбузами тем, что цену на нём назначает сам покупатель (т.е. работодатель). Ты можешь лишь согласиться, чуть поторговаться или отказаться и идти дальше искать своё счастье. Если, конечно, ты находишься в позиции соискателя, а не супер-спеца, за которым идёт конкурентная охота (что вряд ли, судя по вопросу). Чтобы понять, за сколько тебя готовы нанять, с головой достаточно 10 собеседований в течение месяца-двух.
    Ответ написан
    Комментировать
  • На каких сайтах искать фрилансеров-программистов?

    Sanes
    @Sanes
    Неужели все толковые ребята с российских бирж перехали на апворк?

    Все толковые и даже бестолковые делом заняты. Размещайте проект с достойным бюджетом и вам повезёт.
    Ответ написан
    9 комментариев