Как стать автором
Обновить
12
0
Николай Лихогруд @likhogrud

Разработка приложений для iOS

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

Сюда же можно отнести и течку каждов. Каждый новый кадр стремиться вставить своё решение, свою любимую библиотеку в проект, от чего деплой проекта (поддержка, развёртываемость, сложность) становиться все больше и толще. Это тоже влияет на всё возрастающую сложность.

Конечно, согласен, т.к. сам за все это отвечаю.

«С опытными работниками и тупой менеджер проект построит. Хороший же менеджер построит проект и с тупыми работниками».

Под неопытным разработчиком я понимаю не тупого :) Просто некоторые знания, связанные с работой в большом проекте, появляются только с опытом. К ним относятся проблемы и из вашего сообщения. Грубо говоря, опытному разработчику не нужно объяснять важность кодревью или необходимость использования общих компонентов, нравятся они тебе или нет.

И вот людей с опытом работы в большом проекте с выстроенными процессами реально не хватает и они ценятся.
В трудовой у меня был AnyVoid, так что вы неправильно поняли.

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

И даже больше. Чтобы действительно снизилась зп, нужно чтобы во всем мире был переизбыток кадров. Снизите только в России — народ просто заведет тракторы и придется обратно повышать.
По-вашему я в 9-м классе пришел в компьютерную секцию ради денег?
Я про квадратные.

Some *some = [[Some alloc] initWith: other];
Third *third = [[[some foo] bar] map:^{...}];


Вместо
let some = Some(with: other)
let third = some.foo().bar().map {...}
а угробленные тысячи человекочасов для миграций между версиями 1.1-1.2-2.0-2.2-3.0 это наверное не авантюра?

Да, была одна жесткая миграция, когда один человек из команды сидел 2 недели правил ошибки за мигратором, но в остальные разы мигратор отработал намного лучше. Проект тогда был 250к строк, ушло считайте сотня часов, никак не тысячи. Откуда такие цифры?
Было бы странно, чтобы не нашлось контрпримеров моим словам, в жизни ведь всякое бывает. Но джуну могу посочувствовать — какова вероятность, что через N лет, когда он будет менять работу, ему не придется переучиваться на Swift или жестко ограничиваться в выборе проектами на objc?
>Да вроде давно уже работают
В картах не всё показывает часто, не осиливает :( На проектах поменьше работает ок, это да.
Да какая же это авантюра? Отличный язык. Да, тулинг подводит, но становится лучше с каждым годом. И я лучше подожду лишнюю минуту компиляцию, зато с generic-ами, enum-ами с ассоциированными значениями, строгой типизацией и БЕЗ ТОЧЕК С ЗАПЯТЫМИ И СКОБОЧЕК!!!
2-3 года не новички, и таких мы вполне нормально нанимаем. Новичков я упомянул для дополнения картины — что люди, приходящие в iOS, сейчас не учат Objc.
Пожалуйста, давайте дополним картину, напишите свою боль.
Я сказал первое что пришло в голову при вопросе «что хотелось бы исправить?». Xcode объективно уступает другим IDE, особенно при работе со Swift. Я же еще забыл упомянуть про отсутствие нормального авторефакторинга и callers/callees/subclasses/superclasses/protocols и т.д., потому что уже и забыл что это такое.
С вашей точки зрения это хлам, с моей — мои мысли, которые я структурировал абсолютно так, как мне удобно.
Да, мы начали писать на Swift в первую очередь потому что это современный мощный язык, и потому что устали уже от неограниченной рефлексии, нестрогой типизации, бесконечных квадратных скобочек, указателей и прочих особенностей Obj-C. Хотелось чего-то нового.

К тому мы начинали на Swift 1.1 и еще не было известно про некоторые проблемы, которые вскрылись только когда мы перешли рубеж 100к строк. Отступать было поздно.

И еще могу сказать как человек, активно вовлеченный в процесс найма, что найти людей с опытом 2-3 года, а тем более новичков, которые хотели бы посвятить будущее Objective-C очень непросто. Не модный он уже. И то, что мы в свое время написали карты на Swift сейчас реально помогает в найме.

Компилятор, компилирующий swift, называется «swift», я писал об этом в habr.com/company/yandex/blog/335768

Не думаю, что интервью стало бы интереснее от этой подробности.
В переходе на модульность. Поясню использование здесь термина «проинвестировать»

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

В данном случае мы инвестировали наше время в разбитие на модульность — и получили возможность быстро поднимать небольшие тестовые приложения для отдельных модулей и легко обмениваться кодом между тестовыми приложениями и основным. Тестовые приложение компилируются быстро, тем самым нивелировали проблемы долгой компиляции и тормозов Swift.
Текст 100% записан интервьюером с моих слов, со всеми ляпами :)

что программа 9 (10?) класса на кого-то произвела впечатление
Впечатление произвело, но 9-10 класс рановат для Гончарова, Некрасова, Достоевского и т.д., в зрелом возрасте совсем по-другому воспринимаются, надо бы перечитать.
Стол мой, бумажки мои, квадрокоптер коллеги, креатин мой, про него на интревью подзабыл.
По-настоящему breaking changes были при переходе с Swift 2* на Swift 3*, до сих пор не все перешли. С 3->4 полегче должно быть.
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность