Измерение производительности разработчиков? Ответ McKinsey
Консалтинговый гигант разработал методику, которая, по его утверждению, позволяет измерить производительность труда разработчиков программного обеспечения. Однако за такое измерение приходится платить высокую цену, и мы предлагаем более разумный подход.
Статья: https://newsletter.pragmaticengineer.com/p/measuring-developer-productivity
Консалтинговый гигант разработал методику, которая, по его утверждению, позволяет измерить производительность труда разработчиков программного обеспечения. Однако за такое измерение приходится платить высокую цену, и мы предлагаем более разумный подход.
Статья: https://newsletter.pragmaticengineer.com/p/measuring-developer-productivity
Pragmaticengineer
Measuring developer productivity? A response to McKinsey
The consulting firm came up with a methodology they claim can measure software developer productivity. But that measurement comes at a high price – and we offer a more sensible approach.
Переполнение буфера в Notepad++
4 месяца - так и не пофиксили.
Новость: https://securitylab.github.com/advisories/GHSL-2023-092_Notepad__/
4 месяца - так и не пофиксили.
Новость: https://securitylab.github.com/advisories/GHSL-2023-092_Notepad__/
GitHub Security Lab
GHSL-2023-112, GHSL-2023-102, GHSL-2023-103, GHSL-2023-092: Buffer Overflows in Notepad++ - CVE-2023-40031, CVE-2023-40036, CVE…
Multiple memory safety violations in Notepad++ opening a crafted file.
Не дадим Windows Phone умереть! Как я написал свои клиенты VK, YouTube для Nokia Lumia
Сегодня вы узнаете о моей мотивации привносить жизнь старым смартфонам, о тонкостях разработки мобильных приложений, чем Windiows Phone был на голову выше Android в техническом плане и о том, почему провал Windows Phone — одна из самых больших потерь мобильного рынка. Интересно?
Статья: https://habr.com/ru/companies/timeweb/articles/757050/
Сегодня вы узнаете о моей мотивации привносить жизнь старым смартфонам, о тонкостях разработки мобильных приложений, чем Windiows Phone был на голову выше Android в техническом плане и о том, почему провал Windows Phone — одна из самых больших потерь мобильного рынка. Интересно?
Статья: https://habr.com/ru/companies/timeweb/articles/757050/
😁1
Как пройти кодинг-интервью со мной
За последние 10 лет я провел более 400 кодинг-интервью. Это эквивалентно двум рабочим месяцам, в течение которых я наблюдаю за тем, как незнакомые люди пытаются решить одну и ту же горстку задач по программированию. Некоторые из моих потенциальных коллег решают эти задачи без проблем, но у других возникают проблемы по схожим, легко устранимым причинам. Я хотел бы дать им более качественную обратную связь, но из-за юридических и временных ограничений система так не работает.
Поэтому вместо индивидуального совета я написал эту шпаргалку, содержащую 22 совета о том, как пройти собеседование по программированию со мной. Эти советы не заменят мастерства и практики, но они помогут вам успокоить нервы, избежать глупых ошибок и продемонстрировать максимум своих возможностей. Большинство советов легко выполнимы, а их совокупность позволит увеличить количество пройденных собеседований.
Статья: https://robertheaton.com/interview/
За последние 10 лет я провел более 400 кодинг-интервью. Это эквивалентно двум рабочим месяцам, в течение которых я наблюдаю за тем, как незнакомые люди пытаются решить одну и ту же горстку задач по программированию. Некоторые из моих потенциальных коллег решают эти задачи без проблем, но у других возникают проблемы по схожим, легко устранимым причинам. Я хотел бы дать им более качественную обратную связь, но из-за юридических и временных ограничений система так не работает.
Поэтому вместо индивидуального совета я написал эту шпаргалку, содержащую 22 совета о том, как пройти собеседование по программированию со мной. Эти советы не заменят мастерства и практики, но они помогут вам успокоить нервы, избежать глупых ошибок и продемонстрировать максимум своих возможностей. Большинство советов легко выполнимы, а их совокупность позволит увеличить количество пройденных собеседований.
Статья: https://robertheaton.com/interview/
Поставьте 👍, если хотите эту статью на русском
👍10
Как популярность DOS/4GW помогла играм в Windows 95
В начале 1990-х самым популярным расширителем DOS был DOS/4GW. Во время разработки Windows 95 я очень много времени тратил на решение задачи совместимости с играми под MS-DOS, поэтому видел много баннеров расширителей DOS, и чаще всего это был DOS/4GW.
Вы можете задаться вопросом: «Как эти игры вообще запускались в Windows 95, если они поставлялись с расширителем DOS? Разве расширитель не пытался бы безуспешно перейти в защищённый режим, потому что Windows уже управляла защищённым режимом?»
Хитрость заключалась в том. что эти расширители нас самом деле были двумя связанными друг с другом программами. Одна использовалась как сервер защищённого режима, а другая была клиентской библиотекой защищённого режима.
Статья: https://habr.com/ru/articles/758116/
В начале 1990-х самым популярным расширителем DOS был DOS/4GW. Во время разработки Windows 95 я очень много времени тратил на решение задачи совместимости с играми под MS-DOS, поэтому видел много баннеров расширителей DOS, и чаще всего это был DOS/4GW.
Вы можете задаться вопросом: «Как эти игры вообще запускались в Windows 95, если они поставлялись с расширителем DOS? Разве расширитель не пытался бы безуспешно перейти в защищённый режим, потому что Windows уже управляла защищённым режимом?»
Хитрость заключалась в том. что эти расширители нас самом деле были двумя связанными друг с другом программами. Одна использовалась как сервер защищённого режима, а другая была клиентской библиотекой защищённого режима.
Статья: https://habr.com/ru/articles/758116/
❤1
IT Insights
Как пройти кодинг-интервью со мной За последние 10 лет я провел более 400 кодинг-интервью. Это эквивалентно двум рабочим месяцам, в течение которых я наблюдаю за тем, как незнакомые люди пытаются решить одну и ту же горстку задач по программированию. Некоторые…
Перевод: Как пройти кодинг интервью со мной
Перед собеседованием
1. Если вы предварительно изучаете вопрос в Google, удалите следы этого
2. Сделайте базовую программу и убедитесь, что вы можете ее запустить
Представление
3. Сократите личное вступление
4. Спросите, сколько времени у вас есть для ответа на вопрос
Когда вы получаете задачу
5. Кратко переформулируйте вопрос
6. Задайте пару уточняющих вопросов
7. Спросите, как вас оценивают
8. Набросайте решение, которое работает, по крайней мере, для базового случая
Отладка
9. Часто запускайте свой код
10. Используйте гипотезы для отладки
11. Распространенные тривиальные ошибки
12. Просьба о помощи
Разговор
13. Не ругайте языки, библиотеки и вообще что-либо
14. Говорите так много, как только можете
Написание кода
15. Не определяйте много функций или классов, если вы не уверены, что это хорошая идея
16. Используйте TODO
Тестирование
17. Написание тестов
18. Не используйте фреймворк для тестирования, если это не требуется или если вы не уверены в нем
19. Если тест пройден, выведите pass
20. Если все тесты проходят с первого раза, попробуйте сделать так, чтобы они не прошли
21. Не занимайтесь TDD в полной мере, если только вы не считаете его действительно полезным
22. Сохраняйте свои тесты
Статья: https://apptractor.ru/info/articles/kak-proyti-koding-intervyu-so-mnoy.html
Перед собеседованием
1. Если вы предварительно изучаете вопрос в Google, удалите следы этого
2. Сделайте базовую программу и убедитесь, что вы можете ее запустить
Представление
3. Сократите личное вступление
4. Спросите, сколько времени у вас есть для ответа на вопрос
Когда вы получаете задачу
5. Кратко переформулируйте вопрос
6. Задайте пару уточняющих вопросов
7. Спросите, как вас оценивают
8. Набросайте решение, которое работает, по крайней мере, для базового случая
Отладка
9. Часто запускайте свой код
10. Используйте гипотезы для отладки
11. Распространенные тривиальные ошибки
12. Просьба о помощи
Разговор
13. Не ругайте языки, библиотеки и вообще что-либо
14. Говорите так много, как только можете
Написание кода
15. Не определяйте много функций или классов, если вы не уверены, что это хорошая идея
16. Используйте TODO
Тестирование
17. Написание тестов
18. Не используйте фреймворк для тестирования, если это не требуется или если вы не уверены в нем
19. Если тест пройден, выведите pass
20. Если все тесты проходят с первого раза, попробуйте сделать так, чтобы они не прошли
21. Не занимайтесь TDD в полной мере, если только вы не считаете его действительно полезным
22. Сохраняйте свои тесты
Статья: https://apptractor.ru/info/articles/kak-proyti-koding-intervyu-so-mnoy.html
Самый плохой программист, которого я знаю
В измерении продуктивности разработчиков хорошо то, что можно быстро выявлять плохих программистов. Я хочу рассказать вам о самом плохом программисте, которого я знаю, и о том, почему я сражался за то, чтобы его оставили в команде.
Статья: https://habr.com/ru/articles/758596/
В измерении продуктивности разработчиков хорошо то, что можно быстро выявлять плохих программистов. Я хочу рассказать вам о самом плохом программисте, которого я знаю, и о том, почему я сражался за то, чтобы его оставили в команде.
Статья: https://habr.com/ru/articles/758596/
👍2
Кривые Безье
Я постоянно использовал кривые Безье в моей карьере фронтенд-инженера - в анимации и SVG-иллюстрациях и иконках. Однако только недавно я заинтересовался пониманием логики, лежащей в основе их поведения. Эта статья раскрыла для меня тайны, связанные с кривыми, и дала более глубокое понимание анимации. В этой статье я поделюсь своими интересными открытиями в области кривых Безье.
Статья: https://blog.richardekwonye.com/bezier-curves
Я постоянно использовал кривые Безье в моей карьере фронтенд-инженера - в анимации и SVG-иллюстрациях и иконках. Однако только недавно я заинтересовался пониманием логики, лежащей в основе их поведения. Эта статья раскрыла для меня тайны, связанные с кривыми, и дала более глубокое понимание анимации. В этой статье я поделюсь своими интересными открытиями в области кривых Безье.
Статья: https://blog.richardekwonye.com/bezier-curves
Как выглядят собеседования сейчас
Времена меняются, меняется it-индустрия. Крупные it-игроки ушли, с ними ушли стандарты, топовые специалисты и рабочие места. Соотношение вакансий и резюме удручает, всё выглядит как конкурс на бюджетные места в топовых вузах.
Статья: https://habr.com/ru/articles/758838/
Времена меняются, меняется it-индустрия. Крупные it-игроки ушли, с ними ушли стандарты, топовые специалисты и рабочие места. Соотношение вакансий и резюме удручает, всё выглядит как конкурс на бюджетные места в топовых вузах.
Статья: https://habr.com/ru/articles/758838/
От озорничания в браузерах до босса бэкенда: выиграет ли WASM веб-войну?
Если сложить все вместе, то, на мой взгляд, WASM наконец-то сможет реализовать свой потенциал. От идй разработчиков до производственного кода еще много шагов. Но кирпичики для создания практического WASI бэкенда уже закладываются. К 2025 году мы узнаем, действительно ли WASM окажется будущим для разработки софта для бэкенда.
Статья: https://www.theregister.com/2023/09/01/web_assembly_wasm_column/?
Если сложить все вместе, то, на мой взгляд, WASM наконец-то сможет реализовать свой потенциал. От идй разработчиков до производственного кода еще много шагов. Но кирпичики для создания практического WASI бэкенда уже закладываются. К 2025 году мы узнаем, действительно ли WASM окажется будущим для разработки софта для бэкенда.
Статья: https://www.theregister.com/2023/09/01/web_assembly_wasm_column/?
The Register
From browser brat to backend boss: Will WASM win the web wars?
WebAssembly is getting a lot of hype, but is it the game-changer some think it is?
Кстати: Что такое WASM (WebAssembly)
WASM — это аббревиатура от WebAssembly, что можно перевести как «веб-асемблер». WebAssembly — это бинарный формат исполняемого кода, который разработан для выполнения в веб-браузерах. Он представляет собой низкоуровневое бинарное представление программного кода, который может выполняться в виртуальной машине, встроенной в браузеры.
Статья: https://apptractor.ru/info/articles/wasm.html
WASM — это аббревиатура от WebAssembly, что можно перевести как «веб-асемблер». WebAssembly — это бинарный формат исполняемого кода, который разработан для выполнения в веб-браузерах. Он представляет собой низкоуровневое бинарное представление программного кода, который может выполняться в виртуальной машине, встроенной в браузеры.
Статья: https://apptractor.ru/info/articles/wasm.html
11 типов токсичных Pull-запросов (по данным 4.5 млн веток)
В мире разработки программного обеспечения пул-реквесты являются основой сотрудничества между многими инженерными командами. Однако, несмотря на то, что PR играют ключевую роль в обеспечении качества кода и стимулировании коллективного вклада, они также стали основным "узким местом" в рабочих процессах разработчиков.
Статья: https://devinterrupted.substack.com/p/the-11-types-of-toxic-pull-requests
В мире разработки программного обеспечения пул-реквесты являются основой сотрудничества между многими инженерными командами. Однако, несмотря на то, что PR играют ключевую роль в обеспечении качества кода и стимулировании коллективного вклада, они также стали основным "узким местом" в рабочих процессах разработчиков.
Статья: https://devinterrupted.substack.com/p/the-11-types-of-toxic-pull-requests
❤1
Textbase
Textbase - это простой фреймворк для создания чат-ботов с искусственным интеллектом.
GitHub: https://github.com/cofactoryai/textbase
Сайт: https://www.textbase.ai/
Textbase - это простой фреймворк для создания чат-ботов с искусственным интеллектом.
GitHub: https://github.com/cofactoryai/textbase
Сайт: https://www.textbase.ai/
Две стратегии скриншот-тестирования в мобильных проектах
Инвестирование в скриншот-тесты (в первую очередь через дизайн-систему) позволяет проекту ловить больше визуальных регрессий в наборе тестов при одновременном сокращении количества интеграционных тестов в долгосрочной перспективе.
Статья: https://apptractor.ru/info/articles/dve-strategii-skrinshot-testirovaniya-v-mobilnyh-proektah.html
Инвестирование в скриншот-тесты (в первую очередь через дизайн-систему) позволяет проекту ловить больше визуальных регрессий в наборе тестов при одновременном сокращении количества интеграционных тестов в долгосрочной перспективе.
Статья: https://apptractor.ru/info/articles/dve-strategii-skrinshot-testirovaniya-v-mobilnyh-proektah.html
Если вы можете использовать открытый исходный код, вы можете создавать аппаратное обеспечение
Я с детства мечтал собирать свою собственную электронику. Я проводил много времени в магазине Radio Shack и даже иногда пробовал свои силы в создании устрйоств, но с ограниченным успехом. Каждые несколько лет во взрослой жизни я пробовал сделать это еще раз, наблюдая устойчивую тенденцию к снижению сложности.
Я говорю вам: сейчас мы переживаем особый момент. Экономия трудозатрат при использовании открытого исходного кода, композитность, увлекательность - все это пришло в аппаратное обеспечение. Вы можете создавать вещи, которые решают реальные проблемы. Впервые я подумал об устройстве управления тепловым насосом более года назад, и с тех пор каждый день расстраивался, что его не существует.
Теперь мои мечты стали реальностью, и самый большой потребитель энергии в доме может быть автоматизирован и управляться дистанционно.
Это потрясающе.
Статья: https://redeem-tomorrow.com/if-you-can-use-open-source-you-can-build-hardware
Я с детства мечтал собирать свою собственную электронику. Я проводил много времени в магазине Radio Shack и даже иногда пробовал свои силы в создании устрйоств, но с ограниченным успехом. Каждые несколько лет во взрослой жизни я пробовал сделать это еще раз, наблюдая устойчивую тенденцию к снижению сложности.
Я говорю вам: сейчас мы переживаем особый момент. Экономия трудозатрат при использовании открытого исходного кода, композитность, увлекательность - все это пришло в аппаратное обеспечение. Вы можете создавать вещи, которые решают реальные проблемы. Впервые я подумал об устройстве управления тепловым насосом более года назад, и с тех пор каждый день расстраивался, что его не существует.
Теперь мои мечты стали реальностью, и самый большой потребитель энергии в доме может быть автоматизирован и управляться дистанционно.
Это потрясающе.
Статья: https://redeem-tomorrow.com/if-you-can-use-open-source-you-can-build-hardware
Бот-сказочник, или как генерировать истории с помощью ChatGPT и Telegram
Представьте, что вам нужно написать художественный роман. У вас есть ключевые идеи, продуманы основные повороты событий, но нет возможности объединить все в одну историю.
Кажется, что написать захватывающую историю просто. Появилась идея — запиши, пришла новая мысль — запиши ее тоже. Потом добавь деталей и эмоций — и готово. Но это иногда последний пункт забирает больше всего времени.
Такая же проблема может встретиться, например, если нужно написать пост или оформить описание рабочего проекта. Если вам это знакомо, то просто автоматизируйте процесс. Можно написать специального бота, который будет из тезисов генерировать цельную историю с помощью ChatGPT, а после — записывать в Notion. Реализовать такой проект и задеплоить его на сервер несложно — посмотрим, как это сделать.
Статья: https://habr.com/ru/companies/selectel/articles/757924/
Представьте, что вам нужно написать художественный роман. У вас есть ключевые идеи, продуманы основные повороты событий, но нет возможности объединить все в одну историю.
Кажется, что написать захватывающую историю просто. Появилась идея — запиши, пришла новая мысль — запиши ее тоже. Потом добавь деталей и эмоций — и готово. Но это иногда последний пункт забирает больше всего времени.
Такая же проблема может встретиться, например, если нужно написать пост или оформить описание рабочего проекта. Если вам это знакомо, то просто автоматизируйте процесс. Можно написать специального бота, который будет из тезисов генерировать цельную историю с помощью ChatGPT, а после — записывать в Notion. Реализовать такой проект и задеплоить его на сервер несложно — посмотрим, как это сделать.
Статья: https://habr.com/ru/companies/selectel/articles/757924/
Хабр
Бот-сказочник, или как генерировать истории с помощью ChatGPT и Telegram
Представьте, что вам нужно написать художественный роман. У вас есть ключевые идеи, продуманы основные повороты событий, но нет возможности объединить все в одну историю. Кажется, что написать...
👍1
Как создать корпоративное LLM-приложение: Уроки GitHub Copilot
На разработку GitHub Copilot у нас ушло три года, прежде чем мы официально представили его широкой публике. Чтобы перейти от идеи к производству, мы следовали трем этапам - найти, применить, расширить - в общих чертах основываясь на концепции разработки предпринимательских продуктов "Nail It, Then Scale It".
Статья: https://github.blog/2023-09-06-how-to-build-an-enterprise-llm-application-lessons-from-github-copilot/
На разработку GitHub Copilot у нас ушло три года, прежде чем мы официально представили его широкой публике. Чтобы перейти от идеи к производству, мы следовали трем этапам - найти, применить, расширить - в общих чертах основываясь на концепции разработки предпринимательских продуктов "Nail It, Then Scale It".
Статья: https://github.blog/2023-09-06-how-to-build-an-enterprise-llm-application-lessons-from-github-copilot/
Каждый программный проект - это стартап, который, скорее всего, потерпит неудачу
Сегодня меня осенило. Возможно, большинство программных продуктов терпят неудачу. Не в том смысле, что "в конце концов они умирают после долгой и достойной жизни". А в том смысле, что они никогда не взлетают, не приживается, не приносят больше ценности, чем стоила их разработка.
Статья: https://muldoon.cloud/2023/09/06/software-keeps-failing.html
Сегодня меня осенило. Возможно, большинство программных продуктов терпят неудачу. Не в том смысле, что "в конце концов они умирают после долгой и достойной жизни". А в том смысле, что они никогда не взлетают, не приживается, не приносят больше ценности, чем стоила их разработка.
Статья: https://muldoon.cloud/2023/09/06/software-keeps-failing.html
The Other Mickey Wiki
Every Software Project is a Startup That Will Probably Fail
It dawned on me today. Maybe most software fails. Not in the sense that “it eventually dies after a long and respectable life.” In the sense that it never actually achieves flight, never catches on, never produces more value that it cost to develop.
Создание приложения Threads (инженерные задачи реального мира)
В неделю запуска приложение Threads скачали более 100 млн человек. Как команде инженеров удалось создать приложение и справиться с неожиданно интенсивным запуском?
Статья: https://newsletter.pragmaticengineer.com/p/building-the-threads-app
В неделю запуска приложение Threads скачали более 100 млн человек. Как команде инженеров удалось создать приложение и справиться с неожиданно интенсивным запуском?
Статья: https://newsletter.pragmaticengineer.com/p/building-the-threads-app
Как пройти собеседование на должность инженера-программиста в Big Tech - Справочник
Недавно я обсуждал с несколькими друзьями и коллегами вопросы проведения собеседований на должности инженеров-программистов, от начального до высшего уровня. Некоторые из них проходили собеседования только что, а другие спрашивали о том, как лучше проводить собеседования в целом.
Поэтому я решил, что вместо того, чтобы каждый раз копировать ресурсы и проводить одни и те же обсуждения, я должен написать статью, в которой изложу все общие советы, которые я бы им дал. Таким образом, в наших беседах 1:1 можно будет сосредоточиться на специфике их роли, компании и наборе навыков.
Статья: https://www.lambrospetrou.com/articles/big-tech-software-interviews/
Недавно я обсуждал с несколькими друзьями и коллегами вопросы проведения собеседований на должности инженеров-программистов, от начального до высшего уровня. Некоторые из них проходили собеседования только что, а другие спрашивали о том, как лучше проводить собеседования в целом.
Поэтому я решил, что вместо того, чтобы каждый раз копировать ресурсы и проводить одни и те же обсуждения, я должен написать статью, в которой изложу все общие советы, которые я бы им дал. Таким образом, в наших беседах 1:1 можно будет сосредоточиться на специфике их роли, компании и наборе навыков.
Статья: https://www.lambrospetrou.com/articles/big-tech-software-interviews/
Lambros Petrou personal website
How to pass the interview for software engineering roles in Big Tech | Lambros Petrou
Practical information and guidelines in how to prepare, and pass, the software engineering interviews in Big Tech companies.
👍1