41554 blogs Β· [ { "id": "01a087de-f9a1-7118-a0c0-5bf4261dce6b", "title": "AI is overthrowing developers, or is it?", "url": "https://shamun.dev/posts/ai-era", "published_at": "2025-01-06T07:34:31+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42648b7b4", "title": "The hype train is not what your startup needs", "url": "https://shamun.dev/posts/hype-train", "published_at": "2025-01-01T07:50:43+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf426fc7d71", "title": "Tips That Shaped My Path to CTO", "url": "https://shamun.dev/posts/cto-tips", "published_at": "2024-07-23T15:47:32+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf4270dc134", "title": "Managers Should Focus More On Setting Expectations", "url": "https://shamun.dev/posts/setting-expectations", "published_at": "2024-06-17T05:08:34+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf4279243d9", "title": "Context is a key ingredient for engineers", "url": "https://shamun.dev/posts/context", "published_at": "2024-05-03T16:44:23+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf427f56e4b", "title": "Use Your Product", "url": "https://shamun.dev/posts/use-your-product", "published_at": "2024-03-24T12:57:08+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf428c9d2a9", "title": "Your Startup is Slow - Let's fix it", "url": "https://shamun.dev/posts/slow-startup", "published_at": "2024-02-17T17:04:18+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf429607f65", "title": "The Perfect Mediocre", "url": "https://shamun.dev/posts/perfect-mediocre", "published_at": "2024-02-03T10:00:29+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf429f16bf3", "title": "Early Stage Startup Handbook", "url": "https://shamun.dev/posts/startup-handbook", "published_at": "2023-12-21T16:19:01+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42a8de8ed", "title": "Type Safety for the Rest of Us", "url": "https://shamun.dev/posts/type-safety", "published_at": "2023-12-14T16:02:21+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42b844d4f", "title": "Engineering Handbook", "url": "https://shamun.dev/posts/engineering-handbook", "published_at": "2023-12-02T19:04:20+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42bc3fae0", "title": "Svelte Through the Eyes of a React Developer", "url": "https://shamun.dev/posts/svelte", "published_at": "2023-11-24T14:34:18+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42c52d30e", "title": "Designing Effective Interviews for New Roles in Startups", "url": "https://shamun.dev/posts/effective-interviews", "published_at": "2023-11-15T10:43:36+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42d349d7a", "title": "Ownership as the Key to Engineering Scalability", "url": "https://shamun.dev/posts/ownership", "published_at": "2023-11-10T16:40:03+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42e2e543b", "title": "Client-Side-Servering: My Perspective on Next.js Server Actions", "url": "https://shamun.dev/posts/client-side-servering", "published_at": "2023-11-01T11:26:03+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42e839113", "title": "The Journey of Becoming a CTO", "url": "https://shamun.dev/posts/cto-journey", "published_at": "2023-10-24T15:39:34+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42e92d2ec", "title": "CDC Changed the Way I Build Software", "url": "https://shamun.dev/posts/cdc", "published_at": "2023-10-18T12:52:56+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42f46d16e", "title": "Unleashing Vision with Prototyping", "url": "https://shamun.dev/posts/prototyping", "published_at": "2023-10-10T15:09:52+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42f8f0288", "title": "Overcoming a CTO's Imposter Syndrome", "url": "https://shamun.dev/posts/imposter-syndrome", "published_at": "2023-10-02T17:45:32+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf42fc95227", "title": "Micromanagement: The Unpopular Truth You Need to Hear", "url": "https://shamun.dev/posts/micromanagement", "published_at": "2023-09-26T19:12:59+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf43007c337", "title": "The Founder's Dilemma: To Disconnect or Not to Disconnect", "url": "https://shamun.dev/posts/disconnecting", "published_at": "2023-09-18T08:35:29+00:00" }, { "id": "01a087de-f9a1-7118-a0c0-5bf43018ffbb", "title": "Rise of the LLM Gateway", "url": "https://shamun.dev/posts/llm-gateway", "published_at": "2023-09-11T19:20:13+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf4033947a3", "title": "The Balancing Act of the CTO", "url": "https://shamun.dev/posts/balancing-act", "published_at": "2023-09-06T15:29:59+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf4034506af", "title": "I'm back baby!", "url": "https://shamun.dev/posts/im-back", "published_at": "2023-09-05T15:43:49+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf4041fd597", "title": "Creating a custom Tailwind CSS color plugin", "url": "https://shamun.dev/posts/creating-a-custom-tailwind-css-color-plugin", "published_at": "2021-04-05T21:00:00+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf404cdcc28", "title": "My Tailwind CSS utility function for creating reusable React components (TypeScript support)", "url": "https://shamun.dev/posts/my-tailwind-css-utility-function-for-creating-reusable-react-components-typescript-support", "published_at": "2021-03-30T06:37:58+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf404fbc3e1", "title": "Tailwind CSS JIT Compiler: First Impression", "url": "https://shamun.dev/posts/tailwind-css-jit-compiler-first-impression", "published_at": "2021-03-22T22:00:00+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf405ae1171", "title": "Why I moved from styled-components to Tailwind CSS and what's the future of CSS-in-JS?", "url": "https://shamun.dev/posts/why-i-moved-from-styled-components-to-tailwind-css-and-whats-the-future-of-css-in-js", "published_at": "2021-03-15T16:31:58+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf406393696", "title": "Creating a capped leaderboard with Redis sorted set, secondary index, and Lua πŸ₯‡", "url": "https://shamun.dev/posts/creating-a-capped-leaderboard-with-redis-sorted-set-secondary-index-and-lua", "published_at": "2021-03-01T07:04:28+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf406441566", "title": "Meet our 5 days open-source side-project and its tech stack", "url": "https://shamun.dev/posts/meet-our-5-days-open-source-side-project-and-its-tech-stack", "published_at": "2021-02-22T06:39:14+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf406932308", "title": "My Recent Tips For Optimizing Web Performance", "url": "https://shamun.dev/posts/my-recent-tips-for-optimizing-web-performance", "published_at": "2021-02-09T14:57:10+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf406b5e3dc", "title": "My favorite coding and entrepreneurship books πŸ“š", "url": "https://shamun.dev/posts/my-favorite-coding-and-entrepreneurship-books", "published_at": "2021-02-01T07:57:32+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf406e6f37d", "title": "Preact - A lightweight alternative to React", "url": "https://shamun.dev/posts/preact-a-lightweight-alternative-to-react", "published_at": "2021-01-25T07:55:25+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf406f0ea62", "title": "Incremental Static Regeneration with Next.js", "url": "https://shamun.dev/posts/incremental-static-regeneration-with-nextjs", "published_at": "2021-01-12T11:53:06+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf4075cf113", "title": "Web Vitals Optimizations: Advanced Dynamic Import Patterns", "url": "https://shamun.dev/posts/web-vitals-optimizations-advanced-dynamic-import-patterns", "published_at": "2021-01-05T15:36:00+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf4084bb018", "title": "Server-Side-Rendering Renaissance", "url": "https://shamun.dev/posts/server-side-rendering-renaissance", "published_at": "2020-12-17T13:53:34+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf408f91078", "title": "Docker Compose: The Perfect Development Environment", "url": "https://shamun.dev/posts/docker-compose-the-perfect-development-environment", "published_at": "2020-12-04T13:55:48+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40906cf72", "title": "SQL Join vs Subquery: The Game Changer", "url": "https://shamun.dev/posts/sql-join-vs-subquery-the-game-changer", "published_at": "2020-11-19T14:24:54+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf409169d06", "title": "My React-TypeScript Cheat Sheet", "url": "https://shamun.dev/posts/my-react-typescript-cheat-sheet", "published_at": "2020-10-05T12:53:49+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf4093cfc09", "title": "date-fns: a moment.js alternative", "url": "https://shamun.dev/posts/date-fns-a-momentjs-alternative", "published_at": "2020-09-22T10:53:23+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf409ec2150", "title": "Managing multiple NodeJS versions", "url": "https://shamun.dev/posts/managing-multiple-nodejs-versions", "published_at": "2020-09-14T11:22:35+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40ac64fdd", "title": "Breaking The Gateway", "url": "https://shamun.dev/posts/breaking-the-gateway", "published_at": "2020-08-31T08:17:32+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40ae0d14d", "title": "Pro tips for data scraping in production", "url": "https://shamun.dev/posts/pro-tips-for-data-scraping-in-production", "published_at": "2020-07-13T11:14:59+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40b114ce4", "title": "Managing your secrets in Git πŸ—", "url": "https://shamun.dev/posts/managing-your-secrets-in-git", "published_at": "2020-07-06T13:00:24+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40b6c439c", "title": "Kubernetes: The Good, the Bad and the Ugly", "url": "https://shamun.dev/posts/kubernetes-the-good-the-bad-and-the-ugly", "published_at": "2020-03-10T11:23:04+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40c09b7e2", "title": "My Two Cents On Stackbit", "url": "https://shamun.dev/posts/my-two-cents-on-stackbit", "published_at": "2020-02-22T10:19:13+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40c1f6080", "title": "Using OneSignal in a Vue CLI 3 Application", "url": "https://shamun.dev/posts/using-onesignal-in-a-vue-cli-3-application", "published_at": "2020-02-21T10:44:47+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40cea5747", "title": "Building Serverless Event Driven Apps with Knative and Python", "url": "https://shamun.dev/posts/building-serverless-event-driven-apps-with-knative-and-python", "published_at": "2020-02-21T10:42:57+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40d949965", "title": "The Downfall Of Functions And The Rise Of Knative", "url": "https://shamun.dev/posts/the-downfall-of-functions-and-the-rise-of-knative", "published_at": "2020-02-21T10:40:33+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40e58076a", "title": "Optimize Your Data Science Environment", "url": "https://shamun.dev/posts/optimize-your-data-science-environment", "published_at": "2020-02-21T10:38:31+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40f122fc8", "title": "Optimistic Offline-First Apps With Vuex", "url": "https://shamun.dev/posts/optimistic-offline-first-apps-with-vuex", "published_at": "2020-02-21T10:36:34+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40f3a45d7", "title": "How we migrated to serverless in a weekend?", "url": "https://shamun.dev/posts/how-we-migrated-to-serverless-in-a-weekend", "published_at": "2020-02-21T10:33:43+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40f499000", "title": "My Microservices Stack", "url": "https://shamun.dev/posts/my-microservices-stack", "published_at": "2020-02-21T10:32:06+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40f6aeb68", "title": "Event Sourcing with Lagom on GCP", "url": "https://shamun.dev/posts/event-sourcing-with-lagom-on-gcp", "published_at": "2020-02-21T10:30:28+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40f8daf43", "title": "Polymer 3 β€” First Impressions", "url": "https://shamun.dev/posts/polymer-3-first-impressions", "published_at": "2020-02-21T10:28:13+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf40fef8e55", "title": "Dockerizing Your Scala Application", "url": "https://shamun.dev/posts/dockerizing-your-scala-application", "published_at": "2020-02-21T10:26:48+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf410d3567c", "title": "The Pursuit of Perfect Pipeline: Part #4 Continuous Delivery", "url": "https://shamun.dev/posts/the-pursuit-of-perfect-pipeline-part-4-continuous-delivery", "published_at": "2020-02-21T10:23:50+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf41160e767", "title": "The Pursuit of Perfect Pipeline: Part #3 Continuous Integration", "url": "https://shamun.dev/posts/the-pursuit-of-perfect-pipeline-part-3-continuous-integration", "published_at": "2020-02-21T10:20:57+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf412162cec", "title": "The Pursuit of Perfect Pipeline: Part #2 Git Branching Model", "url": "https://shamun.dev/posts/the-pursuit-of-perfect-pipeline-part-2-git-branching-model", "published_at": "2020-02-21T10:17:59+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf41269a58f", "title": "The Pursuit of Perfect Pipeline: Part #1 TDD", "url": "https://shamun.dev/posts/the-pursuit-of-perfect-pipeline-part-1-tdd", "published_at": "2020-02-21T10:14:25+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf412d1920c", "title": "Deploying WebSockets cluster to GCP with Let’s Encrypt certificates", "url": "https://shamun.dev/posts/deploying-websockets-cluster-to-gcp-with-lets-encrypt-certificates", "published_at": "2020-02-21T10:12:01+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf413802247", "title": "Keep Your Website in Ratio (Polymer Inside)", "url": "https://shamun.dev/posts/keep-your-website-in-ratio-polymer-inside", "published_at": "2020-02-21T10:08:54+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf41397f1b7", "title": "Stream your hapi.js logs to Google Cloud", "url": "https://shamun.dev/posts/stream-your-hapijs-logs-to-google-cloud", "published_at": "2020-02-20T22:46:31+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf413d5d707", "title": "How We Built The Next Generation Of Promotional Websites Using Polymer", "url": "https://shamun.dev/posts/how-we-built-the-next-generation-of-promotional-websites-using-polymer", "published_at": "2020-02-20T22:39:33+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf414d4649d", "title": "5 Reasons To Use Polymer", "url": "https://shamun.dev/posts/5-reasons-to-use-polymer", "published_at": "2020-02-20T22:37:25+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf414dffe09", "title": "The Never Ending Journey Of Learning", "url": "https://shamun.dev/posts/the-never-ending-journey-of-learning", "published_at": "2020-02-20T22:32:53+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf41590f279", "title": "Looking Through The Developer’s Eyes For Product Managers β€” Part 2", "url": "https://shamun.dev/posts/looking-through-the-developers-eyes-for-product-managers-part-2", "published_at": "2020-02-20T22:28:59+00:00" }, { "id": "01a087de-f9a2-72c5-9653-baf416718bf0", "title": "Looking Through The Developer’s Eyes For Product Managers β€” Part 1", "url": "https://shamun.dev/posts/looking-through-the-developers-eyes-for-product-managers-part-1", "published_at": "2020-02-20T22:20:32+00:00" } ] posts Claim your blog
Back to shamun.dev
Blog Β· corpus.blog/blogs/shamun.dev/posts

shamun.dev

shamun.dev

2025

2024

2023

2021

2020