Разработка
5 вещей, которые лучше понять до того, как начать стажировку в стартапе
Но сейчас понимание этих пяти особенностей разработки в стартапе заранее подготовит меня к следующей стажировке, и, возможно, вас тоже.
В прошлом году я работал в стартапе над созданием собственного iOS-приложения в дополнение к Android-аналогу.
Работа в стартапе означает, что вы будете работать гораздо больше, чем вы думаете.
Я, конечно, многому научился, но мне жаль, что я не знал этих пяти вещей до начала своей стажировки, иначе мой результат мог бы быть гораздо лучшим.
Будет много беспокойства
Я решил пройти стажировку в нечетный семестр, с ноября по январь.
Иногда работа в колледже более восьми-десяти часов в день действительно напрягала.
Я должен был создавать iOS-приложение с нуля — взять на себя ответственность за процесс разработки, решить, какую архитектуру использовать и какие библиотеки подключить, и, наконец, отправить его в App Store.
Это было волнительно, и я не был к этому готов заранее.
Здесь большое значение приобретает управление ожиданиями — от основателя и бэкенд-разработчика до дизайнера и, в конечном итоге, до моих собственных ожиданий.
Нет ментора
Я был iOS-интерном и неофициальным ведущим разработчиком продукта для iOS. Вначале это казалось действительно увлекательным. Я чувствовал себя всемогущим.
Но постепенно я осознал, с чем мне пришлось иметь дело.
Мне пришлось самому выбирать лучшие практики, просматривая множество статей на Medium, проектов с открытым исходным кодом и руководств на YouTube. Если я в чем-то терялся, не было старшего iOS-разработчика, который мог бы ответить на вопросы, что временами меня демотивировало. В конечном итоге я иногда использовал обходные пути или плохие практики.
И это подводит меня к следующему пункту.
Общение с разработчиками
Я многому научился, реализуя фичи, которые использовались прямо в продакшене. Но я тратил часы на поиски в Google и Stack Overflow, чтобы найти наиболее качественные и понятные ответы на свои вопросы.
Эти часы можно было бы сэкономить и вложить во что-то другое, если бы я не колебался и не обращался к разработчикам в различных социальных сетях.
Я помню, как потратил неделю на одну фичу, которая была важной для UX приложения. Я не смог найти никаких ответов для ее реализации, и мой первый вопрос на Stack Overflow завершился множеством отрицательных оценок.
В конце концов, я изложил свою проблему в одной из iOS-групп на Facebook. Кто-то прокомментировал это, у нас был приватный чат, и за два часа я смог безупречно реализовать весь код.
Два часа.
Новые знания требуют экспериментов
Цитируя Дэниела Уайтхолла из «Агентов Щ.И.Т.», у меня была свобода экспериментировать. И мне следовало использовать ее больше, чтобы узнать, что лучше всего подходит для проекта.
Например, у меня была возможность выбрать между использованием Alamofire или написанием собственного сетевого стека с использованием стандартного фреймворка.
Или мне нужно было сделать выбор: создать свое собственное представление Collection View с перелистыванием карточек или использовать стороннюю библиотеку.
Я написал все сам. Никаких Storyboard. И это был эксперимент, которым я очень горжусь, поскольку он помог мне быстро внедрить новейший фреймворк Apple SwiftUI.
Открытие новых возможностей требовало экспериментов, но я слишком боялся неудач и вероятности того, что не смогу завершить работу в срок.
Документирование
Когда я оглянулся назад, чтобы написать эту статью, то из-за отсутствия записей моей работы в течение этих трех месяцев стажировки у меня не было отправной точки, чтобы сравнить, насколько я улучшился в iOS-разработке за последний год.
Пишите блог. Делайте записи в Instagram того, что вы узнали за день. Размещайте в Твиттере материалы о решенных вами проблемах.
И когда вы вернетесь к своим записям в ближайшем будущем, вы будете удовлетворены достигнутым прогрессом.
Вывод
Это была захватывающая зима, когда я в стартапе отвечал за приложение для iOS. Эти знания помогли мне стать лучшим разработчиком.
Но сейчас понимание этих пяти особенностей разработки в стартапе заранее подготовит меня к следующей стажировке, и, возможно, вас тоже.