3️⃣ Первое собеседование
Что учить перед собеседованием и как?
Универсального ответа нет, внимание по-разному уделяют:
• навыкам программирования в целом;
• конкретно вашим знаниям по iOS- разработке;
• софт-скиллам — коммуникация, умение мыслить и не теряться в критических ситуациях.
Но, всё-таки, стоит посмотреть общие темы в разрезе любого языка программирования:
‣ принципы программирования;
‣ паттерны, подходы;
‣ компьютерные сети, git.
И по основам iOS:
- управление памятью;
- жизненный цикл;
- хранение данных;
- основные структуры и как они работают;
- основные UI-компоненты и как они работают.
Не заучивайте точные формулировки из интернета, это не экзамен в университете. Гораздо важнее — понимаете ли вы их сами.
Что вас ждет на собеседовании?
Опять же — универсального ответа нет. Везде по-разному. Общий совет — не теряться и не думать, что вас съедят на собеседовании. Все когда-то там были.
Ещё совет: походите по собеседованиям в разные компании, старайтесь запомнить, что спрашивают. Если не знаете ответа — отметьте себе это и изучите вопрос позднее. Так, со временем, вы накопите базу знаний и опыт собеседований.
И не стесняйтесь говорить, что чего-то не знаете. Можете и предположить правильный ответ. Умение находить решение, мыслить, а не только знать — это тоже пункт, на который обращают внимание.
Что учить перед собеседованием и как?
Универсального ответа нет, внимание по-разному уделяют:
• навыкам программирования в целом;
• конкретно вашим знаниям по iOS- разработке;
• софт-скиллам — коммуникация, умение мыслить и не теряться в критических ситуациях.
Но, всё-таки, стоит посмотреть общие темы в разрезе любого языка программирования:
‣ принципы программирования;
‣ паттерны, подходы;
‣ компьютерные сети, git.
И по основам iOS:
- управление памятью;
- жизненный цикл;
- хранение данных;
- основные структуры и как они работают;
- основные UI-компоненты и как они работают.
Не заучивайте точные формулировки из интернета, это не экзамен в университете. Гораздо важнее — понимаете ли вы их сами.
Что вас ждет на собеседовании?
Опять же — универсального ответа нет. Везде по-разному. Общий совет — не теряться и не думать, что вас съедят на собеседовании. Все когда-то там были.
Ещё совет: походите по собеседованиям в разные компании, старайтесь запомнить, что спрашивают. Если не знаете ответа — отметьте себе это и изучите вопрос позднее. Так, со временем, вы накопите базу знаний и опыт собеседований.
И не стесняйтесь говорить, что чего-то не знаете. Можете и предположить правильный ответ. Умение находить решение, мыслить, а не только знать — это тоже пункт, на который обращают внимание.
👍4
4️⃣ Навыки командной работы
Что это за навыки?
Софт-скиллы, навыки командной работы — названий много, суть одна: они позволят успешно работать в команде.
На мой взгляд, самые важные для начинающего разработчика:
1) Ответственность.
2) Дисциплинированность.
3) Умение изучать новое и работать с информацией.
4) Умение задавать вопросы.
Насколько важны эти навыки для разработчика?
Разработчик — это не только человек, весь день пишущий код. Он ещё и способен:
• донести свое мнение до других;
• дать обратную связь по работе своему коллеге;
• принимать верные решения в критических ситуациях.
Такие скиллы не менее важны, чем технические навыки, потому что все мы работаем в команде.
Ваше развитие может пойти не по технической ветке, а в сторону управления людьми. Например, на позицию TeamLead. И вот тут ваши soft-skills сыграют решающую роль.
Что это за навыки?
Софт-скиллы, навыки командной работы — названий много, суть одна: они позволят успешно работать в команде.
На мой взгляд, самые важные для начинающего разработчика:
1) Ответственность.
2) Дисциплинированность.
3) Умение изучать новое и работать с информацией.
4) Умение задавать вопросы.
Насколько важны эти навыки для разработчика?
Разработчик — это не только человек, весь день пишущий код. Он ещё и способен:
• донести свое мнение до других;
• дать обратную связь по работе своему коллеге;
• принимать верные решения в критических ситуациях.
Такие скиллы не менее важны, чем технические навыки, потому что все мы работаем в команде.
Ваше развитие может пойти не по технической ветке, а в сторону управления людьми. Например, на позицию TeamLead. И вот тут ваши soft-skills сыграют решающую роль.
👍4
5️⃣ Чем занимается iOS-разработчик?
Чем занимаются iOS-разработчики помимо написания кода?
Разговаривают, много разговаривают — обсуждают решения, советуются по реализации тех или иных фичей, митинги, ретроспективы, различные синки по рабочим вопросам. Разговаривать и участвовать в переписках придется часто.
Проектируют, много проектируют — «семь раз отмерь, один раз отрежь» здесь показательно работает. Всегда лучше грамотно спроектировать решение, чтобы получить точную оценку его реализации и полную картину необходимых действий, чем править бесконечно появляющиеся баги.
Ограничен ли iOS-разработчик лишь платформой iOS?
Написание различных автоматизаций, а также тесное сотрудничество с backend-командой позволяют получить знания в смежных областях.
Есть шанс покодить не только на Swift, но и на Python, Groovy, познакомиться с KMM или Flutter. Можно получить знания в области работы сетевых протоколов, безопасности информационных систем, тестировании или дизайне.
Ограничением здесь служит только ваше свободное время, которое надо будет умело распределять между изучением профильных и смежных направлений.
Чем занимаются iOS-разработчики помимо написания кода?
Разговаривают, много разговаривают — обсуждают решения, советуются по реализации тех или иных фичей, митинги, ретроспективы, различные синки по рабочим вопросам. Разговаривать и участвовать в переписках придется часто.
Проектируют, много проектируют — «семь раз отмерь, один раз отрежь» здесь показательно работает. Всегда лучше грамотно спроектировать решение, чтобы получить точную оценку его реализации и полную картину необходимых действий, чем править бесконечно появляющиеся баги.
Ограничен ли iOS-разработчик лишь платформой iOS?
Написание различных автоматизаций, а также тесное сотрудничество с backend-командой позволяют получить знания в смежных областях.
Есть шанс покодить не только на Swift, но и на Python, Groovy, познакомиться с KMM или Flutter. Можно получить знания в области работы сетевых протоколов, безопасности информационных систем, тестировании или дизайне.
Ограничением здесь служит только ваше свободное время, которое надо будет умело распределять между изучением профильных и смежных направлений.
👍7
Как вам формат лонгридов? Делать ещё подобные посты?
Anonymous Poll
91%
Нравится, давайте ещё 👍
9%
Не удобно, давайте по-другому 👎
⚡1
Делимся с вами крутым Live Coding от нашего разработчика!
В нём Владислав обозревает новинки с WWDC 2022 и показывает, как Surf внедряют новые фишки. Раскладываем всё не по полочкам, а по строчкам 💪
Смотри видео на нашем YouTube-канале.
В нём Владислав обозревает новинки с WWDC 2022 и показывает, как Surf внедряют новые фишки. Раскладываем всё не по полочкам, а по строчкам 💪
Смотри видео на нашем YouTube-канале.
🔥7
Отобрали для вас инсайты из ежегодного исследования DevCrowd 📊
Что нужно знать о нём:
• Проводил Егор Толстой из JetBrains вместе с партнёрами.
• Опросили 900 iOS разработчиков.
• Информация полезная и «недушная».
Смотрите наши карточки, а за полным ресёрчем переходите по ссылке в заголовке.
Что нужно знать о нём:
• Проводил Егор Толстой из JetBrains вместе с партнёрами.
• Опросили 900 iOS разработчиков.
• Информация полезная и «недушная».
Смотрите наши карточки, а за полным ресёрчем переходите по ссылке в заголовке.
👍3🔥3
Как создать виртуальную карту лояльности для добавления в Wallet
В цифровом бумажнике хранятся банковские карты, карты лояльности, билеты и прочие полезные штуки для разных сфер жизни и бизнеса. Вполне вероятно, что в работе вам предстоит столкнуться с задачей сделать такую карту.
Меня зовут Александр Чаусов, я iOS TechLead. Давайте разберёмся, как создавать карту для Wallet.
1️⃣ Создаём файл .pkpass
Перед стартом рекомендуем открыть документацию.
• В консоли разработчика заводим identifier для pass: подробнее — в документации в секции Creating Pass Packages ➡️ Setting the Pass Type Identifier and Team ID.
• Создаём под него сертификат. Signing request к бюро сертификации по традиции делаем через keychain на своей машине, а потом делаем то, что написано в Creating Pass Packages ➡️ Signing and Compressing the Pass.
• Скачиваем сертификат, сохраняем его в keychain, запоминаем созданный identifier.
• Скачиваем example-материалы, выбираем понравившийся, открываем pass.json. Его нужно изменить: достаточно заменить passTypeIdentifier и teamIdentifier.
• В тех же материалах находим тулзу signpass. Из проекта signpass.xcodeproj, который скачали в файлах ранее, собираем executable-файл. Подробности — в секции Signing and Compressing the Pass.
• Запускаем из консоли ./signpass -p Lollipop.pass, где Lollipop.pass — название директории с вашими файлами для pass.
• На выходе должен получиться файл с расширением .pkpass.
⚠️ Для всех этих манипуляций нужен оплаченный аккаунт разработчика Apple.
Первый этап завершён: можно открыть этот файл и полюбоваться на него. А можно даже переслать по почте на девайс и полюбоваться там.
В следующих постах расскажем, как настроить контент и связать карту с приложением. До связи 😉
В цифровом бумажнике хранятся банковские карты, карты лояльности, билеты и прочие полезные штуки для разных сфер жизни и бизнеса. Вполне вероятно, что в работе вам предстоит столкнуться с задачей сделать такую карту.
Меня зовут Александр Чаусов, я iOS TechLead. Давайте разберёмся, как создавать карту для Wallet.
1️⃣ Создаём файл .pkpass
Перед стартом рекомендуем открыть документацию.
• В консоли разработчика заводим identifier для pass: подробнее — в документации в секции Creating Pass Packages ➡️ Setting the Pass Type Identifier and Team ID.
• Создаём под него сертификат. Signing request к бюро сертификации по традиции делаем через keychain на своей машине, а потом делаем то, что написано в Creating Pass Packages ➡️ Signing and Compressing the Pass.
• Скачиваем сертификат, сохраняем его в keychain, запоминаем созданный identifier.
• Скачиваем example-материалы, выбираем понравившийся, открываем pass.json. Его нужно изменить: достаточно заменить passTypeIdentifier и teamIdentifier.
• В тех же материалах находим тулзу signpass. Из проекта signpass.xcodeproj, который скачали в файлах ранее, собираем executable-файл. Подробности — в секции Signing and Compressing the Pass.
• Запускаем из консоли ./signpass -p Lollipop.pass, где Lollipop.pass — название директории с вашими файлами для pass.
• На выходе должен получиться файл с расширением .pkpass.
⚠️ Для всех этих манипуляций нужен оплаченный аккаунт разработчика Apple.
Первый этап завершён: можно открыть этот файл и полюбоваться на него. А можно даже переслать по почте на девайс и полюбоваться там.
В следующих постах расскажем, как настроить контент и связать карту с приложением. До связи 😉
🔥9👍1
Как создать виртуальную карту лояльности для добавления в Wallet. Часть 2: настройка контента
С вами Александр Чаусов, iOS TechLead. Продолжаем разбираться, как создать карту для Wallet.
В предыдущем посте обсудили, как создать файл .pkpass. Дальше всё будет крутиться вокруг него.
Директория .pass содержит файл pass.json: его нужно отредактировать, чтобы получить нужный контент на карте.
Важные ссылки:
🔹 Документация
🔹 Описание всех полей, которые могут быть использованы в pass.json
Обязательные поля
Которые должны быть определены в json-файле
• Краткое описание карты: отображается при добавлении и на задней стороне карты.
• Версия формата файла. Значение должно быть 1.
• Название организации, которая выдаёт карту.
• Identifier, который создавали на первом шаге.
• Серийный номер карты.
• TeamID команды-разработчика — с первого шага.
⚠️ Уникальность карты обеспечивается связкой полей
С вами Александр Чаусов, iOS TechLead. Продолжаем разбираться, как создать карту для Wallet.
В предыдущем посте обсудили, как создать файл .pkpass. Дальше всё будет крутиться вокруг него.
Директория .pass содержит файл pass.json: его нужно отредактировать, чтобы получить нужный контент на карте.
Важные ссылки:
🔹 Документация
🔹 Описание всех полей, которые могут быть использованы в pass.json
Обязательные поля
Которые должны быть определены в json-файле
• Краткое описание карты: отображается при добавлении и на задней стороне карты.
• Версия формата файла. Значение должно быть 1.
• Название организации, которая выдаёт карту.
• Identifier, который создавали на первом шаге.
• Серийный номер карты.
• TeamID команды-разработчика — с первого шага.
⚠️ Уникальность карты обеспечивается связкой полей
passTypeIdentifierи
serialNumber. Две карты с одинаковыми значениями считаются одинаковыми: если установить в кошелёк карту, у которой значения этих полей совпадают со значениями существующей, кошелёк заменит старую карту на новую.
🔥7
Элементы, из которых состоит pass 👆
На что обратить внимание в документации
• Подложите в папку <Название>.pass рядом с json-файлом:
‣ icon.png/[email protected] — иконка размером 29*29, отображается при добавлении карты в wallet и на lock-экране.
‣ logo.png/[email protected] — из документации «The allotted space is 160 x 50 points; in most cases it should be narrower», отображается в верхнем левом углу.
‣ strip.png/[email protected] — картинка-задник, которая отображается за primary-field. В sample-карте от Apple она размером 312*123.
• Обратите внимание на секцию документации про barcode: там указаны ограничения, допустимые поля, форматы отображения кода.
• Возможна локализация карты на несколько языков.
• Цвета кастомизируются.
• Очень интересная секция в документации «Relevance Information Displays Passes on the Lock Screen»: возможность показать карту на lock-экране, когда пользователь подошел к определённой локации или наступило определённое время.
⚠️ Суперважный элемент — поле
Итого
1️⃣ Редактируем файл pass.json, подглядывая в документацию и описание полей.
2️⃣ На выходе получаем json, по которому генерируем карту с дизайном, похожим на дизайн из макета.
3️⃣ Перекидываем карту по почте на свой девайс и проверяем, как она выглядит вживую.
В следующем посте расскажу, как связать карту с приложением.
На что обратить внимание в документации
• Подложите в папку <Название>.pass рядом с json-файлом:
‣ icon.png/[email protected] — иконка размером 29*29, отображается при добавлении карты в wallet и на lock-экране.
‣ logo.png/[email protected] — из документации «The allotted space is 160 x 50 points; in most cases it should be narrower», отображается в верхнем левом углу.
‣ strip.png/[email protected] — картинка-задник, которая отображается за primary-field. В sample-карте от Apple она размером 312*123.
• Обратите внимание на секцию документации про barcode: там указаны ограничения, допустимые поля, форматы отображения кода.
• Возможна локализация карты на несколько языков.
• Цвета кастомизируются.
• Очень интересная секция в документации «Relevance Information Displays Passes on the Lock Screen»: возможность показать карту на lock-экране, когда пользователь подошел к определённой локации или наступило определённое время.
⚠️ Суперважный элемент — поле
storeCard.backFields. На задней стороне обязательно должна быть инфа о том, кто выпустил карту лояльности и как до него достучаться. Это требование Apple: будут проверять на ревью (пункт 1.5).
Итого
1️⃣ Редактируем файл pass.json, подглядывая в документацию и описание полей.
2️⃣ На выходе получаем json, по которому генерируем карту с дизайном, похожим на дизайн из макета.
3️⃣ Перекидываем карту по почте на свой девайс и проверяем, как она выглядит вживую.
В следующем посте расскажу, как связать карту с приложением.
👏7
Первый эфир в канале: как РМ стал iOS-разработчиком в Surf 🤯
В четверг поговорим с Антоном, участником Летней Школы, о начале пути в iOS. Он поделится опытом с курсами, бэкграундом и pet-проектами.
Ещё Антон покажет структуру и преимущества стажировки в Surf — подробно, прозрачно, с примерами.
Формат эфира будет полезен как новичкам, так и тем, кто уже делает шаги в iOS-разработке. Со всем поможем — приходи 😌
Когда и куда?
🗓 24 ноября
⏰ 17:00
📍 Telegram-канал Surf iOS Team
В четверг поговорим с Антоном, участником Летней Школы, о начале пути в iOS. Он поделится опытом с курсами, бэкграундом и pet-проектами.
Ещё Антон покажет структуру и преимущества стажировки в Surf — подробно, прозрачно, с примерами.
Формат эфира будет полезен как новичкам, так и тем, кто уже делает шаги в iOS-разработке. Со всем поможем — приходи 😌
Когда и куда?
🗓 24 ноября
⏰ 17:00
📍 Telegram-канал Surf iOS Team
👍14
Сёрф iOS-разработка
Первый эфир в канале: как РМ стал iOS-разработчиком в Surf 🤯 В четверг поговорим с Антоном, участником Летней Школы, о начале пути в iOS. Он поделится опытом с курсами, бэкграундом и pet-проектами. Ещё Антон покажет структуру и преимущества стажировки в…
📍Встречаемся здесь через 3 часа и обсуждаем путь в iOS-разработку вместе с Антоном.
Ждём вас, будет интересно! Вопросы оставляйте в комментариях 😉
Ждём вас, будет интересно! Вопросы оставляйте в комментариях 😉
👍7
Начинаем эфир! Вопросы оставляйте в комментах под этим постом и в чате 😌
👍1
Media is too big
VIEW IN TELEGRAM
Делимся записью эфира для тех, кто не смог прийти ☺️
И прикрепляем полезные материалы от Антона. Презентация отдельным файлом в комментариях.
Если остались вопросы, задавайте в чате, ответим.
У нас к вам всего два вопроса👇
И прикрепляем полезные материалы от Антона. Презентация отдельным файлом в комментариях.
Если остались вопросы, задавайте в чате, ответим.
У нас к вам всего два вопроса👇
👍5
👍1