<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Petar Ivanov Tech</title>
    <link>https://petarivanov.tech</link>
    <description>Production-grade architecture for full-stack JavaScript developers — React, Node, and AI systems. Move from writing code to designing systems. Join 30,000+ engineers.</description>
    <language>en</language>
    <lastBuildDate>Sun, 12 Jul 2026 11:48:46 GMT</lastBuildDate>
    <atom:link href="https://petarivanov.tech/rss.xml" rel="self" type="application/rss+xml"/>
    
    <item>
      <title><![CDATA[CQRS Without the Astronaut Architecture]]></title>
      <link>https://petarivanov.tech/blog/cqrs-without-the-astronaut-architecture-split-read-write-paths-typescript-nodejs-backend-service/</link>
      <guid>https://petarivanov.tech/blog/cqrs-without-the-astronaut-architecture-split-read-write-paths-typescript-nodejs-backend-service/</guid>
      <pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[You don't need event sourcing or a second database. Just split reads from writes, and finally fix the 20-method service nobody wants to open.]]></description>
    </item>
    <item>
      <title><![CDATA[You're Using React Compound Components Wrong]]></title>
      <link>https://petarivanov.tech/blog/you-are-using-react-compound-components-wrong-type-safe-typescript/</link>
      <guid>https://petarivanov.tech/blog/you-are-using-react-compound-components-wrong-type-safe-typescript/</guid>
      <pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[The most-copied example in every tutorial is the one place you shouldn't use them.]]></description>
    </item>
    <item>
      <title><![CDATA[How to Stop Charging Customers Twice: A Practical Idempotency Guide]]></title>
      <link>https://petarivanov.tech/blog/how-to-stop-charging-customers-twice-practical-idempotency-guide-http-message-queues/</link>
      <guid>https://petarivanov.tech/blog/how-to-stop-charging-customers-twice-practical-idempotency-guide-http-message-queues/</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Idempotency in plain English: HTTP, message queues, and the one detail that decides whether it's real.]]></description>
    </item>
    <item>
      <title><![CDATA[My Frontend Stack In 2026]]></title>
      <link>https://petarivanov.tech/blog/my-frontend-stack-in-2026-react-nextjs-pnpm-vite-ts-tailwind-storybook-tanstack-zustand-zod-oxlint-oxfmt-msw-vitest-playright-sentry/</link>
      <guid>https://petarivanov.tech/blog/my-frontend-stack-in-2026-react-nextjs-pnpm-vite-ts-tailwind-storybook-tanstack-zustand-zod-oxlint-oxfmt-msw-vitest-playright-sentry/</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[The tools I actually reach for when building production apps, from framework to the moment a user hits a bug.]]></description>
    </item>
    <item>
      <title><![CDATA[Stacked PRs: The Code Review Workflow That Changed How I Ship Features]]></title>
      <link>https://petarivanov.tech/blog/stacked-prs-the-code-review-workflow-that-makes-difference/</link>
      <guid>https://petarivanov.tech/blog/stacked-prs-the-code-review-workflow-that-makes-difference/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Stacked diffs, the workflow Meta and Google ship on.]]></description>
    </item>
    <item>
      <title><![CDATA[20 Mistakes That Quietly Destroy JavaScript/TypeScript Codebases (Part 2)]]></title>
      <link>https://petarivanov.tech/blog/20-mistakes-that-quietly-destroy-javascript-typescript-codebases-common-code-smell-patterns-async-performance-testing/</link>
      <guid>https://petarivanov.tech/blog/20-mistakes-that-quietly-destroy-javascript-typescript-codebases-common-code-smell-patterns-async-performance-testing/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Common JS/TS patterns that feel fine until they don't. 11 mistakes, before/after code for each.]]></description>
    </item>
    <item>
      <title><![CDATA[20 Mistakes That Quietly Destroy JavaScript/TypeScript Codebases (Part 1)]]></title>
      <link>https://petarivanov.tech/blog/20-mistakes-that-quietly-destroy-javascript-typescript-codebases-common-code-smell-patterns/</link>
      <guid>https://petarivanov.tech/blog/20-mistakes-that-quietly-destroy-javascript-typescript-codebases-common-code-smell-patterns/</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Common JS/TS patterns that feel fine until they don't. 11 mistakes, before/after code for each.]]></description>
    </item>
    <item>
      <title><![CDATA[ES2025 Features You Should Actually Use]]></title>
      <link>https://petarivanov.tech/blog/es2025-javascript-typescript-eight-features-you-should-actually-use-production-codebase/</link>
      <guid>https://petarivanov.tech/blog/es2025-javascript-typescript-eight-features-you-should-actually-use-production-codebase/</guid>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn about eight features you must adapt today in your production codebase.]]></description>
    </item>
    <item>
      <title><![CDATA[Vertical Slice Architecture in Node.js: One Folder Per Use Case]]></title>
      <link>https://petarivanov.tech/blog/vertical-slice-architecture-in-nodejs-typescript-one-folder-per-use-case/</link>
      <guid>https://petarivanov.tech/blog/vertical-slice-architecture-in-nodejs-typescript-one-folder-per-use-case/</guid>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Why organizing by domain module isn't enough and what to do instead.]]></description>
    </item>
    <item>
      <title><![CDATA[Dependency Injection in Node.js & TypeScript. The Part Nobody Teaches You]]></title>
      <link>https://petarivanov.tech/blog/dependency-injection-in-nodejs-and-typescript-dependency-inversion-part-no-body-teaches-you/</link>
      <guid>https://petarivanov.tech/blog/dependency-injection-in-nodejs-and-typescript-dependency-inversion-part-no-body-teaches-you/</guid>
      <pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn the hidden costs about importing everything directly and the structural change you need to make.]]></description>
    </item>
    <item>
      <title><![CDATA[Screaming Architecture & Colocation: Let Your Project Structure Tell the Story]]></title>
      <link>https://petarivanov.tech/blog/screaming-architecture-and-colocation-nodejs-typescript-react/</link>
      <guid>https://petarivanov.tech/blog/screaming-architecture-and-colocation-nodejs-typescript-react/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn why you should organize your code by what your app actually does, not by technical roles.]]></description>
    </item>
    <item>
      <title><![CDATA[4 Disciplines That Separate Effective Engineers From Busy Ones]]></title>
      <link>https://petarivanov.tech/blog/four-disciplines-that-separate-effective-software-engineers-from-busy-engineers/</link>
      <guid>https://petarivanov.tech/blog/four-disciplines-that-separate-effective-software-engineers-from-busy-engineers/</guid>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn about the daily habits that help engineers be more effective.]]></description>
    </item>
    <item>
      <title><![CDATA[Database Design Doesn't Start With Table. It Starts With Consequences]]></title>
      <link>https://petarivanov.tech/blog/database-design-foundations-backend-engineers-mistakes-and-lessons/</link>
      <guid>https://petarivanov.tech/blog/database-design-foundations-backend-engineers-mistakes-and-lessons/</guid>
      <pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Here's what most backend engineers get wrong about schema design and how to fix it before you hit production.]]></description>
    </item>
    <item>
      <title><![CDATA[How to 10x Your Code Quality With Three AI Tools]]></title>
      <link>https://petarivanov.tech/blog/how-to-10x-your-code-quality-with-three-ai-tools-advisors-generators-reviewers/</link>
      <guid>https://petarivanov.tech/blog/how-to-10x-your-code-quality-with-three-ai-tools-advisors-generators-reviewers/</guid>
      <pubDate>Sat, 17 Jan 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to build software smartly with Advisor, Generator & Reviewer AI Agents]]></description>
    </item>
    <item>
      <title><![CDATA[The Systematic AI Code Review Workflow: Plan, Generate, Validate]]></title>
      <link>https://petarivanov.tech/blog/the-systematic-ai-code-review-workflow-plan-generate-validate/</link>
      <guid>https://petarivanov.tech/blog/the-systematic-ai-code-review-workflow-plan-generate-validate/</guid>
      <pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A practical guide to maintain quality at AI speed]]></description>
    </item>
    <item>
      <title><![CDATA[2-Tier to 3-Tier Architecture: Migration Journey With Modular Monolith and GraphQL]]></title>
      <link>https://petarivanov.tech/blog/two-tier-to-three-tier-architecture-migration-case-stuty-modular-monolith-graphql-api-software-architecture/</link>
      <guid>https://petarivanov.tech/blog/two-tier-to-three-tier-architecture-migration-case-stuty-modular-monolith-graphql-api-software-architecture/</guid>
      <pubDate>Tue, 18 Nov 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A real-world case study of migrating a two-tier architecture to a three-tier architecture.]]></description>
    </item>
    <item>
      <title><![CDATA[Conscious Debugging: 10 Effective Strategies That Actually Work 🐛]]></title>
      <link>https://petarivanov.tech/blog/conscious-debugging-10-effective-debugging-strategies-debug-like-pro/</link>
      <guid>https://petarivanov.tech/blog/conscious-debugging-10-effective-debugging-strategies-debug-like-pro/</guid>
      <pubDate>Sat, 08 Nov 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to find and fix bugs like a pro with these ten effective debugging strategies.]]></description>
    </item>
    <item>
      <title><![CDATA[Functional Error Handling in Node.js With The Result Pattern]]></title>
      <link>https://petarivanov.tech/blog/functional-error-handling-in-nodejs-with-the-result-pattern/</link>
      <guid>https://petarivanov.tech/blog/functional-error-handling-in-nodejs-with-the-result-pattern/</guid>
      <pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to improve your error handling in Node.js by using the Result Pattern.]]></description>
    </item>
    <item>
      <title><![CDATA[Own Your Onboarding: The First 90 Days That Define Your Career 🚀]]></title>
      <link>https://petarivanov.tech/blog/own-your-onboarding-the-first-30-60-90-plan-new-company-hiring/</link>
      <guid>https://petarivanov.tech/blog/own-your-onboarding-the-first-30-60-90-plan-new-company-hiring/</guid>
      <pubDate>Tue, 07 Oct 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Own your onboarding with a 30-60-90 day plan — the first 90 days that define your career at a new company.]]></description>
    </item>
    <item>
      <title><![CDATA[Ace Your Next JavaScript Interview: Promises, Async/Await, Event Loop (Part 4) ✨]]></title>
      <link>https://petarivanov.tech/blog/javascript-interview-questions-promises-async-await-event-loop-demystified/</link>
      <guid>https://petarivanov.tech/blog/javascript-interview-questions-promises-async-await-event-loop-demystified/</guid>
      <pubDate>Wed, 17 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn the deeper concepts in JavaScript, such as Promises, Async/Await, and Event-Loop.]]></description>
    </item>
    <item>
      <title><![CDATA[What Is a Modular Monolith And Why You Should Care? 🔥]]></title>
      <link>https://petarivanov.tech/blog/what-is-a-modular-monolith-benefits-and-microservices-challenges/</link>
      <guid>https://petarivanov.tech/blog/what-is-a-modular-monolith-benefits-and-microservices-challenges/</guid>
      <pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn more about modular monoliths, their benefits, and the challenges with microservices.]]></description>
    </item>
    <item>
      <title><![CDATA[Code Review Guidelines ✅]]></title>
      <link>https://petarivanov.tech/blog/code-review-guidelines-for-authors-and-reviewers-quality-code-reviews/</link>
      <guid>https://petarivanov.tech/blog/code-review-guidelines-for-authors-and-reviewers-quality-code-reviews/</guid>
      <pubDate>Tue, 02 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[What Authors and Reviewers Should Actually Do?]]></description>
    </item>
    <item>
      <title><![CDATA[Clean Code: 8 Tips to Write Clean Functions 🔥]]></title>
      <link>https://petarivanov.tech/blog/clean-code-8-practical-tips-to-write-clean-functions/</link>
      <guid>https://petarivanov.tech/blog/clean-code-8-practical-tips-to-write-clean-functions/</guid>
      <pubDate>Tue, 26 Aug 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn about eight practical tips on writing clean functions.]]></description>
    </item>
    <item>
      <title><![CDATA[Why You Can't Afford to Ignore TypeScript? 🌟]]></title>
      <link>https://petarivanov.tech/blog/why-you-cant-afford-to-ignore-typescript-long-term-benefits-code-quality/</link>
      <guid>https://petarivanov.tech/blog/why-you-cant-afford-to-ignore-typescript-long-term-benefits-code-quality/</guid>
      <pubDate>Sun, 17 Aug 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[We ship faster when we break fewer things. TypeScript helps you do that.]]></description>
    </item>
    <item>
      <title><![CDATA[Nine VS Code (or Cursor) Extensions That Make My Daily Work Much Easier]]></title>
      <link>https://petarivanov.tech/blog/nine-vs-code-or-cursor-ide-extensions-code-editor/</link>
      <guid>https://petarivanov.tech/blog/nine-vs-code-or-cursor-ide-extensions-code-editor/</guid>
      <pubDate>Sun, 03 Aug 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to improve your IDE and increase your coding speed with these extensions.]]></description>
    </item>
    <item>
      <title><![CDATA[GraphQL Schema Design 101]]></title>
      <link>https://petarivanov.tech/blog/graphql-schema-design-101-best-practices-key-principles-flexible-maintainable-apis/</link>
      <guid>https://petarivanov.tech/blog/graphql-schema-design-101-best-practices-key-principles-flexible-maintainable-apis/</guid>
      <pubDate>Sun, 13 Jul 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn proven best practices and key principles for designing robust GraphQL Schemas.]]></description>
    </item>
    <item>
      <title><![CDATA[Anti Clean Code: The F.L.U.I.D. Trap ⚠️]]></title>
      <link>https://petarivanov.tech/blog/anti-clean-code-the-fluid-trap-fragile-lax-untested-insecure-disorganized-code/</link>
      <guid>https://petarivanov.tech/blog/anti-clean-code-the-fluid-trap-fragile-lax-untested-insecure-disorganized-code/</guid>
      <pubDate>Sun, 29 Jun 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn about the five key ways a code can go wrong and know what to be careful about. (6 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Ace Your Next JavaScript Interview: `this`, `new`, Prototypes, Classes (Part 3) ✨]]></title>
      <link>https://petarivanov.tech/blog/ace-your-next-javascript-interview-this-new-keywords-prototypes-classes/</link>
      <guid>https://petarivanov.tech/blog/ace-your-next-javascript-interview-this-new-keywords-prototypes-classes/</guid>
      <pubDate>Wed, 18 Jun 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn the deeper concepts in JavaScript, such as `this`, `new`, Prototypes, and Classes (7 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Use Compound Components React Advanced Pattern For Better Software Design 🧑‍🎨]]></title>
      <link>https://petarivanov.tech/blog/use-compound-components-react-advanced-design-pattern/</link>
      <guid>https://petarivanov.tech/blog/use-compound-components-react-advanced-design-pattern/</guid>
      <pubDate>Sun, 08 Jun 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to create and design better React components using the Compound Components React advanced pattern. (4 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Ace Your Next JavaScript Interview: Values, References, Coercion & Equality (Part 2) ✨]]></title>
      <link>https://petarivanov.tech/blog/ace-your-next-javascript-interview-values-references-coercion-equality/</link>
      <guid>https://petarivanov.tech/blog/ace-your-next-javascript-interview-values-references-coercion-equality/</guid>
      <pubDate>Tue, 03 Jun 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn the deeper concepts in JavaScript, such as values, references, coercion & equality (5 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Why Composition Beats Inheritance In React]]></title>
      <link>https://petarivanov.tech/blog/why-composition-beats-inheritance-react-projects-extensible-components/</link>
      <guid>https://petarivanov.tech/blog/why-composition-beats-inheritance-react-projects-extensible-components/</guid>
      <pubDate>Sun, 25 May 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn the benefits of using composition over inheritance in React projects. (3 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Be Critical About Any SWE Advice 🤔]]></title>
      <link>https://petarivanov.tech/blog/be-critical-about-any-software-engineering-advice-critical-thinking-first-principles/</link>
      <guid>https://petarivanov.tech/blog/be-critical-about-any-software-engineering-advice-critical-thinking-first-principles/</guid>
      <pubDate>Sun, 11 May 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to question any software engineering advice from first principles. (5 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[How to Better Organize Your React Component Files?]]></title>
      <link>https://petarivanov.tech/blog/how-to-better-organize-your-react-component-files-using-layered-approach/</link>
      <guid>https://petarivanov.tech/blog/how-to-better-organize-your-react-component-files-using-layered-approach/</guid>
      <pubDate>Sun, 27 Apr 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn about the layered approach when organizing your React component files. (3 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Open-Closed Principle (OCP) In React: Write Extensible Components]]></title>
      <link>https://petarivanov.tech/blog/open-closed-principle-ocp-in-react-write-extensible-components/</link>
      <guid>https://petarivanov.tech/blog/open-closed-principle-ocp-in-react-write-extensible-components/</guid>
      <pubDate>Sat, 19 Apr 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A practical look at applying the Open-Closed Principle to React. (4 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[How To Get Experience as a Software Engineer?]]></title>
      <link>https://petarivanov.tech/blog/how-to-get-experience-as-a-software-engineer/</link>
      <guid>https://petarivanov.tech/blog/how-to-get-experience-as-a-software-engineer/</guid>
      <pubDate>Wed, 02 Apr 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to get more experience as a SWE and grow faster in your career.]]></description>
    </item>
    <item>
      <title><![CDATA[How To Craft Flexible UIs In React by Using Generic And Domain Components? 💪]]></title>
      <link>https://petarivanov.tech/blog/how-to-craft-flexible-uis-in-react-splitting-components-into-generic-and-domain/</link>
      <guid>https://petarivanov.tech/blog/how-to-craft-flexible-uis-in-react-splitting-components-into-generic-and-domain/</guid>
      <pubDate>Sun, 16 Mar 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[That's part of my book "The Conscious React" 📚]]></description>
    </item>
    <item>
      <title><![CDATA[How Keeping a Work Log (aka Brag List) Helps You Get Promoted? 📈]]></title>
      <link>https://petarivanov.tech/blog/how-keeping-a-work-log-aka-brag-list-helps-you-get-promoted/</link>
      <guid>https://petarivanov.tech/blog/how-keeping-a-work-log-aka-brag-list-helps-you-get-promoted/</guid>
      <pubDate>Sun, 09 Mar 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[How keeping a work log (aka brag list) helps you track accomplishments and get promoted.]]></description>
    </item>
    <item>
      <title><![CDATA[Four Essential Steps To Take Before Making Any Technical Decision In 2025 🚀]]></title>
      <link>https://petarivanov.tech/blog/four-essential-steps-to-take-before-making-technical-decisions/</link>
      <guid>https://petarivanov.tech/blog/four-essential-steps-to-take-before-making-technical-decisions/</guid>
      <pubDate>Sun, 02 Mar 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn why good discovery and preparation are key for making the right decisions. (5 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Loading Third-Party Scripts In React]]></title>
      <link>https://petarivanov.tech/blog/loading-third-party-scripts-in-react-the-right-way/</link>
      <guid>https://petarivanov.tech/blog/loading-third-party-scripts-in-react-the-right-way/</guid>
      <pubDate>Sun, 23 Feb 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to properly load 3rd party scripts in React, improve performance, and avoid nasty bugs. (4 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[How Did SoundCloud Scale Its Architecture Using BFF, Microservices & DDD?]]></title>
      <link>https://petarivanov.tech/blog/how-did-soundcloud-scale-its-architecture-monoloith-to-microservices-bff-dd/</link>
      <guid>https://petarivanov.tech/blog/how-did-soundcloud-scale-its-architecture-monoloith-to-microservices-bff-dd/</guid>
      <pubDate>Sun, 16 Feb 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A deep dive into the SoundCloud's journey from monolith to BFF, Microservices, and DDD. (5 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Single Responsibility Principle (SRP) In React: Write Focused Components]]></title>
      <link>https://petarivanov.tech/blog/single-responsibility-principle-srp-in-react-write-focused-components/</link>
      <guid>https://petarivanov.tech/blog/single-responsibility-principle-srp-in-react-write-focused-components/</guid>
      <pubDate>Sun, 09 Feb 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A practical look at applying Single Responsibility Principle into React. (3 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Ace Your Next JavaScript Interview: Scope, Hoisting & Closures (Part 1)]]></title>
      <link>https://petarivanov.tech/blog/ace-your-next-javascript-interview-scope-hoisting-closures-simplified/</link>
      <guid>https://petarivanov.tech/blog/ace-your-next-javascript-interview-scope-hoisting-closures-simplified/</guid>
      <pubDate>Sun, 02 Feb 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn the deeper concepts in Javascript, such as scope, hoisting, and closures. (5 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Lifelong Learning: 88+ Resources I Don't Regret as a Senior Software Engineer]]></title>
      <link>https://petarivanov.tech/blog/lifelong-learning-88-plus-resources-i-do-not-regret-as-senior-software-engineer/</link>
      <guid>https://petarivanov.tech/blog/lifelong-learning-88-plus-resources-i-do-not-regret-as-senior-software-engineer/</guid>
      <pubDate>Sun, 26 Jan 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how I stay up-to-date with tech and what resources I used to grow to Senior Software Engineer.]]></description>
    </item>
    <item>
      <title><![CDATA[Building React Components: Turning UI Designs Into React Components]]></title>
      <link>https://petarivanov.tech/blog/building-react-components-turning-ui-designs-into-react-components/</link>
      <guid>https://petarivanov.tech/blog/building-react-components-turning-ui-designs-into-react-components/</guid>
      <pubDate>Sun, 19 Jan 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to design and architect React Components based on User Interface Designs of Components and Pages. (5 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[Embrace software entropy]]></title>
      <link>https://petarivanov.tech/blog/embrace-software-entropy-imperfect-code-flexibility-maintainability/</link>
      <guid>https://petarivanov.tech/blog/embrace-software-entropy-imperfect-code-flexibility-maintainability/</guid>
      <pubDate>Sun, 05 Jan 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Accept that your code will never be perfect or final.]]></description>
    </item>
    <item>
      <title><![CDATA[How did I improve my focus & productivity with a simple Second Brain in Notion?]]></title>
      <link>https://petarivanov.tech/blog/improve-focus-and-productivity-minimalistic-productivity-system-notion/</link>
      <guid>https://petarivanov.tech/blog/improve-focus-and-productivity-minimalistic-productivity-system-notion/</guid>
      <pubDate>Sun, 15 Dec 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Managing your focus and productivity is vital — how I built a simple Second Brain in Notion.]]></description>
    </item>
    <item>
      <title><![CDATA[From Concept to Clarity: 2 Easy Steps to Kickstart Your Product Idea 🚀]]></title>
      <link>https://petarivanov.tech/blog/from-concept-to-clarity-two-easy-steps-kickstart-product-idea/</link>
      <guid>https://petarivanov.tech/blog/from-concept-to-clarity-two-easy-steps-kickstart-product-idea/</guid>
      <pubDate>Sun, 01 Dec 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Find the right problem to solve — two easy steps to kickstart your product idea.]]></description>
    </item>
    <item>
      <title><![CDATA[7 practical tips on performance optimizations in React applications]]></title>
      <link>https://petarivanov.tech/blog/7-practical-tips-on-performance-optimizations-in-react-applications/</link>
      <guid>https://petarivanov.tech/blog/7-practical-tips-on-performance-optimizations-in-react-applications/</guid>
      <pubDate>Sun, 17 Nov 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Optimizing React apps is about smart choices, not exhaustive tweaks.]]></description>
    </item>
    <item>
      <title><![CDATA[The styling dilemma in React]]></title>
      <link>https://petarivanov.tech/blog/the-styling-dilemma-in-react/</link>
      <guid>https://petarivanov.tech/blog/the-styling-dilemma-in-react/</guid>
      <pubDate>Sun, 10 Nov 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Embrace the classless styling approach for better maintainability and readability]]></description>
    </item>
    <item>
      <title><![CDATA[How to use Reducer in React for better State Management: 2 effective ways for simpler design and architecture]]></title>
      <link>https://petarivanov.tech/blog/how-to-use-reducer-in-react-for-better-and-simpler-state-management/</link>
      <guid>https://petarivanov.tech/blog/how-to-use-reducer-in-react-for-better-and-simpler-state-management/</guid>
      <pubDate>Sun, 03 Nov 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Explore the benefits of using the useReducer hook in React for more maintainable and readable components.]]></description>
    </item>
    <item>
      <title><![CDATA[2 must-have tools in your React Project for having a consistent codebase]]></title>
      <link>https://petarivanov.tech/blog/must-have-tools-in-your-react-project-consistent-codebase-prettier-eslint/</link>
      <guid>https://petarivanov.tech/blog/must-have-tools-in-your-react-project-consistent-codebase-prettier-eslint/</guid>
      <pubDate>Sun, 27 Oct 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[How automated formatting and linting enhance code quality and collaboration?]]></description>
    </item>
    <item>
      <title><![CDATA[8 effective debugging strategies to find and fix bugs like a pro]]></title>
      <link>https://petarivanov.tech/blog/8-effective-debugging-strategies/</link>
      <guid>https://petarivanov.tech/blog/8-effective-debugging-strategies/</guid>
      <pubDate>Sun, 20 Oct 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Improve your problem-solving skills with these practical debugging tips.]]></description>
    </item>
    <item>
      <title><![CDATA[9 React Testing Best Practices for Better Design and Quality of Your Tests]]></title>
      <link>https://petarivanov.tech/blog/9-react-testing-best-practices-for-better-test-design-quality/</link>
      <guid>https://petarivanov.tech/blog/9-react-testing-best-practices-for-better-test-design-quality/</guid>
      <pubDate>Wed, 25 Sep 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[A Senior Engineer’s Guide to Effective React Testing (includes Cheat Sheet)]]></description>
    </item>
    <item>
      <title><![CDATA[Focus on learning one programming language and accelerate your SWE career]]></title>
      <link>https://petarivanov.tech/blog/focus-on-learning-one-programming-language-accelerate-career/</link>
      <guid>https://petarivanov.tech/blog/focus-on-learning-one-programming-language-accelerate-career/</guid>
      <pubDate>Sun, 15 Sep 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Become an expert and a valuable team player.]]></description>
    </item>
    <item>
      <title><![CDATA[4 tools to supercharge your Jest Testing and increase your productivity while testing]]></title>
      <link>https://petarivanov.tech/blog/4-tools-to-supercharge-your-jest-testing-increase-productivity/</link>
      <guid>https://petarivanov.tech/blog/4-tools-to-supercharge-your-jest-testing-increase-productivity/</guid>
      <pubDate>Thu, 12 Sep 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Speed up the feedback loop from your tests to quickly identify and fix issues.]]></description>
    </item>
    <item>
      <title><![CDATA[Pin your dependencies in package.json to increase your project's health]]></title>
      <link>https://petarivanov.tech/blog/pin-your-dependencies-in-packagejson/</link>
      <guid>https://petarivanov.tech/blog/pin-your-dependencies-in-packagejson/</guid>
      <pubDate>Sun, 01 Sep 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Avoid problems like "it works on my machine" issues and security flaws.]]></description>
    </item>
    <item>
      <title><![CDATA[The importance of taking breaks and recharging your batteries]]></title>
      <link>https://petarivanov.tech/blog/importance-taking-breaks-recharge-batteries/</link>
      <guid>https://petarivanov.tech/blog/importance-taking-breaks-recharge-batteries/</guid>
      <pubDate>Sun, 25 Aug 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Get closer to a more conscious work-life balance.]]></description>
    </item>
    <item>
      <title><![CDATA[10 ways to better organize and design your React Application]]></title>
      <link>https://petarivanov.tech/blog/10-ways-organize-and-design-react-application/</link>
      <guid>https://petarivanov.tech/blog/10-ways-organize-and-design-react-application/</guid>
      <pubDate>Sun, 18 Aug 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to make your React App scale.]]></description>
    </item>
    <item>
      <title><![CDATA[Understand The 4 Shapes of Software Developers to Better Navigate Your Career]]></title>
      <link>https://petarivanov.tech/blog/the-4-shapes-of-software-developers/</link>
      <guid>https://petarivanov.tech/blog/the-4-shapes-of-software-developers/</guid>
      <pubDate>Tue, 06 Aug 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Discover your ideal developer profile for Growth, Team Synergy, and Career Success. (4 minutes)]]></description>
    </item>
    <item>
      <title><![CDATA[State Management & Data Fetching Libraries in React]]></title>
      <link>https://petarivanov.tech/blog/state-management-and-data-fetching-libraries/</link>
      <guid>https://petarivanov.tech/blog/state-management-and-data-fetching-libraries/</guid>
      <pubDate>Sat, 13 Jul 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Notes on using and not using state management and data fetching libraries in React.]]></description>
    </item>
    <item>
      <title><![CDATA[How and Why Did I Get Certified as an AWS Solutions Architect Associate?]]></title>
      <link>https://petarivanov.tech/blog/aws-solutions-architect-associate-certification/</link>
      <guid>https://petarivanov.tech/blog/aws-solutions-architect-associate-certification/</guid>
      <pubDate>Sun, 07 Jul 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Step-by-Step Guide for preparing for the AWS Solutions Architect Associate exam.]]></description>
    </item>
    <item>
      <title><![CDATA[React Component Mental Models]]></title>
      <link>https://petarivanov.tech/blog/react-component-mental-models/</link>
      <guid>https://petarivanov.tech/blog/react-component-mental-models/</guid>
      <pubDate>Sun, 16 Jun 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Understand the different types of components to design better React apps.]]></description>
    </item>
    <item>
      <title><![CDATA[GraphQL Intro 101 (part 2)]]></title>
      <link>https://petarivanov.tech/blog/graphql-intro-101-part-2/</link>
      <guid>https://petarivanov.tech/blog/graphql-intro-101-part-2/</guid>
      <pubDate>Thu, 06 Jun 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[A conscious introduction to the GraphQL World, part 2.]]></description>
    </item>
    <item>
      <title><![CDATA[15 React Component Principles & Best Practices for Better Software Architecture & Design]]></title>
      <link>https://petarivanov.tech/blog/15-react-component-principles-for-better-design/</link>
      <guid>https://petarivanov.tech/blog/15-react-component-principles-for-better-design/</guid>
      <pubDate>Thu, 23 May 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[The conscious road to more scalable designs of React applications.]]></description>
    </item>
    <item>
      <title><![CDATA[GraphQL Intro 101 (part 1)]]></title>
      <link>https://petarivanov.tech/blog/graphql-intro-101-part-1/</link>
      <guid>https://petarivanov.tech/blog/graphql-intro-101-part-1/</guid>
      <pubDate>Sun, 12 May 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[A conscious introduction to the GraphQL World, part 1.]]></description>
    </item>
    <item>
      <title><![CDATA[6 tools that made my life much easier as a Software Engineer]]></title>
      <link>https://petarivanov.tech/blog/6-tools-to-ease-software-engineer-life/</link>
      <guid>https://petarivanov.tech/blog/6-tools-to-ease-software-engineer-life/</guid>
      <pubDate>Sun, 21 Apr 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[And how to make your environment, tools, and setup work for you, not against you.]]></description>
    </item>
    <item>
      <title><![CDATA[Demystifying the Shadow DOM]]></title>
      <link>https://petarivanov.tech/blog/demystifying-the-shadow-dom/</link>
      <guid>https://petarivanov.tech/blog/demystifying-the-shadow-dom/</guid>
      <pubDate>Sun, 07 Apr 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[A Web Developer's secret weapon]]></description>
    </item>
    <item>
      <title><![CDATA[3 software development principles I wish I knew earlier in my career]]></title>
      <link>https://petarivanov.tech/blog/3-software-development-principles/</link>
      <guid>https://petarivanov.tech/blog/3-software-development-principles/</guid>
      <pubDate>Sun, 24 Mar 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[And the power of YAGNI, KISS, and DRY]]></description>
    </item>
    <item>
      <title><![CDATA[Stay Positive and “it is what it is” or The Power of Positive Thinking]]></title>
      <link>https://petarivanov.tech/blog/stay-positive-and-the-power-of-positive-thinking/</link>
      <guid>https://petarivanov.tech/blog/stay-positive-and-the-power-of-positive-thinking/</guid>
      <pubDate>Wed, 28 Feb 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Today we read many success stories but there're many unsuccessful ones from which we can learn a lot. That's the purpose of today's articles - to share part of my (un)successful stories and learnings.]]></description>
    </item>
    <item>
      <title><![CDATA[SOLID Principles: Writing Robust & Maintainable Code (with TypeScript examples)]]></title>
      <link>https://petarivanov.tech/blog/solid-principles-writing-robust-and/</link>
      <guid>https://petarivanov.tech/blog/solid-principles-writing-robust-and/</guid>
      <pubDate>Thu, 01 Feb 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[And why change and speed matter in today's world and competition.]]></description>
    </item>
    <item>
      <title><![CDATA[How to better structure your next Node.js project? The Modular Approach.]]></title>
      <link>https://petarivanov.tech/blog/how-to-better-structure-your-next-nodejs-project-the-modular-approach/</link>
      <guid>https://petarivanov.tech/blog/how-to-better-structure-your-next-nodejs-project-the-modular-approach/</guid>
      <pubDate>Tue, 31 Oct 2023 00:00:00 GMT</pubDate>
      <description><![CDATA[In this article, I will share my opinion on how to structure your next Node.js project. In the past, I’ve worked on various projects both with Node.js and other technologies. A well-structured project is crucial for the developer experience (DE), scalability and maintainability of the application, testing, and much more.]]></description>
    </item>
    <item>
      <title><![CDATA[The T-shaped Developer]]></title>
      <link>https://petarivanov.tech/blog/the-t-shaped-software-developer/</link>
      <guid>https://petarivanov.tech/blog/the-t-shaped-software-developer/</guid>
      <pubDate>Tue, 19 Sep 2023 00:00:00 GMT</pubDate>
      <description><![CDATA[The way how software companies work has changed. A new need has emerged — the need for T-shaped Developers.]]></description>
    </item>
    <item>
      <title><![CDATA[Step by Step Guide: Migrate a React App from Bootstrap to Tailwind CSS]]></title>
      <link>https://petarivanov.tech/blog/step-by-step-guide-migrate-a-react-app-from-bootstrap-to-tailwind-css/</link>
      <guid>https://petarivanov.tech/blog/step-by-step-guide-migrate-a-react-app-from-bootstrap-to-tailwind-css/</guid>
      <pubDate>Wed, 16 Aug 2023 00:00:00 GMT</pubDate>
      <description><![CDATA[I will walk you through my journey of migrating a React SPA from Bootstrap to Tailwind CSS. I will discuss the pros and cons of the architectural strategies considered during the migration. Then, I will move to the execution of the picked strategy and share some learned lessons throughout the whole experience.]]></description>
    </item>
    <item>
      <title><![CDATA[Comparison Guide: Bootstrap vs. Tailwind CSS. When and What to choose?]]></title>
      <link>https://petarivanov.tech/blog/comparison-guide-bootstrap-vs-tailwind-css-when-what-to-choose/</link>
      <guid>https://petarivanov.tech/blog/comparison-guide-bootstrap-vs-tailwind-css-when-what-to-choose/</guid>
      <pubDate>Sat, 15 Jul 2023 00:00:00 GMT</pubDate>
      <description><![CDATA[Many software developers do not think a lot before picking either Bootstrap or Tailwind CSS. They go with Bootstrap when Tailwind CSS is more appropriate or vice versa. However, picking the right tool and technology for solving a problem is crucial.]]></description>
    </item>
  </channel>
</rss>