Devtertainment
88 subscribers
11 photos
1 video
33 links
Download Telegram
Channel created
По многочисленным просьбам решил создать канал, где я буду делиться подробдней обучением iOS разработки методом Исаака Ньютона. Этот метод займет день, но лучшего результата вы достигнете с помощью друга или коллеги, как в парном программировании.

Впервые этот метод был применен в 1997 году в архитектуре приложения под Макинтош, когда логотип еще обличен в радужный цвет.

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

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

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

В следующем видео от архитектора Рика Эстли есть лекция уже с формулами и преобразованиями, как оно реализовани уже в деталях. Наслаждайтесь.
🔥4
Друг скинул картинку. Хотел бы прокоментировать мысль Багдата Мусина.

Я согласен с ним, но в частности, а не в общем. Так как я и сам айтишник, я заинтересованное лицо. Поэтому выступать с лозунгом “льготные ипотеки айтишникам!”, когда могу позволить взять себе ипотеку и без льгот, как минимум глупо.

Звучит контринтуитивно, но льготы нужно давать не нуждающимся. А работающим и усердным. Самым активным членам общества, а не самым пассивным. Позвольте мне объяснить, почему.

Льготы придают стимул, как и описал Багдат Мусин. Когда вы стимулируете какую-либо деятельность (или бездеятельность), вы стимулируете рост этого. То есть льготы нуждающимся будет только увеличивать количество нуждающихся. Каждый хотел бы льгот, не ударив палец о палец.

Когда же сами люди поймут, что для поощрений нужно работать, то они и сами полюбят работу. А когда вы поощряете тунеядство, работать становится просто не выгодно.
🔥2
Теперь к айтишникам. Я немного против такого. Хоть и айтишники самые трудолюбивые, льготы айтишникам только увеличат количество айтишников. И улетающих будет больше, а процесс быстрее. Хотя страна не потеряет от этого ничего. Да и не приобретет прилично много. Хотя лучше, чем ничего.

Нужно увеличить количество толковых специалистов.

Почему самые трудолюбивые в Казахстане - айтишники? Вы не замечали? Только они после работы могут работать, в баре обсуждать работу, во сне думать о работе. И работают не вставая с постели тоже айтишники.

Эти люди стали трудолюбивыми не от того, что они родились такими усердными. Тот же казах, который в народе прозван ленивым, может сутками напролет писать код, иногда забывая о еде и сне.

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

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

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

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

Среди друзей уже родился анекдот по мотивам реальной истории. Фронтендер в казахской компании зарабатывал 150к тенге в месяц. Спустя время у него появился оффер в 3500$ в месяц в европейскую компанию. Он дал знать своим текущем работадателям, что зарплата у него там выше. На что работадатели ответили “ну мы можем поднять тебе до 250к тенге, но это уже со следующего месяца”. Мотивация не от мальчика, а от мужчины.

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

Также айтишные льготы только разозлит народ и поставит инженеров в опозицию. Даже сейчас сформирован класс “айтишников” а про остальных они говорят “простые люди”. В России также, это естесственно, различий сложно не заметить.
🔥9
Но я прошу не понимать такое как “инженеров на вилы” и разделить заработанное ими по всем. Оставить систему с айтишниками надо так же, как сейчас. Работает - не трогай. Пока что.

Льготы надо давать не нуждающимся, а хорошим специалистам. Если и не нуждаются, то давать. Особенно врачам и учителям, может и в первую очередь им. А потом и айтишникам, на десятом месте. Нуждающимся придется отказать, пусть работающие будут уже их кормить, авось среди специалистов найдется, кто откроет бизнес.

К сожалению, нуждающиеся мало благодарят. Будь они благодарны, они бы не нуждались. А вот те, кто не нуждаются - благодарны. Они-то понимают, что им никто ничего не должен, оттого и возвращают другим подарком и большим усердием.

При дефиците кадров, сами специалисты и работадатели заинтересованы в привлечении новых людей. Вот они уже и будут думать про стимулы нуждающимся. У них отлично это получается и сейчас. Гуманитарная помощь по инициативе Маргулана Сейсембая это прекрасно показала. Да и прочие его инициативы тоже.

К сожалению базисный стимул сейчас не купить квартиру в Казахстане, а улететь зарубеж и там работать. Туда бы улетели и прочие специалисты (и они улетают, но не так массово), просто их специальность не настолько универсальная, которую можно применить везде. Языковой баръер им перейти труднее. К тому же везде нехватка айтишников, от этого и бешенный стимул на западе.

Либо государство и бизнеса могут подождать, пока айтишников не станет достаточно и дефицит спадет. Тогда и местные оставаться будут. Так как зарубежом стимул просто спадет вслед. Но от этого государству не лучше. Тогда страна получит ленивых и бестолковых айтишников. И будет хуже, чем сейчас, когда айтишники улетают.
🔥1
Беседа двух выпусников с Назарбаевского Университета: https://youtu.be/Au74IPbZhEc
Пришла мысль, что неплохо было бы писать в комментариях ссылки со stackoverflow или статей, откуда был подсмотрен внедренный в проект код. Хотя бы в сообщениях к коммиту. Вроде бы очевидно и логично, но так и нигде не встречал такой подход. Хотя это бы решало много проблем адаптаций, проще было бы вспоминать, о чем код, проще было бы проводить code review и предостерегало бы появлений багов при рефакторинге, как я вижу.
Слова не мальчика, а популиста

«Для сдерживания роста цен правительством используется так называемая «оборотная схема», проще говоря, льготное кредитование торговых сетей. На нее потратили 81 млрд тенге. На формирование стабилизационных фондов потрачено еще 16,8 млрд тенге. В сумме почти 100 млрд тенге. А эффекта нет, цены выросли. Лучше эти деньги раздать напрямую населению, а не торговым сетям. У нас почти 1 млн человек бедного населения. Они больше всех страдают от роста цен», - полагает мажилисмен Аманжан Жамалов.

Даже дети знают поговорку “дай голодному рыбу - ты накормишь его день, дай удочку - он накормит себя на всю жизнь.

Если просто раздать эти деньги нуждающимся, то цены только вырастут. Неужели история с ипотекой и снятием пенсионных сбережений никакому уроку не привело?

Вы знали, что у рыб не чувства сытости? Что они голодны всегда. Даже если их перекормить, они будут продолжать есть - пока не умрут. Самая частая смерть аквариумных рыб - переедание.

Нуждающиеся и бедные люди бедны не просто так. Возможностей заработать хватает, попробуйте спросить каждого успешного предпринимателя, или просто богатого человека.

Бедные люди бедны, потому что чаще всего они уж лучше руки себе отрежут, чем освоят профессию и дисциплинируют себя.

Есть исключения - инвалиды. Им нужно помогать, да. Это не их воля привела к этому, а злой рок.

А вот здоровый человек с руками и ногами может найти себе работу. Их хватает
Проблема DI и вообще модных технологий

В начале проекта бывает наймут менее компетентного, он реализует как попало, на него давят, он уходит, а потом все добро ложится на следующего разраба. И джуны удивляются, почему они никому не нужны, а хотят сразу мидла

В группе по Android разработке авторитетные люди, ачотакова в DI, и это плохой знак. С моей перспективы местный рынок не готов к DI. Это как первокласснику давать решать задачи седьмого класса

Когда опытные люди с пригретом креслом говорят, что DI хорошо, потому что во всем мире он есть, по отношению к джунам это звучит эгоистично. Когда они были джунами DI-то не был так популярен. И порог вхождения не был настолько высок

Потом эти же опытные скажут, что надо больше вкладываться, больше учить. А бизнесу от этого не легче. И джунам тоже. Это будет легче миддлам, которые хотят в зарубеж, потому что им-то хочется вписаться в стандарт, они долларов хотят. А то, что стандарт должен быть сопоставим местным условиям - а кому интересен местный рынок, когда 3 года опыта уже есть за плечами?

Потом скажут “учись! мысли абстрактно!”. Как в том приколе “если ты бездомный, просто купи дом”

С каждой новой технологией есть ответственность за эту технологию. Хорошо, если технология компактна и легко заменяема. И вот DI - не тот случай. Это гигант, путь в один конец, написав проект на одном из них, не перепишешь так легко. Хоть DI и помогает следовать SOLID, но сами реализации, особенно Dagger, толкают нарушать принцип Liskov. Класс, который хранит в себе инъекцию зависимости, не так-то просто взаимозаменять
Наглядный пример, как DI помешал проекту:

В одной крупной быстрорастущей компании с самыми щедрыми вилками в странн, имя которой я не хочу разглашать, пришел лид. Согласно с сеньорами в команде решил внедрить в проект Кодеин. Все было хорошо, но через год запуск приложения уже был 10 секунд.

Что же все проглядели? А все потому, что запуск замедлялся постепенно, по сотой доли милисекунды в день

Разрабы были опытные, минимум 3 года за плечами у всех

Тогда решили переписать на Коин. Стоило это немало крови. Вы пробовали переписывать с одного DI на другой проект, над которым трудились 20-30 разрабов целый год?

Тим-лида уволили и наняли нового

Проект стал работать быстрее, проблема медлительности ушла, но теперь народ обратил внимание на непонятные падения в рантайме

Вот тут пришлось опять, уже какой раз, переписать на Даггер. Потрачено не меньше сил, чем с предыдущего рефактора, релиз отложен, но надо отчитываться перед руководством

А Тим-лид новый ведь, ему теперь отвечать за прошлые решения. Видит он проект совсем иначе, чем предыдущий. Заставил перелопатить все, выкинул все лайвдаты, задал задачи переписать все с MVVM на MVP

Падения в рантайме кончились, но что дальше было, я не знаю, так как ушел

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

На тот момент у этой компании были самые щедрые вилки по стране, чтобы вы понимали. Крупная компания, могла бы лидером стать, самые опытные сюда из разных стран устраивались. А что же тогда в компаниях помельче бывает?

Не будь дикой текучки везде, я бы пропагандировал DI, если бы можно было поменять реализацию по щелчку, пропагандировал бы в 5 раз активней. Разработка сейчас происходит по принципу глухого телефона, каждый новый вносит свою лепту, в итоге изначальная задумка превратилась в нечто противоположное
Channel photo updated
Почему текущий способ собеседований в IT плох и как обучаться веселей?

Как разработчик, я интересовался изучением английского. Мне повезло случайно увидеть это видео, где девушка рассказывает про свой опыт, как стала полиглотом и какие есть приятные, а значит кратчайшие, пути обучению языку. Эти правила масштабируются и для обучения IT разработке, да и вообще обучению многим ремеслам. Так как язык - одно из самых ранних, чему мы обучаемся.

Я пометил для себя один способ обучения - 70% output, 30% input. Если упростить (что не самое хорошее решение), то нужно на 70% практики - 30% теории. И именно в этом порядке. Посмотрите и другие ее видео, там много чего полезно, да и на автора приятно смотреть, вам скорее понравится.

Наверное ключевая ошибка начинающих разработчиков - учить слишком много, читать слишком много. Конечно потреблять легче и проще. Но легче, не значит лучше. Мотивация появляется во время движения, чтение к сожалению мотивацию не дает, а скорее тормозит. Люди, которые прочитали тонны книги по мотивации не дадут мне соврать. Самые мотивированные люди - те, кто книги про мотивацию не читали. Иначе успешные люди бы их активно рекомендовали, чем писали бы сами.

Теория - подарок для вас. Вознаграждение. Обычно зарплату дают после работы, а не до. Тем более когда вы только устроились. После определенного количества опыта вам конечно могут дать аванс, но для этого нужна репутация.

Фокус на практике показывает, что вы щедры и готовы вкладываться, а именно это любят сильные мира сего. Ваша ориентация на боольшую практику показывает вас как благодарного.

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

К сожалению, стажеры и начинающие, вам будет не легко. Вас собеседуют пачками, поэтому выберут самого умного скорее всего в большинстве. Хотя самый эффективный способ обучения - знать меньше чем делать. Тут пока я не знаю, как эту проблему решить, конфликт знания и практики сильно обострился и разрыв только увеличивается.

Но я все равно буду рекомендовать практиковаться больше. Многие успешные разрабы, с которыми я работал, так делали, и в этом скорее всего секрет успеха. Знаний становится больше, технологий больше, все не выучишь, в универе такое вряд ли преподают. Увеличенный порог вхождения теперь ловушка для вас. Если найдете способ, как справиться проблемой, поделитесь пожалуйста условиями, которые у вас были.

Как найду лучший путь, поделюсь с вами.

Рекомендую и остальные видео этой девушки по ссылке. Хоть и не IT, на английский вам все равно понадобится.
А я пока поделюсь несколькими рекомендациями, как практика для обучения андроид разработке вам понравится самим.

Выберите для практики разработку такого приложения, которая вам нравится и знакомая. Но при этом не совсем сложная. Если вы любите сидеть в Инстаграмме, найдите видео, где создают клон Инстаграмма для андроида. Самое свежее. Например клон Ютьюба сделать сложнее, я его не рекомендую. Как и клон мессенджера. Список не составлю, тут много что индивидуально. Если оказалось, что вы выбрали сложное приложение для первой практики, значит вы неудачник и разработка не ваше, к сожалению без удачи тоже не обойтись.

Найдите знакомых, кто разработчик. И спрашивайте, как они начали путь к разработке. Повторить вам вряд ли получится, так как условия игры поменялись. Можете попробовать, если много времени. Но быть знакомым разработчика - хорошее подспорье. Общайтесь с ним вежливо, деликатно, делайте услуги. Пусть беседа с вами ему будет приятной, и скорее всего разраб вас сам приведет к разработке. Это означает, что нужно быть красивым. Не обязательно при этом сворачивать в отношения. Даже лучше не сворачивать. Красивым людям всегда помогают, какого пола вы не были, потому что красота - обещание наслаждения. И красота универсальна

Постарайтесь не учить чересчур много технологий. Например забудьте про DI и про реактивность. Еще вам не нужно знать SOLID, Clean, DRY, KISS, да даже ООП. Даже вредно знать в начале обучения. Все равно не поймете скорей всего. Вот когда уже устроитесь и проработаете какое-то время, то да, нужно уже знать, потому что работа подразумевают большую практику. Постарайтесь как можно быстрее живое, приятное приложение родить, дальше ваш “ребенок” уже будет вас мотивировать учебе.

Не бойтесь копировать. А еще лучше, полюбите копировать. Что вы можете знать? Мимикрируйте и копируйте, не надо возомнить себя умным, в начале пути мы все тупые. А если умные, значит мы тупые, которые ошибаются о своих возможностях, что еще хуже. Значит вы будете проходить 5 стадий принятия.
Вопрос. Если вы ответите на него, у вас большой шанс хорошему обучению в разработке.

Если у вас знакомый разработчик, как нужно ему задать вопрос, чтобы его ответ помог чам и ему хотелось помочь? Подсказка: тут можно применить технику 70% output и 30% input
Если хотите больший шанс ответа на свой вопрос, то спрашивать вы должны маленькую деталь. По-хорошему - помочь выбрать из нескольких вариантов.

Например, плохой вопрос “какую библиотеку можно использовать для показа картинок?”

Лучше вопрос будет “я нашел, что для показа картинок используется Glide, Picasso и Coil, в моем случае (нужно описать случай), что мне больше поможет?”
“Не хочу проторчать большую часть жизни в офисе”

Вот такой утверждение я часто слышал, как будто офисная работа - тюрьма, а не путь к свободе. Когда люди говорят так про офис, они почему-то сравнивают с отдыхом на Бали или другом курортном офисе с кокосом в руках, попивая сок в трубочке.

Но никто не хочет сравнивать работу в офисе с бездельным лежанием на диване, скролля инстаграм в поиске смешного мема, без желания даже приготовить себе еду.

Обычно человек не может позволить себе жизнь на курорте. Если посмотреть с перспективы, что курорт недоступен для вас, то офис - благо. И чем раньше полюбить офис, тем лучше. Какое-никакое общение всегда лучше, чем без любого на диване.

Людей, кто может позволить курорт, но жалуется на офисную жизнь, вряд ли существует. Кто добровольно может пойти жить в тюрьму, когда хватает на жизнь на воле?

Раз уж вам большую часть жизни придется провести на работе и офисе, то не логично ли полюбить его? Зачем травить себя таким настроем каждый день, если это лучшее, что можете позволить себе?
Про двойную работу и боязнь переписывать

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

Написать код - мелочь. Затягивается не само написание кода, а размышление как написать его.

Сейчас я вижу проблему во многих местах в том, что в проектах реализация предлагается неоднозначная всегда. Например выбрать Dagger или Koin, Jetpack Compose или ViewBinding и так далее. Чем больше выбора тем больше замедляется разработка, так как сложность способствует большей свободе, чем больше свобод тем жаднее и требовательнее разраб к реализации.

Если работник битый час в размышлених как бы реализовать то или иное, и в будущем хочет сэкономить в переписи, то где-то он работает не так. Потому что нужно писать код так, чтобы переписывать было не так долго и болезненно
Про вступление в разработку

Замечаю интерес к разработке все растет и растет, школ по айти открываются как сорняки в запущенном огороде. Многим желающим не суждено стать мобильными разрабами, позвольте объяснить почему.

Вот мне сегодня написал знакомый, что у него интерес есть к мобилке, а навыков нет. Что значит у мобилки к нему интереса совсем нет. Потому что из навыков он упомянул, что знает только алгоритмы. И вот не знает, Флаттер стоит ли изучать, есть ли менторы. Хотя знаю, что проблема в основном не в менторах. Точнее, не только в них.

Желающие часто заходят с капризом в разработку. А разработка сейчас огого как капризная уже. Тем более собильная, там порог входа каждый год увеличивается.

Вот в знании этих капризов и закладывается, насколько вы могли бы стать разрабом.

К сожалению, существование большого каприза в мобильной разработке не означает, что этим капризам надо потакать.

Что это за такие капризы?

Вот спросите мобильного разраба: “а как стать андроид-разрабом?”. На что он ответит, покрутив пальцем у виска “ну это надо знать архитекчэ компоненты, солид, вьюмодели, корутины” и прочие непонятные названия, словно из состава освежителя воздуха прочитал.

И сейчас я поделюсь секретом, как заинтересовать мобильную разработку не потакая капризам мобильной разработки.
🔥3