— и когда джуниоры, еще студенты, только прошедшие лабу, приходили на проект со словами «там такоооой говнокод, там такооое, все надо переписать». А сами прочитали две книжки, но if с else еще толком связать не могут, а ЧСВ выше крыши;
— и когда приходишь на проект себе тихонько и через 2 недели понимаешь, что с существующей «архитектурой» самое малейшее изменение требует от тебя 2 дня багфикса с залезанием во все детали, а от QA — регрессию как минимум всего моделя. И что команда состоит на 80% из людей, которые фиксят баг перерисовкой всего экрана при сдвиге на каждый пиксель, не видят ничего в 30-ти синглтонов, беспорядочно дергающих методы друг друга, и broadcast notification-ах.
И самое интересное, что руководство все это устраивает. Потому что распил. Потому вместо 8 iOS-девелоперов хватило бы двух но толковых, но за 8 платят больше. Потому что даже так как-то, со скрипом, но проект заработает, а американское лобби продвинет его во все заправки штата Техас. И всем все равно.
Что я могу сказать? Универсального совета тут точно нет, нужно смотреть через призму своего опыта в каждом случае отдельно.
Лично я на первых не обращаю внимания — нужно просто холодно попросить список вещей, которые малыш видит как говнокод, с аргументацией почему он так считает и путями решения. 5% что-то сделают, 95% умерит свой пыл на первом же реальном кейсе. У малыша просто нет опыта, чтобы понять, почему люди писали так, а не так как написано в той классной статье — в той или иной степени все это проходили.
Во втором случае я не вижу причин не уйти, если там конечно не зарплата в 10к долларов чистыми и страховка в Принстон Плейсборо. И квартиры дают бесплатно. Тогда можно сидеть и терпеть. Но какой смысл бороться с ветряными мельницами? Пусть и правда сидят так дальше, раз всех все устраивает. Да, таких проектов даже большинство, ну и что, есть армия любителей таких проектов.
У меня есть знакомый, который на них специализируется. Устраивается на удаленку на не самую топовую зарплату на такой распил — там на 2.7к, там на 3.0. Работает там 2 часа, там 2 часа, единственная проблема — митинги иногда пересекаются. Но это всегда можно как-нибудь разрулить, тут уже хочешь жить умей вертеться. Как вам зарплатка в 5.7 чистыми в Брестской области в каком-то там сельсовете? И плевать он хотел на чистоту кода и архитектуру, лишь бы появиться на дэйли, каком-то еще митинге и сделать 2-3 коммита для потемнения ячейки в профиле гита.
Что-то меня понесло. В общем, я понял что для меня это не близко, надоело за джуниорами и просто не думающими людьми подчищать экскременты, и просто стал просить на собеседовании показывать код. Но в итоге просто нашел место, где нужно было потратить около месяца на доводку старого проекта, и новый стартовал с нуля — с плотной работой с графикой, звуком и всем что я люблю. И по-своему счастлив.
В общем, ищите свое и держите нос по ветру. Самое главное — понимать, чего на самом деле хочешь. Всех денег не заработаешь, а счастливы на работе единицы. Я иногда бываю счастлив. Это куда лучше чем у 90%.
ну да, керн 2 метра выняли, в котором непонятно то ли есть бактерии, то ли нет бактерий и они туда случайно попали. Так себе исследование. Я понимаю, 4 километра, но куда там Марс бурить если тут, дома не можем понять. Рано еще, Илон, рано…
я не сомневаюсь что там много ископаемых, она ж когда-то была теплая и там тоже росли и умирали растения и животные. Но попробуй их добудь, до озера Восток докопаться не могут. Может если бы все растаяло, как в статье, и стали бы что-то делать, если бы выжили :)
Извините за банальщину, но не удержался — Антарктида мир добра, науки и единорогов, пока она даром никому не нужна. Кроме пингвинов, ценных своей няшностью, там нет ничего ценного с точки зрения сильных мира сего.
И слава богу, так-то там даже кусочки Марса с окаменелыми, вроде как, бактериями нашли, если верить Владимиру Георгиевичу Сурдину. Было бы что ценное — все б уже было в вышках по его добыче.
обычный, не знаю про tortoise git, работал еще лет 12-14 назад с tortoise svn, хорошая была утилита. А вот под мак ничего не работает нормально — ни SourceTree, ни SmartGit — и все равно приходится настраивать все через консоль.
Да про что я говорю, до недавнего времени скрыть/показать скрытые файлы в Finder можно было только через консоль, попутно Apple Script-ом прибив и перезапустив все инстансы файндера (что прямо невозможно сделать вручную, по крайней мере было)
Согласен, но мы все же про разные вещи говорим. Какой-нибудь конфиг проекта я тоже раз в жизни проекта создаю, и не нужен на него UI, особенно глючный (вспомню Eclipse конца 00-х годов — вздрогну).
В вашем примере есть еще один очень важный плюс консоли — не знаю про групповые политики Windows, т.к. очень далек от нее, но например консольные утилиты для *nix (Unix, Linus, между прочим OS X) будут одинаковые, и ответ на stackoverflow для linux обычно подходит и под мак. А вот UI у утилит 99% будет разный, и тут уже попробуй нагуглить эти галочки
то, что делаешь по 100 раз в день (найти файл по первым буквам, компилить, билдить, jump to definition и т.п) — желательно знать команды. Так же как и художникам, которые вообще не программисты — они обычно владеют командами Photoshop/AfterEffects, Sketch или там 3dmax.
Но для действий, которые делаешь раз в жизни проекта, или раз в месяц хотя бы — я не хочу рыться в мануалах и в интернете в поисках команд, хочу нормальный UI.
не знаю кому не нужно, хочешь-не хочешь, а приходится все время работать с консолью, если только вы не совсем hello world-писальщик. Иногда через слезы, но приходится. Хотя бы SSH настроить для гита — ни одна известная мне GUI-утилита не может этого нормально сделать без консоли
и чтобы интерфейс между GUI и консолью где-нибудь отображался, чтобы если в GUI есть пробелы — ты мог легко скопировать консольный код и поправить где нужно (а-ля source tree)
имхо, основной недостаток (непопулярных) утилит — отсутствие нормального хэлпа с примерами. Люди не ленятся делать сложные утилиты, но описание на гит-страничке в лучшем случае будет содержать brew install и, опять же в лучшем случае, ссылку на документацию в 1000-й команд.
А надо всего лишь на примерах «а-ля юнит тесты» показать самые распространенные кейсы применения утилиты. Со ссылками на подробную документацию, если пример не покрывает твои нужды.
Я, когда пишу компоненты, которые предполагают переиспользование — зачастую больше времени трачу на демки, документацию и т.п., чем на сам компонент. Зато люди могут за 5 минут прикрутить его к своему коду, а не мучаться часами.
У меня с годами сложилось чувство, что серьезные юниксоиды и т.п. получают удовольствие от того, что кроме них самих их продуктами мало кто может пользоваться.
Эту аббревиатуру писать побоялся, я хоть и из РБ но в курсе, что в РФ она запрещена. Вы же понимаете, что это ирония к предыдущему комментарию и я не имею никакого отношения ни к ворам, ни к ОПГ
Все описанное в статье имеет место быть, но есть и другая сторона — уже выросло поколение разработчиков, которое все на свете оправдывает сжатыми сроками и ограниченными бюджетами. Приходишь на проект, там плохо все — от общей архитектуры до логгера, причем проект длится уже 3 года, а тебе все так же рассказывают — это все сроки, плохие клиенты, требуют и т.п.
А потом, поработав пару месяцев, ты понимаешь, что эта команда просто по-другому не умеет. И даже получает определенное удовольствие от такого ХХП-образного стиля принятия решений. И не хочет включать мозг, всех все устраивает, а самый старший разработчик вообще ручным парсером JSON подрабатывает.
При этом все читают кое-какое.it, рассуждают исключительно сленгом оттуда (галеры, гребцы и т.п.). А что такое циклическая ссылка — зачем, у нас нет времени, видишь — срок заказчик поставил.
Я начал читать — смотрю, ПМ расшифровано. Ну, думаю, все ясно, перевод, делал студент инъяза 1 курса, может и не знает для кого переводил. А тут целая драма в комментариях, оказывается!
я еще лет 10 назад говорил — я не люблю продукты MS, но у них есть два хороших продукта — это Office и Outlook. По крайней мере я лучше не видел ни у Apple, ни у Google, при всех их проблемах — они ок.
И также — я очень люблю все продукты Apple, но у них есть 2 отстойных продукта — xCode и Apple developer portal (который сейчас developer.apple.com и appstoreconnect.apple.com). Еще iTunes был тем еще Nero burning rom, но слава богу RIP, больше не надо.
Прошло 10 лет, ничего в целом не изменилось.
Помню, как году в 2013 мне ньюкамеры в iOS, особенно дизайнеры, религиозники от Apple, лили в уши — это же Apple, скоро допилят, это же Apple, это все временно. Я тогда усмехался — как же, допилят. Воз и ныне там, к сожалению…
уверен, есть доля правды в ваших словах. Тоже этого не понимаю, но тут без хорошего пинка сверху ничего не сдвинется с места, нужен новый Джобс от разработки. Хотя xCode и при Джобсе был икскодом.
P.S. Кстати, я пришел в iOS разработку в 2009 году, был еще xCode 3 :) IB еще был отдельным приложением, с 4-й версии году в 10-м они сделали его уже встроенным
Спасибо большое за такой развернутый комментарий и проделанную работу! Я знал конечно по своим друзьям, которые работают в Яндексе, что у вас уровень, но это прям целое расследование. Не понимаю почему так мало лайков и комментов, это лучшая статья за последний год точно, но уверен — все сообщество iOS разработчиков вам очень благодарно!
— и когда джуниоры, еще студенты, только прошедшие лабу, приходили на проект со словами «там такоооой говнокод, там такооое, все надо переписать». А сами прочитали две книжки, но if с else еще толком связать не могут, а ЧСВ выше крыши;
— и когда приходишь на проект себе тихонько и через 2 недели понимаешь, что с существующей «архитектурой» самое малейшее изменение требует от тебя 2 дня багфикса с залезанием во все детали, а от QA — регрессию как минимум всего моделя. И что команда состоит на 80% из людей, которые фиксят баг перерисовкой всего экрана при сдвиге на каждый пиксель, не видят ничего в 30-ти синглтонов, беспорядочно дергающих методы друг друга, и broadcast notification-ах.
И самое интересное, что руководство все это устраивает. Потому что распил. Потому вместо 8 iOS-девелоперов хватило бы двух но толковых, но за 8 платят больше. Потому что даже так как-то, со скрипом, но проект заработает, а американское лобби продвинет его во все заправки штата Техас. И всем все равно.
Что я могу сказать? Универсального совета тут точно нет, нужно смотреть через призму своего опыта в каждом случае отдельно.
Лично я на первых не обращаю внимания — нужно просто холодно попросить список вещей, которые малыш видит как говнокод, с аргументацией почему он так считает и путями решения. 5% что-то сделают, 95% умерит свой пыл на первом же реальном кейсе. У малыша просто нет опыта, чтобы понять, почему люди писали так, а не так как написано в той классной статье — в той или иной степени все это проходили.
Во втором случае я не вижу причин не уйти, если там конечно не зарплата в 10к долларов чистыми и страховка в Принстон Плейсборо. И квартиры дают бесплатно. Тогда можно сидеть и терпеть. Но какой смысл бороться с ветряными мельницами? Пусть и правда сидят так дальше, раз всех все устраивает. Да, таких проектов даже большинство, ну и что, есть армия любителей таких проектов.
У меня есть знакомый, который на них специализируется. Устраивается на удаленку на не самую топовую зарплату на такой распил — там на 2.7к, там на 3.0. Работает там 2 часа, там 2 часа, единственная проблема — митинги иногда пересекаются. Но это всегда можно как-нибудь разрулить, тут уже хочешь жить умей вертеться. Как вам зарплатка в 5.7 чистыми в Брестской области в каком-то там сельсовете? И плевать он хотел на чистоту кода и архитектуру, лишь бы появиться на дэйли, каком-то еще митинге и сделать 2-3 коммита для потемнения ячейки в профиле гита.
Что-то меня понесло. В общем, я понял что для меня это не близко, надоело за джуниорами и просто не думающими людьми подчищать экскременты, и просто стал просить на собеседовании показывать код. Но в итоге просто нашел место, где нужно было потратить около месяца на доводку старого проекта, и новый стартовал с нуля — с плотной работой с графикой, звуком и всем что я люблю. И по-своему счастлив.
В общем, ищите свое и держите нос по ветру. Самое главное — понимать, чего на самом деле хочешь. Всех денег не заработаешь, а счастливы на работе единицы. Я иногда бываю счастлив. Это куда лучше чем у 90%.
И слава богу, так-то там даже кусочки Марса с окаменелыми, вроде как, бактериями нашли, если верить Владимиру Георгиевичу Сурдину. Было бы что ценное — все б уже было в вышках по его добыче.
Да про что я говорю, до недавнего времени скрыть/показать скрытые файлы в Finder можно было только через консоль, попутно Apple Script-ом прибив и перезапустив все инстансы файндера (что прямо невозможно сделать вручную, по крайней мере было)
В вашем примере есть еще один очень важный плюс консоли — не знаю про групповые политики Windows, т.к. очень далек от нее, но например консольные утилиты для *nix (Unix, Linus, между прочим OS X) будут одинаковые, и ответ на stackoverflow для linux обычно подходит и под мак. А вот UI у утилит 99% будет разный, и тут уже попробуй нагуглить эти галочки
Но для действий, которые делаешь раз в жизни проекта, или раз в месяц хотя бы — я не хочу рыться в мануалах и в интернете в поисках команд, хочу нормальный UI.
А надо всего лишь на примерах «а-ля юнит тесты» показать самые распространенные кейсы применения утилиты. Со ссылками на подробную документацию, если пример не покрывает твои нужды.
Я, когда пишу компоненты, которые предполагают переиспользование — зачастую больше времени трачу на демки, документацию и т.п., чем на сам компонент. Зато люди могут за 5 минут прикрутить его к своему коду, а не мучаться часами.
У меня с годами сложилось чувство, что серьезные юниксоиды и т.п. получают удовольствие от того, что кроме них самих их продуктами мало кто может пользоваться.
А потом, поработав пару месяцев, ты понимаешь, что эта команда просто по-другому не умеет. И даже получает определенное удовольствие от такого ХХП-образного стиля принятия решений. И не хочет включать мозг, всех все устраивает, а самый старший разработчик вообще ручным парсером JSON подрабатывает.
При этом все читают кое-какое.it, рассуждают исключительно сленгом оттуда (галеры, гребцы и т.п.). А что такое циклическая ссылка — зачем, у нас нет времени, видишь — срок заказчик поставил.
И также — я очень люблю все продукты Apple, но у них есть 2 отстойных продукта — xCode и Apple developer portal (который сейчас developer.apple.com и appstoreconnect.apple.com). Еще iTunes был тем еще Nero burning rom, но слава богу RIP, больше не надо.
Прошло 10 лет, ничего в целом не изменилось.
Помню, как году в 2013 мне ньюкамеры в iOS, особенно дизайнеры, религиозники от Apple, лили в уши — это же Apple, скоро допилят, это же Apple, это все временно. Я тогда усмехался — как же, допилят. Воз и ныне там, к сожалению…
P.S. Кстати, я пришел в iOS разработку в 2009 году, был еще xCode 3 :) IB еще был отдельным приложением, с 4-й версии году в 10-м они сделали его уже встроенным