• Как я переехал в Израиль после блокировки Telegram


      Все помнят бурление, когда вышло постановление о блокировке Telegram? Как много было вопящих и брызгающих слюной комментов о том, что поросенок Петр всегда был прав и вообще пора собирать чемодан и искать работу за рубежом?


      Так вот, кто-то поныл и успокоился, а я подумал: 'Действительно, почему бы и нет?'. Короче, Петя, заводи трактор, мы выезжаем!


      Это история о том, как я бросил всё и переехал жить и работать в Израиль. Расскажу, как у меня это получилось, какие есть отличия от отечества, сколько платят и часто ли стреляют.


      Ах да, Хабр и в Израиле читают.

      Читать дальше →
    • Айфончик, не лагай. Часть 1: многопоточность для практиков


        Меня зовут Максим, и я алкоголик занимаюсь iOS разработкой уже более 7 лет.

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

        Среди кандидатов попадаются кадры, которые курят кальян прямо на Skype собеседовании, пытаются гуглить вопросы на ходу, хотят ЗП 180к за 3 месяца опыта, ведут себя так, как будто гоп-стопнули меня на улице (с соответствующей терминологией) и так далее.

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

        В этой статье я решил простыми словами рассказать про применение многопоточности в iOS, чтобы уже после первого прочтения можно было легко и с полным пониманием использовать полученные знания на практике.

        (Если лень читать, то прилагается видео)
        Читать дальше →
      • Дискредитация специалистов или современные собеседования


          Представьте, что вы — IT компания. Может большая или нет, но так получилось, что вам потребовался стажер. Ведь пора, наконец, растить новое поколение в духе вашей идеологии.

          Но вот незадача — стажеры такие животные, которые не обладают навыками. И ранее ничего полезного они не делали. Как же не ошибиться в выборе? Что ж, это довольно просто. Если нельзя оценить по результату, то следует искать предпосылки к достижению этого результата…

          Статья о серьезной проблеме рекрутинга, которую все почему-то считают нормой.
          Читать дальше →
        • Как НЕ накрутить рейтинг на Хабре


            В продолжение статьи. Сказ о том, как Хабр залатал еще один способ для накрутки рейтинга быстрее, чем я успел похайпиться на этом.


            Продолжаем исследовать сайтовый API Habrahabr и случайно находим изменения в механике начисления рейтинга.


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


            Читать дальше →
          • Как накрутить рейтинг на Хабре и уйти незамеченным


              Как-то пятничным вечером я сидел за домашним компом с чашкой черного чая, писал статью и думал о жизни. Работа спорилась, но голова начинала к тому времени заметно притормаживать. И вот когда за окном стало уже совсем темно, я решил отправить статью отдыхать до завтрашнего дня, да и самому пойти спать. Но вместо того, чтобы сохранить все в черновик, как полагается, сонный мозг на автопилоте её зачем-то опубликовал...

              Читать дальше →
            • Как мы суслика яблоками кормили или эффективный backend на Go для iOS


                Как и обещал, рассказываю о том, как мы мигрировали свой бэкенд на Go и смогли уменьшить объем бизнес логики на клиенте более, чем на треть.


                Для кого: небольшим компаниям, Go и мобильным разработчикам, а также всем, кто в тренде или просто интересуется данной тематикой.
                О чем: причины перехода на Go, с какими сложностями столкнулись, а также инструкции и советы по улучшению архитектуры мобильного приложения и его бэкенда.
                Уровень: junior и middle.


                Читать дальше →
              • Как написать максимально хреновый бэкенд для мобильного приложения


                  Известно, что практически ни одно мобильное приложение не обходится без бэкенда.


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


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


                  Приятного чтения.

                  Читать дальше →
                • Обучение без учителя. Как стать профессионалом, не имея наставника

                    image


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


                    В этой статье я поделюсь правилами, которые помогают мне постоянно развиваться как специалист, поддерживать себя в конкурентноспособной форме, и расскажу историю подъема от pre-junior до senior.


                    БОНУС: подборка забавных и удручающих случаев с собеседований.

                    Читать дальше →
                  • Какие вопросы задавать на собеседовании

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

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

                      Чтобы в итоге собеседование не выглядело для соискателя как:


                      Статья в первую очередь будет полезна всем, кто ищет работу в среде iOS разработки или хоть как-то связан с набором IT специалистов: проводит технические собеседования или любые другие.

                      И добро пожаловать под кат.
                      Читать дальше →
                    • Как не тратить время на непрерывную интеграцию

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

                        image
                        Ранее я писал, что наша команда занимается разработкой iOS и Android приложений под ключ, включая бекенд и фронтенд. Из этого вытекает острая потребность в наличии масштабируемого процесса дистрибьюции и устоявшихся стандартов по ведению проектов.

                        Но одно дело, когда у тебя единственный продукт, где можно сделать кое-как, а другое — если каждый месяц появляется новый, с особыми требованиями, большой командой, для которого надо быстро получить CI/CD.

                        Вы, наверное, подумали, что сейчас будет инструкция по настройке этой самой интеграции, где я поделюсь best practices, скриптами, рекомендациями по инфраструктуре и прочими лайфхаками.

                        Я тоже так думал.
                        Читать дальше →
                      • Почему Hackintosh уже актуален. Развенчание мифов

                          Каждому iOS разработчику нужен свой уголок с печеньками, плюшевой уточкой и шайтан-машиной на OSX.


                          В свете перехода на Swift, мощность железа стала особенно востребована. Чтобы комфортно разрабатывать под айфоны, нужен как минимум процессор с частотой 3+ ghz, SSD на 120-250Gb и оперативы гигов 16. Все это как раз для того, чтобы не было желания посмотреть футбол, пока запускается проект или открывается interface builder.


                          А знаете, что еще было всегда актуально? Сумасшедшие цены на яблочные устройства:


                          image


                          PC с таким же, плюс-минус, железом можно запросто собрать всего за 30.000 рублей! (инфа на ноябрь 2016). Многие, конечно, думают, что раз компания покупает железо, то значит финансы бесконечные, можно не стесняться в средствах. Если вы работаете в Google, то вам повезло и жизнь хороша. Но в остальных случаях это не так.


                          Что же делать? Не разрабатывать же под Android в конце концов?


                          Под катом мы узнаем о современном Hackintosh, его роли в разработке, способам безболезненной установки и настройки, услышим мнение людей, работающих на нем не первый год, и проведем тест на iOS инструментах.


                          Читать дальше →
                        • Разгоняем сборку Swift проекта в Xcode

                          • Tutorial

                          image
                          Статья о том как починить инкрементальную компиляцию в Xcode для Swift проектов и ускорить build phases для Cocoapods и Carthage, ничего не поломав.


                          Небольшой спойлер: на трех разных проектах получилось сократить время инкрементальной сборки в 9 раз!


                          Туториал несет сугубо практический характер с минимумом воды. Обязательно к прочтению для действующих iOS разработчиков.


                          Читать дальше →
                        • Тюнинг Swift компилятора. Часть 2

                            image


                            Продолжение исследования способов ускорить компиляцию Swift. Издевательство над семантическим анализатором и неожиданные настройки проекта.


                            Ссылка на первую часть для тех, кто пропустил.


                            Читать дальше →
                            • +17
                            • 10,1k
                            • 4