Software Architect
  • Помогите советом, хочу радикально изменить профессию

    А откуда мы знаем, мотивирован человек или нет, все попроще. 1) За годы в отрасли каждый из нас видел десятки,сотни новичков (я — сотни). Есть корреляция между тем, откуда именно берется мотивация к работе (люблю программировать вс. хорошая зарплата) и качеством работы. 2) Каждый из нас был новичком тоже, и сейчас, оглядываясь назад, понимает, какой жуткий говнокод он тогда писал, и как хорошо, что рядом был старший чувак, который предотвратил попадание этого в продукт или смягчил последствия. (Если кто считает, что он всю жизнь только хороший код писал, очень приятно, царь, я тоже так в детстве считала, пройдет обязательно).

    Никто не имеет ничего против мотивированных новичков, вот только им не скучно учиться, они не тупят, они вообще не говорят о коде «открываю текст, вижу синтаксис», они любят программирование, мы их всегда обогреем и всему научим. Те, кто хочет просто большую зарплату, а там что-то делать за компом надо — вот они потенциальные вредители, и поэтому в каждом топике об этом кто-то да напишет. Это в принципе консенсус, что они скорее всего вредители.

    Поддержал: Nikola Utiuzhnikov
  • Помогите советом, хочу радикально изменить профессию

    Вы написали очень длинный текст, о том, что якобы приведенная мною цитата, вот эта:

    — многие программисты, даже с большим опытом, воспримут вас как конкурента, пытающегося забрать у них кусок хлеба. Так что комментарии «Ещё один пришёл за программистской зарплатой» ожидаемы и предсказуемы;

    вот вы написали, будто бы это цитата не ваша, и не просто не ваша, а вообще ее не найти, и будто бы я ее придумала. Зачем вы так сделали, история умалчивает. Я пишу это вам только на тот случай, если это было по невнимательности, в надежде, что теперь вы поймете «откуда я это взяла» (из вас!) и мой текст заиграет для вас смыслом. Я также осознаю, что надежда на это маленькая.

  • Помогите советом, хочу радикально изменить профессию

    — многие программисты, даже с большим опытом, воспримут вас как конкурента, пытающегося забрать у них кусок хлеба. Так что комментарии «Ещё один пришёл за программистской зарплатой» ожидаемы и предсказуемы;
    За два месяца чтения не пришло понимания, что эти комментарии — не зависть. Оок. Знаете, это нечто обратное зависти. И это главное, чего вайтивайтишники не понимают. Это может, дворника с опытом можно заменить, может через 10 лет дворник выполняет все те же задачи, что и новичок. А чтобы работать программистом / QA / дизайнером / менеджером / бизнес аналитиком, что бы это ни значило, надо много знать и уметь. Никто вас не поставит на позицию человека с опытом, как раз потому что вы совсем не конкурент, и если вы пришли только за зарплатой — вы, скорее всего, не мотивированы углублять свои знания и умения. Вы, скорее всего, уже придумали, на что вы потратите свою программерскую зарплату. И если всю команду укомплектовать такими любителями шары — начнут падать самолеты. Или если команда пишет софт не для самолетов — та система, которую она делает, начнет отказывать.

    Фраза «Ещё один пришёл за программистской зарплатой» означает «я не хочу, чтобы падали самолеты», а не то, что вы насочиняли про отобрать кусок хлеба. Вы не сможете его отобрать, те 10-15 лет, что вы будете догонять опытного программера, он приобретет новые 10-15 лет опыта, вы не догоните его никогда.

  • Сказ о том, какие пошли наглые рекруты

    8 лет пишет и ООП неплохо понимает
    Так снисходительно поведала, «неплохо понимает». Сама же эксперт в теме наверно, и может так снисходительно о навыках программистов говорить. Вот нет ничего удивительного в том, что с таким отношением к людям есть проблемы с наймом, нормальным людям неприятно с такими даже начинать общаться, и выбирать приходится априори из людей с альтернативными личностными качествами — сегодня они код тестового стырят, завтра комп. Но плохие программисты же («рекруты», офигеть), на себя посмотреть не вариант.
  • Насколько важно знать шаблоны проектирования?

    С поливанием грязью справляются. Собственно вы вот только что доказали это. В ООП постулатов нет и быть не может, а наследование — не постулат, а часть ООП. Это подход к программированию, и подход, в котором не выделяются частично однородные классы объектов, не работает на них полиморфизм — потому что нет однородности, и т д, что там еще вы планируете выбросить, не будет называться ООП. Это будет ваш, придуманный вами, новомодный подход, но вы не сможете называть его ООП. И вы, не видя, не зная, не понимая этого, справляетесь крыть ООП матом. Вот ровно об этом я.

    Поддержали: Taras Soroka, Valentin Nechayev
  • DOU Проектор: Депозитка — выбор лучшего банковского депозита за 60 минут

    За 60 минут — вот это инновация. Просмотреть глазами ставки в десятке банков, которым лично юзер доверяет, будет быстрее. Вообще компьютеры нужны для того, чтобы у людей работы становилось меньше, а не больше. Вместо полчасика одному человеку полазить по сайтам, десятки менеджеров банков будут вручную и вхолостую обслуживать одну заявку. А могли бы это делать не живые человеки, а парсер парсить вебсайты банков например? Юзеру все равно предлагается ввести только по минимум параметров, все равно никакие интересные хитрые предложения в выборку не попадут.

    Ну и да, самые доходные «депозиты» — в банках-пирамидах, которые не собираются депозиты возвращать, поэтому юзер вряд ли хочет самый доходный депозит. Он хочет самый доходный из тех, где он не потеряет деньги.

    Сервис совсем не выполняет свое полезное действие, зато адаптивный дизайн :(

  • Композиция vs Наследование в Java

    Ага, вы правы в таком смысле, БМП как тип делает все то, что делает машина, и тогда по отношению к машине тут наследование, а по отношению к пулемету — композиция. Если мы смотрим очень абстрактно на типы как таковые. А вообще все зависит от того, что нам в программе надо делать с машинами и пулеметами.

  • Композиция vs Наследование в Java

    Я прошу прощения, что снова вмешиваюсь, но «сильная связь и вредит гибкости» — это как-то абсурдно. Если все связи будут слабыми, система не станет супер-гибкой, она рассыпется. Слабые связи нужны для гибкости — для обеспечения будущих изменений, сильные связи — для прочности, для того, чтобы при будущих изменениях, не поломалось ничто важное. И именно с этой мысли, как с трамплина, мы и видим, что все вещи, которые в проекте навек, которые описывают фундаментальные вещи в нем, должны быть прочными, а не гибкими.

  • Композиция vs Наследование в Java

    Вот я вам ответила выше, что в этом примере — инстанциация. БМП есть экземпляром машины, квадрат есть экземпляром прямоугольника. Наследование же и композиция — это отношения между типами, между классами. Это нельзя путать :(

  • Композиция vs Наследование в Java

    В некотором роде, пожалуй, вы и правы, люди, бывают, путают «is a» в смысле соотношения между классами, и «is a» в смысле инстанциации. В реальном мире мы не будем выделять Square в отдельный класс, разве что у нас игра для малышей, и квадраты у нас пляшут лезгинку, а все остальные прямоугольники танец маленьких лебедей, тогда будем. Если у нас просто какие-то геометрические вычисления, у нас будет класс Rectangle, и у некоторых экземпляров будет width=height, то есть эти экземпляры будут квадратами с точки зрения реальной жизни, но системе это будет пофигу, ничего специального с этим фактом она делать не будет.

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

  • Композиция vs Наследование в Java

    «is a» означает наследование, вы пытались сказать неправильно. LSP как раз об этом, о том, что «is a» должно строго соблюдаться. Вместо типа T всегда можно подставить его подтип S, потому что S «is a» T.

    Я ж не могу в одном комментарии изложить все проблемы с вашей статьей, я только самые вопиющие.

    Поддержал: Anastasiia Nevidomska
  • Композиция vs Наследование в Java

    унаследовать Прямоугольник от Квадрата или Квадрат от Прямоугольника
    Это задача вообще не на наследование, и не на ООП. Это пример, демонстрирующий, что близость ООП к реальному миру — условна, и оно не призвано зеркалить в коде реальный мир, а призвано описывать взаимосвязи между абстракциями конкретной программной системы, для удобства и эффективности этой самой системы. Текстовка к этой задаче идет типа: вот смотрите, в реальной жизни квадрат «is a» прямоугольник, а в программе такая реализация будет избыточной.

    Дополнительно не могу не отметить, что показывать различие композиции и наследования примером про машинки-пулеметики — это днище какое-то. Вы читали вообще, как сама Лисков демонстрировала Liskov Substitution Principle, какими словами он сформулирован? Это о программировании, а не о машинках. Кого от чего мы там отнаследуем и отнаследуем ли, зависит только от того, какие именно аспекты пулемета и машины нам нужны в нашей программе. Может никакие, а только строка с названием модели. Вот потом дети начитаются таких примеров и бред на собеседованиях несут, и написать что-то простейшее неспособны.

    Поддержал: Sergey Dzyubka
  • Влияние слухов, репутации и личного отношения при найме кандидата

    Если тимлид априори знает, что кандидат — говнокодер, потому что работал с ним уже, предлагаете его все равно брать, если он вдруг чо правильное на собеседовании сказал?

    Поддержал: Dmitry Dziuba
  • Массажистка или ...? Креатив так и прет

    Только это уголовный кодекс статья 303, а так ничего, удобненько.

  • Почему 95% разработчиков не используют TDD?

    Ждем темы «почему 95% программистов не верят в господа нашего Иисуса Христа».
    Потому что ммм... это вопрос веры?

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

    А другой, не менее важный нюанс — это цель. Когда мы пишем код, наша цель, чтобы он работал, чтобы он вписывался в существующую систему, чтобы он был отказоустойчивым. Типа если через 2 года бекенд в этом месте станет возвращать вообще другое, а юзер до сих пор не проапдейтил аппу, как мы тут обработаем. Наша цель — написать код, описывающий поведение системы в 100% возможных ситуаций.

    А с ТДД у нас какая цель? Удовлетворить тесты (я молчу, что написанные нами же). То есть написать код, который в некоторых условиях работает правильно.

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

  • Рейтинг вузов DOU-2016: на первом месте Могилянка, КПИ в середине списка

    Интересно, что ответ на этот вопрос должен быть известен выпускнику профильного факультета, из курса статистики.

  • Рейтинг вузов DOU-2016: на первом месте Могилянка, КПИ в середине списка

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

  • Готовы ли вы работать бесплатно ради опыта работы?

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

  • Насколько важно знать алгоритмы?

    Такой прям бесценный ряд, офигеть. Чо нынешние программеры себя такой илитой считают. Просто у человека должны быть навыки и интерес. Не надо поваром в стейкхаусе работать вегетарианцу. Не надо работать программером тому, кому не интересно возиться-оптимизировать код. Кому интересно — тот сам все выучит, как сверху и заметили, а вы тут разводите балаган ни о чем.

  • Насколько важно знать алгоритмы?

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

← Сtrl 12345 Ctrl →