<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vishwam Dhavale</title>
    <description>The latest articles on DEV Community by Vishwam Dhavale (@vishwam_dhavale_1ca8080cd).</description>
    <link>https://dev.to/vishwam_dhavale_1ca8080cd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2680047%2Fd53ddba2-3a83-4f58-9ae2-7613cd7d5c83.jpg</url>
      <title>DEV Community: Vishwam Dhavale</title>
      <link>https://dev.to/vishwam_dhavale_1ca8080cd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vishwam_dhavale_1ca8080cd"/>
    <language>en</language>
    <item>
      <title>React 19 Has a CVSS 10.0 Vulnerability — And Most Teams Don't Know</title>
      <dc:creator>Vishwam Dhavale</dc:creator>
      <pubDate>Tue, 31 Mar 2026 07:20:12 +0000</pubDate>
      <link>https://dev.to/vishwam_dhavale_1ca8080cd/react-19-has-a-cvss-100-vulnerability-and-most-teams-dont-know-1kem</link>
      <guid>https://dev.to/vishwam_dhavale_1ca8080cd/react-19-has-a-cvss-100-vulnerability-and-most-teams-dont-know-1kem</guid>
      <description>&lt;h2&gt;
  
  
  React 19 Has a CVSS 10.0 Vulnerability — And Most Teams Don't Know
&lt;/h2&gt;

&lt;p&gt;Most React 19 articles talk about Server Components and the new &lt;code&gt;use()&lt;/code&gt; API.&lt;/p&gt;

&lt;p&gt;Few mention that a critical RCE vulnerability — &lt;strong&gt;React2Shell (CVE-2025-55182)&lt;/strong&gt; — was discovered in React Server Components late 2025, scoring a perfect 10.0 on the CVSS severity scale.&lt;/p&gt;

&lt;p&gt;The exploit hits &lt;em&gt;before&lt;/em&gt; authentication checks. One crafted request and an attacker potentially has full server access.&lt;/p&gt;

&lt;p&gt;Affected versions: &lt;strong&gt;19.0.0, 19.1.0, 19.1.1, 19.2.0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Patched versions: &lt;strong&gt;19.0.1, 19.1.2, 19.2.1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're running any of those affected versions in production — check your package.json right now.&lt;/p&gt;




&lt;h2&gt;
  
  
  But React 19 Is Still Worth It
&lt;/h2&gt;

&lt;p&gt;Beyond the security story, React 19 is a genuinely significant release:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Server Components are now stable&lt;/strong&gt; — fetch directly from DB, ship zero JS for those components&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server Actions replace the fetch boilerplate&lt;/strong&gt; — &lt;code&gt;"use server"&lt;/code&gt; and React handles loading, errors, optimistic updates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New hooks&lt;/strong&gt; — &lt;code&gt;useActionState&lt;/code&gt;, &lt;code&gt;useOptimistic&lt;/code&gt;, &lt;code&gt;useFormStatus&lt;/code&gt; simplify patterns that used to need 3-4 state variables&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;meta&amp;gt;&lt;/code&gt; support&lt;/strong&gt; — drop react-helmet for most use cases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;use()&lt;/code&gt; API&lt;/strong&gt; — await promises directly in components, no more &lt;code&gt;useEffect&lt;/code&gt; for data fetching&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What Actually Breaks During Upgrade
&lt;/h2&gt;

&lt;p&gt;React 19 is &lt;em&gt;mostly&lt;/em&gt; backward compatible but these will catch you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Legacy lifecycle methods (&lt;code&gt;componentWillMount&lt;/code&gt;, &lt;code&gt;componentWillReceiveProps&lt;/code&gt;) — replace with hooks&lt;/li&gt;
&lt;li&gt;Libraries relying on React internals — check compatibility before upgrading&lt;/li&gt;
&lt;li&gt;Code assuming synchronous state updates — &lt;code&gt;setState()&lt;/code&gt; then immediately reading state will behave differently&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I wrote a full breakdown covering all of this — the new features, what breaks, how to migrate safely, and the full security vulnerability story.&lt;/p&gt;

&lt;p&gt;👉 Full article: &lt;a href="https://www.vishwamdhavale.com/blog/react-19-breaking-changes" rel="noopener noreferrer"&gt;https://www.vishwamdhavale.com/blog/react-19-breaking-changes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Are you already on React 19 in production? Drop a comment — curious what your upgrade experience looked like.&lt;/p&gt;

&lt;h1&gt;
  
  
  react #javascript #webdev #frontend #security
&lt;/h1&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>What Being a Founding Engineer Actually Means (Beyond Writing Code)</title>
      <dc:creator>Vishwam Dhavale</dc:creator>
      <pubDate>Thu, 26 Feb 2026 17:35:25 +0000</pubDate>
      <link>https://dev.to/vishwam_dhavale_1ca8080cd/what-being-a-founding-engineer-actually-means-beyond-writing-code-231d</link>
      <guid>https://dev.to/vishwam_dhavale_1ca8080cd/what-being-a-founding-engineer-actually-means-beyond-writing-code-231d</guid>
      <description>&lt;p&gt;Most people think a founding engineer writes code.&lt;/p&gt;

&lt;p&gt;That’s maybe 30% of the job.&lt;/p&gt;

&lt;p&gt;The rest is ambiguity, architectural responsibility, and making decisions that shape a product long before scale is visible.&lt;/p&gt;

&lt;p&gt;In early-stage environments, there is no predefined system.&lt;br&gt;
No backend team.&lt;br&gt;
No safety net.&lt;/p&gt;

&lt;p&gt;You are the system.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. You Define the Architecture From Zero
&lt;/h2&gt;

&lt;p&gt;You don’t inherit decisions.&lt;/p&gt;

&lt;p&gt;You make them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Database structure&lt;/li&gt;
&lt;li&gt;Auth model&lt;/li&gt;
&lt;li&gt;API design&lt;/li&gt;
&lt;li&gt;Deployment strategy&lt;/li&gt;
&lt;li&gt;What to build now vs later&lt;/li&gt;
&lt;li&gt;What to deliberately avoid&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every shortcut becomes future technical debt.&lt;br&gt;
Every overengineered abstraction slows velocity.&lt;/p&gt;

&lt;p&gt;You operate in that tension daily.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. You Build for Change, Not Just Today
&lt;/h2&gt;

&lt;p&gt;Early-stage products evolve fast.&lt;/p&gt;

&lt;p&gt;Features pivot.&lt;br&gt;
Data models change.&lt;br&gt;
Integrations expand.&lt;/p&gt;

&lt;p&gt;If the foundation is tightly coupled, iteration becomes expensive.&lt;/p&gt;

&lt;p&gt;So you think ahead:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where will this break?&lt;/li&gt;
&lt;li&gt;What will scale?&lt;/li&gt;
&lt;li&gt;What must remain flexible?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You optimize for adaptability — not perfection.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. You Make Decisions Without Perfect Information
&lt;/h2&gt;

&lt;p&gt;There’s no clear roadmap.&lt;/p&gt;

&lt;p&gt;You don’t know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What user growth will look like&lt;/li&gt;
&lt;li&gt;What features will dominate usage&lt;/li&gt;
&lt;li&gt;Which integrations will matter most&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yet you still have to choose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple now vs scalable later&lt;/li&gt;
&lt;li&gt;Speed vs structure&lt;/li&gt;
&lt;li&gt;Abstraction vs clarity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There’s no formula.&lt;/p&gt;

&lt;p&gt;Only judgment.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Ownership Is Structural, Not Emotional
&lt;/h2&gt;

&lt;p&gt;If something breaks, it’s your system.&lt;/p&gt;

&lt;p&gt;If performance degrades, it’s your data model.&lt;/p&gt;

&lt;p&gt;If deployment fails, it’s your infra decision.&lt;/p&gt;

&lt;p&gt;You can’t hide behind “that’s not my module.”&lt;/p&gt;

&lt;p&gt;A founding engineer doesn’t just ship code.&lt;/p&gt;

&lt;p&gt;They carry architectural responsibility.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. It’s a Mindset Shift
&lt;/h2&gt;

&lt;p&gt;The difference isn’t seniority.&lt;/p&gt;

&lt;p&gt;It’s perspective.&lt;/p&gt;

&lt;p&gt;You stop thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“How do I implement this feature?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And start thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“How does this decision affect the system 6 months from now?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That shift changes how you design everything.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;Early products don’t fail because of missing features.&lt;/p&gt;

&lt;p&gt;They fail because the foundation can’t support growth.&lt;/p&gt;

&lt;p&gt;Being a founding engineer means designing that foundation — under uncertainty.&lt;/p&gt;




&lt;p&gt;This is just a high-level view. The detailed breakdown of how I design and ship backend systems is here:&lt;/p&gt;

&lt;p&gt;You can see more of my work and writing here →&lt;br&gt;
&lt;a href="https://www.vishwamdhavale.com" rel="noopener noreferrer"&gt;https://www.vishwamdhavale.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>startup</category>
      <category>systemdesign</category>
      <category>software</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
