Как я начал программировать
В качестве пролога приеду слова из песни команды КВН «Уральские пельмени»: «Мне сегодня 36, у меня всё впереди...». Очень веселая — рекомендую :)
Хочу рассказать о своем опыте обучения программированию. Надеюсь, это кому-нибудь поможет начать...
В сентябре 2014 загрузил текстовый редактор Vim (это был даже не Xcode!) и набрал первые строки на Swift.
На тот момент мне почти исполнилось 38 лет, экономическое образование, неплохой опыт работы (фин.директор, проектный менеджмент, бизнес-консультирование) и большое желание изменить свою жизнь. Опыт программирования = 0 (если не считать написание формул в Excel).
Сегодня (май 2015) у меня есть два опубликованных приложения на AppStore, некоторый опыт разработки, и моя жизнь таки изменилась. Изменилась в лучшую сторону, естественно :)
Почему именно Swift?
1) Очень уважаю яблочные гаджеты
2) Swift появился в середине 2014. Я подумал, что новая профессия + новый язык — это как-то правильно :)
Вообще, вопрос выбора сферы программирования и языка — это крайне индивидуальная тема. Swift как-то сам пришел ко мне, и я не стал сопротивляться.
Важно сказать несколько слов о людях, которые очень помогли мне начать и до сих пор продолжают поддерживать «юного» программера :)
Есть такая фраза: «Когда ученик готов, тогда и учитель найдется». Видимо, я был готов, и мне повезло встретить сразу двух учителей.
Первый наставник — Дмитрий Кожевин (Киев). Мы познакомились совершенно случайно. Хотя, я лишний раз убедился, что случайности — не случайны.
Дмитрий имеет опыт самостоятельного обучения программированию, и успешно программирует на Pyton уже лет 15. Он научил меня поверить в то, что всё возможно, дал четкую методику «как начать программировать» и помогал выходить из стресса, вызванного состоянием полного непонимания. Очень благодарен Дмитрию, иначе я бы всё бросил ещё в самом начале. О трудностях расскажу ниже.
Второй мой наставник Игорь Томич (Харьков) встретился мне в он-лайне — я купил курс его вебинаров «Введение в Swift», студия «Master-Up». Игорь имеет большой опыт разработки мобильных приложений, руководит командой разработчиков и проводит вебинары. Курс студии «Master-Up» познакомил меня с Xcode и базовым синтаксисом Swift. В итоге это позволило мне очень коряво, но всё же начать своё первое приложение. Потом, благодаря Игорю, я научился читать Swift, искать и находить нужные ответы и начал понимать логику программирования. Без поддержки Игоря я бы до сих пор ничего не опубликовал. Игорь, спасибо!
Отдельно хочу остановиться на тех трудностях, с которыми мне пришлось столкнуться.
1) Английский язык. Из моей прошлой жизни у меня сохранился некоторый уровень Intermediate Business, однако технический язык стал для меня одним из первых стрессов. Очень трудно читать непонятные темы на непонятном языке. Вспомнилась шутка: «Трудно собирать выбитые зубы сломанными руками». Вот это было примерно так же :) Решается эта трудность монотонной начиткой материала (+ Google Translator в помощь). Со временем что-то начинаешь понимать, а что-то — просто чувствуешь.
2) Непонимание синтаксиса и вообще принципов работы кода. Здесь мне очень помогли мои наставники. А так же пришлось наработать навык поиска в и-нете ответов на свои вопросы. Главное — не стесняться с просить у Google интересующий тебя вопрос. Пару раз сформулируешь запрос некорректно, но потом начинаешь спрашивать правильно и получаешь правильные ответы.
3) Расслабленный мозг, который отвык учиться и концентрироваться. Я давно уже ничему не обучался системно. А полностью концентрироваться (глубоко погружаться в вопрос) я наверное вообще никогда не умел — так мне кажется сегодня. Что могу здесь посоветовать? Самодисциплина, физические нагрузки, прогулки на свежем воздухе, правильная музыка, правильное питание, медитации и «принудительная концентрация» — это то, что помогло мне «разогнать» мой внутренний процессор.
4) Страх «а вдруг не получится?». Это самое опасное чудовище на пути изменений. Гони его! Будь уверен, что ты можешь ВСЁ! Смотри фильмы «Секрет» (1 и 2 части) и побольше оптимизма :)
После окончания серии вебинаров само собой возникла цель написать свое приложение.
Первое приложение написал для моих друзей (точнее, для их потенциальных клиентов) — их компания занимается производством бетона. Приложение «Лотос Бетон» (itunes.apple.com/...d953515058?l=uk&ls=1&mt=8) позволяет рассчитать необходимое количество ингредиентов для производства бетона определенной марки. Так же это приложение позволяет отправить запрос непосредственно менеджерам компании (заказ доставки бетона). И еще приложение позволяет посмотреть уже завершенные объекты данной компании.
В процессе работы пришлось научиться работать с TableView, парcить JSON-файлы, проигрывать видео YouTube, отображать галереи фотографий, работать с Autolayout и т.д.
Второе приложение писал уже больше исходя из своих потребностей. В процессе изучения иностранных языков есть необходимость записывать новые слова (+ перевод). Чаще всего это делают в тетрадях, и потом очень трудно систематизировать такие «словарики». Приложение «Universal Lexicon» (itunes.apple.com/...d982534800?l=uk&ls=1&mt=8) представляет собой пустую «записную книжку», которая по мере наполнения может выполнять функции словаря или даже разговорника. При этом количество языков не ограничено.
В работе над этим приложением мне открылся целый мир CoreData. Было интересно :)
Что дальше?
Есть пара идей для новых приложений. Буду программировать и расширять свой опыт. А еще есть желание поработать в команде разработчиков (для начала — на позиции junior) — необходим опыт командной работы и живое общение в профессиональной среде.
Всем желаю успехов и кайфа от работы!
Keep calm and carry on coding :)
Vivatum
[email protected]
Найкращі коментарі пропустити