Архив недели
Понедельник
Хей хо! Меня зовут Юра, и я разработчик iOS приложений в Mamba Уже полтора года. До этого работал в продажах на одну фруктовую компанию. А по образованию я артист оркестра/педагог.
Никогда не сидел в соц сетях, так что понятия не имею что писать, кому и зачем. Когда я согласился на это, я был самую малость в говно, и это показалось хорошей идеей))
Плана нет. Ну вообще. Совсем. Мне говорили что надо подготовиться заранее, выбрать темы, набрасать скелет того, что я буду вбрасывать в массы. Естественно я этого не сделал (ну кто бы сомневался...)
Сегодня я расскажу о себе, и каким хреном скрипача занесло в мобильную разработку. В остальные дни - буду новорить о том что мне интересно, что вызывает неуонтроллируемые приступы околорелигиозного экстаза, либо о том, от чего у меня люто пригорает пониже спины
И так, мой охуительный путь в разработку:
Лет до 13 я был чудным мальчиком. Рисовал, учавствовал в международных выставках, увлекался 3d моделированием.
В школе начал писать первую муть в Visual Basic. Все стандартно
Учитывая что я рос в заводском районе славного города Липецка, можно понять что пизды я выхватывал во дворе регулярно. Ишь чего, читать он любит...
А в 13 жизнь резко повернулась на 180. Я открыл для себя прелести рок музыки, алкоголя и половых связей сомнительного характера.
Спустя примерно год, меня выгнали из школы (какой идиот будет учиться, когда можно пить, трахаться, играть в группе, ну и вот это вот все). В итоге 9 класс я заканчивал по второму разу в вечерней школе
Когда годам к 16 встал вопрос куда поступать, пришла отличная идея - буду скрипачом. Подготовил программу и поступил на бюджет. Для понимания, что происходит в музыкальном образовании: на струнном отделении еще хоть как то выбирают, а вот в духовики брали всех кто проходил мимо.
Потом учился, тусил, брал академ, работал, надоело, опять учился, катался на гастроли с Би-2 (никогда не пейте с духовиками, никогда!). Экзамены. Диплом.
А дальше - НИХЕРА. Музыкант - отвратная профессия. Ебашишь как спортсмен по 8 часов в день, еще по 5 занимаешься, бегаешь по идиотским халтурам (поиграть стайке бабок в библиотеке за 500р), а получаешь на уровне продавца в в продуктовом.
Решил свалить в Москву (ну а куда ж еще).
Устроился продавцом в Медиа Маркт. Потом ушел в re:Store. Та же херня, но денег чуть побольше, впрочем, как и геморроя. Довеском - развод людей на бесполезные услуги/страховки.
Наконец попал в одну компанию, которая очень любит фрукты на логотипах. Совсем другой уровень. Куча плюшек, хорошее отношение, техника в личное пользование. Лепота, в общем.
Там от скуки начал ковырять Swift Playgrounds на iPad, и понеслось. До этого я код толком не писал, а тут вставило по самое не могу. Управлять куском кремния с налепленным поверх экраном с помощь специального языка - сраное колдунство!
Я сидел почти каждый вечер после работы. Сначала на iPad, потом переехал в Xcode. И с каждым разом, это кайфовое ощущение удовлетворения от работающей как надо программы (по меркам того, кто только начал писать код), написанной самим, захватывало все сильнее.
Дальше записался на курсы от Geek Brains. За время учебы написал несколько проектов, научился работать с git, материться на кривые макеты в Zeppelin, работать со сторонними либами.
Правда большую часть материала приходилось искать самому. Так что те кто рассчитывают взять курсы и ждать пока им будут скармливать знания с ложечки, и уговаривать на добавку - хер вам.
В общем и целом, главное что дает такой формат обучения - вход в IT тусовку.
Знакомишься с кучей интересных людей, причем у кого то уже есть бэкграунд в разработке, кто то с нуля ,как и ты. Это офигенно пушит вперед, в отличие от самих курсов, которые дико неудобно организованы, да и сама площадка не айс
Огромный плюс - мне попался просто топовый учитель. Он круто ввел в профессию, рассказал про подводные камни, показал как выглядит нормальный код, а не то говно, которое я клепал на коленке. Это уже не говоря про внекурсовое общение и периодические пьянки в Москве до 7 утра
Он же мне подкинул первые проекты по фрилансу. Сейчас я, конечно, с ужасом вспоминаю, что за дичь я там писал, но тогда мне казалось что я сраный гений и цены мне нет. Хотя так все думают про первые работы
Например, в одном проекте надо было добавить новые фичи в существующее приложение, написанное на VIPER с ReaktKit. Я НИХЕРА не знал о том, как с этим всем работать. Итог: куски MVC впиленые поверх всего этого с миллиардами forceUnwrap. До сих пор боюсь что найдут и дадут пизды...
Первым в Мамбу устроился мой друг, с которым мы учились в Geek Brains.
Позже, когда у них появилась вакансия джуна, он начал меня активно пиарить перед начальством. Так я на первый собес и попал
И с треском его провалил. Мне нечего было ответить на половину вопросов, которые задавал тимлид. Особенно на те, что касались Obective-C. О, как я ненвижу этот ебучий синтаксис в блоках.
В итоге почти год сидел на месте, поучаствовал в паре проектов на фрилансе,
читал книги по разработке и не особо парился по поиску работы. Стабильность подкупает. Стремно разом бросить то, чему посвятил 5 лет жизни.
По старой традиции, второй собес я проходил с лютого бодуна. Так сложилось что почти все значимые или интересные события я встречаю в этой кондиции.
Как, например, сейчас
Уж не знаю что повлияло, похмелье, история про сломанную руку в шотландском хайленде (гипс пришелся кстати) ну или то что я немного прокачал навыки за это время, но меня приняли.
Вот таким долгим путем в разработку я и пришел. Я был не первый, кто из моих бывших коллег ушел в IT. И как сказал один из них, спустя год после смены деятельности - «Знал бы что тут так круто, давно бы свалил!»
Вторник
Хей! Сегодня я, наверное, подробней расскажу обучение. Книги, курсы, ресурсы в сети и прочее, что я использовал в процессе. Причем не только по iOS, или программированию в целом. Не все ж алгоритмы да архитектуры дрочить.
Первое что стоит учить, если вдруг еще не знаешь, это английский, потому что если твой предел это London is the capital of Great Britain то ты в дерьме
Все толковые материалы по программированию, и особенно по свифту, выходят на английском, а перевод, если и выходит, то с приличным запозданием.
Так что необходимость английского это аксиома.
В школе я учил немецкий, а английским начал заниматься уже после переезда в Москву, самостоятельно. Пробовал несколько приложений, но реально мне помогли два: Полиглот и Memrise.
Полиглот основан на педераче с канала Культура. Там учитель, весь из себя дохуя полиглот, переводчик и вообще заинька, учит отечественных говнозвезд языкам за 16 часов, в том числе английскому.
А приложение - как дополнение к видео. Помогает прокачать грамматику до полного автоматизма. Уже после первого урока и пары дней тренировок начинаешь свободно строить базовые конструкции без мычания и лихорадочного подбора нужных слов в голове.
Memrise - уже для словарного запаса. Впрочем грамматику и там можно подтянуть. Изначально приложение было создано для запоминания чего угодно, юзерам можно было создавать свои собственные курсы и делиться ими, сейчас они сделали упор на свой контент, преимущественно по языкам
Ну и самый кошерный способ - пожить немного в англоговорящей стране. Я правда для этого выбрал Шотландию, и зацепил там акцент, любовь к скотчу и способность жрать стаут с виски ведрами, но стоять на ногах. Так что если хотите изучать queen’s English - вам в другую часть острова
Сорян за оффтоп, но тут моего коллегу закрыть на пятеру хотят за то, что он посмел сопротивляться начальнику налоговой когда тот его пиздил. Подпишите петицию! chng.it/byfgx4Zk via @ChangeOrgRus
Как же заебало что народу поиходится вечно защищаться от тех, чья работа народ защищать. Ну не пиздец ли?
И так, про курсы:
Один из первых что я посмотрел - Stanford CS193p. Супер крутой курс от профессора одного из лучших универов в мире. Полностью на английском, но в сети гуляют переводы. Обновляется каждый год, так что есть смысл пересмотреть, даже если видел пару лет назад.
Я смотрел его в 2016, уже тогда лектор явно тяготел к frp, но основной архитектурой оставался MVC by Apple. Сейчас он полностью основан на на MVVM с использованием SwiftUI. Однозначно must have.
Есть очень крутая площадка для обучения - Udemy. Большинство курсов на английском, зато ценник не дерут до потолка, как во многих других платформах. Выбор просто огромный: От программирования и пентестинга до разведения сторожевых гиббонов в условиях крайнего севера.
Лично я там взял пару курсов по python (надо же чем то себя занять в свободное время), и небольшой мастеркласс по блюзовой гитаре. Питон ведет винрарный австралиец Tim Buchalka. Лютый оззи акцент, но отличная подача материала. У него же есть курсы по C++ и много чего еще.
Ну и конечно Geek Brains…
Очень неровный университет. Много зависит от того, кто читает лекцию. Есть те, у кого подача ну просто божественная. Тут тебе и методички крутые, и общение с учениками, и интересные задачи для самостоятельной работы.
Но таких не много. Остальных смотришь, и думаешь: Вот ты сам себя, сука, не бесишь? Ну невозможно же! Была пара кадров настолько унылых, что весь курс скопом забивал огромный болт на их лекции, а это при том, что люди за обучение отдали десятки, а кто то и сотни тысяч
Платформа сама тоже не очень. Вечные косяки то со связью. то с прикреплением дополнительных материалов к занятиям. Особенно бесило что на телефоне воспроизводилось только аудио, видео нормально не работало. Мб сейчас уже пофиксили, но тогда бомбило знатно у всех
В целом к онлайн курсам, а в частности видео урокам, у меня отношение не лучшее. Этож пиздец не удобно. Вот нужно тебе найти конкретный кусок про core data в уроке, и сидишь, мотаешь, мотаешь, как дебил. Лучшие помощники - всегда книги и статьи
Блять, как же яблоко заебало со своими нововведениями. Правишь верстку, все отлично, прям pixel perfect. А потом оказывается что на iPad Pro последних, в 13 iOS экран при появлении клавиатуры прыгает вверх, и все идет по новой
Что бы разбавить общую серьезность: сегодня, пока я изо всех сил писал кода на благо мамбы-кормилицы, мой сын меня вероломно обоссал. Вот тебе и прелесть удаленки…
Среда
Сегодня буду рассказывать про первые месяцы работы.
Всякие проблемы, страхи, смешные и не очень случаи. В основном про то, как я косячил, и чувствовал себя говном
В первый день меня провели по всем комнатам, познакомили с новыми коллегами. Звучит хорошо, да? А вот хуй. Терпеть не могу это чувство, когда все на тебя смотрят, говорят как им приятно познакомиться, а тебе кажется что они думают: «Что этот уебан тут вообще забыл?»
Еще не люблю ощущение на новом месте, когда не знаешь местных правил, и нихера не понятно, что делать можно, а что ну совсем не комильфо.
Куда вещи вешать, где переобуться можно, моожно ли тут есть. Тебе говорят «Конечно можно есть, на кухне же» А ты - Охуеть! У них есть кухня!
Если что, когда работаешь в продажах, кухня, в большинстве случаев, маленький засраный столик в глубине подсобки. А тут прям кухня.
Ну и тот факт что в IT работают те, кто понимает что людям нужна разрядка, и не смотрят косо когда ты играешь в теннис, кикер, плойку, или просто присел почитать в комнате отдыха - это, как говорит мой коллега, зказочка
В любом магазине продавцу не то что в телефоне посидеть, чаще всего даже облокотиться нельзя. Весь день нужно стоять как сурикат в ожидании покупателя. На моем прошлом месте с этим было попроще, но все равно - другой уровнь
Дали стол, компьютер, и сказали изучать проект. И вот ты открываешь Xcode, а там огромный воркспейс, с кучей модулей, классов, назначение которых ты хоть убей не понимаешь. И в голове все крутится: «Ну все, блять, приехали. Сейчас кого то ссаными тряпками погонят на мороз»
Повезло что команда у нас супер дружелюбная. Провели короткий тур по приложению, рассказали что, зачем, и почему, потом усадили играть в плойку, и очко ненадолго разжалось. Но все равно стремно чувствовать себя самым тупым учеником в классе))
Первые задачи были простые, типа поправить отступы, поменять надпись, сдвинуть кнопку на 3 точки левее и на 5 ниже, потому что так красивей. Но зато на них я приноровился ориентироваться в проекте, научился сносно работать с git, да и в целом лучше понимать структуру приложения
Впрочем git мне давался нелегко. Я делал среднего размера задачку, несколько дней над ней сидел. Потом нужно было переключиться на другую веткеу, и в sourcetree выскочило мелкое окошко. Я с дуру жмакнул ОК и эта собака спидозная затерла все мои изменения без права восстановления
Потратил часа 2 восстанавливая удаленные файлы с жесткого, заново их раскидывая по проекту, тихо матеря себя, и надеясь что нет статьи в трудовом, по которой можно уволить за откровенный дебилизм.
Жопа была при первом merge conflict. Я НИХЕРА не понимал что сейчас произошло, моя ли это вина, и, главное, что мне с этим делать!
По наводке тим лида я почти час буравил взглядом .pbx и наконец нашел злоебучую точку с запятой, которая проебалась.
До сих пор ненавижу сраные .pbx. Ну пидец неудобная система, особенно если в приложении много сторибордов и/или зависимостей. Обновишь так какой ни будь под, и начинаются танцы с бубном.
Паники уже не вызывают, но в монитор пробить кулаком все еще хочется
Четверг
В компании собираются ввести удаленку на постоянной основе для желающих. Все размышляю, оно мне надо? Пока впечатления от нее неоднозначные
Когда каждый день гоняешь в офис жизнь каждется малость разнообразней.
Дома, сидя в четырех стенах дни сливаются в один огромный бесконечный пиздец. Прямо как отечественный артхаус
Первые три месяца мне даже нравилось, но сейчас я скучаю по гулу голосов, стуку клавиатуры коллег, да даже по метро, правда совсем чуть чуть.
С другой стороны, стало оставаться больше времени для занятия полезными делами. Снова начал бегать, больше читаю. Начал учить python. Только скучно, ну пиздец.
В проглый раз когда мне было ТАК скучно я начал учить эльфийский, слепил из пластелина фигурку, назвал ее Игнат, и периодически говорил ему что он мудак и я его ненавижу.
Пятница
Все попали под каток фейсбука?)
Занятно, как сторонняя компания, не связанная напрямую ни с Apple, ни с разработчиками приложений, одним махом может выкосить здоровый кусок AppStore.
Отличный пятничный деплой. Зато есть формальный повод надраться в дрова в баре. Хотя когда он был нужен...
Словами не передать, как я скучал по барам. По гулу людских голосов, еде, которую готовил не я, алкоголю, который продают втридорого. Даже по девушке, впаривающей всем Jack Daniels в мини юбке (бурбон для слабаков).
Двойная порция Laphroaig, пинта Guinness, повторить раз 5-6, до полного погружения в алкогольную нирвану. Друзья, опаздывающие на пол часа, хотя договаривались почти за неделю - опционально