Как стать автором
Обновить
0
0
Илитный Эксперт @ilitnyexpert

Эксперт

Отправить сообщение
Интерфейс ужасно неотзывчивый, после других браузеров ощущение что «тормозит». Очень зря стали на html делать, потому что теперь это проблема by design
Почему все так набросились на автора?

Да здесь 95% комментаторов проектировать не умеют, знают максимум 1 язык(Не надо пожалуйста отвечать «Кроме js я еще и typescript знаю! Это не одно и тоже!», лол) или 1 стек технологий, т.е. в переводе на русский, являются низкоквалифицированными специалистами. То что рынок IT испытывает кадровый голод, и вас берут на хорошие зарплаты, не повод считать себя блестящими инженерами, поводов для раздувания ЧСВ тут нету. На безрыбье и рак рыба.

Автору могу посоветовать набрать еще несколько лет опыта, изучить разные области разработки(не только web), и поменьше обращать внимания на ЧСВшных зануд. Да, и ничего хорошего в том, чтобы быть быдлокодером нет.
архитектура по принципам SOLID

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

Чтобы грамотно спроектировать систему, нужно иметь достаточный опыт проектирования систем, а так же видеть много примеров качественной архитетуры уже готовых систем. А не заучивать что означают буковки в аббривеатуре SOLID.

У принципа SOLID — 2 проблемы, первое то что его придумали университетские теоретики, которые априори будут стоять на ступеньку практиков, а второе то что большинство воспринимает такие принципы как догму, даже не пытаясь подвергнуть их критике, не говоря уже о том чтобы на своем опыте самим дойти до понимания этих принципов.

Например, с чего вы вообще решили что архитектура которая соотвествует принципам SOLID — это хорошая архитектура?
Думаю использование ФП в большинстве этих кейсов явно излишне
С потолка.

В моём опыте оно существенно выше.

А в какого рода проектах вы ФП используете?
Сравниваю не только с мобильными, а вообще. Даже WinAPI лучше спроектирован.
Из мобилок сравниваю с iOS, после Android ощущение что ее проектировали инженеры с 20 летним опытом(Я думаю это и не далеко от истины), а не макаки-первокурсники.
Ну вообще налоги ситуацию не поменяют, точнее еще сильнее усилят перекос в сторону РФ. Ибо в РФ приятно говорить о зп после вычета налогов, а Германии видимо до вычета. И если 5к евро это брутто, то 150к рублей нетто.

Почему мне кажется, что студентов учат ООП неправильно

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

Куда важнее объяснить студентам, что ООП — это мишура. И то что это лишь одна из парадигм, а не единственный способ построения «архитектуры». То же наследование, в реальном ООП-проекте в 10-20% случаев нужно, в остальном без него будет лучше обойтись. Модификаторы доступа — инструмент для захламления кода, добавления гемора и траты кучи времени на лишнюю работу. Да, это спасает от дураков иногда, и уменьшает колво ошибок иногда, но во-первых оно и добавляет ошибок, но уже при проектировании, а во-вторых если у вас дураки пишут код, то проект уже ничего не спасет.

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

Проще говоря в проекте опитимально сочетать разные парадигмы, каждую для своего кейса. Людей которые освоили только одну парадигму, один язык или одну платформу(web например) специалистами не считаю.
Вы когда-нибудь работали с андроидом? Писали под него приложения/игры? Видели его API или код?

Это worst OS ever. Впечатление что код писали первокурсники набранные по ЛГБТ-квотам. Заметьте, я говорю «писали код», а не «проектировали», потому что проектированием там не пахнет. Любой человек с опытом написания больших проектов, напишет лучше, рили.

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

Глобальные косяки в проектировании, тащатся с первых версий и не исправляются в принципе. Конечно, лучше новую кривую апишку добавить. Эти ребята даже язык не смогли выбрать для проекта, пока андроид написан на джаве, он так и будет тормозить. И не надо мне говорить «джава не тормозит» или «новые андроиды не тормозят», на практике это не так. Когда на 8 ядрах и нескольких гигах RAM звонилка открывается 0.5 сек, это не «не тормозит», а беспредел, на таком железе иначе как мгновенно быть не должно.

Идем дальше, вещи типа GooglePlayServices написаны запредельно говняно. То что в ios делается в 2 строки, тут делается в файл полный костылей и асинхроннного глючного говна.

NDK это просто высер и одновременно плевок в лицо разработчикам под платформу. Из всего апи корректно работает 20%, остальное в той или иной мере не работает или просто недоделано. Есть баги которые не фиксятся с первых версий. Не буду говорить о том, что значительная часть рабочих фичей по части поддержки C++ сделана вообше сторонним разработчиком(спасибо ему за это). И опять же не надо говорить что они думали что «все приложения\игры будут написана на джаве и нативный код ненужон». Сам факт того что они так мыслят, говорит об отсутствии квалификации.

Далее, тулсет. Android Studio — глючное, тормозное ужасное говно. Gradle — вообще ночной кошмар. Такой же тормозной как и студия. За время за которое ant собирал проект, gradle даже запуститься не успевает(Знаете как они пытаются это пофиксить? Запускают демон чтобы не запускатать каждый gradle раз. Overmind). Ужасный, нелогичный, инопланентый синтаксис. Оказывается раньше это был более-менее нормальный язык groovy(Если конечно считать нормальным делать тормозной скриптовый язык на и без того тормозной джаве), но потом туда добавили сахарку и писать на нем даже с документацией проблематично. Haskell понятнее.
Мусор, в каждый проект gradle добавляет кучу мусорных файлов, просто уйму. Про частые обновления которые ломают сборку я промолчу. В свое время я не знал про offline режим, и как-то открыв проект через месяц обнаружил его несобирающимся, хотя ничего не менял. Это беспредел.

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

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

Справедливости ради отмечу, что инвертировать бинарное дерево изи задача. Заметтье, если бы Макс Хауэлл спал с мужиками, повода для этой статьи бы не было.
3000 рублей в месяц все равно много, в РФ я плачу 200-300 рублей. Если взять зарплату программиста в Германии за 5к евро, а зарплату программиста в РФ за 150к рублей, то получается что в Германии на электричество уходит 1% зарплаты, а в РФ 0.2%

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность