All streams
Search
Write a publication
Pull to refresh
4
0
Send message
взять воображаемого олигарха Романа, лишить его всего заработанного и поместить на должность рядового менеджера банка в каком-нибудь провинциальном городе, с зарплатой в 25 тыс./месяц. И чтобы о нем никто не помнил и не знал. Как считаете, сможет ли Роман достичь прежних высот? Отвечу так: прежних высот он возможно и не достигнет, но то что через 10 лет его уровень дохода будет на порядки выше — не сомневаюсь.

Из этого следует другой, печальный вывод, который приходит с годами — то, что 90% россиян живут в нищите, и их все устраивает — говорит о том, что нищета — это их естественное душевное и моральное состояние.

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

Я бы переформулировал по-другому:

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

И, что не менее важно, из этого следует другой вывод: если с вас требуют результата за проект в целом, то у вас должны быть и рычаги влияния на все процессы в компании.
Если честно, я эластик в ТЗ вставил только потому, что без этого большинство кандидатов вообще не понимали термина «полнотекстовый поиск»…

Полнотекстовый поиск поддерживает и MySQL, но лично я прочитал ваши слова:

поиск а-ля ElasticSearch или Sphinx

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

Начнем:

Проблема в том, что нам-то был нужен самый что ни на есть обычный контентный сайт.

Функциональные требования не выделяются чем-то уникальным.


И тут же:
Полнотекстовый [морфологический] поиск а-ля ElasticSearch или Sphinx.

Оптимизацию сайта до зеленой зоны PageSpeed Insights


Знаете, вишенкой на торте не хватает только фразы, также между делом, как ничего особенного — выдавать все это на миллиардах записей в базе.

С одной стороны хочется много что написать, с другой стороны — все совершенно очевидно: типаж заказчика «надо сделать стул, ничего сложного, но он должен выдерживать вес слона»

Или вы всерьез считаете, что $8000 — разумные деньги за такой проект?

Да, а вполне возможно, что еще и мало окажется. Когда вы упоминаете одновременно «просто блог» и «поиск а-ля ElasticSearch», я сразу вижу хитровывернутого заказчика, который за мишурой «да там все просто», «да работы на недельку», между делом протолкнет такие требования, над реализацией которых нужно будет конференцию HightLoad собирать.

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

Мало кто видел действительно качественную разработку в принципе :)
В общем-то очевидная вещь, которая приходит в голову всем, кто работал над большими монолитами, и думал, как организовать структуру проекта лучше.
Не знаю как других, но меня в первую очередь интересует то, покрыт ли код тестами. И если покрыт — насколько полно.

С кодом без тестов, будь он хоть 100 раз написан по идеальному SOLID — работать совершенно не хочется — потому что это «хрупкий» код, который ломается на раз.
Почему невозможно?

Я говорю про практичность. При желании, конечно можно. Конце концов, ничто не мешает изобрести свой C, потом C+, потом C#, а потом уже на нем сделать свою игру.

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

В свободное от работы время пилю свою MMORPG — то, что за 5 лет сделано на php, на QBasic ушло бы 5 жизней.
Мы изучили ещё пару команд: CLS, COLOR, PLAY, INPUT и IF. Ничего не нужно было объяснять: никакой сложности, никаких неуклюжих операторов, никаких абстрактных концепций, никакой документации, которую необходимо изучать, никаких концепций объектов/классов/методов, не требовалась установка никаких фреймворков, нет кучи меню и кнопок в IDE, никаких специальных ключевых слов или скобок. Это был код во всей его чистейшей простоте и форме.

Ага, ага, сложности (точнее не просто сложности, а практически непробиваемая стена) возникнет тогда, когда захочется сделать что-то серьезнее, чем «Hell World» или калькулятор.

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

В итоге провозившись какое-то время, плюнул на это «программирование», как на какую-то неведомую сложную хрень, и вернулся к программированию только в 30 лет, потеряв, по сути, 10+ лет на другие работы/специальности.

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

А микросервисы каким-то магическим образом защищены от костылей и плохого кода?

Я бы сказал, что даже наоборот — общий объем кода с микросервисами вырастает, общий объем работы вырастает, и если разработка проходит в сжатых сроках — то результат будет еще печальнее, чем на монолите.

Впрочем, разработка с горящими сроками никогда ни к чему хорошему не приводит.
Микросервисы это всегда про масштаб — масштаб проекта, масштаб команды, масштаб нагрузки.

Если масштаба нет, то да, микросервисная архитектура обойдется просто большим объемом кода и раздутой сложностью проекта.
Зарплаты, конечно, высокие — могут платить и 9000$

При аренде в 2500$ и садике за 2000$ и всех прочих ценниках — эти 9 тысяч ни о чем.
А что на счет не прямой монетизации open source продукта, а косвенно, через большую известность в области, и, соответственно, больший интерес со стороны работодателей? Как мне кажется, именно в этом основная фишка своих проектов на github — что тебе есть что прикрепить к резюме (или резюме указать в github-профиле)
зачастую создают очень плохую атмосферу в коллективах

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

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

image

А вот что на этом же проекте показало мутационное тестирование:

image

В общем, нет предела совершенству :)

Инструмент невероятно классный для тех, кто хочет заморочиться с качеством. Создателям низкий поклон)
На мой взгляд автор как-то слишком уж извратил и усложнил принцип подстановки Барбары Лисков, который, в упрощенном виде, говорит о том, что мы не наследуемся от AbstractController и не делаем из него класс работы с базой данных.

В тоже время, если бизнес приходит и просит создать новый тип клиента, который не сможет пополнять свой счет более чем на 100 единиц — в чем проблема создать показанный класс MicroCustomer?

P.S.
Если же говорить о реальной практичности и надежности написанного кода — то здесь в первую очередь стоит заморачиваться не над принципом подстановки Барбары Лисков, а на привязку к интерфейсам (а не к конкретным реализациям) и покрытию кода авто-тестами.
Для этого мы поделили индекс зарплаты на индекс стоимости жизни и жилья, умножили на 100 (нам нужны проценты) и назвали это число индексом обеспеченности локальными товарами, услугами и жильем или просто индекс обеспеченности для краткости.

Добавьте еще индекс климата. Жизнь в Крыму и жизнь в Норильске это совсем не одно и тоже, даже если по цифровым показателям все будет одинаково.
Если так будет продолжаться и дальше, то им придется со мной расстаться.

Такой поворот событий был огромным шоком для меня

image

У автора все закончилось нормально, но есть ситуации и хуже, когда не предупреждают, а сразу говорят «пиши по собственному». И критика не на уровне «тут можно написать немного лучше», а «вы совсем головой ударились, разрабатывать бек одновременно на двух фреймворках?! (и речь не о разных микросервисах, написанных на разных фреймворках)

И вариантов действий, в таких запущенных ситуациях, на мой взгляд, всего два (учитывая, как хорошо некоторые умеют врать и преподносить себя с лучшей стороны):

  • После получения оффера сказать „мне все нравится, и я готов у вас работать, но дайте возможность взглянуть на код вашего проекта, например по скайп-связи, с расшариванием экрана“. Где можно будет взглянуть на уровень кода, который пишет команда, на тесты, на документацию, на CI/CD и пайплайны, попросить показать ревью (комментарии, обсуждения) мерж-реквестов и т.д.
  • Иметь запас денег, который в случае кидалова на новой работе (вранье работодателя на собеседовании расцениваю именно как кидалово), позволит легко сказать „досвидос“, и спокойно поискать 2-4 месяца другую хорошую работу.
О, у меня была горячая игровая молодость (Ultima Online, Lineage 2, и прочее), которая закончилась где-то в 30 лет — игры просто перестали цеплять. Могу иногда поиграть в Morrowind или Герои 3, но так, чисто отдохнуть. Как раньше уже не увлекает.

Ну-с, пройдемся по списку

вы осознаете, что проводите много времени с виртуальным персонажем

И что? Какая разница, чем человек занимается, если получает удовольствие и не вредит окружающим?

вы осознаете, что никогда по-настоящему не изучали себя

WTF?

вы осознаете, что не нашли настоящей дружбы

WTF?! Не, ну серьезно, в чем связь? Что мешает геймеру общаться и тусоваться с такими же геймерами, а мне сейчас, такому правильному и завязавшему с играми сидеть целыми выходными в одиночестве за кодом?

вы осознаете, что никогда не развивали никаких реальных навыков

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

вы осознаете, что прожили свою жизнь посредственно

Как раз сейчас моя жизнь посредственная. Работа-дом-бытовуха-работа-дом-бытовуха. А во времена Ultima Online и Lineage 2 жизнь била ключом. Мои лучшие воспоминания из жизни — именно из тех лет.

вы осознаете, что не научились справляться со стрессом

WTF?

вы осознаете, что ничего не освоили

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

вы осознаете, что то, что вы прокачивали все это время, были не вы

И что? Какая разница, чем человек занимается, если получает удовольствие и не вредит окружающим? (дубль-2)

вы осознаете, что весь полученный опыт был не ваш

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

вы осознаете, что за все это время вы не получили ничего ценного

Устаю этот бред комментировать…

вы осознаете, что ваш реальный уровень равен 0

Стоял рядом, свечку держал?

вы решили что-то с этим сделать



Вот почему вам следует прекратить играть в игры.

Что стоит прекратить — слушать всяких умников в интернете, которые учат как жить.
Вопрос надо уточнить — есть ли инди-разработки, или если ли там прибыль.

Если первое — конечно есть, и много интересных.
Если второе — то как и у любых стартапов ~99% реализованных проектов не приносит прибыли.

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

Information

Rating
Does not participate
Registered
Activity