К основному контенту

Сообщения

Показаны сообщения с ярлыком "программирование"

Кем быть? Разработчик ПО - как профессия.

Многих вопросов сумбурный пост озадаченного родителя. Старший сын в этом году заканчивает школу и вопрос "куда дальше пойти учиться" стоит для нас остро. Он отвечает на вопрос "кем хочешь стать" просто  - "программистом". Оставив за рамками ответ на вопрос "почему именно программистом", а там действительно есть что пообсуждать, хочется задать вопрос вам: "а программист - это профессия?"

Сборная солянка видеодокладов для самообразования на разную тематику - Выпуск 4

В этот раз не совсем солянка, скорее сборник :) В своем отчете о PiterPy#2  я упоминал, что познакомился там с Григорием Петровым. Порыв интернеты, нашел несколько интересных видео его докладов. Простые темы докладов не должны вас смущать, просто посмотрите. Как называть переменные Комментарии писались по другому видео с аналогичным докладом. Оно потерялось, но Гриша часто выступает, вот новый вариант. Возможно есть отличия - я не пересматривал. Тема неожиданная, но содержимое очень порадовало. Для начинающих - смотреть обязательно, остальным рекомендуется. Вот это очень понравилось: не нужно приводить существующий код в соответствие новым стандартам исходников. Зачем выступать на конференциях Кроме вопроса "зачем выступать", Гриша отвечает на вопросы как готовится, на что обратить внимание в презентации, а также зачем ходить на доклады :) Есть еще доклады  (в т.ч. про комментирование исходников и то, как их хранить) Интервью Гриши на конференции PiterPy ...

Software-Engineering Myth Busters (покрытие кода тестами, TDD, организация и распределенные команды)

Наткнулся недавно на подборку интересных исследований проведенных Empirical Software Engineering and Measurement Research Group. Товарищи на примере деятельности команд разработки Microsoft попытались получить хоть какие-то цифры отражающие влияние различных инженерных практик и процессов, например TDD, на качество получаемых продуктов. Сюда вынес наиболее интересные результаты исследований. Ниже, в качестве критерия качества рассматривается количество ошибок обнаруженных после релиза и требующих зачинок (как самых дорогих для исправления). Влияние покрытия кода тестами на качество Покрытие кода рассчитывается, как процент (отношение) строчек кода, которые вызываются при запускаемых тестах к их общему количеству. Казалось бы логичным считать, что чем больше покрытие - тем лучше качество. Но результаты показали, что не все так просто ( кто бы мог подумать ). Одна метрика не может характеризовать качество для любых продуктов. Процент покрытия кода сам по себе ничего не го...

Прямо с моей головы писано: "The Rise and Fall of Unit Testing"

taw's blog: The Rise and Fall of Unit Testing Ну вот, а я хотел это все написать. Но теперь не буду, потому что не люблю переписывать, то что уже написано кем то другим. Unit-тесты не спасают нас ни от "лапше-кода", ни от плохого дизайна, ни от нерабочего продукта. Но они помогают помогают этого избегать - это факт. Просто везде надо знать меру. А включение головы никто не отменял. И про mock-и я тоже писал

Сборная солянка видеодокладов для самообразования на разную тематику - Выпуск 3

Сегодня обзор совсем небольшой (по количеству видео), но интересный. Видео всего два и начну с " Jira против PivotalTracker " (а то после анализа второго, до него не доберется никто). А оно интересное. Живо, динамично. Мне больше понравился Pivotal, наверно потому что я его использовал когда то. Защитник Pivotal'a креативен :) интересно, это Андрей? ( тут ) Дальше обнаружилось видео доклада Андрея Солнцева " Пацан накодил - пацан протестил ". Он выступал с ним у нас Питере, в соседнем здании бизнес-парка, но у меня не получилось туда сходить. Как оказалось - к сожалению. Краткое резюме: Java-стам, особенно начинающим надо посмотреть. Вот сначала посмотреть, а потом говорить "такие простые вещи тестировать понятно, что можно, а вот у нас все сложнее, умнее, жирнее, глупее, или просто 'не так' (нужное подчеркнуть)". Вещи, о которых говорит Андрей, базовые и если вы их не понимаете или не знаете, как писать тесты для простых приложений...

Изучаем Python с нуля

( c ) Иногда коллеги спрашивают. Решил все свои рекомендации в одно место сложить. Ссылки для самообразования: Google's Python Class Microsfot Virtual Academy:  Introduction to Programming with Python " Learn Python the Hard Way " Книжка по которой я учился " Dive Into Python " (я учил еще 2й, но сейчас правильнее 3й) Эту не читал капитально, но выглядит интересно " Think Python " Свеженькое с примерами из реальной жизни " Python Projects " Анти-паттерны программирования на Python Сборник Invent with Python  (там даже про автоматизацию есть) 2019 Школа backend-разработки Яндекса статья  и плейлист записей  Неплохой список рекомендованных к прочтению книг Еще немного ссылок на Python для детей " Идеи проектов на Python , которые можно начать воплощать уже сегодня" PS буду признателен, если посоветуете еще интересных ресурсов.

Отчет с конференции PiterPy#2

20 марта 2015 прошла 2-я ежегодная конференция PiterPy . Давненько я не был на чисто программерских конференциях. И напрасно - именно здесь заряжаешься энергетикой от большого количества увлеченных людей. На менеджерских или специализированных конференциях я такого не наблюдал. Возможно еще сказывается достаточно камерный (пока?) формат PiterPy: 2 потока, 2 зала рядом, удобно, спокойно и без суеты. Но коллега (Леха, привет), вернувшийся недавно с C++ Russia, отметил тот же эффект подзарядки от большого количества программеров в одном месте. Поэтому, хочу сделать заявление: программеры (хочется верить большая их часть) очень позитивные и общительные люди, особенно когда это касается их любимой работы. Твит-лента конфы. Я волновался за свой текущий уровень знания Python, но, как оказалось, в голове еще что-то осталось и большинство докладов я спокойно переваривал. Правда был мега-deep доклад Александра Кошкина про кишки yield'а и тут мозг дал слабину :). Но почему то мне каж...

Размышлизмы про то, как часто пишется софт

Просто навеяло. Вчера был в гостях на работе у своего товарища. Пересекся с ребятами, которые по заказу компании друга (не IT-компания), делают им софт. Они в это время проверяли его на реальном железе (софт связан с радиосвязью). По словам товарища, им часто приходится перепроверять и чинить то, что раньше работало. Ребята-разработчики это с грустью подтвердили. Спросил, есть ли у них автоматические тесты, хоть какие-нибудь. Порадовало то, что они про тесты знают, но дальше огорчение - они их не пишут. Про Continuous Integration тоже знают, но тоже не используют. Знаете почему? Правильно - времени не хватает. А еще их начальник говорит, что тесты должны писать тестировщики. А тестировщиков у них тоже нет. Занавес. PS компания-разработчик, кстати, делает реально крутые ноу-хау вещи, но вот how это все делается, наводит на грустные мысли. тут  (с)

Как прошел 4-й IT Global Meetup, Питер

В этот раз сообществ было еще больше, людей тоже больше, программа насыщенней. Кстати, если вы до сих пор не в курсе, что это за мероприятие и зачем оно проводится, то есть интересная статья про IT Global Meetup . По приблизительным прикидкам организаторов пришло около 700 человек! Тут можно посмотреть фото с мероприятия. Я выступал на островке Питерского IT talk . Мне понравилось, надеюсь тем кто слушал - тоже. Рассказывал про технический долг ( слайды ). Было похоже на доклад с BitByte2014, но немного переработал и добавил жизни. Получилось, судя по пока немногочисленным отзывам, живенько :) Видео Для тех кому проще послушать аудиозапись (например в машине) - " их есть у меня ". Там бонусом еще и ответы на вопросы (+10 мин). Потом был интересный доклад Жени Ефимова (см. отчет DataArt ), про то как работа может нас сожрать. А на закуску круглый стол с тестировщиками и аджалистами про вопросы тестирования в Agile-командах. Стенки на стенку не получилось, но б...

Piter.Py - 2-я Python-конференция на Неве

Осталось чуть меньше месяца до второй конференции Piter.Py . Пусть это будет черновиком к отчету о посещении и, заодно, моим планом визита туда. Промышленной разработкой на Python я сейчас не занимаюсь. Но, как язык для автотестирования и скриптов в рамках систем Сontinuous Integration, Python выглядит одной из лучших альтернатив. Поэтому в первую очередь, выбор докладов обусловлен теми задачами, которые сейчас решаются (или будут решаться) с помощью Python. Ну и расширение кругозора тоже приветствовалось :) Итак, пока получается так: " Анатомия автоматизации тестирования " Алексей Тремаскин планирует ответить на вопрос зачем городить свой велосипед, если вокруг и так много средств передвижения. Обожаю рассказы про новые конструкции велосипедов :) Особенно в условиях наличия Robot Framework. " Beyond grep: Practical Logging and Metrics " Hynek Schlawack Помнится в свое время (лет 5 назад) мы активно использовали логирование для "разбора полетов...

Сборная солянка видеодокладов для самообразования на разную тематику - Выпуск 1

Давно ничего не писал, а между тем, есть чем поделиться. Начнем с того, что я посмотрел за прошедший месяц. Доклады с конференции XP Days in Ukraine . Весь список видео тут . Из того, что посмотрел и рекомендую: Why testing take so much time? (Mikalai Alimenkou, Ukraine) На простых примерах показано, куда уходит время у тестировщика, если вместо тестирования он занимается проверками. И не факт, что это его вина. Quality of the product team (Dmitriy Yefimenko, Ukraine)   Интересный доклад про характеристики зрелой команды. Просто и по пунктам. Можно распечатать и на стену. Busting TDD myths (Serhiy Kalinets, Ukraine) Название говорит само за себя. Есть ряд моментов, по которым можно подискутировать, но Сергей достаточно убедителен. Рекомендую посмотреть темы остальных докладов , уверен вы найдете еще что-нибудь для себя интересное. Поехали дальше и уже не с XP Days. В записи с вебинара PM-talk (это онлайн-мероприятие регулярно проводится Иваном Селиховкиным )...

Technology Radar - январь 2015

Прошло полгода с прошлого выпуска радара . Что нового на этот раз? Из того, что мне показалось интересным или затронуло: Методы (Techniques), элементы процесса разработки ПО Воздержаться от применения: long lived branches ( долго ведущиеся ветки кода без мерж а) Avoid microservice envy ( тема популярная, но не стоит ее внедрять только ради этого ) programming in the CI/CD tool ( все максимально должно быть в репозитории. У нас с этим, на мой взгляд, есть над чем поработать - увлекаемся PowerShell-ом в Jenkins-работах ) testing as a separate organization ( о-ооо, это моя боль :) ) velocity as productivity ( попытка использовать скорость работы команды как оценку ее производительности, усугубляющаяся желанием делать из этой скорости цели ) Инструменты (Tools) разработки Готово к использованию, но аккуратно: Docker Gitlab Оба мы уже используем. Что радует. По остальным квадрантам напрямую ничего нас не коснулось. Но я уверен, что вы найдете там что-нибу...

Нужны ли тестировщики, если разработчики пишут тесты?

Ура, вопрос из зала после статьи о разработчиках и тестах: "Я вот все никак понять не могу. У тебя очень много всяких постов встречается про то, что тестировщики не особо то нужные люди... это вот как? В смысле, ты сам как считаешь - нужны они или не нужны? :) Никак твою точку зрения не могу понять". Никита Макаров , комментируя предыдущий пост, очень хорошо написал: "В цепочке "вася пишет говнокод, петя делает говнотест, находим баги, все при деле" все очень хорошо и складно, кроме сроков.Если вася начинает писать через (или с помощью) тестов хороший код, а петя не находит баги серьезные баги, то встает два вопроса : 1) зачем нам нужен такой петя ? 2) где взять такого петю который действительно будет полезен?" Действительно, зачем нам нужен такой Петя? Такой Петя нам не нужен, потому что см.картинку. Но нам очень нужны правильные тестировщики,  хорошие  . Мне такие попадались :) Где их взять? Хороший вопрос, но пока похоже риторический.....

Почему разработчики не тестируют свой код?

На недавно прошедшем IT Global Meetup один из активистов питерского сообщества тестировщиков спросил (а может трольнул) меня: "А почему разработчики не тестируют свой код?". Что-то я там ему ответил, но вопрос продолжал свербить и в итоге вылился в этот пост. Это то, как я вижу себе эту проблему, которая для многих вовсе и не проблема.  "Мнение редакции" может не совпадать с мнением "ведущих" экспертов в области разработки ПО. Здесь не рассматриваются случаи, когда написание тестов действительно лишнее (например, прототипы или написанный код больше никогда не будет трогаться, а может и  использоваться не будет:) ).  Причин на самом деле немного и все они тесно связаны: 1. Разработчик не знает, что он должен тестировать свой код или как это делать Это может показаться странным, но такое действительно бывает. Особенно это касается начинающих. Я абсолютно уверен, что этому не учат в институтах и прочих университетах (там у нас и с программиро...

Как прошел 3й IT Global Meetup (Питер)

"To be or not to be" - Ты все еще одинок? Приходи в IT-сообщество. 28 ноября в Питере прошел 3-й IT Global Meetup Черт возьми, у них это получилось! Это я про организаторов. Я был более пессимистичен, но они это сделали. За что им большое спасибо. Собрать в одном месте столь разношерстную (с точки зрения специфики деятельности - см итоговую программу ), но единую по образу мышления компанию - это дорого стоит. Как сейчас говорят, по данным exit-polls, в мероприятии поучаствовало около 450 человек. Неплохо (даже пожалуй отлично) для вечера рабочего дня. 17 IT-сообществ Питера собрались в одном месте, чтобы заявить о своем существовании, рассказать о себе и пообщаться в тесной компании единомышленников. Те коллеги, с которым удалось пообщаться уже после мероприятия, отмечают, что не ожидали такого количества участников и уровня проведения. Обычно, чего уж греха таить, на бесплатные мероприятия приходит много случайных людей. Здесь, если они и были - то ...

Питер, 3-й IT Global Meetup

Через 15 дней в Питере запланировано проведение интересного мероприятия:  IT Global Meetup . Update: как все прошло . Что это такое и для чего? Говоря официальным языком: "IT Global Meetup — это уникальное событие для опытных профессионалов и начинающих ИТ-специалистов, на котором собираются вместе участники ИТ-сообществ Санкт-Петербурга, знакомятся друг с другом, обмениваются знаниями и опытом. IT Global Meetup проводится в рамках некоммерческой инициативы Piter United, целью которой является формирование благоприятной экосистемы для развития ИТ-сообществ Санкт-Петербурга." А что будет на самом деле? На первый взгляд, странное время: вечер рабочей пятницы. Какая нафиг конференция? Но в этом самая соль: придут самые упертные и драйвовые, страждущие знаний и желающие ими поделиться. Отсеивается контингент из серии "классно, можно сходить потусить в рабочее время". Но ведь среди нас таких минимум. Правда? :) Ну и, собственно, это не конференция вовс...

Тест-сертификации команд разработчиков в Google

Краткое описание уровней Тест-сертификации команд разработчиков (из книги " Как тестируют в Google ") Уровень 1 Создать пакеты тестового покрытия. Установить систему непрерывной сборки. Ранжировать тесты на малые, средние и большие. Определить недетерминированные тесты. Создать набор смоук-тестов. Уровень 2 Не выпускать, пока не пройдут все тесты. Обязательно выполнять смоук-тесты до отправки кода. Инкрементальное покрытие всеми тестами не меньше 50%. Инкрементальное покрытие малыми тестами не меньше 10%. Хотя бы одна фича покрыта интеграционным тестом. Уровень 3 Создавать тесты для всех нетривиальных изменений Общее покрытие малыми тестами не меньше 50%. Важные новые фичи покрыты интеграционными тестами. Уровень 4 Смоук-тесты запускаются автоматически перед отправкой нового кода. Смоук-тесты проходят за время меньше 30 минут. Нет недетерминированных тестов. Общее тестовое покрытие не меньше 40%. Тестовое покрытие только малыми тестами не мен...

Обзор-конспект "Как тестируют в Google"

"Тестированию, которое мы знаем и любим, приходит конец... Мир скоро изменится для всех тестировщиков. Примите эти изменения и управляйте ими, чтобы не потерять свою релевантность как тестировщиков"  Как тестируют в Google Давно я не отмечал столько интересностей Я припозднился с чтением этой книги . В инете уже полно обзоров, но одна из моих постоянных читательниц попросила меня прокомментировать содержимое. За что тебе, Катя, большое спасибо - мотивирует :) Ниже будет много букв, кому побыстрее - могу рекомендовать глянуть этот  пост, от Никиты Макарова (тезисы отдельно здесь ). Если еще короче - надо идти и читать. И не важно, делаете вы web-приложения, мобильные или десктопные. Советы в этой книге пригодятся всем: разработчикам, и тестировщикам, а также их начальникам. Книга, как и отмечают авторы, не для новичков. С другой стороны, совсем заскорузлые "гуру" найдут ее излишне попсовой что ли. Хотя, как можно увидеть на фото, я нашел в книжке мн...

О книге "Когда я говорил... Об образовании, ИТ и не только"

Очередная книжка популярного в последнее время у меня формата "сборник блог-статей":  " Когда я говорил... Об образовании, ИТ и не только " (ссылка мертвая,  дубликат  на хабре) Александр Краковецкий Если смотреть по выставленным мною тегам к этому посту, то в книге рассмотрен широкий спектр вопросов. Да это и по оглавлению видно: Нужно ли учиться в университете? Кто хочет, тот ищет возможности, кто не хочет — ищет причины Эффект бабочки Дилеммы молодого преподавателя Пишем кандидатскую работу Немного слов об интеллектуальной собственности и здравом смысле Возможности для студентов, о которых вы, возможно, не знали О проблеме продвижения научных работ и исследований Возвращаясь к теме высшего образования Нужна ли аспирантура? Философия науки, или Почему мы доверяем науке? Как я учил английский А ваши сотрудники продуктивные? Правильно ли использовать сотрудников только по назначению? Главные причины перехода в другую компанию Когда я говорил...

The "A" Word - Подноготная автоматизации тестирования

"You should automate 100% of the tests that should be automated"                           Алан Пейдж ( Alan Page ) ' The "A" word '. Уже не помню, как я наткнулся на эту книгу. Наконец дошли руки прочитать. По большому счету, это и не книга, а сборник постов из блога автора по теме автоматизации. И прочитать ее можно за час (если ваш английский это позволяет). И я настоятельно рекомендую вам потратить этот час. Это книга не расскажет вам про виды автоматических тестов, как их писать, какие инструменты и библиотеки использовать. Эта книга о философии автоматического тестирования: " how-to-think-about-testing-and-test-automation ". И мои мозги она встряхнула :) Все, что я читал до этого про автоматические тесты, касалось именно написания тестов, фактически кодирования. И большей частью это было тестирование для разработчиков, а оно отличается от просто тестирования - цели другие, как ни странно. Эта книжка п...