41554 blogs · [ { "id": "01a08785-0ab0-7033-b3df-a58fa87e8175", "title": "How to automate AI agents to read JIRA tickets and create pull requests", "url": "https://iain.rocks/blog/how-to-automate-ai-agents-to-read-jira-tickets-and-create-pull-requests", "published_at": "2026-02-23T10:50:40+00:00" }, { "id": "01a08785-0ab0-7033-b3df-a58fa8adbef6", "title": "Design Decision: Technical Debt in BillaBear", "url": "https://iain.rocks/blog/technical-debt-in-billabear", "published_at": "2026-02-10T10:50:40+00:00" }, { "id": "01a08785-0ab0-7033-b3df-a58fa99badbc", "title": "Rejecting rebase and stacked diffs, my way of doing atomic commits", "url": "https://iain.rocks/blog/rejecting-rebase-and-stack-diffs-my-way-of-doing-atomic-commits", "published_at": "2025-12-13T10:50:40+00:00" }, { "id": "01a08785-0ab0-7033-b3df-a58fa9b933fd", "title": "Finding broken migrations with Bisect", "url": "https://iain.rocks/blog/finding-broken-migrations-with-bisect", "published_at": "2025-12-11T10:50:40+00:00" }, { "id": "01a08785-0ab0-7033-b3df-a58faa9a6b12", "title": "AI is a Junior Dev and needs a Lead", "url": "https://iain.rocks/blog/ai-is-a-junior-dev-and-needs-a-lead", "published_at": "2025-08-19T04:18:40+00:00" }, { "id": "01a08785-0ab0-7033-b3df-a58faac7ac0c", "title": "How to Create Unbreakable Job Security: A Software Developer’s Guide to Making Yourself Indispensable", "url": "https://iain.rocks/blog/how-to-create-unbreakable-job-security", "published_at": "2025-08-03T22:00:00+00:00" }, { "id": "01a08785-0ab0-7033-b3df-a58fabb17abb", "title": "Creating Dynamic Billing Workflows With Symfony", "url": "https://iain.rocks/blog/creating-dynamic-billing-workflows-with-symfony", "published_at": "2024-08-11T23:56:07+00:00" }, { "id": "01a08785-0ab0-7033-b3df-a58fabc16799", "title": "The Reality of Not Invented Here", "url": "https://iain.rocks/blog/reality-of-not-invented-here", "published_at": "2023-09-04T13:22:32+00:00" }, { "id": "01a08785-0ab0-7033-b3df-a58facba2522", "title": "Design Decision Separate Dtos", "url": "https://iain.rocks/blog/design-decision-separate-dtos", "published_at": "2023-08-28T09:04:50+00:00" }, { "id": "01a08785-0ab0-7033-b3df-a58fad03d2d6", "title": "Design Decisions:Throw Custom Exceptions", "url": "https://iain.rocks/blog/design-decisions-throw-custom-exceptions", "published_at": "2022-12-19T23:00:00+00:00" } ] posts Claim your blog
Back to iain.rocks
Blog · corpus.blog/blogs/iain.rocks/posts

iain.rocks

iain.rocks

2026

2025

2024

2023

2022