Продолжаю свой рассказ. Не нужно хвататься за все сразу. У меня бывало и такое: на десять курсов одновременно записался, начал все проходить, и потом уже все – мотивация на нуле, или даже ниже. Когда мы четко определяем для себя план наших действий, и занимаемся немного, но регулярно – это гораздо эффективнее. Понедельник – среда – пятница. Нет резона учить сразу, к примеру, четыре курса по четырем видам деятельности, это неэффективно.
Как заставить себя выучить английский язык?
В IT очень важен английский язык. Как заставить себя выучить его? Нужно вырабатывать в себе хорошие привычки. Потому что даже маленькие, но ежедневные изменения в итоге могут колоссально повлиять на нашу жизнь. Я могу порекомендовать книгу Чарльза Духигга «Сила привычки». Именно это психология о том, как они формируются. Например, по пятницам у нас сигнал такой – надо выпить и пойти погулять. А привычка помогает дать другой сигнал и заняться, например, спортом.
Как я учил английский язык. Главное – формировать правильные привычки. Илья Франк мне очень помог – это методология, как чтение языка и смысловых конструкций через классическую литературу. Я просто люблю читать, а у Ильи Франка сначала идет текст на английском, потом – сложные слова все переведены, и потом идет текст еще раз на английском.
Получается, читая, вы учите английский язык, и начинаете его чувствовать. Я могу порекомендовать «Крестный отец» Марио Пьюзо. И перечитать для себя будет хорошо, и заодно можно выучить английский. «Этюд в багровых тонах», и много другой классической литературы, которую очень интересно перечитать. Ловишь себя на мысли, что и следить за сюжетом интересно, и параллельно при этом прокачивается английский язык.
Также очень помогают и сериалы. Выработайте у себя привычку смотреть сериалы на английском языке, в оригинале. Это только в начале сложно. Потом на русском вы не сможете смотреть. Когда приходите домой и включаете телевизор после работы, уставший, вы отдыхаете. Когда вы смотрите сериалы на английском, вы говорите себе – «я учу английский язык!».
Какие сериалы стоит посмотреть?
South Park – пошлый и американский юмор, но и очень глубокий одновременно. После South Park порекомендовал бы посмотреть Madmen, но он очень сложный. «Доктора Хауса», вообще, тоже довольно трудно смотреть. Я смотрел этот сериал на русском, а потом смотрел на английском, там есть достаточно сложные термины. Нам, как айтишникам, также можно посмотреть Silicon Valley, сейчас вышло три сезона. Посмотреть не как живут наши местные айтишники, а именно как живет Долина, какие там правила.
Как я стал iOS-разработчиком
И мини-история о том, как я стал iOS-разработчиком. Был бесплатный курс iOS 7 Apps for iPhone and iPad. Его проводил преподаватель из Стенфорда. Мне нравится американско-европейская модель преподавания тем, что она более модульная. Преподаватель говорит: "Чтобы пройти этот курс и вам правильно его понять, нужно пройти нужно пройти СS 106A и 107". И тебе вот сразу понятно.
У нас высшее образование хорошее, но если у нас была бы такая модульность, именно такие курсы бесплатные, или если бы нам просто сказали, что если ты не понимаешь эту тему, то почитай то и то. То есть, ориентировано на средних и высших, а на таких балбесов отстающих, как я, не ориентировано.
С чего начать?
И я вспомнил, что уже все забыл, из университета, из своей практики, и начал все заново. Есть курс, который называется CS 106A – Programming Methodology, это супер-супер базовый курс. Я ориентируюсь сейчас на моих программистов. Если вы хотите попробовать сделать карьеру IT-программиста, то я рекомендую стартануть с этого курса.
Очень много и других бесплатных курсов. Получается, что есть две парадигмы преподавания, которые между собой борются. Есть академическая, то есть, мы читаем толстые книги, понимаем, что вот это за программирование, математика, другая штука. Есть второй путь, который, возможно, вам подойдет лучше – учиться "by doing". Вы смотрите, что есть такой декодер, если попробуете вы все-таки в iOS пойти. И есть куча примеров – там около 40 статей. Вы просто берете их и повторяете. И желательно потом, то, что вы повторяете, вы закидываете на гитхаб к себе. Даже готовые решения, пусть у вас просто будет профайл на гитхабе, который может использоваться вместо резюме. Просто показывать, что да, вы в этом году сделали такую-то штуку, и потенциальный преподаватель будет это видеть.
Значит, моя карьера. Я учился, прошел эти курсы, и начал с Apple немножко зарабатывать деньги, потому что все закончилось, а привычки остались. И начал выпускать приложения как горячие пирожки. Зарегистрировался, брал какие-то фриланс-проекты, потому что на работу никто не берет. И за $150 взялся за социальную сеть для любителей кататься на BMX (это такие велосипедики маленькие). Сделали приложение, я писал, что сделаю за три недели, а делал в итоге три месяца. Тогда у меня уже собралось портфолио – я сделал пять или семь таких приложений.
Как-то скучно в Беларуси, поеду в Таиланд
И я подумал, как-то в Беларуси скучно, а я же программист. Тут узнал, что нужны разработчики в Таиланде. Я спросил,не нужны разработчики по iOS? Мне говорят – нужен, поехали.
Когда вы программист, большой плюс в том, что вы можете путешествовать. И, соответственно, мне этот потенциальный стартапер купил билеты. Там я сделал приложение об Индонезии. Нам кажется, что в Беларуси все плохо и небезопасно, но на самом деле все совсем не так. А
На этом острове, где я был, на мопедах часто преступники сбивают девушек, отбирают у них кошельки и ценные вещи. Мы сделали приложение, называется LinkHope, чтобы помочь людям защитить себя. Просто достаешь мобильник, нажимаешь (как тревожную кнопку), и все в радиусе пяти километров получают информацию о том, что с тобой что-то случилось. За полгода мы его сделали, потом я еще немного в Таиланде пожил, и когда вернулся в Беларусь, подумал – надо пойти на собеседование.
Я крутой программист, у меня много опыта, а пришел на собеседование – вообще ничего не знаю. Корпорация задает какие-то вопросы, а я ничего не понимаю. Мне говорят: "Ты junior!". Я говорю: "Какой я junior, я уже столько приложений сделал!". И тогда понял что да, чего-то мне не хватает. После этого прочитал две толстые книги – это Objecting C Programming и iOS Programming, и теперь знаю ответы на практически все вопросы на собеседованиях.
Так может стоит начать со swift?
Я сделал такую картинку-комикс. "Сынок, сынок, идем сюда, я тебя научу С!". "Зачем мне С?". "Ты будешь знать С, потом Objective C и будешь писать под iOS". "Я буду писать сразу под swift". И он такой – "Ах, щенок!".
Сейчас около 90% всех приложений, которые сейчас пишутся, разрабатываются на Objective C. Сейчас больше потребность в Objective C. Однако swift все больше набирает обороты. И swift также рекомендован как язык, который легко можно начать с нуля изучать. Потому что Objective C базируется на С. И вам надо сначала выучить С качественно. Потом Objective С.
Потом уже, соответственно, фреймворки iPad, чтобы вот эти вот формочки делать. се это усложняет вход в профессию. Если вы настраиваетесь в ближайшие полгода-год именно учиться, то swift может быть хорошей идеей. Если работать в больших корпорациях – там по-прежнему спрашивают Objective C.
Комментарии
Страницы
Ждем продолжения, но опять "нужно пройти нужно пройти СS 106A и 107", "на самом деле все совсем не так. А (абзац) На этом острове", "Сейчас около 90% всех приложений, которые сейчас пишутся, разрабатываются на Objective C. Сейчас" и пр.
+ в части "Как-то скучно в Беларуси, поеду в Таиланд" почему-то нет ссылки на эту авторскую статью.
:)
Вот не понимаю, зачем, получая больше $30 тыс. в год, начинать программировать?
Я бы не начинал. :)
там полная версия доклада была — "как перестать беспокоится и начать программировать получая больше $30K" :)
Что вызывает у тебя, как у разработчика, наибольшие трудности? Фреймворки? Распараллеливание? Базы данных? Паттерны? Интерфейсы? Что юзаешь, Core Data+SQLite, Нимбус какой или что другое?
Что твой "конек", что ты делаешь охотнее всего? Бывает ли такое, что дают делать то, что ты или не умеешь или не хочешь делать? Или сам выбираешь?
Есть ли у тебя что-нибудь на Git или ты пользуешься чем-то другим?
Часто ли приходится писать "го...нокод" по необходимости?:-)
Петро, если ты спрашиваешь меня, то наполовину, а то и более, мой софт -- это говнокод. На причёсыаание просто нет ни времени, ни желания.
Имхо все пишут говнокод. Только одни а этом признаются, а другие -- нет.
Или одни это понимают, а другие - нет. ;)
P.S. Не, у меня относительно мало, насколько я понимаю (т.е. осознанно решаю - "тут влепим костыль, потому как сдавать, потом разберемся"). И для допиливания есть как минимум желание (пока еще).
Да и код старый, родной, давно вылизываемый. ;) Что с одной стороны хорошо, а с другой: вот сегодня фишку прикручиваю - виснет. Почему - понятно (после дня раскопок). Никогда не пишите бесконечные циклы проверки бита от хардвера потому, что этот бит "ну просто не может не взвестись (или сброситься) рано или поздно". :) Но over 10 лет работало, а тут вот "фишка" маленько поломала старую логику.
Можно поправить со стороны FPGA или на x86 (ASM) метку на 2 строки вверх поднять - было бы нормально и НЕ костыль. Но старые версии софта все равно будут виснуть, FPGA перешивать никто не будет. Вот сижу и придумываю форму костыля. ;)
Подумалось про стартаперов - а им прикольно. Написали более-менее релиз, выпустили, продались Гуглу или Фейсбуку и "жираф большой - ему видней", пусть дальше "жираф" нормальный продакшн делает.
Да "жирафы" и сами молодцы бывают, если на Pokemon Go глянуть - выпустили, за полгода (да?) бабла срубили, ну и RIP. ;)
Кстати, еще подумалось - купленные стартаперы как минимум первые полгода дописывают комментарии, документацию, automation-тесты (и что там еще) к своему софту. ;)
Оказывается у всех все одинаково ))
Начинаются мои любимые кидания г...м. Какая разница, насколько хороший код, если он делает то, за что платит заказчик, и написан быстро?
Страницы