41554 blogs · [ { "id": "01a0879c-e355-70f8-9895-9f1fb1a53977", "title": "Agentic AI removed the escape route", "url": "https://www.lucagrulla.com/posts/ai-no-more-escape-route/", "published_at": "2026-03-26T00:00:00+00:00" }, { "id": "01a0879c-e355-70f8-9895-9f1fb28f9587", "title": "Building Smarter With AI - From Idea to Market at Warp Speed", "url": "https://www.lucagrulla.com/talks/building-smarter-with-ai/", "published_at": "2025-11-01T00:00:00+00:00" }, { "id": "01a0879c-e355-70f8-9895-9f1fb37c9e03", "title": "Digital entrepreneurship and the coming “AI slop” wave", "url": "https://www.lucagrulla.com/posts/slop-ai/", "published_at": "2025-04-17T00:00:00+00:00" }, { "id": "01a0879c-e355-70f8-9895-9f1fb4244513", "title": "AI-Powered Software Creation: Trends and Strategies for 2025", "url": "https://www.lucagrulla.com/posts/AI-powered-software-creation-trends-and-strategies-for-2025/", "published_at": "2025-01-06T00:00:00+00:00" }, { "id": "01a0879c-e355-70f8-9895-9f1fb494d005", "title": "My 2023 reading list", "url": "https://www.lucagrulla.com/posts/2023-books/", "published_at": "2024-01-02T00:00:00+00:00" }, { "id": "01a0879c-e355-70f8-9895-9f1fb567ae60", "title": "Is It Time to Retire Digital Transformation?", "url": "https://www.lucagrulla.com/talks/retire-digital-transformation/", "published_at": "2023-10-26T00:00:00+00:00" }, { "id": "01a0879c-e355-70f8-9895-9f1fb5dc2d7a", "title": "Learnings from 7 years of hyper growth at Signal AI", "url": "https://www.lucagrulla.com/posts/learnings-from-7-years-of-hyper-growth-at-Signal-AI/", "published_at": "2023-10-25T00:00:00+00:00" }, { "id": "01a0879c-e355-70f8-9895-9f1fb5e9f1b0", "title": "My 2022 reading list", "url": "https://www.lucagrulla.com/posts/2022-books/", "published_at": "2023-01-03T00:00:00+00:00" }, { "id": "01a0879c-e355-70f8-9895-9f1fb5fc13e8", "title": "My 2021 reading list", "url": "https://www.lucagrulla.com/posts/2021-books/", "published_at": "2022-01-03T00:00:00+00:00" }, { "id": "01a0879c-e355-70f8-9895-9f1fb6312d11", "title": "Preparing for a Technical Due Diligence", "url": "https://www.lucagrulla.com/talks/technical-due-diligence-for-cto/", "published_at": "2021-12-20T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c53849011b1", "title": null, "url": "https://www.lucagrulla.com/talks/growing-your-startups-from-concept-to-monetization/", "published_at": "2021-11-23T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c538408d42d", "title": null, "url": "https://www.lucagrulla.com/talks/change-a-gear-up-with-evolutionary-architecture/", "published_at": "2021-05-21T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5377d62ae4", "title": null, "url": "https://www.lucagrulla.com/posts/the-healthy-tension-nonsense/", "published_at": "2021-03-29T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537743ff4b", "title": null, "url": "https://www.lucagrulla.com/posts/transform-decision-making-with-data-analytics/", "published_at": "2021-03-15T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5376a5013a", "title": null, "url": "https://www.lucagrulla.com/posts/two-challenges-and-two-opportunities-in-the-age-of-ai/", "published_at": "2021-03-01T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537626b8c9", "title": null, "url": "https://www.lucagrulla.com/posts/common-sense-engineering/", "published_at": "2021-02-15T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537568c5ee", "title": null, "url": "https://www.lucagrulla.com/posts/technology-strategy-and-programming-languages/", "published_at": "2021-02-01T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c538330e76c", "title": null, "url": "https://www.lucagrulla.com/talks/ai-in-the-age-of-information-overload/", "published_at": "2021-01-20T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c53754b3e48", "title": null, "url": "https://www.lucagrulla.com/posts/autonomy-for-product-teams/", "published_at": "2021-01-18T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5374af7cd3", "title": null, "url": "https://www.lucagrulla.com/posts/book-reading-2020/", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537cc8ece8", "title": null, "url": "https://www.lucagrulla.com/publications/building-tech-teams/", "published_at": "2020-11-24T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5382a37450", "title": null, "url": "https://www.lucagrulla.com/talks/why-startups-with-academics-build-great-products/", "published_at": "2020-07-01T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5381d2a915", "title": null, "url": "https://www.lucagrulla.com/talks/impact/", "published_at": "2019-11-29T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5373e43234", "title": null, "url": "https://www.lucagrulla.com/posts/lean-startup-continuous-delivery-for-saas/", "published_at": "2019-03-23T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5381b13f12", "title": null, "url": "https://www.lucagrulla.com/talks/clojure-killer-design-decisions/", "published_at": "2018-09-27T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c53810092e2", "title": null, "url": "https://www.lucagrulla.com/talks/scaling-engineering/", "published_at": "2018-09-10T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5374317eb5", "title": null, "url": "https://www.lucagrulla.com/posts/technology-roadmap-for-round-a-startup/", "published_at": "2018-03-09T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5380d9635c", "title": null, "url": "https://www.lucagrulla.com/talks/transmitting-signal-with-clojure/", "published_at": "2017-12-05T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c53802a7175", "title": null, "url": "https://www.lucagrulla.com/talks/innovation-at-speed/", "published_at": "2017-09-19T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537ffed6d9", "title": null, "url": "https://www.lucagrulla.com/talks/signal-media-aws-startups/", "published_at": "2017-06-15T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5373c02ed5", "title": null, "url": "https://www.lucagrulla.com/posts/server-sent-events-with-ring-and-compojure/", "published_at": "2017-02-06T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537352c663", "title": null, "url": "https://www.lucagrulla.com/posts/evolutionary-architecture-and-microservices/", "published_at": "2015-07-01T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537fa17db6", "title": null, "url": "https://www.lucagrulla.com/talks/embracing-clojure/", "published_at": "2015-03-28T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5372dfa50a", "title": null, "url": "https://www.lucagrulla.com/posts/partial-functions-in-javascript/", "published_at": "2014-12-30T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537c6684d3", "title": null, "url": "https://www.lucagrulla.com/publications/talking-with-tech-leads/", "published_at": "2014-09-24T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5372a6ddf3", "title": null, "url": "https://www.lucagrulla.com/posts/graceful-shutdown-of-an-embedded-jetty/", "published_at": "2013-07-15T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537235901d", "title": null, "url": "https://www.lucagrulla.com/posts/web-development-in-the-large/", "published_at": "2013-03-10T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537c5447db", "title": null, "url": "https://www.lucagrulla.com/publications/thoughtworks-antology/", "published_at": "2012-10-23T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537eef6f00", "title": null, "url": "https://www.lucagrulla.com/talks/ilgrande-bluff-delle-stime/", "published_at": "2011-11-19T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5371864ba1", "title": null, "url": "https://www.lucagrulla.com/posts/flow-control-in-javascript/", "published_at": "2011-09-26T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5370f6e7a2", "title": null, "url": "https://www.lucagrulla.com/posts/node-tail-a-nodejs-tail-library/", "published_at": "2011-09-15T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5370c85af1", "title": null, "url": "https://www.lucagrulla.com/posts/building-a-firehose-with-nodejs/", "published_at": "2011-09-12T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537e23cd19", "title": null, "url": "https://www.lucagrulla.com/talks/firehose/", "published_at": "2011-02-08T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5370374ab7", "title": null, "url": "https://www.lucagrulla.com/posts/javascript-testing/", "published_at": "2010-06-15T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537de5a583", "title": null, "url": "https://www.lucagrulla.com/talks/secret-art-of-agile-javascript/", "published_at": "2010-06-04T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536f5dc129", "title": null, "url": "https://www.lucagrulla.com/posts/italian-agile-day-2009-date-announced/", "published_at": "2009-08-02T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536f18bfc4", "title": null, "url": "https://www.lucagrulla.com/posts/what-has-to-be-ready-for-the-beginning-of-a-p/", "published_at": "2009-07-05T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536e75cb93", "title": null, "url": "https://www.lucagrulla.com/posts/qa-productivity-metrics/", "published_at": "2009-03-31T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536e08c9d1", "title": null, "url": "https://www.lucagrulla.com/posts/local-optimization-doesnt-necessarily-mean-im/", "published_at": "2009-02-14T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536d314b5e", "title": null, "url": "https://www.lucagrulla.com/posts/acceptance-testing-of-flex-applications/", "published_at": "2009-01-26T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536cb9a84f", "title": null, "url": "https://www.lucagrulla.com/posts/signs-of-poor-communication/", "published_at": "2008-09-28T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537db6136c", "title": null, "url": "https://www.lucagrulla.com/talks/agile-estimating-and-planning/", "published_at": "2008-07-04T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536bf8be01", "title": null, "url": "https://www.lucagrulla.com/posts/flex-how-to-achieve-proper-separation-of-resp/", "published_at": "2008-06-24T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536b325004", "title": null, "url": "https://www.lucagrulla.com/posts/working-with-adobe-flex/", "published_at": "2008-06-21T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536a2494c5", "title": null, "url": "https://www.lucagrulla.com/posts/article-patrick-kua-on-the-agile-coach-role/", "published_at": "2008-05-25T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536ae34e2e", "title": null, "url": "https://www.lucagrulla.com/posts/article-seniority-respect-authority-and-an-ag/", "published_at": "2008-05-25T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536a083f09", "title": null, "url": "https://www.lucagrulla.com/posts/integrate-ivy-in-a-dotnet-build/", "published_at": "2008-04-17T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536a0a613b", "title": null, "url": "https://www.lucagrulla.com/posts/ivy-how-to-download-dependencies-to-different/", "published_at": "2008-04-17T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5369bcdb14", "title": null, "url": "https://www.lucagrulla.com/posts/essap-2008/", "published_at": "2008-04-09T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5368c096c1", "title": null, "url": "https://www.lucagrulla.com/posts/just-a-bit-of-confusion/", "published_at": "2008-03-29T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5367fc0e03", "title": null, "url": "https://www.lucagrulla.com/posts/express-your-business-requirements-through-yo/", "published_at": "2008-03-02T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c536790b97c", "title": null, "url": "https://www.lucagrulla.com/posts/easymock-experience/", "published_at": "2008-02-23T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5366c7fd13", "title": null, "url": "https://www.lucagrulla.com/posts/the-last-d-in-tdd-means-more-than-just-develo/", "published_at": "2007-12-05T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c5366ae4c3b", "title": null, "url": "https://www.lucagrulla.com/posts/java-enum-as-a-strategy-pattern/", "published_at": "2007-10-27T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c537daeacc5", "title": null, "url": "https://www.lucagrulla.com/talks/retrospective-techniques/", "published_at": "2007-06-25T00:00:00+00:00" }, { "id": "01a0d4f1-600e-7252-ba1c-1c538723cd97", "title": null, "url": "https://www.lucagrulla.com/about/", "published_at": null }, { "id": "01a0d4f1-600e-7252-ba1c-1c5387edbaf2", "title": null, "url": "https://www.lucagrulla.com/", "published_at": null }, { "id": "01a0d4f1-600e-7252-ba1c-1c5388c61cd2", "title": null, "url": "https://www.lucagrulla.com/open-source/", "published_at": null }, { "id": "01a0d4f1-600e-7252-ba1c-1c53891f8b70", "title": null, "url": "https://www.lucagrulla.com/posts/", "published_at": null }, { "id": "01a0d4f1-600e-7252-ba1c-1c53899cc109", "title": null, "url": "https://www.lucagrulla.com/publications/", "published_at": null }, { "id": "01a0d4f1-600e-7252-ba1c-1c538a342ce0", "title": null, "url": "https://www.lucagrulla.com/talks/", "published_at": null } ] posts Claim your blog
Back to lucagrulla.com
Blog · corpus.blog/blogs/lucagrulla.com/posts

lucagrulla.com

lucagrulla.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2015

2014

2013

2012

2011

2010

2009

2008

2007

Undated