Битмап / словарь разработчика
510 subscribers
71 photos
1 video
71 links
Всё, что должен знать настоящий сеньор — короткие, но ёмкие заметки о разработке, инструментах, практиках, бизнесе. Выходят каждый день. Подписывайся!
加入频道
А тем временем, канал уходит на каникулы!
До связи 👋
👍11🎉91
Media is too big
VIEW IN TELEGRAM
Попробовал в качестве редактора кода Zed, рекомендую!
Летит с полпинка с удобной AI-интеграцией, есть REPL-режим для многих языков, всё быстро-краcиво.

PS Обычно пользовался VSCode, но что-то он начал утомлять своей монструозностью.
👍3🤔1
Помогаю классному UK стартапу найти фулстек-разработчика в команду. Ребята делают AI-помощника в сфере employment law.

- Удалённая фултайм-позиция на долгий срок.
- Современный стек: Next.js, Strapi и MySQL, DigitalOcean, интеграции в несколько сервисов вроде Pipedrive CRM.
- В команде ещё один фулстек, несколько разработчиков на контракте.
- Работать можно откуда угодно, получать деньги в фунтах банковским переводом. В РФ платить не смогут.
- Общение в команде на английском
- До £80k в год для подходящего кандидата

Дальше слово Дмитрию, Head of Operations:

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

У нас год преимущества над всеми ИИ-legal стартапами для физических лиц, не SaaS для корпораций. За спиной юридическая компания с 10-летним опытом, разработка ИИ решений с 2019 (мы пробовали разрабатывать модели сами). Мы четко понимаем свой product-market fit.


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

Пересылайте сообщение знакомым, которым позиция может подойти.

Резюме шлите мне в личку: @oleggromov 🙏
🔥1
Этот простой способ поможет вам...

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

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

Теперь в начале работы я пишу себе небольшой TODO. Прям буквально по пунктами, что нужно сделать. Особенность каждого из этих пунктов в том, что я отлично понимаю, как его сделать. Достать ID из payload — да пожалуйста. Дифнуть 2 слайса — util.SliceDiffRight наготове.

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

И вот, всего каких-то полтора десятилетия — и я допёр до работающего процесса.

👍 всегда так делаю
❤️ кайф, полезно
🌚 код пусть агенты пишут
4👍1
Кстати. Заметки про код в формате как было пока выходить не будут, как вы уже догадались. Поэтому подписывайтесь на основной канал t.me/gromov_com
Чего не могу создать, того не понимаю — так Ричард Фейнман говорил.

John Ousterhout, автор курса CS 190: Software Design Studio в Стенфорде и прекрасной книги A Philosophy of Software Design, учит студентов на своём курсе так же: даёт задание написать реализацию протокола Raft или текстового редактора, проводит код-ревью и отправляет дорабатывать.

Для меня с детства наибольшим удовольствием было разобраться, как что-то в компьютере работает. Наверное именно поэтому я вообще в программирование и полез. И уже в 15 лет умничал на открытых лекциях на мехмате о ядре линукса. Неправильно, разумеется! 😂

Пару лет назад, когда у меня был перерыв в работе, я решил вспомнить C и написать простейшую хешмапу, динамические массивы и парсер JSON (ссылка). До этого баловался и "свой реакт" делал, HTML-парсеры всякие.

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

Решил поделиться размышлениями, т.к. попалась хорошая статья с десятком идей для реализации: ядро ОС, виртуальная машина, компилятор, async-рантайм, эмулятор NES и проч. Правда, написать эмулятор Нинтендо за 3 недели (автор даёт свою оценку каждому проекту) кажется нереальным.

Может только кажется? Как только появится время, обязательно попробую ❤️
🔥3
AI-революция в разработке софта

Все только и твердят о ней. Половина новостей на HackerNews про AI/LLM, деньги поднимают только AI-cтартапы, причём какими-то неприличными раундами. Агенты и копайлоты повсюду. Я согласен с оценкой "AI изменит разработку софта"; вероятно, даже уже изменил. И сам очень стараюсь победить формировавшиеся десятилетиями привычки и использовать LLM для всё большего количества тупых или неинтересных мне задач. Это всё-таки процентов 80-90 программирования.

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

🫣 Пример с работы: разработчик несколько дней подряд говорит, что работает над задачей, в последний день отсылает PR, где десяток комитов на полторы тысячи строк сделаны за 2 часа. Глаз цепляется за сообщения об ошибках с эмоджи (этого мы не делаем) и на русском (это провал, проект полностью англоязычный). Говорит, что "курсор написал", а русский язык "перевести забыл".

Да, хорошо, курсор написал — но он не проверил, а на ревью отправил. Мне, как техлиду, такой код зачем? Я и сам так написать могу.

🫠 Пример с собеседований: парень достаточно бодро начинает решать задачку, исследует доки на API, в это время копайлот в режиме агента создаёт ему шаблон проекта, добавляет всякие зависимости. Я впечатлён: выглядит как очень толковый, разумный подход.

Шаблон создан, какие-то кусочки кода написаны, разработчик тем временем путается в синтаксисе destructuring в JS (найм на JS/TS позицию) и, что ещё смешнее и печальнее, долго возится с отладкой ошибки от его собственной (ну, копайлотом написанной) ручки. Потому что там ответ от внешнего API обёрнут в ответ от cобственного бэкенда, и ошибка где-то по пути потерялась. Интуиции посмотреть именно туда, разумеется, нет, потому что код-то писал не он!

Закончить задачу он не успел, интервью не прошёл. Хотя люди, которые пишут код сами, успевают.

Это ли не иронично, что AI-помощники не помогли, а только помешали в этих ситуациях? Я вижу, что разработчики начинают больше лениться, теряют остроту ума, навыки отладки и декомпозиции задач. Не набивают свои нужные шишки и не учатся новому.

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

Что думаете об AI-революции в нашей профессии?
👍5