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

    image


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


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


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


    Предыстория


    Программированием я увлекся на младших курсах университета. Базовая программа, как и везде, была, мягко говоря, слабовата, а душа хотела боли и настоящего хардкора. Но все, что мне могли предложить ВУЗовские преподаватели в качестве факультативного обучения, упиралось в написание сомнительного вида утилит на сишнике с примесями ассем-АПЧХИ!!! (прощу прощения, аллергия на низкоуровневые языки).


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


    Как вы могли догадаться, разработку под iOS, а именно в эту сторону меня понесло, в университете никто не практиковал. Тогдашний приятель со старших курсов предложил замутить свой стартап, где я буду в роли iOS разработчика за баснословные 5к рублей в месяц (2010-й, Москва), налив мне красивых сказок про невероятную перспективу, чудесную жизнь в кремниевой долине, где нас давно уже ждут, надо только состряпать прототип, показать его инвесторам и миллионы инвестиций у нас в кармане.


    Разумеется, я согласился на это чумовое предложение. Стоял только один вопрос: как научиться? Никаких онлайн обучающих курсов тогда в помине не было, и всю информацию приходилось добывать сугубо самостоятельно. А потом возник и более серьезный повод задуматься: как сделать правильно? Тем более, что проект регулярно менял направление(какая неожиданность) и его пришлось дважды переписывать с нуля уже за первые полгода.


    Первые шаги


    Мне повезло сразу получить проект, на котором можно учиться. Даже больше, у меня был напарник в Android направлении, с которым мы постоянно конкурировали, соревновались, кто быстрее, лучше, сильнее сделает тот или иной функционал. Делились опытом, способом реализации фич и выясняли отличия между нашими платформами.


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


    Моя рекомендация для начинающих — это найти туториал для своей платформы, где результатом обучения будет осмысленное приложение. Не просто набор раздельных уроков по инструментам, а с фактическим результатом. Например, по iOS есть потрясающий канал на ютуб, где парень пошагово разрабатывает реальные приложения. В результате у вас, кроме опыта, будет еще готовое приложение в Open Source, которое вы сможете выгрузить на github и показать будущему работодателю или заказчику в качестве образца ваших способностей, что значительно повышает шанс трудоустройства.


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


    Для iOS собратьев есть еще один канал, но уже на русском, где можно найти помощь по той или иной вещи. Крайне рекомендую.


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


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


    Поиск информации


    Во-первых, для любого языка и платформы есть так называемые 'awesome' списки. Это подборка полезных материалов, библиотек и прочих ништяков специально для разработчиков.


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


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


    Еще одно место для поиска информации, уже не такое живое и динамичное (или наоборот, как посмотреть), — это тематические мероприятия и выступления. Даже не важно особо, какие доклады заявлены, там может быть совершеннейшая муть, но главное — это пришедшие туда люди.
    Поищите в перерыве ребят из флагманских компаний, расспросите об их стеке технологий и расскажите о своем, поделитесь архитектурой. А потом смело можете наслаждаться потоком критики в вашу сторону.


    Может быть, вас даже запомнят, что вообще замечательно.


    Проверка навыков


    Любое образование требует проверки качества. В университете есть конкретный учебный план, контрольные и экзамены, после которых сразу станут видны ваши проблемы в знаниях и информация о том, что надо подтянуть. Но в реальной жизни ничего такого нет. Еще повезет, если найдете сертификационнные курсы под вашу платформу, как, например, для Android, вот только для iOS ничего подобного нет. Да и то, этот сертификат покрывает лишь малую долю реальных технологий, которые требуются каждый день.


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


    Можно пойти еще дальше — делать аудиозапись собеседований. При этом не нужно из-под стола как Джеймс Бонд пытаться включить микрофон, просто спросите прямо разрешения. В ответ на поднятые вверх брови интервьюера, скажите честно: "Хочу поработать над ошибками, обещаю никуда не выкладывать". Это имеет дополнительный сверхэффект: человек начинает крайне основательно фильтровать весь базар. Прошу прощения за дворовую лексику, но иначе напыщенный лексикон некоторых личностей просто не назовешь.


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


    Еще стоит заранее продумать причину отказа. Желательно, чтобы это было связано с чем-то личным, чем интересоваться неудобно. Не надо топорно отвечать: 'Решил остаться на текущей работе'. Любой работодатель, заинтересованный в вашей кандидатуре, начнет вас раскручивать о причинах, уламывать на свою сторону, что в итоге закончится испорченным впечатлением.


    Просто скажите: 'Появились неприятные личные обстоятельства, из-за них вынужден отказаться. Не хочу раскрывать детали, но если в будущем вакансия будет актуальна, то обязательно с вами свяжусь. Спасибо, что уделили мне время.'


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


    Продвинутые стратегии


    Однажды наступает такой момент, когда самообразование, чтение статей и посещение специализированных мероприятий уже не приносит удовольствия результата. Такое наступает, когда вы находитесь на верхней границе middle или уже являетесь senior-ом. Это этап, когда большинство технологий уже изучены, все исследовательские статьи копируют друг друга, и по-крупному остаются только архитектурные вопросы. Потому все так любят мусолить Viper, например. Реально интересных вещей не остается.


    Что же делать? Как дальше поднять свой скилл?


    На самом деле неизвестных фич еще много, но их зачастую не публикуют. Их авторы ленивы и требуют стимуляции извне.


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


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


    image
    А вам это и нужно, теперь только успевайте запоминать. И не стесняйтесь писать в личку за уточнением, если чье-то мнение показалось вам интересным, даже если он грубо и отрицательно высказывался о вашей работе. Шанса поумничать никто не упустит. Даже если его заминусовали. Это не значит, что он спорол чушь. С большой вероятностью его не поняли, не все умеют четко выражать свои мысли.


    Не беспокойтесь, если вас неправильно поняли и минусуют просто так, как вам кажется. Это неизбежно, не надо это принимать близко к сердцу. Со временем, вы станете формулировать мысли четче и яснее, положительной обратной связи будет больше. Все это в итоге оставляет положительный отпечаток на так называемых communication skills.


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


    P.S. Кроме обратной связи вы еще сами разберетесь с материалом, который решили опубликовать. Когда что-то рассказываешь, то начинаешь сам глубже понимать тему. Как говорится, нет лучше способа что-то понять, чем объяснить другому.


    БОНУС


    Как и обещал, подборка случаев с собеседований:


    • Приходишь в компанию, недолго думая, тебя сажают за компьютер и, комментируя каждый твой шаг, просят сделать тестовое задание. Втроем сидят и покачиваются на стульчиках практически впритык к твоему рабочему месту, мотивируя это тем, 'чтобы не гуглил'. И по ходу задавая вопросы на отвлеченные темы. Как хорошо, что я там не работаю.
    • Просили написать код к небольшому тестовому заданию… на листочке.
    • Трижды просили пройти техническое собеседование, регулярно теряя результаты предыдущего. Каждый раз его проводил новый разработчик, сетуя на раздолбайство и систему.
    • Просили перечислить паттерны. Утверждали, что GCD — это паттерн. No comments. Пояснение для не iOS девелоперов: это как говорить, что треды в Java — это паттерн.
    • Назначают собеседование с руководством в качестве завершающего и… не приходят. Полчаса пообщался с потенциальными коллегами о жизни.
    • Из кода одного проекта, с которым мог бы работать. С разрешения автора.
      image
    • Дали сделать тестовое задание. Выложился на 120%, но его даже не открыли. И случай, к сожалению, не единичный.

    Некоторые моменты приведены из практики моих знакомых. Большое вам спасибо, что поделились опытом.


    Заключение


    Я постарался максимально раскрыть способы самообразования от начинающего уровня до senior. Надеюсь, было полезно.


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


    Напоследок хочу попросить вас рассказать о своих способах саморазвития. Поделитесь вашими фишками. И спасибо всем, кто решит меня покритиковать.

    Support the author
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 35

      +1
      Можно пойти на фриланс, предложив себя в качестве раба, но есть огромный риск нарваться на головняк

      WAAAT????
      Что еще за рабство на фрилансе?
      Какой головняк можно получить?
        +4
        Например, когда заказчик сам не знает чего хочет. Процесс затягивается на непредсказуемое время, требования пляшут, и вот прошло уже 3 года, а вас до сих пор дергают и что-то требуют.

        Если вы опытный специалист, то можете отсеять сразу сомнительные проекты. Но не когда вы вчерашний джуниор.
          0
          А вчерашнему юниору противопоказано в свободное плавание идти. Это как выходить в море без подготовки, сперва добейся юнгой -> матросом на барже побегай.
          Что юниор может предложить заказчику?

          В некоторой стране после высшего учебного заведения была производственная практика, где инженеры на_бумаге становились инженерами на_деле. Но полимеры просраны, рыночная экономика, выбираем что лучше, автомобиль или дорога.
            +1
            Немногие курсы, которые выдают диплом о том, что ты теперь iOS разработчик, на самом деле выпускают абы кого. А эти абы кто считают, что они теперь эксперты. И не дай бог, чтобы они шли в свободное плавание. Так и умирает репутация фриланса и аутсорса.
              +1
              > Что юниор может предложить заказчику?

              Нужный заказчику результат (внезапно). На фрилансе часто не космические корабли запускают.

              Сведение проектов и подходящий разработчиков — задача биржи. Рейтинги там всякие придумывать.
              +1
              Например, когда заказчик сам не знает чего хочет. Процесс затягивается на непредсказуемое время,

              ТЗ и почасовая превращает весь геморрой в прибыль.

              прошло уже 3 года, а вас до сих пор дергают и что-то требуют.

              На словах или в контракте указываешь, что поддержка в течении 2х недель бесплатно, затем почасовая.
            +1
            Ясно. Те, кто не рюхают плюсы и изходятся поносом от регистров памяти, идут в iOS програмистэ.

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

            Например:
            — взяли/не взяли не работу == вступительный экзамен;
            — дали прибавку/премию за успешно выполненный проект == зимняя сессия
            — стал ИТ директором == получил диплом
            — … следующая итерация
              +2
              очень сомнительно. берут/не берут зачастую совсем не смотря на профессиональные качества, а насколько смог уболтать или насколько хорошее настроение было у рекрутера.
              Премия и успешность выполнения проекта тоже вещи перпендикулярные качеству и способностям.
              стал ИТ директором — вообще закончил одну карьеру и начал другую, управленческую, это скорее провал в способностях — ибо хорошего специалиста никогда не сделают директором, кто же тогда работать будет?
              Исключения бывают, но они редки…
                +1
                Можно уйти на позицию в другое место, не обязательно расти по вертикали существующей.
                  0
                  — приняли/не приняли — можно и по блату устроится
                  — сдал/не сдал проект — можно и нахлебником(1 работает 10 зарплату получают)
                  — Про ИТ директора… крайне сомнительно, что профан с прокачанными soft-skills справится с командой технических спецов, максимум бумажки подписывать и расходники для принтера заказывать.
                  Такие случаи не рассматриваем :))
                0
                Те, кто не рюхают плюсы и изходятся поносом от регистров памяти, идут в iOS програмистэ.

                Распечатаю и повешу в офисе.

                P.S. Не под тем комментарием =\
                  0
                  Обучение без учителя. Как стать профессионалом, не имея наставника

                  Хорошая книга, частично заменяет наставника.
                  Да и зачем усложнять себе жизнь, обучаясь без наставника?

                  Просто найдите наставника!!!
                    0
                    Обучение без наставника — это не только от его отсутствия, но еще для самостоятельного развития в принципе.
                      0
                      Я тоже занимаюсь самообучнием, если так можно сказать: спрашиваю раз в полгода у знакомого сеньор разработчика о новых тенденциях, какие книги читать, как строить правильное приложение и так далее
                      А потом всё это в подробностях нахожу в интернете и изучаю
                      Но всё равно уверен, что будь я в команде с таким сеньором, возможности развития повысятся в разы, правда надо это всё(знания, скилл) уметь брать от старших и применять. Не лениться, как я это люблю делать
                        0
                        срочно разыскивается наставник по iOS/Swift ))
                        0
                        А где вы его найдете в общем случае? И как узнаете, что он хороший?

                        Ну вот давайте простой пример — есть у вас в проекте редкая или новая технология. В радиусе километров 100 вокруг нет никого, кто бы что-нибудь вообще знал о ней. Или они очень заняты работой на другие компании. И?

                        Сам, только сам. Для уровня синьора и выше это вообще типичная картина.
                          0
                          Как вы себе это представляете? В местной газете объявление дать? Если среди коллег нет никого, кто мог бы не то, что стать наставником, но даже разово подсказать что-то — приходится крутиться самостоятельно.
                          Есть вариант — найти на тематических форумах спецов, к которым можно обращаться в случае чего, но они могут и послать, если уровень вопросов и их частота выходят за рамки приемлемого.
                        • UFO just landed and posted this here
                            0

                            Полагаю, то, что он наследуется от Cell, внезапно.

                              0
                              Класс View?
                              0
                              Однажды наступает такой момент, когда самообразование, чтение статей и посещение специализированных мероприятий уже не приносит удовольствия результата. Такое наступает, когда вы находитесь на верхней границе middle или уже являетесь senior-ом.

                              Я бы сказал — тогда вы находитесь на нижней границе middle. Не выше
                              Не в обиду Вас будет сказано, но это так :) Я сам прошел путь ~70% повторяющий Ваш. И тоже у Алексея учился :D
                                0
                                Стартап оправдал себя в итоге? Вы в долине?
                                  0
                                  С треском провалился.
                                  +1
                                  Кхм, вот я прямо сейчас pre-junior без наставника (очень надеюсь, что временно).
                                  И мне эта статья если честно кажется высосанной из пальца.
                                  Нет, возможно я пока чего-то не понимаю, но основная проблема сейчас не в недостатке информации. Я бы даже сказал, что порой приходится сталкиваться с избытком информации, и проблемой становится уже ее фильтрование. Вот как раз тут то и нужен наставник, чтобы упорядочить весь этот поток, и как минимум расставить приоритеты на изучение.
                                  Другой проблемой для меня представляется отсутствие информации/курсов по workflow. Точнее даже не так, она есть, но ее приходится выуживать по крупицам, вместо того, чтобы оттачивать какой-то навык. И даже если ты посидел, подумал, и решил: «хм, надо написать тестовое приложение, и желательно что-то большее чем todo-лист», то для начала нужно понять, а что это собственно будет за приложение. И вот, ты перевоплощаешься в клиент-менеджера и начинаешь сам у себя собирать требования, потом каким-то образом (магия, не иначе), ты влезаешь в шкуру senior'а и проектируешь приложение, как минимум, чтобы вышел прототип, который бы потом не поплыл, дальше ты чуть-чуть пишешь код (не очень важно по классике или через agile), потом передаешь это самому себе в роли teamlead'а на review, и пытаешься понять: «а точно ты правильно разграничил ответственность классов», «а нельзя ли снизить осведомленность классов друг о друге», ах да, забыл, нужно еще проверить, насколько качественно ты выступил в роли QA перед написанием кода и хорошо ли твой код покрыт тестами.
                                  То есть, я почти уверен, что такой путь имеет место быть, но мне кажется, что обычно junior'у половину из этого просто не доверят по финансовым соображениям, да и времени такое развитие займет очень много. Основной задачей для junior'а мне представляется написание максимально читаемого и в общем случае предельно тривиального кода, чтобы сам процесс написания таких вещей максимально быстро стал автоматизмом. Как только это произойдет, фокус внимания можно будет сместить на более «сложные» области. В этом случае человек будет воспринимать информацию, концепции и модели без того, чтобы буксовать на написании кода, по полчаса проводя в отладчике.
                                  Опять таки, со скидкой на отсутствие у меня опыта, мне кажется, что для junior'а важнее научиться писать хороший код (желательно под уже существующую экосистему). Когда ты пытаешься учиться без наставника, вот честно, в общем объеме потраченного на это времени, написание кода занимает микроскопическую роль. Именно наставник занимается тем, что помогает адаптироваться к той или иной экосистеме. Порой не менее важно услышать что-то вроде: «забей, вот либа, которая решает эту проблему, а тут можно поставить костыль», чтобы не возиться неделю с тем, что либо сделано до тебя, либо никому не важное в принципе.
                                  То есть, лично мне наставник нужен. Очень.
                                  Ну а советы senior'ам… Больше похожи на советы средненьким мидлам, вы уж простите. Что-то мне подсказывает, что дядьки, способные рулить сложными проектами как-нибудь да найдут способ повысить свою квалификацию.
                                    +1
                                    Основной задачей для junior'а мне представляется написание максимально читаемого и в общем случае предельно тривиального кода, чтобы сам процесс написания таких вещей максимально быстро стал автоматизмом.


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

                                    Как бы выразится правильнее — чем больше процесс обучение flexible — тем лучше. Совет автора – ходить по собеседованиям – действительно очень хорош, но и писать приложения для себя, тоже доставляет.

                                    Попробуйте написать itunes клиент, twitter клиент, агрегатор twitter + vk + facebook + habrahabr постов. При этом нужно учитывать, что результат виден всем, а внутренности — только разработчикам. Цель должна быть достигнута, пусть и с отсутствием опыта, не лучшей архитектурой и не совсем чистым кодом. Все приходит, нужно просто ставить задачи все сложнее, и стараться делать их
                                      0
                                      судя по вашим изречениям — вы явно не совсем новичек в области информационных технологий, уж не нужно скромничать :)
                                      0
                                      Толковая статья, автору лайк. Так держать
                                        0
                                        По замечанию насчёт фриланса — согласен с Максимом. Я иногда подрабатываю на фрилансе, так, по мелочам. Заказчики бывают разные, к примеру, на данный момент взял заказ, но, прежде — заказчик мне две недели мозг выносил вопросами, в итоге, заказчик получил бесплатную консультацию по своему проекту. Вот такие вот, бывают хитрые заказчики на фрилансе.
                                          0
                                          Небольшая ремарка: перед тем (можно и в процессе), как вкатываться вообще куда-либо нужно получить хорошее фундаметальное образование в этой сфере. Вопреки всеобщему мнению в россии есть вполне неплохие вузы. Даже тот же СПбГУ даёт вполне приемлемые знания в моделировании, прикладной математике и системном программировании (если их брать, конечно). А заниматься серьёзными вещами после 10 классов, могут разве что гении, и то не в любой сфере.
                                            0
                                            1. У меня нет образование программиста, я ПТУ-шник дизайнер
                                            2. Я не тратил свои годы на это, я учил все это в инете
                                            3. Достиг неплохих высот, ну под категорию «заниматься серьезными вещами» я попадаю
                                            4. Я не гений, инфа 100%

                                            В наш век нужно только стремление, информации полно
                                              0
                                              В наш век нужно только стремление, информации полно

                                              В наш век проблема не в том, что «информации полно», а в том, что её слишком много, она не структурирована и далеко не всегда верифицирована.
                                              При обучении в ВУЗе или с наставником информация подаётся в уже очищенном от мусора виде (иногда даже слишком), а когда учишся самостоятельно — приходится отделять зёрна от плевел постоянно натыкаясь на давно обойдённые сообществом грабли.
                                                0
                                                Серьёзные вещи это, к примеру, моделирование чёрных дыр, фолдинг белка или проектирование космического телескопа. Ну или более приземлённый пример: программа для вычислений 'Maple'. Можно ещё более прземлённо: 'Photoshop'. Увы, без без знания целого ряда дисциплин он был бы невозможен.
                                                  0
                                                  Вмешаюсь в беседу в башу беседу. Моделирование черных дыр — это задача не программиста, а математика. Программирование выступает здесь в качестве прикладной дисциплины.
                                              0
                                              Вообще, хорошо, что проблемы «как собрать атомный реактор для чайников», пока ещё не существует. ;-)
                                                0
                                                Классная статья, только сейчас на нее натолкнулся. Как мне все это знакомо :)

                                                Only users with full accounts can post comments. Log in, please.