хорошие писатели должны читать хорошие книги.
поэтому открываю тут такую рубрику разбирать топ контрибьюторов в гитхабе и их проекты.
на первом месте сеульский прогер, который упростил многим жизнь библиотекой then
я честно нелюбитель ни scope фукций котлина. ни подобных самописных расширений в свифт и особого профита в них не вижу.
может у кого-то есть комментарии чем они полезны. интересно узнать почему же либа в топе гитхаба
поэтому открываю тут такую рубрику разбирать топ контрибьюторов в гитхабе и их проекты.
на первом месте сеульский прогер, который упростил многим жизнь библиотекой then
я честно нелюбитель ни scope фукций котлина. ни подобных самописных расширений в свифт и особого профита в них не вижу.
может у кого-то есть комментарии чем они полезны. интересно узнать почему же либа в топе гитхаба
🔥2
3 часа в день
и все выходные на алгоритмы
Так полтора года
а я то думал часа в день хватит
https://dou.ua/lenta/articles/google-interview/
и все выходные на алгоритмы
Так полтора года
а я то думал часа в день хватит
https://dou.ua/lenta/articles/google-interview/
DOU
Как попасть в Google: инструкция по подготовке
Сергей Сема работал вендором в Google и поставил себе цель получить оффер от Google или Facebook, а еще лучше от обоих. С первого дня, когда он начал подготовку, до момента, когда получил оффер от Google, прошел 1 год и 5 месяцев.
👍5🔥2
по поводу подготовки
"думай как математик" одна из полезнеших книг по самообразованию вообще. да, я так считаю.
она дала пищу для размышлений + много инструментов, ментальных моделей, которые полезны не только для решения задачек. но и для творческих индустрий
Выжимка:
- усердие важно, но не пересидите
- самые сложные задачи решаются интуицией. не стоит сидеть на месте и ждать решения
- медленное решение задач — не приговор
- учитесь не замечать токсичную критику
- имейте свою точку зрения
https://www.ozon.ru/product/dumay-kak-matematik-kak-reshat-lyubye-zadachi-bystree-i-effektivnee-oakli-barbara-254359820/?sh=blZTywAAAA
"думай как математик" одна из полезнеших книг по самообразованию вообще. да, я так считаю.
она дала пищу для размышлений + много инструментов, ментальных моделей, которые полезны не только для решения задачек. но и для творческих индустрий
Выжимка:
- усердие важно, но не пересидите
- самые сложные задачи решаются интуицией. не стоит сидеть на месте и ждать решения
- медленное решение задач — не приговор
- учитесь не замечать токсичную критику
- имейте свою точку зрения
https://www.ozon.ru/product/dumay-kak-matematik-kak-reshat-lyubye-zadachi-bystree-i-effektivnee-oakli-barbara-254359820/?sh=blZTywAAAA
OZON
Думай как математик: Как решать любые задачи быстрее и эффективнее | Оакли Барбара купить на OZON по низкой цене (254359820)
Думай как математик: Как решать любые задачи быстрее и эффективнее | Оакли Барбара – покупайте на OZON по выгодным ценам! Быстрая и бесплатная доставка, большой ассортимент, бонусы, рассрочка и кэшбэк. Распродажи, скидки и акции. Реальные отзывы покупателей.…
🔥12
Forwarded from Mobile Development by AppTractor
#ЦифраДня: В своем новом рейтинге лучшей работы Glassdoor поставил Enterprise Architect на первое место в США и Java Developer на первое место в Великобритании. Интересная аномалия заключается в том, что, хотя Мобильный Инженер (Mobile Engineer) занимает 12-е место в Великобритании, эта работа даже не входит в число 50 лучших в США. Это может быть связано с относительно низкой заработной платой или с оценкой удовлетворенности менее 4 из 5.
😢8😱1
Оцените вашу удовлетворенность индустрией
Anonymous Poll
16%
Все идеально
75%
Ну есть че улучшить
8%
Такое себе. Задумываюсь уйти
0%
Решил точно уйти
2%
Все ужасно
Forwarded from Product Developer
Продукт vs проект, и в чем разница для разработчика.
Представим проект по постройке дома на заказ. Есть чертежи, есть план работ, сроки. Всё посчитано, всё оптимально. Берешь ресурсы, делаешь по плану, в срок сдаешь дом. Звучит просто.
На деле все проекты едут по срокам, а дом в итоге получается не совсем таким, как его задумывали. И когда дом сдадут, внезапно окажется, что по соседству построили дом для сдачи в аренду посуточно, и там каждый вечер тусовки. Это я веду к тому, что за время проекта может произойти столько всего, что по итогу результат проекта может быть уже никому не нужен.
В продуктовом подходе сначала быстро делают бытовку и в ней сразу начинают жить. Потом, если оказывается что жить здесь можно, бытовку начинают перестраивать. В новой версии учитывают специфику местности. Например, добавляют теплоизоляцию и отопление. И так итерациями улучшают, делая более подходящим под изменяющиеся условия. Если рядом построили дом с вечеринками, можно добавить нашему дому шумоизоляции в новой версии.
Что это значит для разработчика?
В проекте есть начало и конец. Обычно стараются пилить проект одной командой от начала и до конца. Редко донабирают разрабов в середине. Это значит, что в большинстве случаев это green field, возможность начать с нуля, спроектировать красивую архитектуру и заложить инженерные практики, которые сберегут время в конце проекта, когда сроки будут гореть. Ну а если что-то не совсем правильно спроектировали, то часто выбирают вариант не переделывать, а довести проект до конца и переключиться на следующий.
В продукт постоянно приходят новые разработчики и уходят старые. Ротация кадров для продукта — нормальное явление. Приходя в продукт, надо быть готовым иметь дело с легаси. Потому что оно приносит деньги. И нужно уметь дорабатывать легаси и строить рядом с ним новые направления. И при построении чего-то нового нужно уметь заложить архитектуру и инженерные практики такие, чтобы не испытывать проблем, когда это станет легаси. У продукта нет конца как у проекта, поэтому разработчики имеют дело со своим же легаси через год-два-пять.
Поэтому в продукте так важно «правило бойскаута»:
Представим проект по постройке дома на заказ. Есть чертежи, есть план работ, сроки. Всё посчитано, всё оптимально. Берешь ресурсы, делаешь по плану, в срок сдаешь дом. Звучит просто.
На деле все проекты едут по срокам, а дом в итоге получается не совсем таким, как его задумывали. И когда дом сдадут, внезапно окажется, что по соседству построили дом для сдачи в аренду посуточно, и там каждый вечер тусовки. Это я веду к тому, что за время проекта может произойти столько всего, что по итогу результат проекта может быть уже никому не нужен.
В продуктовом подходе сначала быстро делают бытовку и в ней сразу начинают жить. Потом, если оказывается что жить здесь можно, бытовку начинают перестраивать. В новой версии учитывают специфику местности. Например, добавляют теплоизоляцию и отопление. И так итерациями улучшают, делая более подходящим под изменяющиеся условия. Если рядом построили дом с вечеринками, можно добавить нашему дому шумоизоляции в новой версии.
Что это значит для разработчика?
В проекте есть начало и конец. Обычно стараются пилить проект одной командой от начала и до конца. Редко донабирают разрабов в середине. Это значит, что в большинстве случаев это green field, возможность начать с нуля, спроектировать красивую архитектуру и заложить инженерные практики, которые сберегут время в конце проекта, когда сроки будут гореть. Ну а если что-то не совсем правильно спроектировали, то часто выбирают вариант не переделывать, а довести проект до конца и переключиться на следующий.
В продукт постоянно приходят новые разработчики и уходят старые. Ротация кадров для продукта — нормальное явление. Приходя в продукт, надо быть готовым иметь дело с легаси. Потому что оно приносит деньги. И нужно уметь дорабатывать легаси и строить рядом с ним новые направления. И при построении чего-то нового нужно уметь заложить архитектуру и инженерные практики такие, чтобы не испытывать проблем, когда это станет легаси. У продукта нет конца как у проекта, поэтому разработчики имеют дело со своим же легаси через год-два-пять.
Поэтому в продукте так важно «правило бойскаута»:
«оставь место стоянки чище, чем оно было до твоего прихода». Чистка не обязательно должна быть глобальной, достаточно почистить хотя бы небольшой кусок кода, режущий глаз.
© Роберт Мартинсегодня приснился сон как я работал в нетфликсе (моя компания мечты). поэтому проснувшись я немного причесал свой старый репо с задачами из литкода + сортировки + дата структуры + функции высшего порядка
буду ежедневно пушить туда решения всякие.
road to escape from russia
(скоро сделаю еще по систем дизайну репозиторий)
https://github.com/levabond/Algorithms
буду ежедневно пушить туда решения всякие.
road to escape from russia
(скоро сделаю еще по систем дизайну репозиторий)
https://github.com/levabond/Algorithms
GitHub
GitHub - levabond/Algorithms
Contribute to levabond/Algorithms development by creating an account on GitHub.
👍12🔥3
очень часто встречаю ребят, кто за 6-8 месяцев концептуально и теоретически понимают много крутых вещей, чего не понимали и разрабы с несколькими годами опыта
но программирование — это еще и навыки. помимо знаний языка нужно уметь работать с задачами. оценивать их, доводить до конца, договориваться с коллегами, проходить кодревью, работать с легаси и решать мердж конфликты 🙂
истории замечательные, но не забывайте о продакшен опыте
https://www.youtube.com/watch?v=y-i445LN8Kg
но программирование — это еще и навыки. помимо знаний языка нужно уметь работать с задачами. оценивать их, доводить до конца, договориваться с коллегами, проходить кодревью, работать с легаси и решать мердж конфликты 🙂
истории замечательные, но не забывайте о продакшен опыте
https://www.youtube.com/watch?v=y-i445LN8Kg
YouTube
Как я стал iOS-разработчиком за 8 месяцев // Как стать программистом
В этом видео я рассказал свою историю того, как я переучивался на мобильного разработчика. Оно подойдет для тех, кто ищет мотивации для того, чтобы стать программистом в 2022 году. Особенно полезным оно будет именно для iOS-разработчиков, но подойдет и программистам…
👍2👎1
с бинарного поиска начинаются почти все книги по алгоритмам. но иногда встречал вопрос, а где же его использовать его на практике?
Допустим, в очередной раз приходит менеджер с великолепной таской. Задача: найти быстро загаданное клиентом число. Вы почесав голову спрашиваете "число больше n?". И дальше по понятному многим сценарию. Вместо перечисления каждого числа по-очереди мы делим отсортированный порядок на 2 части и отсекаем лишнее
https://leetcode.com/explore/learn/card/binary-search/
Допустим, в очередной раз приходит менеджер с великолепной таской. Задача: найти быстро загаданное клиентом число. Вы почесав голову спрашиваете "число больше n?". И дальше по понятному многим сценарию. Вместо перечисления каждого числа по-очереди мы делим отсортированный порядок на 2 части и отсекаем лишнее
https://leetcode.com/explore/learn/card/binary-search/
Leetcode
Explore - LeetCode
LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore.
🔥3
но одна из самых интересных задач в бинарном поиске — это поиск в развернутом массиве. На литкоде эта задача сложности медиум. Я не смог решить за час и пошел искать решения в ютубе.
поэтому лучше приступать к ней после уверенного решения хотяб пары изи
поэтому лучше приступать к ней после уверенного решения хотяб пары изи
🔥2
кстати, тоже одна из практических задач с бинарным поиском — поиск первой невалидной версии апи
тоже не про мобилку, но попробую связать алгоритмы + теорию принятий решений
для меня решение литкод задач — это такой сборник специфичных кейсов. к ним лучше приходить, когда вы уже можете проходить на условного мидла на рынке:
- имеете от года опыта в продакшене
- сделали пару модулей сами
- разбираетесь с архитектурами
- понимаете язык и умеете синтезировать на нем код
вот наверное только с этого момента лучше изучать алгоритмы и нарабатывать базу решений. здесь они добавят вам сознательности, которая пока на нашем рынке не так ценится, как быстрое решение задач
https://www.youtube.com/watch?v=hfwIhCNDj6k
для меня решение литкод задач — это такой сборник специфичных кейсов. к ним лучше приходить, когда вы уже можете проходить на условного мидла на рынке:
- имеете от года опыта в продакшене
- сделали пару модулей сами
- разбираетесь с архитектурами
- понимаете язык и умеете синтезировать на нем код
вот наверное только с этого момента лучше изучать алгоритмы и нарабатывать базу решений. здесь они добавят вам сознательности, которая пока на нашем рынке не так ценится, как быстрое решение задач
https://www.youtube.com/watch?v=hfwIhCNDj6k
👎3👍1
О ритуалах и удаче
Когда я работал в мелких конторах, то видел тотальную неэффективность
Ритуальное соблюдение церемоний превращалось в перебор новых хайповых слов.
Стэндапы и планирования были ежедневными молитвами, которые не выполняли функцию. Это было слепым соблюдением догм священных писем, которые мало кто понимал.
Я буду просто это делать. И быть может создатель вознаградит меня удачей.
Формальное проведение таких церемонии ни к чему не приводило, а скорее просто забирало время.
Запихнуть как можно больше разных штук в каждый свободный слот. Но лишь чтобы казаться, а не быть.
Сохранить имидж передовой компании для рассказа на очередном совещании перед руководителем. Или оправдать свой внезапный успех, развеев слухи в удаче.
Бесспорно, это лучше бездействия. Любое действие увеличивает вероятность на успех. Но считаю, что в эпоху технических революций такой подход на бездумном избивании лбом пола приводил к засиживаниям на месте и травмам головы.
Когда я работал в мелких конторах, то видел тотальную неэффективность
Ритуальное соблюдение церемоний превращалось в перебор новых хайповых слов.
Стэндапы и планирования были ежедневными молитвами, которые не выполняли функцию. Это было слепым соблюдением догм священных писем, которые мало кто понимал.
Я буду просто это делать. И быть может создатель вознаградит меня удачей.
Формальное проведение таких церемонии ни к чему не приводило, а скорее просто забирало время.
Запихнуть как можно больше разных штук в каждый свободный слот. Но лишь чтобы казаться, а не быть.
Сохранить имидж передовой компании для рассказа на очередном совещании перед руководителем. Или оправдать свой внезапный успех, развеев слухи в удаче.
Бесспорно, это лучше бездействия. Любое действие увеличивает вероятность на успех. Но считаю, что в эпоху технических революций такой подход на бездумном избивании лбом пола приводил к засиживаниям на месте и травмам головы.
Очень хорошая статья по параллелизму и многопоточке
https://betterprogramming.pub/the-complete-guide-to-concurrency-and-multithreading-in-ios-59c5606795ca
https://betterprogramming.pub/the-complete-guide-to-concurrency-and-multithreading-in-ios-59c5606795ca
Medium
The Complete Guide to Concurrency and Multithreading in iOS
Main thread vs. background thread. Async/await and Actor. GCD vs. OperationQueue. Group dispatch, how to empower background thread, and…
🔥3😱1
Forwarded from Teamlead Good Reads – ежедневные советы про менеджмент людей и команд (Egor Tolstoy)
Перфекционисты – это разработчики, которые ставят сами себе очень высокую планку стандартов качества и делают все, чтобы ей соответствовать. Тут две проблемы. Во-первых, в большинстве случаев этот перфекционизм излишний и негативно влияет на сроки. Во-вторых, в погоне за недостижимым идеалом разработчик-перфекционист довольно быстро может начать выгорать.
Шесть признаков перфекциониста:
- Страх провала
- Подход «все или ничего»
- Не умеет делегировать
- Часто прокрастинирует
- Слишком сильно сфокусирован на результате
- Тяжело принимает конструктивную критику
Подробный рассказ про эти шесть признаков и подходы к управлению такими людьми
Шесть признаков перфекциониста:
- Страх провала
- Подход «все или ничего»
- Не умеет делегировать
- Часто прокрастинирует
- Слишком сильно сфокусирован на результате
- Тяжело принимает конструктивную критику
Подробный рассказ про эти шесть признаков и подходы к управлению такими людьми
Fellow
8 Tactics to Help Manage Perfectionists at Work
What does a perfectionist look like at work, and how can you support them? Here are 8 strategies to help you manage them!
👍7
заметил опять рынок поднялся...
иос разработка в топ 2 по средней оплате хабра (да да верим)
неужели опять резюме обновлять? 😄
https://habr.com/ru/company/gms/blog/651919/
иос разработка в топ 2 по средней оплате хабра (да да верим)
неужели опять резюме обновлять? 😄
https://habr.com/ru/company/gms/blog/651919/
Хабр
IT-фирмы в отчаянии из-за нехватки сотрудников. Бонусы выходят на новый уровень
Если вы еще не слышали, компании сейчас столкнулись с нехваткой сотрудников, и отчаянно пытаются нанять разработчиков (или хотя бы их не потерять). Меры встречаются беспрецедентные: некоторые...
кек.
не знал, что NSObject уже подписан к Hashable протоколу
https://stevenpcurtis.medium.com/why-do-we-ever-need-to-inherit-from-nsobject-b4ec111a58c7
не знал, что NSObject уже подписан к Hashable протоколу
https://stevenpcurtis.medium.com/why-do-we-ever-need-to-inherit-from-nsobject-b4ec111a58c7
Medium
Why do we ever need to inherit from NSObject?
Not just for Objective-C Programmers