Search
Write a publication
Pull to refresh
1
0

User

Send message

Остановись, мгновенье. Медленное программирование — тренд для уставших разработчиков

Reading time5 min
Views41K

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

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

Читать далее

Кого из двоих сделать тимлидом

Level of difficultyEasy
Reading time9 min
Views8K


Очень конкретная задача: мне нужно найти руководителя на важное направление.

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

Было сложно сравнить их между собой. Один был хорош в чём-то одном, другой — в чём-то другом.

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

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

Далеко не факт, что мой подход правильный или точный, но я бы хотел рассказать, что я понял в таких ситуациях.
Читать дальше →

Как ИТ-специалисту развить у себя умение работать в команде

Reading time7 min
Views5.6K

Умение работать в команде — один из самых востребованных навыков в разработке и не только. Без него не получится эффективно взаимодействовать с коллегами и достигать рабочих целей. Пару лет назад рекрутинговая компания Hays провела опрос, результаты которого показали, что умение работать в команде занимает первое место среди soft skills в списке требований работодателей — с учетом того, что 96% нанимателей признали гибкие навыки важнее технических.

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

Под катом разбираем, как ИТ-специалисту самостоятельно развить навык командной работы, и даем полезные рекомендации.

Читать далее

Нелояльный, немотивированный

Level of difficultyEasy
Reading time8 min
Views13K

Сотрудники должны быть лояльными и мотивированными — об этом знают все. Даже люди, далёкие от кадров, такие, как я. Насколько я слышал, существуют методы расчёта лояльности. Надеюсь, что они работают. По крайней мере должны.

Потому что мой опыт говорит об обратном.

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

Читать далее

Как самостоятельно прокачивать английский

Level of difficultyMedium
Reading time8 min
Views39K

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

Читать далее

Как использовать промты в ChatGPT для генерации кода на Python

Reading time2 min
Views56K

Привет, друзья! Сегодня я хочу рассказать вам о том, как использовать промты в ChatGPT для создания программного кода на Python. Если вы работаете с Python или интересуетесь программированием, то вы, наверняка, знаете, насколько важно уметь быстро и эффективно создавать код.

Для тех, кто не знаком с термином "промт", это специальные подсказки, обычно они выводятся в виде текста, который указывает правила для ответа ИИ.

Чатбот ChatGPT основан на искусственном интеллекте и способен генерировать текст на основе предыдущих входных данных, так же основан на copilot. Таким образом, мы можем использовать его для генерации промтов для создания кода на Python.

После множества экспериментов и ошибок, я нашел наиболее оптимальный промт для работы с ChatGPT, который позволяет мне полностью автоматизировать процесс разработки программы в соответствии с моим ТЗ. Сейчас я готов поделиться с вами своим опытом.

Читать далее

Фразы для собеседования: о проекте, работодателе и своих навыках

Level of difficultyEasy
Reading time4 min
Views2.8K

Составление резюме на английском — достаточно трудоемкий процесс, и здесь на помощь соискателю приходят онлайн конструкторы резюме. В февральской  статье на ресурсе tweaklibrary были предложены 9 лучших онлайн приложений («9 Best Resume Maker Apps For Android & iPhone») по мнению автора твика.

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

Читать далее

Отстаньте от разработчиков: не надо делать их руководителями просто ради грейда

Level of difficultyEasy
Reading time6 min
Views25K


Бич профессии — превращать самого опытного разработчика в плохого менеджера. Я видел ситуации, когда синьор перерастает команду и ему предлагают должность руководителя. Многие соглашались и становились несчастными. И ладно бы только они: страдает-то в итоге команда и компания.

Зачем они соглашаются? Во-первых, потому что они росли всегда и останавливаться страшно. Во-вторых — это часто единственная возможность повышения.

Что мы поменяли у себя в разработке Газпромбанка:

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

Куда можно расти? В хеда профессии — эксперта, к которому может обратиться каждый в компании. Это как Стив Возняк в Apple.

Как это ни странно, в развитой инженерной культуре такие «эксперты выше синьора» — норма. В России я встречал мало компаний с такими фичами, поэтому хочу поделиться практическим опытом того, что это даёт.
Читать дальше →

Новое исследование: Microsoft утверждает, что GPT-4 показывает «зачатки настоящего искусственного интеллекта»

Level of difficultyEasy
Reading time8 min
Views49K

На днях вышло большое исследование GPT-4 от Майкрософта — они несколько месяцев пытались разобраться, почему простой трансформер текста на таких больших объемах показывает признаки настоящего интеллекта. Как получается, что GPT-4 делает неожиданные логические выводы, демонстрирует новые навыки, и вообще, почему модель настолько похожа на тот самый AGI, к которому мы (в теории) хотим прийти.

Исследование будет интересно всем, кто хочет понимать, насколько мы близки к настоящему ИИ (spoiler: очень близки). И как вообще можно понять, когда это «оно».

Читать далее

Почему десктопные приложения работают на веб-платформе?

Level of difficultyMedium
Reading time8 min
Views36K

Где мы свернули не туда? Как получилось, что современный десктопный GUI по умолчанию использует платформу HTML/CSS/JavaScript, которая изначально не предназначена для нативной работы на десктопе? Она создана конкретно для браузера и веба. Зачем из нативного софта делать веб-страницы в браузерной оболочке?

Джефф Этвуд (автор Stack Overflow) предсказал этот феномен ещё в 2007 году. Он тогда сформулировал так называемый закон Этвуда:

Любое приложение, которое можно написать на JavaScript, будет в итоге написано на JavaScript.

Так и вышло.
Читать дальше →

Где решать задачи по программированию, чтобы пройти путь from zero to hero

Level of difficultyEasy
Reading time4 min
Views143K

Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.

Читать далее

Через какое время на работе вы начинаете работать работу

Reading time3 min
Views43K

По мере работы там я оброс тем, что мне хочется назвать 'Company-skills'. Помните, вначале было hardware и software, и потом между ними возникло firmware? Вот также между soft skills и hard skills есть company skills. Company skills это знания кучи URL, умение заказать доступы и знания, кто что аппрувит. Где смотреть логи Kibana и где алерты Zabbix и Grafana. Куда можно лезть, а где дадут по рукам. Это logins в 8 разных доменах (фирма поглотила много фирм поменьше, и они тихо переваривались в ее нутре. Но домены сопротивляются перевариванию дольше всего). И текстовый файл с кучей URL и текстовыми описаниями, что и где. Это умение правильно создать заявку в доморощенной системе XXX. И память о том, что в системе XXX логин надо вводить как просто 'user', в системе YYY как DOMAIN\user, а в ZZZ как user@domain, иначе не сработает.

Читать далее

Уволился и уехал на «раннюю пенсию» в Португалию два года назад. Что было дальше?

Level of difficultyEasy
Reading time16 min
Views57K

"Reduce the complexity of life by eliminating the needless wants of life, and the labors of life reduce themselves." - Edwin Way Teale

Примерно два года назад в декабре 2020 года я ушел с работы и решил попробовать пожить на доход с капитала следуя "правилу 4%". Как-то незаметно прошло два года и у меня появилось желание подвести какие-то промежуточные итоги. Далее я в не очень структурированном виде изложу некоторые промежуточные итоги после первых двух лет "жизни на доход с капитала" или "ранней пенсии".

Читать далее

Как работает веб-браузер (с картинками)

Level of difficultyEasy
Reading time6 min
Views40K

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

Эта статья приоткроет завесу магии, скрывающуюся за кулисами веб-браузеров.

Давайте начнем!

Читать далее

Как контрибьютить в проект, о котором ничего не знаешь

Level of difficultyMedium
Reading time7 min
Views8.1K

Bun


В последнее время мне очень нравится Bun. Это новая среда исполнения JavaScript / TypeScript, схожая с Deno / Node. Она имеет одно преимущество по сравнению с другими средами исполнения, которое очень важно для меня: очень быстрый запуск (по крайней мере, для JS). Когда я впервые запустил в ней небольшой кусок кода, то просто не мог поверить.

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

Однако на то есть причина. Как бы вы ни оптимизировали инструменты для выполнения тестов наподобие Vitest, Jest или Ava, первый прогон теста (без watch) всегда будет выполняться чрезвычайно медленно в Node, потому что для запуска V8 и разрешения модулей требуется куча времени. Когда ты распределяешь работу на несколько процессов, чтобы использовать все ядра, это требует ещё больше ресурсов!
Читать дальше →

Как я потратил 1 000 000$, чтобы сделать свой переводчик. Часть 3

Level of difficultyEasy
Reading time9 min
Views11K

Неделю назад исполнилось 6 лет, как я открыл фирму, чтобы заниматься машинным переводом. За это время многое произошло. Сейчас в команде 40 человек, 120 серверов и более миллиона пользователей. Но так было не всегда. Помню те времена, когда нас было двое. Мы сидели в маленькой комнате без вентиляции, и каждый час нужно было открывать окна, чтобы совсем не задохнуться. Мы были полны надежд, идей и большого желания создать переводчик, который сможет конкурировать с Google.

В 2017 году у нас был прототип под Linux, который уже что‑то переводил. Под iOS собрать тоже удалось. А вот с Windows оказалось не все так просто. Клиенты хотели установку под эту ОС, и нужно было действовать. Для этого пришлось бы перекомпилировать много библиотек с кучей зависимостей, но у меня не было такого опыта. Когда я пошёл на сайты фриланса и разместил несколько объявлений, откликнулось всего нескольких заявок. Cтало ясно, что задача не такая простая, какой кажется.

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

Стоит отметить, что компании, с которыми я говорил, были разными по размеру. Одна из них — известный бренд и лидер в Восточной Европе. Я написал менеджеру по продажам, и со мной обещали связаться. В течение недели я не получил ответа, написал им еще раз, и мне еще раз ответили, что точно со мной свяжутся. Не связались. Ну и ладно!

Читать далее

Как перестать бояться ответственности и превратить ее в конкурентное преимущество

Level of difficultyEasy
Reading time5 min
Views24K

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

Читать далее

Реверс инжиниринг для самых маленьких на практике

Reading time11 min
Views57K

Скомпилированное приложение является «чёрным ящиком». Чтобы туда заглянуть, восстановить алгоритм работы применяется реверс‑инжиниринг. Это непростой навык с высоким порогом входа. В статье мы попробуем взять дизассемблер, несложную задачку и пойдём в бой. Материал будет полезен тем, кому хочется с чего-то начать и погрузиться в тему реверса.

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

Читать далее

Решаем задачу по взаимодействию микросервисов на Python тремя способами

Level of difficultyEasy
Reading time6 min
Views18K

Когда речь заходит про взаимодействие микросервисов, все сразу вспоминают о сложных архитектурных паттернах, вроде Event Bus и CQRS. В этой статье я расскажу, как выполнить простенькую задачку для двух микросервисов без навороченной архитектуры. В моем случае это создание сервиса, который агрегирует события компании в единую ленту событий.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity