Анна Буянова (Anna Codes) – Telegram
Анна Буянова (Anna Codes)
401 subscribers
82 photos
1 video
1 file
149 links
Бэкенд-разработчица (Ruby). Иногда делаю образовательные проекты.

Личный канал о разработке ПО, программировании (на Ruby и не только), образовании в it.

лс: @lightalloy
Download Telegram
Я подозрительно отношусь к shoulda_matchers [https://git.io/fj23m] 🕵️‍♀️
Вроде красиво, но пока не заглянешь в код гема, не видно, как и что там на самом деле проверяется:
it { is_expected.to validate_uniqueness_of(:username) }


На днях напоролась на одну особенность:
Для проверки уникальности shoulda сама создаёт записи в минимальными атрибутами, но не валидирует их:
https://git.io/fjg2g

При этом создание может зафейлиться из-за органичений в базе данных, а в нашем случае — из-за того, что не хватило данных для коллбека:
https://git.io/fjadm

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

Подсмотрела пример из плейбука небулаба (https://bit.ly/2XXBL8l)

Они трекают:
- время присутствия. Если меньше или больше 8 часов в день, нужно отрепортить. Овертаймы и недоработки компенсирую друг друга не автоматически, а только по просьбе.
- время, оплачиваемое клиентом (billable time). Это время, потраченое непосредственно на работу над проектом.
- время на обучение, 1:1, внутренние проекты и т.д.
- "потерянное" время (time wasting)

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

На моих работах было так:
- пропускная система + жёсткий рабочий график в госучреждении (но я парттаймила, поэтому было не так жёстко)
- мягкий офисный график без отчётов, но с примерным временем прихода-ухода
- относительно свободный график + таймер на офисном компьютере, который считал общее рабочее время за неделю/месяц
- на удалёнке - отчёты о потраченном времени на ту или иную задачу по часам, относительно свободный график
- сейчас - ещё более свободный график, трекаю только общее количество часов за месяц

Не очень люблю почасовку, но использую её, как компромисс. Обычно всё равно получается так, что у меня скорее "покупают" месяц работы.

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

#работа
Do you use time-tracking for work or for your personal time? - DEV Community 👩‍💻👨‍💻
https://dev.to/
Glue Work / Работа-клей

Доклад Тани Рейли про "склеивающую" работу и как она может тормозить карьеру.
Glue Work - это работа, связанная с "мягкими" навыками, такая както есть это организация общения между командами, налаживание процессов, написание документации, консультации новичков и т.п. Она противопоставляется выполнению технических задач (программированию в нашем случае), которые развивают "твёрдые", основные навыки для карьеры.

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

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

Видео: https://www.youtube.com/watch?v=5cr2Yn_MrKg
Доклад в текстовом формате: https://noidea.dog/glue
Пишу последний пост серии про чтение и немного исследую тему, попадаются интересные материалы на тему обучения.
Например, по 10 правил хорошего и плохого обучения из "Mind for Numbers"("Думай, как математик") Барбары Оакли:
http://www.math.toronto.edu/nhoell/10rules-of-studying.pdf
Один из подкастов, которые регулярно слушаю в последнее время https://softskills.audio/

Хосты обсуждают нетехнические вопросы, связанные с программированием и карьерой, отвечают на вопросы слушателей.
На мой вкус моговато шуток, иногда они смешные, иногда нет. Но мне нравится сам неформальный стиль общения + удобно, что серии небольшие, около получаса, вполне влезают в обеденную прогулку.
Новая книга от Basecamp о том, как устроены рабочие процессы в их компании.
https://basecamp.com/shapeup

Для тех, кто не знает, Basecamp (ранее 37signals) — это компания, в которой родился фреймворк Ruby on Rails. Basecamp - это первое rails-приложение.
Больше о них можно прочитать тут — https://basecamp.com/about

Другие книги: https://basecamp.com/books
Я читала "Getting Real", "Rework" и "Remote". Наиболее полезной оказалась первая книга, она сильно повлияла на меня, несмотря на то, что читала её в непрофессиональном переводе с ошибками.
Из Rework и Remote не могу сказать, что много вынесла, но читать всё равно было интересно и приятно. Думаю перечитать Rework и оценить с учётом нового опыта.
"It Doesn't Have to Be Crazy at Work" ещё не читала, но думаю, что как-нибудь доберусь и до неё. Вряд ли много вынесу оттуда, ведь я и так стараюсь спать много, а работать поменьше :D
Новая "Shape Up" выглядит куда более интересной. Плюс в том, что она бесплатная, но пока нет удобного формата, только веб.

#книги
https://dev.to/lightalloy/getting-more-value-from-reading-43pd
Новый пост на DEV
Почему-то его было труднее написать, чем другие посты серии. Возможно, получился неуклюжим, но, на мой взгляд, более полезным, чем другие посты серии.

#книги
Пока пишу "большой" пост, поделюсь кусочком про книгу "Удовольствие от X" Стивена Строгаца:

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

Похоже на то, о чём пишет Барбара Оакли в книге "Думай, как математик". Но если "Думай, как математик" больше о процессе обучения и о том, как эффективно усваивать информацию, то "Удовольствие от X" -- о самой математике.

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

Темы разобраны поверхностно, поэтому она больше подойдёт для того, чтобы (снова) заинтересоваться математикой или просто хорошо провести время, чем для серьёзного обучения. Если захочется изучить темы из книги подробнее, то в сносках ОЧЕНЬ много ссылок на другие книги и материалы.

#книги
Вот один из материалов, правда, тоже не "серьёзный":
Канал по развлекательной математике [en] https://www.youtube.com/user/Vihart/featured
Например, история про жизнь на ленте Мёбиуса - https://www.youtube.com/watch?v=4mdEsouIXGM
О "математичных" книгах:
https://dev.to/lightalloy/what-to-read-to-fall-in-love-with-math-bfm
Первые 2 есть на русском («Думай, как математик», «Удовольствие от X»). «Как испечь пи» -- только на английском, но язык несложный.
В комментариях классные рекомендации 😍, пополняю список к прочтению.

#книги
Пет-проекты

Вот я всё пишу о книгах, но на самом деле раньше я уделяла очень мало времени теории, и обучалась только на практике: на работе и делая пет-проекты.

Пет-проектов у меня, как и у многих, большое кладбище. Это нормально, ведь мы делаем их в первую очередь для обучения и получения опыта (даже если изначально были другие планы :) Но если всё-таки получается сделать полезное приложение, это куда круче.

У меня был только один такой "успешный" проект (https://litealloy.com/). Он был сделан на коленке в 2011. Это простое rails-приложение с тренировками, собранными с нескольких источников. Тогда я сделала MVP и задеплоила очень быстро. Потом несколько лет понемногу дорабатывала и обновляла, добавляла контент, если он появлялся, и сама пользовалась сайтом. Постепенно он потерял актуальность для меня и для большинства пользователей. С 2016 практически не занимаюсь сайтом, только слежу за сервером.

Остальные мои проекты не доросли до релизов. В основном я делала их с целью попробовать какой-нибудь новый фреймворк или язык программирования. Я люблю делать что-то на тему трекинга привычек или для планирования, мечтаю сделать что-то среднее между хабитикой и пинариком :D, но пока у меня другие приоритеты.

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

Но, несмотря на сложности, сейчас у меня есть пара идей в работе или в планах:

- бот для марафонов (https://bit.ly/309uUtu) на тему "100 days of code" (https://bit.ly/2xTkQZ3). Это как раз проект с последнего хакатона. Мне хотелось попробовать dry-rb и rom-sql, и одновременно сделать вещь для реального использования. В идеале хочу сделать бот более универсальным и использовать его для любых "вызовов". Можно приспособить и для моего любимого отслеживания привычек. К сожалению, занимаюсь проектом только от случая к случаю.
- личный сайт/блог на gatsby, пока только в планах. Хочу собрать в одном месте все тексты, которые пишу то туда, то сюда. Заодно это будет практикой с реактом и graphql.
- Сами тексты для блога, этого и на DEV, тоже считаю отдельным пет-пректом.

А как у вас? 🏡
Пара "рецептов" на тему пет-проектов:

- Перед тем как начать, определите цели проекта. Надо понимать, что в приоритете: результат или обучение. Если это результат, нужно использовать знакомый "скучный" стек (https://bit.ly/2KNlVry) Если интереснее учиться, то ждать быстрого запуска не стоит.

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

Если проект не только учебный:
- Делайте в первую очередь для себя. Так у проекта сразу будет пользователь, а очевидные недостатки будут заметны гораздо быстрее.
- Постарайтесь как можно быстрее сделать и задеплоить первую версию, дополнительные фичи и улучшения подождут. Вполне возможно, что нужнее окажется совсем не то, что изначально планировалось.
А вот и "Shape Up" в pdf, без регистрации и смс.
В последнее время немного занялась английским и навыками презентации, теперь не успеваю толком ни писать, ни читать.
Попробую исправиться, и для начала просто напишу о том, что читаю:

Таймхакинг (https://bit.ly/2TYhaQj)
Что хорошо в таких книгах: читаешь быстро, и кажется, что делаешь что-то полезное :D
Конечно, есть и полезные идеи. Книга побудила меня ещё раз обратить внимание на рабочий режим и попробовать его оптимизировать. Гибкости в этом плане у меня не так много, т.к. режим подстроен под садик. Но подумать, когда делать перерывы, когда писАть/читать, куда впихнуть организационные дела, вполне можно.

Release it (https://amzn.com/1680502395/)
Читаю очень медленно, уже пару месяцев, осилила чуть больше половины. Проблема только в том, что книга больше подходит для вдумчивого чтения. Я же читаю перед сном, при этом одновременно читаю несколько книг, а значит берусь за неё не каждый день. Сама "Release it" больше на темы SRE (Site Reliability, обеспечение доступности/надёжности приложений) и Devops, сейчас я имею только косвенное отношение к этим темам.
По it сейчас хотелось бы взять что-нибудь более прикладное, но не знаю, что именнно + опять же, не хочется выделять много времени. На очереди "7 моделей конкуренции и параллелизма" и "руби под микроскопом". Ещё на этот год был запланирован Фаулер с "Шаблонами корпоративных приложений", но думаю, что он опять отложится.

Слово живое и мёртвое, Нора Галь (https://bit.ly/2Peg58h)
Эта книга есть у меня в бумаге, а с чтением бумажных книг у меня часто возникают сложности (не так удобно брать с собой, не почитаешь в темноте, и т.д.)
Начинала читать не один раз, и откладывала. Но недавно стала ограничивать время на "потупить в телефоне", и дело пошло повеселее.
"Слово" -- о том, как писать и переводить. Интересно почитать про особенности русского языка, отличия от английского и французского.
Очень полезно про перевод герундия ("-ing"). Часто его переводят, как отглагольное существительное, но это звучит неестественно. Лучше постараться заменить глаголом. (вот примеры от одного из авторов "Пиши-сокращай" - https://bit.ly/2HqIeSZ)
Ещё стало стыдно за избыток англицизмов в речи и на письме. Да, можно сказать, что в этом плане книга устарела и новые слова уже "вошли в язык". Про это пишет и сама Нора, а сейчас, спустя десятилетия после публикации, многие такие слова стали ещё привычнее. Тем не менее, принцип остался тем же: стоит задуматься, использовать ли кальку с английского или есть синоним, который будет звучать лучше.
Ещё одно последствие: стала чаще замечать ошибки и недочёты в переводных (и не только) книгах, читать стало не так весело.
> Мне было надёжно. (из "Право писать" Джулии Кэмерон, wtf?)

Mathematitian's Lament (Плач математика) (https://bit.ly/ZGdVyW)
Быстренько прочитала в поезде, в этом рассказе(?) всего 25 страниц.
Как и указано в названи, математик жалуется на то, что математике учат неправильно. Аналогии в начале книги интересные, хотелось бы прочитать о том, как это внедрять на практике.

#книги