Как я взял большой заказ
Всем привет! В последнее время посты выходили довольно редко, все потому, что я работал над заказом, до этого мне удавалось брать лишь мелкие заказы до 10-15$, однажды мне даже пришел заказ 50$, нужно было сделать редизайн готовой верстки: поменять цвета, шрифт, некоторые классы, у меня уже был об этом пост на канале, поэтому не буду зацикливаться. Но это были просто мелкие доработки, нововведения в существующие проекты и исправление багов, мне же хотелось сделать что-то с нуля, а не копошиться в чужом коде
Предисловие
На весенних каникулах я поехал к бабушке, 24.03 я решил прислать свое резюме в чат по поиску вакансий(JavaScript Jobs), мне написал заказчик и предложил сделать верстку, он мне прислал макет, бюджет был 200$, оценив работу я решил взять время с запасом, так как с заказчиком никогда не работал и правки могут затянуться, остановились на 6 днях
Оплата
По этому поводу очень много споров, и как правильно никто толком и не знает, из-за того, что с заказчиком я никогда не работал, предложил ему сверстать регистрацию, если ему подойдет как я верстаю, то он оплачивает 50% и я продолжаю верстку, после отправки архива — переводит оставшуюся сумму. Безусловно, рискуют все! На этапе когда я верстаю станицу регистрации заказчик может просто отказаться от работы, на этапе когда исполнитель получает предоплату и может кинуть в чс, на этапе когда архив уже сброшен и можно уже не оплачивать работу исполнителя; остается только надеяться на адекватность, хотя меня до последнего посещали мысли, что заказчик может просто не заплатить мне, а большая часть работы уже сделана. Хотя это тоже некая мотивация, ведь когда получаешь 100% предоплату, то под конец можешь просто разлениться. Все зависит от суммы: если заказ маленький, то лучше оплату сделать одним платежом, средний — разделить по 50%, большой — либо составлять договор, либо работать по частям
Верстка
Ближе к вечеру того же дня прислал готовую верстку, сложность была в том, что фон у блока выходил за края контейнера, а при адаптиве, весь фон должен быть на всю ширину. Изначально думал сделать абсолютным позиционированием, а на мобилках скрыть и сделать фон для блока, но из-за того, что блок занимает не 50% ширины, при сужении/расширении все начинает ехать, тогда я вспомнил про один ролик, но там это было для картинок, поэтому я взял от туда формулу и переделал под себя
После этого я лег спать, раньше я думал, что когда возьму крупный заказ, то если не буду справляться, не буду спать ночами, а сейчас я понимаю, что заказ кончиться, а режим и здоровье придется поправлять, поэтому я распределил график, чтобы справляться и не перерабатывать
Заказчика все устроило и на следующий день он перевел мне 100$, было очень приятное чувство, когда я понял что то, что я делаю кому-то нужно. Дальше у меня был выбор — начать с самого сложного или сверстать простые странице, которые в сумме дают половину сайта, и так как я был на тот момент у бабушки, у меня было уйму времени, поэтому я выбрал второй вариант. Для тех, кто слышал, что начинать надо с самого сложного — на тот момент я понимал, что если начну с самого сложного, то потрачу много времени просто на то, чтобы разобраться, поэтому лучше оставить это на потом, когда я приеду домой, а сейчас у меня будет сверстана половина сайта, ведь по большей части эта была рутинная работа, а у меня тогда была спокойная обстановка и я мог просто заняться версткой
Вечером я приехал домой, скинул на рассмотрение верстку и лег спать, под утро приступил к верстке профиля, картинки у меня уже были выгруженны, поэтому мне оставалось просто сверстать, был один интересный момент: в блоке реквизиты между текстом был одинаковый отступ, решением было сделать контейнер, который будет автоматически заполнять все пространство и раздвигать в разные углы оставшийся текст, и прописать ему justify-content: space-evenly;
не каждый день такое свойство используешь. Справка: равномерно распределяет все элементы по ширине flex-блока, элементы имеют равное пространство вокруг. Если по простому, то элементы имеют одинаковые отступы к друг другу и к краям контейнера
На следующий день оказалось, что дизайнер забыл сделать состояние открытых селектов, поэтому пришлось пока делать без них, на следующий день прислал результат и заказчик захотел сделать обводку, но дизайн не предусматривал дополнительных отступов, поэтому я предложил расширить элементы или переделывать дизайн, но если просто расширить элементы, то выйдет несостыковка:
В таких моментах лучше лишний раз объяснить заказчику и предложить варианты решения, программисту лучше видно, тут я не спорю, но надо показать и заказчику, почему это может не сработать, ведь именно он продет этот продукт и ближе к клиенту; в диалоге можно прийти к истинному решению проблемы, которая будет правильная и со стороны бизнеса, и со стороны реализации
На следующий день я так и не увидел дизайна, пришлось написать заказчику, он сказал, что поторопит дизайнера; после обеда дизайн был готов, футер я сверстал без проблем, а вот с селектом пришлось повозиться: нашел пару библиотек, но все они использовали jquery, тогда я написать в чаты по верстке, в одном из них мне подсказали библиотеку Сhoices.js , она была на нативном js и с удобным поиском, и хотя я никогда до этого с ней не работал, за день селект был готов
30.03 прислал итоговый результат, исправил пару косяков с картинками, и потом заказчик хотел сменить цвет, тут я должен был сказать, что завел переменные с цветами, но нет. Пришлось во всех файлах заменять цвет на переменную, а потом менять ей цвет, благо в VSCode есть удобный поиск. До следующего дня заказчик смотрел работу, после этого сказал, что все устраивает, и я прислал архив, было немного напряженно так как заказчик уже имел всю верстку на руках и мог просто не заплатить мне, но заказчик оказался адекватный и перевел мне 100$, на этой ноте предлагаю закончить
Итог
Не обязательно сидеть на бирже, чтобы получить заказ, но важно терпение и уважение к человеку по ту сторону монитора, если бы этот заказ мне предложили не на каникулах, то я скорее всего я бы отказался, ведь у меня просто не хватило бы свободного времени, поэтому мне очень повезло и я оказался в нужное время, в нужном месте, а всем кто только начинает свой путь хочу пожелать настойчивости и смелости, ведь самое интересное наступает не тогда, когда только учишь синтаксис, повторяешь за учителем, а когда уже его освоил и начинаешь по-настоящему творить! Надеюсь эта статья поможет как начинающим, так и программистам с опытом поверить в себя и не бояться учить что-то новое и совершенствовать свои навыки, а также покажет, что трудности нужны, чтобы отделить реальные цели, от мнимых желаний. Этот заказ помог мне определиться с дальнейшим планом, изначально я думал устроиться в какую-нибудь компанию, но теперь я понял, что еще не готов работать по 8 часов и, что сейчас стоит уделить внимание другим вещам: учебе, английскому, спорту, блогу
PS: Для тех, кому интересно сколько мне лет, отвечаю — 11 апреля мне исполниться 15