Возможно, моя история послужит доказательством того, что мы все способны на гораздо большее, чем когда-либо осознаем. Последовательно работая над нашими целями каждый день, мы можем достичь действительно потрясающих результатов. Я не компьютерный гений с IQ 160… по крайней мере, я не знаю об этом. Но я человек, который понимает силу одержимости целью до тех пор, пока она не будет достигнута. Именно так я получил свою первую работу iOS-разработчика, будучи старшеклассником.

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

Золотая возможность

Моя история начинается в разгар карантина из-за Covid-19 в 2020 году. Школы были закрыты, люди застряли дома, и у всех было больше свободного времени, чем они знали, что делать. Я относился к первым двум неделям карантина как к школьным каникулам. Но вскоре мне надоело играть в видеоигры до поздней ночи, и новизна отсутствия в школе быстро прошла. Примерно в это же время я понял, что мог бы гораздо лучше использовать свое время, если бы освоил новый навык. Но с таким количеством возможных вариантов я понятия не имел, что я хотел узнать. Смогу ли я стать талантливым гитаристом? Стать следующим Пикассо? Возможности казались безграничными.

День, когда все изменилось

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

Начиная с нуля

Не имея никакого направления, я начал исследовать, какие языки программирования лучше всего изучать. Теперь я знаю, что однозначного ответа на этот вопрос нет. Однако в то время я был совершенно сбит с толку и ошеломлен изобилием языков программирования. Сократив несколько вариантов, я остановился на Swift, языке программирования, разработанном Apple. Swift используется для создания приложений для устройств Apple и создается одной из моих любимых компаний.

Учу себя коду

Я начал пытаться изучить основы Swift, для этого я зарегистрировал учетную запись на Codecademy.com и записался на курс Swift. В течение месяца я прошел курс Swift codecademy. Однако я по-прежнему не чувствовал, что научился чему-то помимо основ. Я потерялся, не зная, что делать дальше. Я решил рискнуть и попробовать создать приложение с нуля в Xcode.

Мое первое приложение

Обладая знаниями Swift начального уровня и несколькими страницами заметок, я попытался создать свое первое приложение. Целью приложения будет преобразование лошадиных сил в мощность торможения. Чтобы упростить вещи, я, по сути, брал числовой ввод и умножал его на определенное число, а затем отображал ответ на экране. Этот расчет контролировался кнопкой, которую пользователь нажимал, чтобы указать, что он хочет выполнить расчет. Я начал замечать большие пробелы в знаниях, продолжая создавать приложение. Я подошел к проблеме, изучая только то, что мне было нужно, пока я продолжал создавать приложение. Примерно через неделю изучения новых концепций, написания кода и исправления синтаксических ошибок. Родилось мое первое приложение для iPhone, написанное полностью с нуля.

Уровни прыжков

То, что я сделал дальше, можно было бы назвать «откусыванием больше, чем я мог прожевать». Я решил создать гораздо более сложное приложение и снова использовал стратегию обучения только тому, что мне нужно. На этот раз я создавал приложение, которое отображало биржевые показатели автомобильной компании Tesla. Это означало, что мне нужно было отображать данные в реальном времени в моем приложении с помощью API. Ясно, что это был шаг вперед по сравнению с моим предыдущим приложением, и, возможно, слишком большой шаг вперед. Мне потребовалось почти две недели, чтобы закончить приложение от начала до конца, но завершение приложения означало, что я значительно расширил свои знания о Swift. Создав приложение метрик акций Tesla, я получил опыт вызова данных из API, отображения нескольких представлений в одном приложении и выполнения асинхронных операций.

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

Вступление в высшую лигу

После того, как я закончил работу с приложением для метрик акций Tesla, я почувствовал прилив уверенности в своих способностях Swift. Я решил, что пришло время создать приложение с намерением разместить его в App Store — благородная цель для человека, который программировал всего несколько месяцев. Итак, какое приложение было бы достойно размещения в App Store? Изучив множество бесплатных API, я пришел к идее создания погодного приложения. Это погодное приложение также будет отображать данные о качестве воздуха для текущего местоположения пользователя.

Я начал с того, что набросал, как должен выглядеть пользовательский интерфейс, а затем создал новый проект в Xcode (Xcode — это программа, используемая разработчиками для написания кода Swift). Сначала я создал приложение с заполнителями вместо реальных данных в реальном времени. Это позволило мне перемещать вещи и вырезать функции, которые я считал ненужными. Оттуда пришло время получить информацию о погоде из API.

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

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

После более чем трех месяцев тестирования и настройки мое приложение было официально готово к запуску в магазине приложений. Единственное, что осталось сделать, это назвать мое приложение, с таким количеством вариантов, что я в конечном итоге черпал вдохновение из эффекта свечения, преобладающего в пользовательском интерфейсе. Я решил назвать свое приложение GloWeather и официально опубликовать его в Apple App Store. 5 октября 2021 года мое приложение было одобрено Apple и доступно для загрузки всем, у кого есть совместимое устройство Apple.

Поиск работы

С ветром в спине после получения похвалы от семьи и друзей за запуск GloWeather. Я решил, что пришло время присоединиться к поиску работы iOS-разработчика. Я создал учетные записи на Angellist, Действительно, Linkedin и Dice. В своей голове я полагал, что найду работу в кратчайшие сроки, однако мое предположение было далеко не точным. Я тратил до четырех часов в день на поиски работы, но меня отвергали из-за того, что я «слишком молод» или не имею высшего образования. Работа, на которую я действительно получал предложения, была полной занятостью и требовала, чтобы я работал в течение учебного дня. Стало очевидно, что без серьезных усилий я не найду работу в iOS-разработке. После более чем трех месяцев подачи заявок на сотни вакансий каждый день я получил предложение, которое было одновременно выполнимым и захватывающим.

Моя первая работа

В конце концов небольшая компания связалась со мной и предложила присоединиться к их команде в качестве iOS-разработчика. Apollo Polls — это приложение, доступное в Apple App Store. Оно позволяет пользователям общаться с людьми, которые разделяют с ними схожие интересы. Это работает довольно просто: пользователи создают опросы, которые используются во всем приложении. Когда пользователи прокручивают приложение, они отвечают на опросы, размещенные другими пользователями в приложении. Отвечая на опросы, пользователи сопоставляются с другими пользователями с похожими ответами. Я решил присоединиться к компании в качестве частично занятого iOS-разработчика. Это позволило мне работать над опросами Apollo и сосредоточиться на учебе.

Нажмите здесь, чтобы бесплатно загрузить опросы Apollo!

Совет для других

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

Еще кое-что

Если вам понравилась эта статья, рассмотрите возможность подписаться на меня в Твиттере: @natexlee.