<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Sandeep Gokhale's Blog]]></title><description><![CDATA[Entrepreneur, Founder, Mentor. Also runs a Registered NGO.]]></description><link>https://gokhale.me</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 19:37:33 GMT</lastBuildDate><atom:link href="https://gokhale.me/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[My AI Coding Journey]]></title><description><![CDATA[Being a programmer at heart, my focus was always to write high quality and maintainable code. I had the privilege to learn from some of the best programmers (Mostly online, less offline) by reading their code and understanding their mindset in solvin...]]></description><link>https://gokhale.me/my-ai-coding-journey</link><guid isPermaLink="true">https://gokhale.me/my-ai-coding-journey</guid><category><![CDATA[AI]]></category><category><![CDATA[vibe coding]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[claude.ai]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sun, 28 Dec 2025 08:23:01 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/zS4lUqLEiNA/upload/321c55bab5c1c05621901a0101d465a9.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Being a programmer at heart, my focus was always to write high quality and maintainable code. I had the privilege to learn from some of the best programmers (Mostly online, less offline) by reading their code and understanding their mindset in solving the problem.</p>
<p>This habit shaped how I think about software far more than any framework or tool.</p>
<h2 id="heading-the-gpt-era">The GPT era</h2>
<p>I use GPT mostly for non coding tasks.</p>
<p>Occasionally, I’ve leaned on it for code, especially for stacks that I’ve less experience with ( Ex: Python). I’d ask it to explain what a piece of code was doing or help reason through a specific piece of logic before taking the final stand.</p>
<p>For stacks I was familiar with, I avoided GPT for Code. LLM Hallucinations are real and I didn’t require assistance.</p>
<hr />
<h2 id="heading-microsoft-co-pilot">Microsoft Co Pilot</h2>
<p>Fast forward 2025,I tried Microsoft Copilot with VS Code. Copilot watches what you’re doing and suggests the next few lines of code. Press Tab, and it writes them for you.</p>
<blockquote>
<p>I remember spinning up a simple Express server for a quick experiment. Almost immediately, Copilot started injecting advanced logging. Something I hadn’t asked for and didn’t need at that moment.</p>
</blockquote>
<p>Pressing Tab without understanding what was added feels harmless. The code works, but complexity sneaks in.</p>
<p>What saved me was the habit built over the years: reviewing every line of code.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Disabled Co Pilot!</div>
</div>

<hr />
<h2 id="heading-claude-code">Claude Code</h2>
<p>Now, this was the biggest revelation for me. I wanted to try vibe coding and was looking for a tool. I’ve tried Codex (From ChatGPT) and Claude Code (From Anthropic) and the developer in me loved Claude Code.</p>
<blockquote>
<p>Fun Fact: Claude Code was created as a side project by Boris Cherny back in September 2024</p>
</blockquote>
<p>When I started I was using Sonnet but once Opus 4.5 Model was released, there was no going back. I do not code heavily with Claude Code since my goal is to learn the tricks and tips around vibe coding.</p>
<hr />
<h2 id="heading-vibe-coding-is-powerful-but-risky">Vibe Coding is powerful - but risky</h2>
<ul>
<li><p>Claude makes mistakes confidently. Full stack experience helps you spot when something looks correct but is functionally wrong.</p>
</li>
<li><p>Clear guidelines upfront will prevent later optimization/rework.</p>
</li>
<li><p>Structured Instructions reduces ambiguity. Markdown or XML make intent explicit and improve reasoning.</p>
</li>
<li><p>Database tasks demand explicit schema constraints. Without this, Claude confidently invents column names.</p>
</li>
<li><p>Never auto-approve DB Schema and Architecture changes. Claude optimizes for the current instructions, and misses global context.</p>
</li>
<li><p>Restrict Claude Code’s access to the code folder. Broader access increases the blast radius.</p>
</li>
<li><p>Tests are non-negotiable. Without them, vibe coding turns into guesswork.</p>
</li>
<li><p>Test Driven Development preserves intent and limits the impact of hallucination.</p>
</li>
<li><p>Context Rot is real. In long sessions, lessons degrade and blurs intent.</p>
</li>
</ul>
<hr />
<h2 id="heading-what-this-taught-me">What this taught me</h2>
<ol>
<li><p>The real value wasn’t speed or output, but understanding the limits of the agent.</p>
</li>
<li><p>Knowing where the agent breaks down mattered more than what it could do well.</p>
</li>
<li><p>While prompting and rules are important, it cannot replace judgement.</p>
</li>
<li><p>The most valuable skill is spotting when the agent is heading in the wrong direction.</p>
</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[This feels different]]></title><description><![CDATA[I come from a generation of software engineers who started with Technical Books (YouTube was just launched), MSDN Subscriptions and Experts Exchange Account ( Before Stack Overflow). For us, learning was slow but deep. Concepts Stayed.
Personally, I ...]]></description><link>https://gokhale.me/this-feels-different</link><guid isPermaLink="true">https://gokhale.me/this-feels-different</guid><category><![CDATA[General Programming]]></category><category><![CDATA[AI]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sat, 27 Dec 2025 06:06:56 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/Y0z9MyDsrU0/upload/44ab02a8213426a4588e27df44f99c87.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I come from a generation of software engineers who started with Technical Books (YouTube was just launched), MSDN Subscriptions and Experts Exchange Account ( Before Stack Overflow). For us, learning was slow but deep. Concepts Stayed.</p>
<p>Personally, I learnt more by teaching stuff I know to others. When one teaches, two learn.</p>
<hr />
<p>I have lived through the multiple waves of technological changes:</p>
<p>JSP to ASP.net, postback to ajax, SVN to GIT, MPAs to SPAs to PWAs, Waterfall to Agile.</p>
<p>Angular, React, Node, Bare Metal to Cloud and now Cloud to Bare metal.</p>
<p>Back in the days, If you were a full stack developer, you were expected to be keep up with all the changes happening in every direction. Frontend, Backend, DB, Cloud, Infrastructure being the key ones. Being a techie at heart, my day to day ritual was to check X, feel excited/FOMO, learn + implement as much as possible.</p>
<blockquote>
<p>I have been through it all and keeping up felt manageable. So Far!</p>
</blockquote>
<hr />
<h2 id="heading-the-age-of-ai">The Age of AI.</h2>
<p>Since the last two years, the rate at which things are changing are unbelievable:</p>
<ol>
<li><p>LLMs</p>
</li>
<li><p>RAG</p>
</li>
<li><p>Prompt Engineering</p>
</li>
<li><p>Context</p>
</li>
<li><p>Memory</p>
</li>
<li><p>Agents</p>
</li>
<li><p>MCP</p>
</li>
<li><p>Tools</p>
</li>
<li><p>Plugins</p>
</li>
<li><p>Skills</p>
</li>
<li><p>And now Agent first IDE.</p>
</li>
</ol>
<p>Everyday there is some new concept, a new idea and this is fine.</p>
<p>However, I am not speaking about just the tools changing.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">The whole game seems to be changing with AI.</div>
</div>

<hr />
<h2 id="heading-coding-a-super-skill">Coding - A Super Skill ?</h2>
<p>When I started my journey as a developer, I was always fascinated that I could solve a problem by instructing the computer to do what I want. Over the years, I have put in a lot of work to know clearly what works and what does not work and what to do and surely what not to do.</p>
<blockquote>
<p>With AI, things feel different and its like having a cheat codes of a game.</p>
</blockquote>
<p>Imagine you are a seasoned programmer with strong foundational skills like</p>
<ol>
<li><p>Operating System + Computer Networking</p>
</li>
<li><p>Thinking in first principles &amp; Patterns</p>
</li>
<li><p>Clean Coding Practices</p>
</li>
<li><p>Security and Quality From Day 1</p>
</li>
<li><p>Implement Best Practices from the past</p>
</li>
<li><p>Know your Dos and Dont’s…</p>
</li>
</ol>
<p>You are in a great position. With AI as leverage, those foundations multiply easily.</p>
<blockquote>
<p>With AI, Months of “code” can be done in days.</p>
</blockquote>
<p>There will be a time when software engineers could be just the “Managers” of software.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">For the first time in my career, I am not sure what the future holds. Its Crazy and Scary.</div>
</div>

<hr />
<h2 id="heading-the-point-of-technology-is-change">The Point of Technology is Change</h2>
<p>The industrial age replaces muscles with machines, Photography replacing Painters or computers replacing calculators, change is inevitable.</p>
<p>The more I observe this AI shift, few things become crystal clear and as always some skills are always in demand:</p>
<ul>
<li><p>Learning Mindset.</p>
</li>
<li><p>Ownership with High Agency</p>
</li>
<li><p>Communicating ideas clearly</p>
</li>
<li><p>The ability to solve problems, not just <a target="_blank" href="https://gokhale.me/dont-repeat-the-problem">reiterate them</a></p>
</li>
<li><p>Strong fundamentals that don’t expire every six months</p>
</li>
<li><p>Ability to take hard decision with minimal information</p>
</li>
<li><p>Soft Skills - (Until robots take over)</p>
</li>
<li><p><a target="_blank" href="https://gokhale.me/unlocking-software-mastery-the-underrated-power-of-reading-code-effectively">Code Review</a> &amp; debugging ( needed at least for some more time)</p>
</li>
</ul>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Tools come and go - Fundamentals will never change. Master them!</div>
</div>

<hr />
<h2 id="heading-the-future">The Future ??</h2>
<p>The future of work may look very different from what we do today. I truly do not know what will change or how it will change, But what I do know for certain is that the skills that helped me navigate decades of change still matter always.</p>
<p>This new way of working is still new to many of us. My only goal as always is to learn and teach what I know.</p>
<hr />
<h2 id="heading-lets-connect"><strong>Let's Connect</strong></h2>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more stuff.</p>
<p>In case you're looking out for a technology partner to:</p>
<ol>
<li><p>Help you with <strong>AI,</strong></p>
</li>
<li><p>Accelerate your business goals with clarity, speed, and quality &amp; security,</p>
</li>
<li><p>Who values <strong>reliability, security, and transparency,</strong></p>
</li>
</ol>
<p>Me and my team are here and more than ready to help you make it happen.</p>
<p>…then me and my team are here, ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[What are LLMs]]></title><description><![CDATA[The Big Day
The goal of this blog is to help non technical people understand what LLMs are and how they work.
1st December 2022 - Remember this date? Sam Altman (from OpenAI) Announced ChatGPT to the world.

In the next 5 days they crossed 1 Million ...]]></description><link>https://gokhale.me/what-are-llms</link><guid isPermaLink="true">https://gokhale.me/what-are-llms</guid><category><![CDATA[llm]]></category><category><![CDATA[AI]]></category><category><![CDATA[Hashnode]]></category><category><![CDATA[generative ai]]></category><category><![CDATA[chatgpt]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sat, 08 Nov 2025 21:38:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/agFmImWyPso/upload/d454f054d994eba6a068b1179c18e582.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-the-big-day">The Big Day</h1>
<p>The goal of this blog is to help non technical people understand what LLMs are and how they work.</p>
<p><strong><mark>1st December 2022</mark></strong> - Remember this date? Sam Altman (from OpenAI) Announced ChatGPT to the world.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761977447427/05e6638c-78ff-450d-8f94-657b028bf52c.png" alt class="image--center mx-auto" /></p>
<p>In the next 5 days they crossed 1 Million Users.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761977288388/e7cec6fd-b4fc-402c-b2ba-3b3711515e6d.png" alt class="image--center mx-auto" /></p>
<p><strong>Since then the world has not been the same.</strong></p>
<hr />
<h2 id="heading-what-is-chatgpt">What is ChatGPT</h2>
<p>Image a Magical Mystery Ball. You ask it any question and it will “generate” you an answer. Think of that Mystery ball as ChatGPT. Technically we call them as AI Assistants.</p>
<p><img src="https://images.stockcake.com/public/9/4/7/94718bfd-c97f-49ca-a417-d857de3acf23_large/mystical-crystal-ball-stockcake.jpg" alt="Free Mystical crystal ball Photo - Mystical, Crystal, Ball | Download at  StockCake" /></p>
<hr />
<h2 id="heading-chatgpt-or-ai-assistants-in-general">ChatGPT (Or AI Assistants in general)</h2>
<p>Think of ChatGPT like a young student but very well “trained” on a lot of topics. This student can take questions ranging from a wide variety of topics (You can ask it almost anything) and this student will give you answers. There are times where it can make mistakes as well (So, be cautious).</p>
<p>When people started using ChatGPT, they found is quite useful at a lot of things and dumb on few things (It was bad at Basic Mathematics and few other topics). With Time, the student improved and is now making less and less mistakes (Still, be cautious).</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Think of ChatGPT as a brilliant student (never get tired) but can confidently mistakes at times.</div>
</div>

<hr />
<h2 id="heading-the-magic-ingredient-llms">The Magic Ingredient?? LLMs</h2>
<p>Similar to the brain of a student, AI Assistants have is something called LLM - Large Language Model.</p>
<p><strong>Large ? Language Model ?</strong> Let me explain.</p>
<ol>
<li><p><strong>Language Models</strong>? They are not new and you have been using them. Say you are messaging someone on your phone and you type the word “Good” - Next three suggestions come and they may be “Morning“, “Day“ or “One“ - It depends but something like this could be suggested.</p>
</li>
<li><p>Large ? Its Quantitative - The Language Models are trained on a “huge” amounts of data.</p>
</li>
</ol>
<p>In simple terms - LLMs are nothing but Language Model but very large.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Large Language Models (LLMs) are what powers AI Assistants like ChatGPT.</div>
</div>

<hr />
<h2 id="heading-what-happens-inside-a-llm">What happens inside a LLM</h2>
<p>To understand these LLMs, we need to understand how a human brain works. When we are born as babies, we do not know a lot of things. We learn by doing, observing, failing and what not. Humans Brain is a fascinating thing in itself.</p>
<p><strong>Inside the human brain</strong>, there are billions of interconnected neurons, each capable of emitting electrical pulses that will “somehow” enable us to think, feel and take decisions. So, every time we learn something new, new connections form.</p>
<p>Similarly, LLMs are also trained on massive data. Data as in books, articles, websites, conversations, and even code. LLMs learn by observing the patterns in the data, similar to how we humans learn.</p>
<p>If you peak Inside a LLM, Instead of biological neurons, we have a lot of inter-connected <em>artificial</em> neurons (A.K.A Neural Network).</p>
<p><strong>An Artificial Neuron</strong> is simply a Math formula. They take numerical input and generate a numerical output. Similar to our brain, Output of one neuron, becomes the input of another neuron and this chain continues (Its a super long chain) before a final result is produced.</p>
<p>When you input a question say like - <em>What is the fastest way to reduce weight?</em> This question will be split into multiple chunks, each chunk is converted to a token (via <a target="_blank" href="https://platform.openai.com/tokenizer">Tokenization</a>) and these numbers are passed through a network of neurons and finally a result will be produced.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Result of an LLM can be in the form of Text, Image or Video.</div>
</div>

<hr />
<h2 id="heading-fun-fact">Fun Fact</h2>
<p>Tokenization was the reason why LLMs were making silly mistakes.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762635374475/6d0cee6b-b2b3-4e90-a784-54bcb74b4fe4.png" alt class="image--center mx-auto" /></p>
<p>😁 😁</p>
<p>Well, issues and mistakes like this are now corrected. So, if you try this, it will give the correct answer.</p>
<hr />
<h2 id="heading-another-fun-fact">Another Fun Fact</h2>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Even to this day, we do not know how these AI assistants generate such amazing results.</div>
</div>

<p>Shocking Right ? But it is true.</p>
<p>Consider this: Let's say you ask three kids to draw a "house".</p>
<ol>
<li><p>Kid 1: Draws a city apartment with tall buildings.</p>
</li>
<li><p>Kid 2: Draws a village hut with trees around.</p>
</li>
<li><p>Kid 3: Draws a beach villa with waves and sunshine.</p>
</li>
</ol>
<p>The question was same, but the answers were different.</p>
<blockquote>
<p>Each kid drew from their own experience and imagination.</p>
</blockquote>
<p>That is how LLMs behave too. Ask a question to a LLM and it "generates" an answer. We cannot for sure tell why "this" answer was "generated". And below is the reason.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Machine Learning is different to Traditional Programming.</div>
</div>

<p>LLMs really don’t “store” or memorize “knowledge”. They develop patterns and 2representations during training and “somehow” are able to produce amazing results. This is why you keep hearing experts say - <em>We don't even truly know the capabilities of LLMs</em>.</p>
<p>What fascinates me most is how much we still don’t know about models we use every day. Each discovery feels like peeling one more layer off a mystery that keeps deepening.</p>
<hr />
<h2 id="heading-traditional-applications-vs-machine-learning-applications">Traditional Applications Vs Machine Learning Applications</h2>
<h5 id="heading-traditional-applications">Traditional Applications</h5>
<p>With Traditional Applications, there is no “Training”. Instead, There is a If Else Statement, There is a For Loop, a Switch Statement, some exception handling etc.</p>
<p>The output is always predictable (if you are skilled enough to read the code and debug the program)</p>
<h5 id="heading-machine-learning-applications">Machine Learning Applications</h5>
<p>Recall the Kid’s drawing example above ? That is how ML Applications behave. The output completely depends on the "training". And during the training process, the models learn their own strategies to solve problems.</p>
<p>So, while LLMs can also “draw a house,” but their training shapes what kind of house they imagine.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">We simply do "not" understand how these LLMs generate most of the output. We know the mechanism and we know the neurons involved but that's about it.</div>
</div>

<hr />
<h2 id="heading-ai-lingo-or-jargons">AI Lingo or Jargons</h2>
<p>When you read about AI, there are some words that gets used and as a beginner or someone from a non technical background, it could throw you off. Listing a few common ones below.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Jargon</td><td>Meaning</td></tr>
</thead>
<tbody>
<tr>
<td></td><td></td></tr>
<tr>
<td>AI Assistants</td><td>ChatGPT, Gemini, Perplexity, Claude etc.</td></tr>
<tr>
<td>LLM</td><td>Brain of these AI Assistants.</td></tr>
<tr>
<td>Some famous LLMs</td><td>GPT 4, GPT 5, Sonnet, Opus, Gemini, Nano, etc.</td></tr>
<tr>
<td>Prompt</td><td>The questions you ask the AI Assistant</td></tr>
<tr>
<td>Token</td><td>The questions you ask are converted to token</td></tr>
<tr>
<td>Context Window</td><td>How much the LLMs can remember in a conversation</td></tr>
<tr>
<td>Hallucination</td><td>When the Assistant makes a confident mistake</td></tr>
<tr>
<td>Agent</td><td>AI sub system that can take action by itself</td></tr>
<tr>
<td>Memory</td><td>What AI Assistants Or Agents can remember</td></tr>
<tr>
<td>Training</td><td>Teaching the AI Assistant</td></tr>
<tr>
<td></td></tr>
</tbody>
</table>
</div><hr />
<h3 id="heading-training-data-quickly-became-stale">Training Data quickly became Stale.</h3>
<p>Training an LLMs involved great investment of time/money and one of the biggest problem initially was <strong>Training data cut off date.</strong></p>
<p>Here is an old screenshot from ChatGPT.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762635883580/c40ecea7-36fb-4ec7-95ef-d9169d0263a0.png" alt class="image--center mx-auto" /></p>
<p>Earlier, you could NOT use ChatGPT (or any AI Assistant) about any information that was after the cut off date.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762636406988/83907061-d1e3-4d82-aa30-3d971f7d1304.png" alt class="image--center mx-auto" /></p>
<p>This is now resolved, huge thanks to recent advancements like:</p>
<ol>
<li><p>Web Search (AI Assistants can browse the internet)</p>
</li>
<li><p>Computer Use</p>
</li>
<li><p>APIs</p>
</li>
<li><p>AI Agents</p>
</li>
<li><p>MCP Server From Claude</p>
</li>
<li><p>Skills From Claude</p>
</li>
<li><p>Apps SDK and more</p>
</li>
</ol>
<p>These advancements have made AI super interesting. In fact, Today you can book your tickets, Work with Figma, Use Canva or listen to your favorite song on Spotify and more, All within ChatGPT.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762639015548/a45fceb1-0aa7-422f-b7a5-2ef44773a54c.png" alt class="image--center mx-auto" /></p>
<p>And all this progress is just in less than 3 years of ChatGPT.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Now, Imagine the next 3 years :-)</div>
</div>

<hr />
<h2 id="heading-extracting-the-best-from-ai-assistants">Extracting the best from AI Assistants</h2>
<p>Remember I told you that an AI Assistant is just like a young student.</p>
<p>Once we train the student and the student is ready, when we assign work to the student, we need to provide proper information, instructions and context and correct mistakes if any. This becomes our responsibility.</p>
<p>Imagine these two instructions to the Student:</p>
<ol>
<li><p>Make Coffee</p>
</li>
<li><p>Make Sugar Less Coffee</p>
</li>
</ol>
<p>While both are instructions to make coffee, if you are like me, you would probably care only for the later 🍵.</p>
<p>Similarly, If you tell an AI Assistant to:</p>
<ol>
<li><p>Write an essay about nature.</p>
</li>
<li><p>Write a 300-word essay about nature, in a conversational and motivational tone.</p>
</li>
</ol>
<p>You can easily decide which one is better.</p>
<p>Just like a student, AI Assistants also need detailed Instructions and context to produce the best results.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">This is where areas like Prompt Engineering &amp; Context Engineering come into picture</div>
</div>

<hr />
<h2 id="heading-fascinating-time-to-be-alive">Fascinating time to be alive</h2>
<ol>
<li><p>Do you know what happened when muscles were replaced by machines (industrial revolution)?</p>
</li>
<li><p>Do you know what electricity did to us?</p>
</li>
<li><p>Can you think of what Internet did to us?</p>
</li>
</ol>
<blockquote>
<p>Now, Is the time for the <strong>AI Revolution</strong></p>
</blockquote>
<p>We are living in a fascinating moment of technology change. It's for the first time I am excited and also uncertain. Many of us have these digital Assistants that help us with:</p>
<ol>
<li><p>Writing</p>
</li>
<li><p>Brain Storming</p>
</li>
<li><p>Researching</p>
</li>
<li><p>Making decisions</p>
</li>
<li><p>Writing Code</p>
</li>
<li><p>Designing</p>
</li>
<li><p>Testing</p>
</li>
<li><p>Planning and more..</p>
</li>
</ol>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Its really crazy to even imagine how the world will be in 2030.</div>
</div>

<hr />
<h2 id="heading-learn-ai">Learn AI</h2>
<p>What you can do today is to learn AI. When I say learn AI, its not necessarily on a Neuron’s layer. Learn to use it, adapt to your day to day work and use it like a tool.</p>
<p>Once you understand the basics, let your curiosity drive your path.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Let LLMs handle the boring tasks for you. You do the creative/thinking tasks yourself.</div>
</div>

<hr />
<h2 id="heading-lets-connect"><strong>Let's Connect</strong></h2>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more stuff.</p>
<p>If you’re exploring <strong>AI, AI Agents or MCP</strong> or looking for a trusted technology partner to:</p>
<ul>
<li><p>Build <strong>secure, production-ready MCP servers and APIs</strong>,</p>
</li>
<li><p>Guide your business through <strong>zero-downtime cloud migrations</strong>,</p>
</li>
<li><p>Accelerate your goals with <strong>clarity, speed, quality, and security</strong>,</p>
</li>
<li><p>Work with a team that values <strong>reliability, transparency, and trust</strong>,</p>
</li>
</ul>
<p>…then me and my team are here, ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[Phishing Attacks]]></title><description><![CDATA[Since the dawn on internet, phishing attacks have been notorious. I discuss few way how we can protect ourselves, either as an organization or a individuals. The goal is to remain calm and do not rush to take an action even though it sounds legit. Le...]]></description><link>https://gokhale.me/phishing-attacks</link><guid isPermaLink="true">https://gokhale.me/phishing-attacks</guid><category><![CDATA[Security]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[#PhishingAttacks ]]></category><category><![CDATA[General Advice]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sat, 08 Nov 2025 19:47:11 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/BhKHtR_q4SQ/upload/a9d732a3b83d56935446f5e7507554b7.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Since the dawn on internet, phishing attacks have been notorious. I discuss few way how we can protect ourselves, either as an organization or a individuals. The goal is to remain calm and do not rush to take an action even though it sounds legit. Let’s discuss further.</p>
<hr />
<h3 id="heading-staying-one-step-ahead-proactive-strategies-for-defense"><strong>Staying One Step Ahead: Proactive Strategies for Defense</strong></h3>
<ol>
<li><p><strong>Adopt a Zero Trust Approach:</strong></p>
<ul>
<li>Assume all communication, internal and external, could be malicious until verified. Use robust identity verification systems to mitigate risks.</li>
</ul>
</li>
<li><p><strong>Leverage AI-Powered Threat Detection:</strong></p>
<ul>
<li>AI tools can analyze communication patterns, detect anomalies, and flag suspicious activity before damage occurs.</li>
</ul>
</li>
<li><p><strong>Continuous Employee Training:</strong></p>
<ul>
<li>Regularly update staff on the latest phishing techniques through engaging simulations and awareness programs.</li>
</ul>
</li>
<li><p><strong>Implement Multi-Factor Authentication (MFA):</strong></p>
<ul>
<li>Even if credentials are compromised, MFA adds an extra layer of security, significantly reducing the chances of unauthorized access.</li>
</ul>
</li>
<li><p><strong>Monitor for Threat Intelligence:</strong></p>
<ul>
<li>Use threat intelligence feeds to stay informed about emerging phishing tactics and potential attack vectors.</li>
</ul>
</li>
<li><p><strong>Invest in Incident Response Plans:</strong></p>
<ul>
<li>A well-documented and regularly tested incident response plan can limit the impact of a successful phishing attack.</li>
</ul>
</li>
</ol>
<hr />
<h3 id="heading-why-this-matters-now"><strong>Why This Matters Now</strong></h3>
<p>With phishing accounting for over 90% of successful cyberattacks, its evolution poses a persistent and growing risk to businesses of all sizes. As attackers continue to innovate, organizations must adopt a forward-thinking and layered defense strategy to stay ahead.</p>
<p>By incorporating a culture of awareness, leveraging cutting-edge tools, and staying informed, businesses can not only reduce their risk but also build resilience against future threats.</p>
<hr />
<h3 id="heading-lets-discuss"><strong>Let’s Discuss</strong></h3>
<p>What strategies has your organization implemented to combat phishing attacks? Share your thoughts and let’s work together to build a stronger cybersecurity posture.</p>
<hr />
<h3 id="heading-lets-connect"><strong>Let's Connect</strong></h3>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building secure application at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more fun stuff.</p>
<p>One of my mission is to build a team left shifts security. If you’re interested in learning more about Cyber Security, I’m here to help you.</p>
<p>Let’s connect— Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
]]></content:encoded></item><item><title><![CDATA[How We Handle Pressure Says a Lot About Us]]></title><description><![CDATA[This blog post is for those not fresher and not too senior kind of folks. Say 3-6 yrs of exp. Are you building a team, I would suggest this is a must read.
The Past
In the past, I’ve faced impossible challenges and deadlines. Just 6 months into my ca...]]></description><link>https://gokhale.me/handling-pressure</link><guid isPermaLink="true">https://gokhale.me/handling-pressure</guid><category><![CDATA[General Advice]]></category><category><![CDATA[Hashnode]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sat, 08 Nov 2025 11:06:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/JsTmUnHdVYQ/upload/51112d41ba5a5ed9cb6692066488b5e6.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This blog post is for those not fresher and not too senior kind of folks. Say 3-6 yrs of exp. Are you building a team, I would suggest this is a must read.</p>
<h2 id="heading-the-past">The Past</h2>
<p>In the past, I’ve faced impossible challenges and deadlines. Just 6 months into my career, I was in a team project where close to production 3 other team members left the company. Pulling all night-ers, burning the mid night oil, call it whatever you want, I managed to successfully complete the project and take it to production and won the accolades around.</p>
<p>Until today, what I am amazed was that I was calm and I knew I would be able to handle it. These were days where books were your source of knowledge.</p>
<h5 id="heading-but-not-all-fingers-are-the-same">But, not all fingers are the same.</h5>
<p>Over the last two decades, I’ve noticed something interesting:</p>
<h3 id="heading-everyone-reacts-to-pressure-differently">Everyone reacts to pressure differently.</h3>
<p>And guess what?? how we <em>express</em> that pressure shapes the culture around us more than we realize. Not many are aware of this.</p>
<hr />
<h2 id="heading-the-personas">The Personas</h2>
<p>Here are few personas I’ve seen:</p>
<ol>
<li><p>Some folks put their heads down and get things done. <strong>0% noise, 100% delivery</strong>.</p>
</li>
<li><p>Some say, Oh this week’s crazy!” or “So many things to close! <strong>30% noise, 100% delivery.</strong></p>
</li>
<li><p>Some don’t care until you ask. <strong>0% noise, 50% delivery.</strong></p>
</li>
<li><p>And the last one and no one likes to work with them - 10<strong>0% noise, 50% delivery.</strong></p>
<p> The last two are the folks who have a “complain” first (and not a solve first) mindset.</p>
</li>
</ol>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Noise gets attention. Action build trust.</div>
</div>

<hr />
<h2 id="heading-people-i-love-to-work-with">People I love to work with</h2>
<p>Here are traits of people whom I love to work with.</p>
<ol>
<li><p>Accountability</p>
</li>
<li><p>Ownership</p>
</li>
<li><p>Plan and Communicate</p>
</li>
<li><p>Curious</p>
</li>
<li><p>Solution Oriented</p>
</li>
<li><p>Transparent</p>
</li>
</ol>
<hr />
<p>If you are a junior and building a tech team, regularly ask this question to yourself.</p>
<blockquote>
<ol>
<li><p>Is this person expressing, containing, or balancing pressure ?</p>
</li>
<li><p>How can I support that better?</p>
</li>
<li><p>Am I a good role model for the team I am building?</p>
</li>
</ol>
</blockquote>
<hr />
<h2 id="heading-lets-connect">Let’s Connect</h2>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more stuff.</p>
<p>In case you're looking out for a technology partner to:</p>
<ol>
<li><p>Help you with <strong>zero-downtime cloud migrations,</strong></p>
</li>
<li><p>Accelerate your business goals with clarity, speed, and quality &amp; security,</p>
</li>
<li><p>Who values <strong>reliability, security, and transparency,</strong></p>
</li>
</ol>
<p>Me and my team are here and more than ready to help you make it happen.</p>
<p>…then me and my team are here, ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[Don’t Repeat the Problem]]></title><description><![CDATA[The Concern
Imagine a client reaches out to you and you are requested to provide a solution? You may have 100 things in mind. But, main action plan should NOT simply echo the problem back to the client.
To showcase yourself as a smart person, the job...]]></description><link>https://gokhale.me/dont-repeat-the-problem</link><guid isPermaLink="true">https://gokhale.me/dont-repeat-the-problem</guid><category><![CDATA[Problem Solving]]></category><category><![CDATA[General Advice]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Fri, 07 Nov 2025 09:26:32 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/tiNCpHudGrw/upload/ee28d89693e81b66e2607e3ff5ee67ae.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-the-concern">The Concern</h2>
<p>Imagine a client reaches out to you and you are requested to provide a solution? You may have 100 things in mind. But, main action plan should NOT simply echo the problem back to the client.</p>
<p>To showcase yourself as a smart person, the job is to move the conversation from <em>“What’s wrong”</em> to <em>“Here’s how we’ll fix your problem.”</em></p>
<blockquote>
<p>Client already <strong>knows</strong> the problem. That’s <em>why</em> they reached out.</p>
</blockquote>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Our job is to provide a detailed solution to the client.</div>
</div>

<p>Most Importantly, who is the client?</p>
<p>They could be our client, our peers, people who consider us as solution providers.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">I consider anyone I work with as a Client.</div>
</div>

<hr />
<h2 id="heading-the-pattern-we-should-avoid">The Pattern we should avoid</h2>
<p>Most people unknowingly fall into this loop:</p>
<ol>
<li><p><strong>Restating the problem</strong> — “You want to reach colleges.”</p>
</li>
<li><p><strong>Adding an action without context</strong> — “We’ll contact 15 colleges.”</p>
</li>
<li><p><strong>Stopping there.</strong></p>
</li>
</ol>
<h3 id="heading-see-whats-missing">See what’s missing ?</h3>
<ol>
<li><p>How ?</p>
</li>
<li><p>Why ?</p>
</li>
<li><p>What ?</p>
</li>
<li><p>Timelines ?</p>
</li>
<li><p>Targets ?</p>
</li>
</ol>
<p>Without these, the client doesn’t see a plan — only noise.</p>
<hr />
<h2 id="heading-example">Example</h2>
<p>Let’s say a client says:</p>
<blockquote>
<p>We need help spread our word to colleges nearby.</p>
</blockquote>
<p>If our response is:</p>
<blockquote>
<p>“We’ll reach out to 15 colleges.”</p>
</blockquote>
<p>Then we’ve only <strong>repeated the task</strong>, not <strong>solve the problem</strong>.</p>
<p>Instead, what they expect is:</p>
<blockquote>
<p>“We’ll create a 3-step outreach plan, shortlist 50 colleges by relevance, design personalized intro decks, and schedule 15 demos over the next 3 weeks. Once we get feedback, we’ll optimize the pitch and scale.”</p>
</blockquote>
<p>That’s a <strong>solution mindset</strong>.<br />It shows ownership, clarity, and forward movement and client could appreciate it.</p>
<hr />
<h2 id="heading-a-framework-to-use">A Framework to use</h2>
<p>Whenever someone reaches out with a problem, use this 3-step lens:</p>
<ol>
<li><p>Understand the root issue</p>
</li>
<li><p>Add Insights from your experience</p>
</li>
<li><p>Propose a Clear Action Plan</p>
<hr />
</li>
</ol>
<ol>
<li><h3 id="heading-understand-the-root-issue">Understand the root issue</h3>
</li>
</ol>
<p>Ask yourself:</p>
<ul>
<li><p>What exactly are they struggling with?</p>
</li>
<li><p>What outcome are they hoping for?</p>
</li>
</ul>
<p><em>(It’s not always what they say first. Sometimes they also will not know the actual problem)</em></p>
<hr />
<ol start="2">
<li><h3 id="heading-add-insights-from-your-experience">Add Insights from your experience</h3>
</li>
</ol>
<p>Go deeper:</p>
<ul>
<li><p>Why is this happening?</p>
</li>
<li><p>What has worked (or failed) before?</p>
</li>
<li><p>What constraints exist?</p>
</li>
</ul>
<p>This step makes your answer valuable — it shows you’ve <em>thought</em>, not just <em>reacted.</em></p>
<hr />
<ol start="3">
<li><h3 id="heading-propose-a-clear-action-plan"><strong>Propose a Clear Action Plan</strong></h3>
</li>
</ol>
<p>Plan should have:</p>
<ul>
<li><p><strong>Specific steps</strong> (not vague tasks)</p>
</li>
<li><p><strong>Timelines</strong></p>
</li>
<li><p><strong>Ownership</strong></p>
</li>
<li><p><strong>Expected outcomes</strong></p>
</li>
</ul>
<p>Example:</p>
<blockquote>
<p>“To expand college partnerships, we’ll start with Tier-1 colleges in Bengaluru this week, finalize pitch decks by Friday, and run outreach via LinkedIn and email by Monday. Target: 10 meetings by end of next week.”</p>
</blockquote>
<hr />
<h2 id="heading-the-takeaway">The takeaway</h2>
<p>Our value lies in <strong>thinking forward</strong>, not <strong>rephrasing backward</strong>. Clients don’t remember who understood their problem. They remember who solved it.</p>
<p>That’s how we earn trust, one solution at a time.</p>
<hr />
<h2 id="heading-lets-connect"><strong>Let's Connect</strong></h2>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more stuff.</p>
<p>In case you're looking out for a technology partner to:</p>
<ol>
<li><p>Help you with <strong>zero-downtime cloud migrations,</strong></p>
</li>
<li><p>Accelerate your business goals with clarity, speed, and quality &amp; security,</p>
</li>
<li><p>Who values <strong>reliability, security, and transparency,</strong></p>
</li>
</ol>
<p>Me and my team are here and more than ready to help you make it happen.</p>
<p>…then me and my team are here, ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[npm outdated]]></title><description><![CDATA[Find outdated npm packages
Simply run the below script and it will show you the packages you want to update
The results will have the below columns:

Sl No.

Package

Type

Current

Wanted

Latest


Here is the working script.
npm outdated --json 2>/...]]></description><link>https://gokhale.me/npm-outdated</link><guid isPermaLink="true">https://gokhale.me/npm-outdated</guid><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Mon, 27 Oct 2025 05:24:20 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/ZqD-vq4FTZg/upload/5596176e482242964d0df75e3c2aa364.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-find-outdated-npm-packages">Find outdated npm packages</h1>
<p>Simply run the below script and it will show you the packages you want to update</p>
<p>The results will have the below columns:</p>
<ol>
<li><p>Sl No.</p>
</li>
<li><p>Package</p>
</li>
<li><p>Type</p>
</li>
<li><p>Current</p>
</li>
<li><p>Wanted</p>
</li>
<li><p>Latest</p>
</li>
</ol>
<p>Here is the working script.</p>
<pre><code class="lang-bash">npm outdated --json 2&gt;/dev/null \
| jq -r <span class="hljs-string">'
    to_entries[]
    | [.key,
       (.value.type // "-"),
       (.value.current // "-"),
       (.value.wanted // "-"),
       (.value.latest // "-")]
    | @tsv
'</span> \
| sort -t$<span class="hljs-string">'\t'</span> -k4V \
| awk <span class="hljs-string">'BEGIN {print "S.No\tPackage\tType\tCurrent\tWanted\tLatest"} {print NR "\t" $0}'</span> \
| column -s $<span class="hljs-string">'\t'</span> -t
</code></pre>
<p>Output looks like this</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761542646269/afcf9403-b257-4626-a227-0014d3fe244a.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[Nodejs Project Folder Structure]]></title><description><![CDATA[Here is the folder structure I would use for node project - In case I’m starting something new right now.
This is not the final one, just putting it here so that its easy to share with the team.]]></description><link>https://gokhale.me/nodejs-project-folder-structure</link><guid isPermaLink="true">https://gokhale.me/nodejs-project-folder-structure</guid><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Thu, 23 Oct 2025 07:45:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/-nz-GTuvyBw/upload/69e98431a6bec3952e51ba69f560105d.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here is the folder structure I would use for node project - In case I’m starting something new right now.</p>
<p>This is not the final one, just putting it here so that its easy to share with the team.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761205426113/b067fb74-57c7-417c-95ed-65ab4b51d454.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[Model Context Protocol]]></title><description><![CDATA[The AI Evolution
Ever since the dawn of Generative Pre-trained Transformer (GPT) the world has never been the same. A lot of “everything” these days are generated by these so called AI Assistants. Be it Content(Multi Media), Code(Multi Lingual), Desi...]]></description><link>https://gokhale.me/model-context-protocol-for-beginners</link><guid isPermaLink="true">https://gokhale.me/model-context-protocol-for-beginners</guid><category><![CDATA[mcp]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[AI]]></category><category><![CDATA[learning]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Mon, 06 Oct 2025 02:38:55 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/58Z17lnVS4U/upload/3bc8c072cf9bdb97a255c900ad869d82.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-the-ai-evolution">The AI Evolution</h1>
<p>Ever since the dawn of <strong>Generative Pre-trained Transformer (GPT)</strong> the world has never been the same. A lot of “everything” these days are generated by these so called AI Assistants. Be it Content(Multi Media), Code(Multi Lingual), Designs, Tests, Infra and more.</p>
<p>For the first time these AI Assistants could generate human like outputs at scale. AI went from being a futuristic concept to a quiet co-creator behind much of the digital world we interact with today. I would be shocked if there is someone who does not use AI Assistant today.</p>
<p>But there was a problem. They could generate almost anything, yet they were trapped within the boundaries of their training data. They couldn’t fetch live information, connect to a system, or take meaningful action in the real world. This created a gap: the knowledge of the world was at their fingertips, but the ability to <em>use</em> that knowledge was missing.</p>
<hr />
<h2 id="heading-ai-assistants">AI Assistants</h2>
<p>Imagine having a team mate (say, an intern) who has been trained on all the knowledge available over the internet publicly. Technical Blogs, Documentation, Policies, Code, Regulations, Medical knowledge, Plumbing, Home Decor, Car Maintenance - name it and this intern knows it. And this intern can answer if you ask a question without forgetting anything and works non stop. Yes - This Intern is what we call as an AI Assistant.</p>
<p>With the advent of AI Assistants like ChatGPT, Gemini, Claude (among others) - The way of working has completely changed. Give these Assistants some instructions (AKA Prompts), you will be surprised how well they can do some tasks.</p>
<hr />
<h2 id="heading-llms">LLMs</h2>
<p>Remember the “Interns” we just spoke about, A Large Language Models (LLMs) is like the “<strong>brain”</strong> of this <strong><em>Intern</em></strong> who knows a lot of things about a lot of things.</p>
<p>The evolution of LLMs is nothing short of brilliant. Right from having models that predict just the next word(s) (N Gram, Markov’s Models) to Neural Networks to LTSM to Attention and Transformers, the journey is nothing short of a Marvel movie. That is probably a blog for another time.</p>
<p>When LLMs were introduced, they excelled at summarizing, explaining, answering questions by spotting patterns in language at scale. Also, they could <strong>NOT</strong> count how many “r”s were there in the word “Strawberry“. They also initially failed at basic Mathematics and logical reasoning (<em>like 0.09 is bigger than 0.9</em>).</p>
<p>As of today, most of these issues are “fixed” and every passing day these interns(LLMs) are getting better. The companies behind these LLMs claim that they have reached PhD level of intelligence. We will see in the near future if this is true. For now - We are still not there.</p>
<hr />
<h2 id="heading-interacting-with-llms">Interacting with LLMs</h2>
<p>On the 30th of November 2022, OpenAI introduced to <strong>ChatGPT</strong> to the world. ChatGPT was the first widely accessible AI assistant powered by a LLM and marking a new era in how we all interact with AI.</p>
<p>The interaction was just via a text input (voice was added sooner). Prompt/Type something and these AI Assistants would give you an answer.</p>
<blockquote>
<p>Prompts: The input we give to these AI assistants are called as Prompts.</p>
</blockquote>
<p>Very soon the world realized that for an AI Assistant to work well - the input we provide is <strong>crucial</strong>. If we do <em>not</em> give good inputs/prompts, these AI Assistants would <em>not</em> give good answers and worse case confidently give a wrong answer too.</p>
<p>So, Writing good prompts were the need of the hour and thus Prompt Engineering was born.</p>
<blockquote>
<p>Prompt Engineering is way of providing inputs to an LLM to extract the best from it.</p>
</blockquote>
<hr />
<h2 id="heading-we-needed-more">We needed more..</h2>
<p>It did not take much time for the thinkers to realize that these LLMs who were trained on a lot of things were limited by the inputs provided by the user. These LLMs had all the knowledge of the world but could not access anything “live”. For Ex: What is the current weather in Namma Bengaluru ?</p>
<p>Whatever you do, there were always things new and users wanted the latest.</p>
<hr />
<h2 id="heading-the-need-for-apis">The need for APIs</h2>
<p>Well anytime we want a system (AI Assistant in this case) to interact with something external to it - we always reach out to something called an API. APIs are the bridges that let one system talk to another.</p>
<p>AS LLMs became popular, everyone realized the need to connect them to real-world tools and data. So began the race to develop these APIs and also the problem: Every one started to write these APIs in their own ways.</p>
<p>Simple put: There was no “standard“ way to write these APIs and Anthropic (the company behind Claude) realized this and this came up with <strong>MCP</strong>.</p>
<hr />
<h2 id="heading-enter-mcp">Enter MCP</h2>
<p>Remember previously how every phone has their own “type” of charging cables? The same was happening to the AI assistant world when it tried to connect to external world.</p>
<p>The phone charging cable problem was resolved via USB C. For the AI Assistant that would be MCP. Basically, Instead of every company “inventing” their own way for LLMs to talk to tools, MCP or <strong>Model Context Protocol</strong> provided a <strong>framework</strong>.</p>
<p>With MCP, an AI assistant could connect to APIs, databases, or services through a <strong>common language and structure</strong>. That means developers don’t waste time “reinventing”.</p>
<p>Most importantly, MCP introduces <strong>guardrails</strong>:</p>
<ul>
<li><p>The LLM can only access what is explicitly exposed.</p>
</li>
<li><p>Every interaction follows a clear schema.</p>
</li>
<li><p>Risky or destructive operations can be controlled by design.</p>
</li>
</ul>
<p>In short, MCP turns the chaos of many one-off APIs into an <strong>organized ecosystem</strong>, giving LLMs a safe way to step out of their training data and interact with the real world.</p>
<hr />
<h2 id="heading-building-your-own-mcp">Building your own MCP</h2>
<p><em>Now this bit is mainly for developers. I would encourage you to read on, even if you are a non developer.</em></p>
<p>MCPs like any other APIs are very easy provided you have good fundamental understanding of building APIs and the related protocols.</p>
<p>If you have written any kind of Production Grade Rest API, all of this should be very easy for you.</p>
<ol>
<li><p>JSON</p>
</li>
<li><p>Protocols (HTTP, TCP) and Paradigms (SSE, RCP)</p>
</li>
<li><p>Creating Rest APIs</p>
</li>
<li><p>Networking Concepts (Pipes, Streams..)</p>
</li>
<li><p>Authentication &amp; Authorization</p>
</li>
<li><p>Security</p>
</li>
</ol>
<p>If the above sounds simple to you - You can get started today with MCP today and the best way is to start by doing.</p>
<hr />
<h2 id="heading-lets-connect"><strong>Let's Connect</strong></h2>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more stuff.</p>
<p>If you’re exploring <strong>MCP</strong> or looking for a trusted technology partner to:</p>
<ul>
<li><p>Build <strong>secure, production-ready MCP servers and APIs</strong>,</p>
</li>
<li><p>Guide your business through <strong>zero-downtime cloud migrations</strong>,</p>
</li>
<li><p>Accelerate your goals with <strong>clarity, speed, quality, and security</strong>,</p>
</li>
<li><p>Work with a team that values <strong>reliability, transparency, and trust</strong>,</p>
</li>
</ul>
<p>…then me and my team are here, ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[Character Vs Reputation]]></title><description><![CDATA[The Golden Rule
In life or business, I am always happy to lose money but not reputation. That’s a principle I will never let go off. Its not just me but anyone who is into an Executive position or building a business/career, clearly knows how importa...]]></description><link>https://gokhale.me/character-vs-reputation</link><guid isPermaLink="true">https://gokhale.me/character-vs-reputation</guid><category><![CDATA[Hashnode]]></category><category><![CDATA[General Advice]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Wed, 03 Sep 2025 01:59:32 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/jbe0iCwo-U0/upload/cfb938eb6e7840228bb4170014a6b9ff.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-the-golden-rule">The Golden Rule</h1>
<p>In life or business, I am always happy to lose money but not reputation. That’s a principle I will never let go off. Its not just me but anyone who is into an Executive position or building a business/career, clearly knows how important Reputation is.</p>
<h2 id="heading-reputation-matters">Reputation Matters</h2>
<p><strong>Reputation</strong> is all about what others think/perceive about us. Like it or not, Reputation is often “the” deciding factor before a client even speaks with us. Here why:</p>
<ol>
<li><p><strong>It Reduces Risk</strong><br /> Clients want certainty. When they hear, <em>“Team Techvito is reliable”</em>, it lowers their fear of making the wrong decision.</p>
</li>
<li><p><strong>It Opens Doors</strong><br /> Most referrals don’t come because someone remembers every feature of our product. They come because someone says, <em>“You can trust Techvito.”</em></p>
</li>
<li><p><strong>It Compounds Over Time</strong><br /> A good reputation acts like compound interest. The more consistently we deliver, the easier each future deal becomes. A strong reputation works in the background for us.</p>
</li>
</ol>
<blockquote>
<p>Reputation opens new doors. Its an invaluable asset.</p>
</blockquote>
<hr />
<h2 id="heading-behind-the-shadow">Behind the Shadow</h2>
<p><strong>Reputation</strong> is all about others think/perceive about us. Its important. But reputation, like our shadow, Is controlled by “where the light be placed” and someone else <em>could</em> controls that. Is it a good thing or a bad thing? Tough to say without “Context“.</p>
<h3 id="heading-my-approach">My Approach:</h3>
<p>Like Money, I treat reputation as an “important” bi-product. But, this is where the comparison stops. In life or Business money can always be made back but <strong>reputation</strong> <strong>once lost</strong>, yeah, there is no “undoing” it, CTRL + Z wont help.</p>
<blockquote>
<p>Reputation can be damaged by rumor, by perception, or by a single mistake.</p>
</blockquote>
<p>Hard right? Someone, in a few seconds, can tarnish the reputation you have built for decades. Always do everything possible to ensure this never happens but sadly it’s not in our control entirely.</p>
<p>Having said that, there is one “secret sauce” that is in our control.</p>
<hr />
<h2 id="heading-the-secret-sauce">The Secret Sauce</h2>
<p>The real key ingredient, the secret sauce, is “Character“. A lot of youngsters get confused with “Character“ and “Reputation“. Here is how they differ:</p>
<p><strong>Character</strong>: Its all about us. Our Honesty, Integrity, Hard Work, Building Relationships and more. It’s mainly about “What” we are and how we are “made”. We can directly control.</p>
<p><strong>Reputation</strong>: What all about others think/perceive about us. Like our Shadow. Its controlled by where the light be placed. We cannot “directly” control. But, our “Character” indirectly controls our reputation.</p>
<p>Reputation (like money) is important, Character is of far greater importance.</p>
<p>Here is how I look at them:.</p>
<p>$$Character &gt; Reputation &gt; Money$$</p><div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Those who are uber rich can easily get away with a bit of “Reputation“ hit. But, for the rest of us, no, we can’t afford it!</div>
</div>

<p>And oh, Money… That can be “borrowed“, Reputation and Character? Not a chance.</p>
<hr />
<h2 id="heading-character-matter-more-than-reputation">Character matter more than Reputation</h2>
<p>Reputation, as established by now, is more of a perception, a shadow. Character is reality.</p>
<p>Here’s why character always wins:</p>
<ul>
<li><p><strong>Reputation Without Character is Fragile</strong><br />  An executive who only cares about “looking good” may get a deal once, but when clients discover exaggerations or half-truths, that reputation crumbles.</p>
</li>
<li><p><strong>Character Without Reputation is Invisible (At First)</strong><br />  An executive may not be known yet. But if they consistently show integrity, keep promises, and prioritize clients, their reputation will grow stronger over time.</p>
</li>
</ul>
<p>Simply put: <strong>Character is the seed, Reputation is the fruit and as always you reap what you sow.</strong></p>
<blockquote>
<p>We win because of Who We Are, Not Just What We Look Like</p>
</blockquote>
<hr />
<h2 id="heading-what-i-practice">What I Practice</h2>
<p>I remember this flow every time I pick up the phone or draft a proposal:</p>
<p><strong>Character → Actions → Reputation → Success.</strong></p>
<ul>
<li><p>Character drives our choices.</p>
</li>
<li><p>Our choices shape our actions.</p>
</li>
<li><p>Our actions create our reputation.</p>
</li>
<li><p>Our reputation builds our success.</p>
</li>
</ul>
<p>This is not theory — it’s the formula to win.</p>
<hr />
<h2 id="heading-what-this-means-for-my-dear-ones">What this means for my dear ones</h2>
<p>I want you to live by this mantra:</p>
<ul>
<li><p><strong>Be Transparent</strong>: If we can’t do it, say that.</p>
</li>
<li><p><strong>Under-Promise, Over-Deliver</strong>: Surprise clients with more, not less.</p>
</li>
<li><p><strong>“Own” Mistakes Fast</strong>: Errors happen; excuses kill trust.</p>
</li>
<li><p><strong>Build Relationships (Not Transactions)</strong>: We’re not chasing deals, we’re building partnerships.</p>
</li>
</ul>
<p>Remember: <strong>every call, every email, every face to face meeting is building our reputation, one brick at a time.</strong></p>
<hr />
<h2 id="heading-building-character-together">Building Character Together</h2>
<p>When it comes to Techvito, Character is not just one individual’s effort. As a team, we can strengthen it together:</p>
<ol>
<li><p><strong>Peer Accountability</strong>: Call out when a teammate is tempted to take shortcuts that impacts our client.</p>
</li>
<li><p><strong>Celebrate Integrity</strong>: Don’t just celebrate the biggest deal. Celebrate the toughest choice made with honesty.</p>
</li>
<li><p><strong>Learn From Failures</strong>: Share openly what went wrong and how we fixed it. Transparency builds stronger character.</p>
</li>
<li><p><strong>Practice Empathy</strong>: Put ourselves in the client’s shoes before we act.</p>
</li>
</ol>
<hr />
<h2 id="heading-always-think-long-term">Always Think Long Term</h2>
<p>Reputation may help us close a deal today. But it is <strong>character</strong> that ensures we’ll still be in business tomorrow.</p>
<ul>
<li><p>Character keeps promises when revenue is <em>tempting</em> us to overpromise.</p>
</li>
<li><p>Character shows up when mistakes happen and clients are frustrated.</p>
</li>
<li><p>Character wins the second, third, and tenth deal — because the client now trusts us for life.</p>
</li>
</ul>
<blockquote>
<p><em>Reputation gets us invited into the room. Character keeps us at the table.</em></p>
</blockquote>
<hr />
<h2 id="heading-summary">Summary</h2>
<p><strong>Character is the substance and reputation its shadow</strong>.</p>
<p>While reputation wins us deals by reducing risk and building the initial trust, it is ultimately our character, reflected through honesty, consistency, and accountability, that sustains long-term success.</p>
<p>Reputation can open doors, but without strong character it quickly closes. Character, even if unseen at first, steadily builds a reputation that compounds over time.</p>
<p>For Me and Techvito, this means prioritizing transparency, owning mistakes, setting honest expectations, and focusing on relationships over transactions.</p>
<blockquote>
<p><strong>Reputation may close the first deal, but character ensures we are invited back for the second.</strong></p>
</blockquote>
<hr />
<h2 id="heading-lets-connect"><strong>Let's Connect</strong></h2>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more fun stuff.</p>
<p>In case you're looking out for a technology partner to:</p>
<ol>
<li><p>Accelerate your business goals with clarity, speed, and quality &amp; security,</p>
</li>
<li><p>Who values <strong>reliability, security, and transparency,</strong></p>
</li>
<li><p>Help you with everything you need,</p>
</li>
</ol>
<p>Me and my team are here and more than ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[How to Improve Your Sales Skills]]></title><description><![CDATA[Yes, we are all selling.
Whether you realize it or not, every day you’re selling, convincing, or negotiating.

Requesting Mum to make your fav Akki Roti,

Convincing Dad to get you that fav Shirt,

Negotiating with your sibling to play that game.


Y...]]></description><link>https://gokhale.me/how-to-improve-your-sales-skills</link><guid isPermaLink="true">https://gokhale.me/how-to-improve-your-sales-skills</guid><category><![CDATA[sales]]></category><category><![CDATA[General Programming]]></category><category><![CDATA[Hashnode]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sun, 31 Aug 2025 13:48:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/WdJkXFQ4VHY/upload/03b95195041fe099a5aba4cf312639bb.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-yes-we-are-all-selling">Yes, we are all selling.</h1>
<p>Whether you realize it or not, every day you’re selling, convincing, or negotiating.</p>
<ul>
<li><p>Requesting Mum to make your fav Akki Roti,</p>
</li>
<li><p>Convincing Dad to get you that fav Shirt,</p>
</li>
<li><p>Negotiating with your sibling to play that game.</p>
</li>
</ul>
<p>You are always selling to get what you want.</p>
<p>When its such a <em>critical skill</em>, why not “<strong>invest</strong>“ time and get better at it and get things going the way you want.. My aim with this blog is to help you get there.</p>
<blockquote>
<p>Life itself is the first and longest sales journey.</p>
</blockquote>
<hr />
<h2 id="heading-career-in-sales">Career in sales</h2>
<p>Starting a new career in any field can feel intimidating. This is even more true when the role is client facing (Sales, Marketing, Client Relationships etc). Everyday you’re learning how to represent yourself, your company, and your product.</p>
<p>Here is how a day at sales could be:</p>
<h3 id="heading-scenario-1-the-cold-calls">Scenario 1: The Cold calls</h3>
<p>You dial the number, introduce yourself and start speaking with a lot of energy and hope. What you get back is either a quick “No,” or a “Not interested,” a casual “Call me later,” or worse, the line gets disconnected before you finish your sentence. For some, this drains every ounce of energy. For others, this very rejection becomes the fuel that shapes them into a sales genius. But hey, <strong>Welcome to Sales!</strong></p>
<h3 id="heading-scenario-2-the-disappear"><strong>Scenario 2: The Disappear</strong></h3>
<p>You finally find someone who seems genuinely interested. They share their email, ask you to send details and they will take a look in detail. That very night, you put together the perfect email, packed with details, benefits, and what not. You hit send, full of energy. Then the silence begins. Days pass. Follow-up after follow-up. No reply. <strong>Yes,</strong> <strong>Welcome to Sales!</strong></p>
<h3 id="heading-scenario-3-the-sure-thing"><strong>Scenario 3: The “Sure Thing”</strong></h3>
<p>At last, you get a prospect get on a demo, they listens closely, they nod during your demo, smile at your points, and even say <em>“This sounds super interesting”</em>. You feel like you’ve nailed it. You stay up late crafting a detailed proposal, pouring your best into it, and send it the same night. And then… nothing. Days turn into weeks. Your emails remain unanswered, your calls unreturned. <strong>Welcome to Sales.</strong></p>
<blockquote>
<p>Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time</p>
<p>— Thomas Edison</p>
</blockquote>
<p>I started with the rough ones since this is what most people experience when they try to sell hard and get discouraged quickly.</p>
<p>Instead, Sales is all about listening more than speaking, asking the right questions, and showing clients how their lives or businesses can be “better” with our solution.</p>
<hr />
<h2 id="heading-sales-101">Sales 101</h2>
<p>The below details are designed for freshers who want to build confidence, stay motivated, and see sales as a superpower instead of a struggle. Here is a small playbook to win at sales.</p>
<h3 id="heading-step-1-fix-the-mindset">Step 1: Fix the mindset</h3>
<p>Sales is not about pushing/asking/requesting someone to “take” something. It’s <strong>helping that “someone” discover a solution to their problem. Follow this:</strong></p>
<ul>
<li><p>Every “No” is data. Maybe the timing is wrong, or maybe they’re not the right fit.</p>
</li>
<li><p>Every call is practice. You’re not just selling, you’re improving your communication skills.</p>
</li>
<li><p>Sales = storytelling. If you can tell a good story, you can sell.</p>
</li>
</ul>
<blockquote>
<p>S<strong>ales isn’t about rejection; it’s about learning, helping, and growing.</strong></p>
</blockquote>
<h3 id="heading-step-2-understand-the-sales-funnel">Step 2: Understand the Sales Funnel</h3>
<p>Think of sales like a series of events. You cannot “sell” in just one step**. Follow this:**</p>
<ol>
<li><p><strong>Prospecting</strong> → Find people who might need your solution(product/service).</p>
</li>
<li><p><strong>Outreach</strong> → Initiate the first hello (calls, emails, LinkedIn). Be Brave here.</p>
</li>
<li><p><strong>Discovery</strong> → Ask the right but “minimal” questions, listen deeply.</p>
</li>
<li><p><strong>Pitch/Story</strong> → Connect their problem with your solution.</p>
</li>
<li><p><strong>Handling Objections</strong> → Stay curious, not defensive.</p>
</li>
<li><p><strong>Closing</strong> → Get a small commitment (demo, meeting, trial).</p>
</li>
<li><p><strong>Follow-up</strong> → Because most deals close only after multiple touches.</p>
</li>
</ol>
<blockquote>
<p>Great salespeople don’t rush the close—they master the sequence.</p>
</blockquote>
<h3 id="heading-step-3-run-a-simple-sales-call">Step 3: Run a Simple Sales Call</h3>
<p>Keep it short and human. A good call can be just 3–4 minutes:</p>
<ol>
<li><p><strong>Warm Hello</strong>: “Hi [Name], I’m [Your Name] from [Company]. How are you today?”</p>
</li>
<li><p><strong>Reason for Call</strong>: “We’ve helped people with [problem].”</p>
</li>
<li><p><strong>Engage</strong>: Ask one simple question related to their situation.</p>
</li>
<li><p><strong>Value Hook</strong>: “We make it easier to [benefit].”</p>
</li>
<li><p><strong>Next Step</strong>: “Would you be open to a quick 15-min chat/demo?”</p>
</li>
</ol>
<p>Just a genuine conversation.</p>
<blockquote>
<p><strong>“Three minutes of value beats thirty minutes of noise.</strong></p>
</blockquote>
<h3 id="heading-step-4-handling-no-without-feeling-bad">Step 4: Handling “No” Without Feeling Bad</h3>
<p>When you call, there is a good chance that you will hear a <em>No</em>. A “No” isn’t the end of the road. It’s the beginning of insight.</p>
<ul>
<li><p><strong>Not interested</strong> → Ask politely why. Timing? Budget? Fit?</p>
</li>
<li><p><strong>We already have someone</strong> → Great! Ask what they like about their current provider. That’s valuable intel.</p>
</li>
<li><p><strong>Too expensive</strong> → Respond with empathy. “Got it, many said the same before they saw the long-term savings.”</p>
</li>
</ul>
<p>Rule: Treat every rejection as research.</p>
<blockquote>
<p>A ‘No’ doesn’t close the door; it shows you how to knock better.</p>
</blockquote>
<h3 id="heading-step-5-build-daily-habits">Step 5: Build Daily Habits</h3>
<p>Success in sales comes from consistency. Do this regularly(whatever it takes):</p>
<ul>
<li><p>Reach out to a “fixed” number of people daily (calls, emails, LinkedIn).</p>
</li>
<li><p>Track conversations, not just attempts.</p>
</li>
<li><p>Write down 3 learnings from rejections each week.</p>
</li>
</ul>
<p>This creates discipline and momentum.</p>
<blockquote>
<p>Selling daily beats selling brilliantly once.</p>
</blockquote>
<h2 id="heading-step-6-measure-what-matters">Step 6: Measure What Matters</h2>
<p>Don’t stress about revenue in the beginning. Focus on effort and process:</p>
<ul>
<li><p>Outreach attempts per day</p>
</li>
<li><p>Conversations held</p>
</li>
<li><p>Meetings booked</p>
</li>
<li><p>Follow-ups scheduled</p>
</li>
</ul>
<p>Results will follow when the process is strong.</p>
<blockquote>
<p>In sales, process is the seed and revenue the fruit</p>
</blockquote>
<h3 id="heading-step-7-follow-these-golden-rules">Step 7: Follow these Golden Rules</h3>
<ul>
<li><p>Listen more than you speak.</p>
</li>
<li><p>Smile when calling (your tone changes instantly).</p>
</li>
<li><p>Respect the other person’s time.</p>
</li>
<li><p>Always follow up. (Most deals close after 4–5 touches.)</p>
</li>
<li><p>Learn your product well → confidence comes from knowledge.</p>
</li>
</ul>
<blockquote>
<p>Every Sale has 5 basic obstacles - No Need, No Money, No Hurry, No Desire, No Trust.</p>
</blockquote>
<hr />
<h2 id="heading-quick-starter-exercise-for-freshers">Quick Starter Exercise for Freshers</h2>
<p>In case you are into sales, try this simple practice routine:</p>
<ul>
<li><p>Write a <strong>30-second intro pitch</strong> for yourself.</p>
</li>
<li><p>Role-play with a friend or mentor once a week.</p>
</li>
<li><p>Collect <strong>10 “No’s” this week</strong> and note down what you learned from each.</p>
</li>
</ul>
<hr />
<h2 id="heading-why-this-works">Why This Works</h2>
<p>When a sales person stop seeing sales as rejection and see it as the <strong>fastest way to learn, grow, and build resilience</strong>, something very powerful happens. They start <strong>enjoying</strong> the process, learns that a “No” today can be a “Yes” tomorrow and they build a skill that will serve them for life.</p>
<blockquote>
<p><strong>Sales is the highest-paying skill in the world.</strong></p>
</blockquote>
<hr />
<h2 id="heading-skills-needed-for-a-sales-person">Skills needed for a sales person</h2>
<p>A great salesperson is known for the skills they consistently bring to the table. The best salespeople master these core skills not just to close deals, but to create lasting relationships and deliver real value. Here are some skills that a good sales person should have:</p>
<ol>
<li><p>Build Trust. Always build Trust.</p>
</li>
<li><p>Ability to educate your client.</p>
</li>
<li><p>Show Value - never just “ask” to buy.</p>
</li>
<li><p>Be a good Story Teller.</p>
</li>
<li><p>Have brilliant Inter Personal Skills.</p>
<ol>
<li><p>Remember the client’s name - Always (say the name at least two times every three minutes).</p>
</li>
<li><p>Be warm and gentle.</p>
</li>
<li><p>Positive Body.</p>
</li>
<li><p>Attention to detail.</p>
</li>
<li><p>Being street smart.</p>
</li>
<li><p>Practice Empathy.</p>
</li>
</ol>
</li>
<li><p>Be Genuine.</p>
</li>
<li><p>Be good at Persuasion &amp; Negotiation.</p>
</li>
</ol>
<hr />
<h2 id="heading-regular-salesperson-vs-great-salesperson">Regular Salesperson vs. Great Salesperson</h2>
<p>Not all salespeople are the same. Some see sales as just a job, dialing numbers, sending emails, and hoping something clicks. Others approach it like a Art, with patience, curiosity, and the drive to create real impact.</p>
<p>The difference between a <strong>regular salesperson</strong> and a <strong>great one</strong> lies not in luck, but in mindset, habits, and how they treat every interaction.</p>
<h3 id="heading-1-mindset">1. <strong>Mindset</strong></h3>
<ul>
<li><p><strong>Regular</strong>: Thinks sales is about pushing a product.</p>
</li>
<li><p><strong>Great</strong>: Believes sales is about solving problems and creating value.</p>
</li>
</ul>
<h3 id="heading-2-handling-rejection">2. <strong>Handling Rejection</strong></h3>
<ul>
<li><p><strong>Regular</strong>: Takes “No” personally and loses motivation.</p>
</li>
<li><p><strong>Great</strong>: Treats “No” as feedback, learns, and moves to the next call stronger.</p>
</li>
</ul>
<h3 id="heading-3-listening-skills">3. <strong>Listening Skills</strong></h3>
<ul>
<li><p><strong>Regular</strong>: Talks more than the customer.</p>
</li>
<li><p><strong>Great</strong>: Listens 70% of the time, speaks 30%, and tailors the pitch to the customer’s needs.</p>
</li>
</ul>
<h3 id="heading-4-follow-ups">4. <strong>Follow-ups</strong></h3>
<ul>
<li><p><strong>Regular</strong>: Follows up once or twice, then gives up.</p>
</li>
<li><p><strong>Great</strong>: Follows up consistently, with creativity, until the prospect makes a clear decision.</p>
</li>
</ul>
<h3 id="heading-5-knowledge">5. <strong>Knowledge</strong></h3>
<ul>
<li><p><strong>Regular</strong>: Knows only the product features.</p>
</li>
<li><p><strong>Great</strong>: Understands the product, the market, the competition, and the customer’s business deeply.</p>
</li>
</ul>
<h3 id="heading-6-relationships">6. <strong>Relationships</strong></h3>
<ul>
<li><p><strong>Regular</strong>: Focuses only on closing the deal.</p>
</li>
<li><p><strong>Great</strong>: Focuses on building trust and long-term relationships.</p>
</li>
</ul>
<h3 id="heading-7-energy-amp-attitude">7. <strong>Energy &amp; Attitude</strong></h3>
<ul>
<li><p><strong>Regular</strong>: Waits for good days to feel motivated.</p>
</li>
<li><p><strong>Great</strong>: Brings energy, discipline, and positivity no matter the situation.</p>
</li>
</ul>
<blockquote>
<p><strong>A regular salesperson chases deals; a great salesperson builds trust and creates impact.</strong></p>
</blockquote>
<hr />
<h2 id="heading-summary">Summary</h2>
<p>Sales is not about pushing products or fearing rejection. It’s about solving problems, building trust, and growing with every conversation. Freshers who move into sales often face silence, “No’s,” and unreturned emails, but those are not failures. Treat them as stepping stones.</p>
<p>The difference between a regular salesperson and a great one lies in mindset, consistency, and the ability to turn rejection into learning.</p>
<p>If you focus on listening, following up, and creating real value, you’ll discover that sales is not just a career skill, it’s a life skill. Once mastered, it becomes one of the most powerful tools to open doors, build relationships, and shape your future.</p>
<hr />
<h2 id="heading-lets-connect"><strong>Let's Connect</strong></h2>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more fun stuff.</p>
<p>In case you're looking out for a technology partner to:</p>
<ol>
<li><p>Help you with <strong>zero-downtime cloud migrations,</strong></p>
</li>
<li><p>Accelerate your business goals with clarity, speed, and quality &amp; security,</p>
</li>
<li><p>Who values <strong>reliability, security, and transparency,</strong></p>
</li>
</ol>
<p>Me and my team are here and more than ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[What Does a Product Owner Do?]]></title><description><![CDATA[Product Owner
In the Software world and while working on a Product/Project, have you ever thought who decides:

What should be done first and what is next and what will go later ? (Now, Next and Later Framework)

How user needs translate into develop...]]></description><link>https://gokhale.me/what-does-a-product-owner-do</link><guid isPermaLink="true">https://gokhale.me/what-does-a-product-owner-do</guid><category><![CDATA[education]]></category><category><![CDATA[Product Management]]></category><category><![CDATA[management]]></category><category><![CDATA[agile]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sun, 24 Aug 2025 02:42:51 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/Oalh2MojUuk/upload/1adb2c74d88a24ebc2e814a5f2837db9.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-product-owner">Product Owner</h2>
<p>In the Software world and while working on a Product/Project, have you ever thought who decides:</p>
<ol>
<li><p>What should be done first and what is next and what will go later ? (Now, Next and Later Framework)</p>
</li>
<li><p>How user needs translate into development tasks</p>
</li>
<li><p>Your team is building the right thing</p>
</li>
</ol>
<p>Yes, that is the <strong>Product Owner</strong>. Product Owner is one such role that acts as a bridge between <strong>Business Vision</strong> and <strong>Technical Execution</strong>. Yes, Its that simple.</p>
<p>A <strong>Product Owner (PO)</strong> is a <em>key</em> role in Agile development frameworks (particularly Scrum), who serves as the primary liaison between stakeholders and the development team. Think of them as the product's advocate, strategist, and decision-maker all rolled into one.</p>
<p>The Product Owner <strong>owns</strong> the product <strong>vision</strong> and is <strong>responsible</strong> for <strong>maximizing</strong> the <strong>value</strong> of the product and the collaborate of the development team. POs are strategic thinkers who understand both market needs and technical constraints.</p>
<p>The keywords being:</p>
<ol>
<li><p>Own</p>
</li>
<li><p>Vision</p>
</li>
<li><p>Responsible for Maximizing product’s value</p>
</li>
<li><p>Collaboration</p>
</li>
</ol>
<hr />
<h2 id="heading-what-does-a-product-owner-actually-do">What Does a Product Owner Actually Do?</h2>
<p>According to me, A brilliant Product Owner wears these four hats:</p>
<ol>
<li><p>Vision</p>
</li>
<li><p>Extreme Ownership</p>
</li>
<li><p>Prioritization</p>
</li>
<li><p>Collaboration &amp; Communication</p>
</li>
</ol>
<p><em>Do note that what a PO does could differ based on company, culture and team size.</em></p>
<p>Now, Let’s dive deeper.</p>
<ol>
<li><h3 id="heading-vision">Vision</h3>
</li>
</ol>
<p>As a PO, Its very important that they clearly know the “WHY“. Without this, you are already looking towards failure. The next question could be, who will help the PO understand the “WHY“ ? The answer is every stake holder. Here are few stake holders:</p>
<ol>
<li><p>Clients</p>
</li>
<li><p>End Users</p>
</li>
<li><p>Tech team &amp; Quality</p>
</li>
<li><p>Sales &amp; Marketing</p>
</li>
</ol>
<p>Having a clear understanding of the the Domain, doing market research around what is being built and taking data backed decisions are key areas of focus for a PO.</p>
<ol start="2">
<li><h3 id="heading-extreme-ownership">Extreme Ownership</h3>
</li>
</ol>
<p>I intentionally have added the word “Extreme“ to the ownership. Let’s look at the difference.</p>
<ul>
<li><p>Ownership - My responsibility are completed. Bye for now.</p>
</li>
<li><p>Extreme Ownership - My responsibility are completed. Now let me ensure the same with others too.</p>
</li>
</ul>
<p>A Product Owner is the front face for the Client and End Users. They will be taking the requirements and will be responsible for getting the delivery done.</p>
<ol start="3">
<li><h3 id="heading-prioritization">Prioritization</h3>
</li>
</ol>
<p>Prioritization is one of those make or break things in work (as well as in life). There are always multiple features to be implemented right away. PO will decide which one will go quickly and which can wait. This decision will be taken based on</p>
<ol>
<li><p>Maximum Impact</p>
</li>
<li><p>Maximum Utilization</p>
</li>
<li><p>Urgency (Complaint to Regulations, Bug Fixes etc..)</p>
</li>
<li><p>Effort involved</p>
</li>
<li><p>Gut Feeling (Yes, we are all humans, still.)</p>
</li>
</ol>
<p>Prioritization is one of the tricky things a PO is need to do. It’s mostly super fun and also hard/frustrating at times. There are multiple frameworks a PO could use to prioritize tasks. More on this later.</p>
<ol start="4">
<li><h3 id="heading-collaboration-amp-communication">Collaboration &amp; Communication</h3>
</li>
</ol>
<p>A PO will need to be brilliant at Collaboration and Communication. A PO will need to speak with multiple stakeholders, convince some of them that “this“ is the “right” thing “to do” and “now” by effectively communicating the same via multiple mediums and ensure all stakeholders (clients, users, Tech, Quality etc..) are on the <strong>same page</strong> and facing the <strong>same direction</strong>. Not as easy as it looks but that is the where the challenge is.</p>
<p>This is achieved with:</p>
<ol>
<li><p>Understanding requirements from Stake holders.</p>
</li>
<li><p>Creating User Stories(tasks), Prioritizing them.</p>
</li>
<li><p>Helping Tech &amp; Quality teams understand these user stories</p>
</li>
<li><p>Resolve any doubts/clarifications they have.</p>
</li>
<li><p>Keep refining/updating the backlog (A Prioritized list of things to do).</p>
</li>
<li><p>Take the Demo from Tech.</p>
</li>
<li><p>Give the demo to Users/Clients/Leads.</p>
</li>
<li><p>Actively participate in all Sprint Ceremonies</p>
</li>
<li><p>Yeah, its a long list when it comes to collab and comm.</p>
</li>
</ol>
<p>A PO ensures <strong>no one</strong> is <em>guessing</em> <em>or</em> <em>assuming</em> and everyone is on the same page.</p>
<hr />
<h2 id="heading-frameworks-for-prioritization">Frameworks for Prioritization</h2>
<p>While there are so many frameworks for prioritization, for a beginner PO, I would suggest to understand and “implement” MoSCoW and RICE. Let’s look at these two now.</p>
<ol>
<li><h3 id="heading-moscow">MoSCoW</h3>
</li>
</ol>
<p>Use this while working on the backlog (= a prioritized list of things to do). Assume there are pipeline of features/tasks (say 5 of them) that should be picked up by the development team next. Rather than just <em>inky, pinky, ponky-ing</em> it, apply the MoSCoW framework for an efffective way to get the priority right.</p>
<p>The acronym MoSCoW stands for:</p>
<ul>
<li><p><strong>Must Have</strong> → Critical for the release (without it, the product fails its goal).</p>
</li>
<li><p><strong>Should Have</strong> → Important, but critical right now.</p>
</li>
<li><p><strong>Could Have</strong> → Nice-to-have features, add if time/resources allow.</p>
</li>
<li><p><strong>Won’t Have (this time)</strong> → Agreed to exclude from this release but may revisit later.</p>
</li>
</ul>
<p><strong>Why it works for beginners:</strong></p>
<ul>
<li><p>Straightforward and visual.</p>
</li>
<li><p>Encourages <strong>clear conversations</strong> with stakeholders about priorities.</p>
</li>
<li><p>Prevents everything from being “high priority.”</p>
</li>
</ul>
<ol start="2">
<li><h3 id="heading-rice">RICE</h3>
</li>
</ol>
<p>Rice is another framework I love. RICE brings in “numbers” into play and at times could be more useful if MoSCoW becomes tricky/conflicting.</p>
<p>The acronym RICE stands for:</p>
<ul>
<li><p><strong>Reach</strong> → How many users will be affected? (e.g., 1,000 users/month).</p>
</li>
<li><p><strong>Impact</strong> → How much will it improve things for each user? (1 = minimal, 3 = massive)</p>
</li>
<li><p><strong>Confidence</strong> → How sure are you about your estimates? (0–100%)</p>
</li>
<li><p><strong>Effort</strong> → How long will it take?</p>
</li>
</ul>
<p><em>At some companies there could be few variations to how the weights are assigned (Massive = 100, Minimal = 10) but those things will not matter.</em></p>
<p><strong>Why it works for beginners:</strong></p>
<ul>
<li><p>Makes prioritization <strong>objective</strong> instead of opinion-based.</p>
</li>
<li><p>Helps balance <strong>value vs. effort</strong>.</p>
</li>
<li><p>Data driven thinking.</p>
</li>
</ul>
<p><strong>The Formula</strong></p>
<p>$$\text{RICE Score} = \frac{Reach \times Impact \times Confidence} {\begin{array}{c}Effort\end{array}}$$</p><p>Give this a try, it’s very simple!</p>
<h3 id="heading-other-notable-frameworks">Other notable frameworks</h3>
<ol>
<li><p>ICE</p>
</li>
<li><p>Now-Next-Later</p>
</li>
<li><p>HEART</p>
</li>
<li><p>WSJF</p>
</li>
<li><p>Value/Effort etc.</p>
</li>
</ol>
<blockquote>
<p>I recommend RICE for Developers as well.</p>
</blockquote>
<hr />
<h2 id="heading-skills-required-for-product-owner">Skills required for Product Owner</h2>
<p>Below are key skills that could make a PO very effective.</p>
<ol>
<li><p>Empathy</p>
</li>
<li><p>Curiosity.</p>
</li>
<li><p>Attention to detail.</p>
</li>
<li><p>Extreme Focus on the goal.</p>
</li>
<li><p>Design Thinking.</p>
</li>
<li><p>Decision Making.</p>
</li>
<li><p>Risk Management.</p>
</li>
</ol>
<hr />
<h2 id="heading-tips-for-a-beginner-product-owner">Tips for a Beginner Product Owner</h2>
<p>Here are <strong>some practical beginner tips for a beginner Product Owner</strong></p>
<ol>
<li><p>Communicate (Wins, Risks..) well, keep every stakeholder on the same page.</p>
</li>
<li><p>Understand the WHY of the problem being solved.</p>
</li>
<li><p>Be Clear with your thoughts and what you need.</p>
</li>
<li><p>Be available when the team needs you.</p>
</li>
<li><p>Prepare, Prepare, Prepare.</p>
</li>
<li><p>Focus on solution, not the Technology.</p>
</li>
<li><p>Understand Tech Team and also the stakeholders.</p>
</li>
<li><p>Write well and detailed.</p>
</li>
<li><p>Learn how to say “No”, back it with “reason“ and do it politely.</p>
</li>
</ol>
<p>And of course, always keep learning!</p>
<hr />
<h2 id="heading-beginner-product-owner-mistakes">Beginner Product Owner Mistakes</h2>
<ol>
<li><p>Not focusing on Value being generated.</p>
</li>
<li><p>Not Prioritizing but guessing.</p>
</li>
<li><p>Not knowing the team and their strengths.</p>
</li>
<li><p>Unable to answer queries.</p>
</li>
<li><p>Writing vague/conflicting user stories.</p>
</li>
<li><p>Micro managing the Tech team.</p>
</li>
<li><p>Not being firm on the need.</p>
</li>
<li><p>Accept developers work without testing.</p>
</li>
<li><p>Not sharing risks with stake holders.</p>
</li>
</ol>
<p>And most importantly, a PO should not take major prioritization decisions without stake holder involvement.</p>
<hr />
<h2 id="heading-summary">Summary</h2>
<p>As Product Owners, the journey is all about continuously learning, staying curious, and balancing user needs, business goals, and team dynamics. Mistakes are natural, but learning from them early on prevents frustration.</p>
<p>The real progress happens when a PO learns to simplify, clarify, and focus on delivering value one sprint at a time. A great Product Owner take care of the product vision, inspire confidence in the team, and create impact for users.</p>
<h4 id="heading-wanna-be-a-po-your-friends-will-be">Wanna be a PO? Your friends will be:</h4>
<ol>
<li><p>Prioritization.</p>
</li>
<li><p>Empathy.</p>
</li>
<li><p>Clarity.</p>
</li>
<li><p>Discipline</p>
</li>
</ol>
<h4 id="heading-golder-rule">Golder Rule:</h4>
<ol>
<li><p>Keep your eyes on the goal.</p>
</li>
<li><p>Work closely with stakeholders.</p>
</li>
<li><p>And don’t forget to have fun</p>
</li>
</ol>
<hr />
<h1 id="heading-lets-connect"><strong>Let's Connect</strong></h1>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more fun stuff.</p>
<p>In case you're looking out for a technology partner to:</p>
<ol>
<li><p>Help you with <strong>zero-downtime cloud migrations,</strong></p>
</li>
<li><p>Accelerate your business goals with clarity, speed, and quality &amp; security,</p>
</li>
<li><p>Who values <strong>reliability, security, and transparency,</strong></p>
</li>
</ol>
<p>Me and my team are here and more than ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[How to write Minutes of Meeting]]></title><description><![CDATA[Sending an effective Minutes of Meeting
Whenever you send a minutes of meeting, ensure the below are captured.

Meeting information:

Meeting’s date and time

Location

List of all attendees.

List of absentees.



Agenda:

List the topics discussed
...]]></description><link>https://gokhale.me/how-to-write-minutes-of-meeting</link><guid isPermaLink="true">https://gokhale.me/how-to-write-minutes-of-meeting</guid><category><![CDATA[tips]]></category><category><![CDATA[Hashnode]]></category><category><![CDATA[General Programming]]></category><category><![CDATA[General Advice]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Wed, 20 Aug 2025 23:55:32 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/zoCDWPuiRuA/upload/e4a8641c4601fd8101ec74fdefd6458f.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-sending-an-effective-minutes-of-meeting">Sending an effective Minutes of Meeting</h1>
<p>Whenever you send a minutes of meeting, ensure the below are captured.</p>
<ul>
<li><p><strong>Meeting information:</strong></p>
<ol>
<li><p>Meeting’s date and time</p>
</li>
<li><p>Location</p>
</li>
<li><p>List of all attendees.</p>
</li>
<li><p>List of absentees.</p>
</li>
</ol>
</li>
<li><p><strong>Agenda:</strong></p>
<ol>
<li><p>List the topics discussed</p>
</li>
<li><p>Provide enough context.</p>
</li>
</ol>
</li>
<li><p><strong>Summaries:</strong></p>
<ol>
<li><p>Briefly summarize every point in the Agenda</p>
</li>
<li><p>Mention what was discussed and/or decided.</p>
</li>
<li><p>Highlight any particularly significant comments or questions that came up.</p>
</li>
</ol>
</li>
<li><p><strong>Action items:</strong></p>
<ol>
<li><p>Specify who is going to do what on the action items</p>
</li>
<li><p>Add a deadline for each action Item.</p>
</li>
</ol>
</li>
<li><p><strong>Next meeting:</strong></p>
<ol>
<li><p>When is the next meeting date, time</p>
</li>
<li><p>Who will be joining the next meeting.</p>
</li>
<li><p>What will be the preliminary agenda items.</p>
</li>
</ol>
</li>
<li><p><strong>Attachments:</strong></p>
<ul>
<li>Include any documents shared during the meeting.</li>
</ul>
</li>
</ul>
<p>To Be Continued.</p>
<hr />
<h1 id="heading-lets-connect"><strong>Let's Connect</strong></h1>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more fun stuff.</p>
<p>In case you're looking out for a technology partner to:</p>
<ol>
<li><p>Help you with <strong>zero-downtime cloud migrations,</strong></p>
</li>
<li><p>Accelerate your business goals with clarity, speed, and quality &amp; security,</p>
</li>
<li><p>Who values <strong>reliability, security, and transparency,</strong></p>
</li>
</ol>
<p>Me and my team are here and more than ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[Ubuntu 20.04 to 22.04 Migration: Planning, Execution & Risk Management for a Zero-Downtime Upgrade]]></title><description><![CDATA[Background
Earlier this year, for one of the clients me and my company are working with, the cloud servers were running on Ubuntu 20.04 LTS (Focal Fossa), running java (For Spring Boot), Maven, Node.js, PostgreSQL, SSL certificates, and GitHub Action...]]></description><link>https://gokhale.me/ubuntu-20-04-to-22-04-migration-planning-risk-management</link><guid isPermaLink="true">https://gokhale.me/ubuntu-20-04-to-22-04-migration-planning-risk-management</guid><category><![CDATA[Ubuntu]]></category><category><![CDATA[migration]]></category><category><![CDATA[Cloud]]></category><category><![CDATA[Databases]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sat, 09 Aug 2025 01:44:42 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/xbEVM6oJ1Fs/upload/8162fd26814e201118e2e8ae35d34857.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-background">Background</h2>
<p>Earlier this year, for one of the clients me and my company are working with, the cloud servers were running on Ubuntu 20.04 LTS (Focal Fossa), running java (For Spring Boot), Maven, Node.js, PostgreSQL, SSL certificates, and GitHub Actions.</p>
<p>By May 2025, the long term support of 20.04 LTS (Focal Fossa) was ending and we needed to migrate to another LTS. Ubuntu had a couple of options: Uplift to Ubuntu 22.04 (J<strong>ammy Jellyfish)</strong> or a much higher version.</p>
<hr />
<h2 id="heading-research">Research</h2>
<p>After a detailed research into which Operating System was correct for us, supporting the versions we need and making sure the the future tools we have in mind to implement will also work, a decision was made to go with Ubuntu 22.04 (J<strong>ammy Jellyfish).</strong></p>
<hr />
<h2 id="heading-migrate-from-ubuntu-2004-to-2204">Migrate from Ubuntu 20.04 to 22.04</h2>
<p>Ubuntu 20.04 LTS, while still supported until April 2025, Ubuntu 22.04 LTS brought several compelling advantages:</p>
<ul>
<li><p><strong>Standard support until 2027, Extended support lifecycle</strong> until April 2032.</p>
</li>
<li><p><strong>Enhanced security features</strong> including improved AppArmor profiles and kernel hardening</p>
</li>
<li><p><strong>Performance improvements</strong> with better hardware support and optimized resource management</p>
</li>
<li><p><strong>Updated package repositories</strong> with newer versions of critical software</p>
</li>
<li><p><strong>Better containerization support</strong> for our Docker and Kubernetes workloads</p>
</li>
</ul>
<hr />
<h2 id="heading-goals-of-the-migration">Goals of the migration</h2>
<p>When you upgrade your operating system, you’re making a decision that impacts <strong>application stability, security, and business continuity</strong>.</p>
<p>Our goals were simple:</p>
<ol>
<li><p>Smallest Downtime - Users should not be impacted.</p>
</li>
<li><p>Minimal to Zero Risks - Controlled Execution.</p>
</li>
</ol>
<hr />
<h2 id="heading-planning">Planning</h2>
<p>With a detailed research already completed, we created a <strong>clear migration plan</strong>. The focus was to understand:</p>
<ul>
<li><p>What changes are coming with 22.04?</p>
</li>
<li><p>Which dependencies might break?</p>
</li>
</ul>
<p><strong>Key steps in our planning:</strong></p>
<ul>
<li><p><strong>Inventory of services</strong> – Java, Node.js, Postgres, certificates, automation pipelines.</p>
</li>
<li><p><strong>Dependency mapping</strong> – List all packages and their versions to identify upgrade risks.</p>
</li>
<li><p><strong>Compatibility checks</strong> – Ensure <strong>frameworks</strong> and <strong>databases</strong> are fully supported on Ubuntu 22.04.</p>
</li>
<li><p><strong>Data Backup</strong> – Took necessary backup of the data alone and move to another safe place.</p>
</li>
<li><p><strong>Rollback plan</strong> – EC2 snapshot ready just in case.</p>
</li>
<li><p>Information - Keep the team Informed about the activities being done.</p>
</li>
</ul>
<hr />
<h2 id="heading-risks-while-migrating-ubuntu-2004-to-2204">Risks while migrating Ubuntu 20.04 to 22.04</h2>
<p>All migrations will come with its own risk. This is where Research, Planning, Identifying Risks and mitigating them will be key.</p>
<p>Risk management is all about Anticipating and identifying the problems before they occur and having a plan of action to overcome the risk by keeping a couple of solutions ready.</p>
<h3 id="heading-identifying-potential-risks">Identifying Potential Risks</h3>
<p>We identified several categories of risk that required specific mitigation strategies:</p>
<ol>
<li><p><strong>Data Loss Risks</strong>: Complete system backups were mandatory before any migration attempt. We implemented automated backup verification to ensure recovery capabilities.</p>
</li>
<li><p><strong>Compatibility Issues</strong>: Legacy applications and custom configurations posed the highest risk. We created detailed compatibility matrices and prepared alternative solutions.</p>
</li>
<li><p><strong>Security Vulnerabilities</strong>: The migration process itself could introduce temporary security gaps, requiring additional monitoring and protection measures.</p>
</li>
</ol>
<p>This proactive planning meant <strong>no surprises</strong> on migration day. With the risks clear, we wanted to identify the best strategy to migrate Ubuntu 20.04 to 22.04 that works for us.</p>
<hr />
<h2 id="heading-migration-strategies">Migration Strategies</h2>
<p>We looked at a couple of migration strategies</p>
<ol>
<li><p>Take a snapshot and migrate the actual server but in this case, there would be a downtime even if we did this on a weekend.</p>
</li>
<li><p>Use the snapshot to spin another EC2, and migrate this newly created EC2 while leaving the actual server as it is. With this approach, there wont be any downtime for users and also no risks with the main server.</p>
</li>
</ol>
<p>We decided to go with the second option.</p>
<hr />
<h2 id="heading-step-by-step-migration-approach"><strong>Step-by-Step Migration Approach</strong></h2>
<p>Our principle was to <strong>play with the snapshot before making the changes directly to the server</strong>. Here are the exact steps we did.</p>
<h3 id="heading-high-level-steps">High level steps</h3>
<ol>
<li><p><strong>Spin an</strong> EC2 from the snapshot for trial migration.</p>
</li>
<li><p><strong>Run full system updates</strong> before release upgrade.</p>
</li>
<li><p>Verify Path variables.</p>
</li>
<li><p>Make sure all the data/frameworks/tools/libraries and CICD are compatible and working.</p>
</li>
<li><p>Verify Data and its integrity.</p>
</li>
<li><p>Validate Firewall Settings and other security controls in place.</p>
</li>
<li><p>Locally run the application and ensure its fine.</p>
</li>
<li><p>Capture evidence as necessary</p>
</li>
<li><p>Once Confident, repeat the same steps on the actual server.</p>
</li>
</ol>
<h3 id="heading-detailed-steps">Detailed Steps</h3>
<p>Below is the sequence of commands we used.</p>
<p>Note: Some commands that are specific to the project are left out intentionally.</p>
<pre><code class="lang-bash">
<span class="hljs-comment"># Since you have an snapshot, you dont have to worry - Treat this machine as a throwaway.</span>
<span class="hljs-comment"># Login to the server.</span>
<span class="hljs-comment"># Stop services like database, nginx, apache and others you may have.</span>
<span class="hljs-comment"># Now you are ready to start.</span>


sudo apt update &amp;&amp; sudo apt upgrade

sudo apt list --upgradable

sudo do-release-upgrade <span class="hljs-comment"># This will show few prompts to accept, continue, Yes/No. Select Accordingly.</span>

<span class="hljs-comment"># Restart the machine and relogin</span>
<span class="hljs-comment"># Verify if the version is now 22.04</span>
<span class="hljs-comment"># Verify if the data is fine and services start correctly.</span>
<span class="hljs-comment"># Verify if the security is good and firewall settings are fine.</span>
<span class="hljs-comment"># Run the applications and make sure they are working</span>
<span class="hljs-comment"># Verify CI/CD</span>
<span class="hljs-comment"># There are some more things but they were just project specific</span>
</code></pre>
<p>We were finally successful in our Third attempt and after this, we documented the process with screenshots and key commands.</p>
<h3 id="heading-the-real-migration">The Real Migration</h3>
<p>With detailed documentation and screenshots and the experience of doing it 3 times, there were no surprises when the actual server was migrated and everything worked in the very first attempt.</p>
<p>We repeated the same checks as this was the key server and ensured we are all secure and safe and called the migration complete/successful and informed the stake holders.</p>
<hr />
<h2 id="heading-the-real-migration-1">The real migration</h2>
<h3 id="heading-lessons">Lessons</h3>
<p>We were successful at the third attempt and got everything working how we want. Here are some lessons we learnt.</p>
<ol>
<li><p><strong>Strategy</strong>: Our Strategy was perfect. We failed two times during the migration process with different errors (cannot share the specifics here). If we had done this directly on the actual server, it would have been a disaster.</p>
</li>
<li><p><strong>Services</strong>: If you have a database(PostgreSQL or MongoDB etc), version compatibility could happen. At the middle of the migration, you will be forced to install a newer version of the same DB, even though you do not want it. So, before starting the migration, Its better to either stop the service or sometimes even uninstall it. Post successful Migration, Enable or Install the DB again.</p>
</li>
<li><p>Version Control: Its important to fix/pin your versions so that during migration, Ubuntu will not force you to migrate to a newer version or install it without asking you.</p>
</li>
<li><p>Validate: We did a thorough validation of everything post migration. This made us very confident.</p>
</li>
<li><p>Communicate: We were continuously keeping the team and stakeholders informed after reaching key milestones.</p>
</li>
</ol>
<p>Upgrading from Ubuntu 20.04 to 22.04 isn’t just a command-line operation. it’s a <strong>strategic infrastructure decision</strong>. When done right, it brings <strong>performance gains, better security, and long-term support</strong>.</p>
<hr />
<h1 id="heading-lets-connect"><strong>Let's Connect</strong></h1>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more fun stuff.</p>
<p>In case you're looking out for a technology partner to:</p>
<ol>
<li><p>Help you with <strong>zero-downtime cloud migrations,</strong></p>
</li>
<li><p>Accelerate your business goals with clarity, speed, and quality &amp; security,</p>
</li>
<li><p>Who values <strong>reliability, security, and transparency,</strong></p>
</li>
</ol>
<p>Me and my team are here and more than ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[Risks of Manually Running SQL Queries]]></title><description><![CDATA[Databases
Databases - Love them or hate them, you cannot get away from them. Databases are the heart of most applications, yet many teams casually handle this critical part of the development stack.
Even been in a scenario where someone quickly ran a...]]></description><link>https://gokhale.me/risks-of-manually-running-sql-queries</link><guid isPermaLink="true">https://gokhale.me/risks-of-manually-running-sql-queries</guid><category><![CDATA[SQL]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[JavaScript]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Fri, 01 Aug 2025 13:24:18 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/pypeCEaJeZY/upload/3dbea89dcfeb0872f79c6ff0686c0c7b.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-databases">Databases</h1>
<p>Databases - Love them or hate them, you cannot get away from them. Databases are the heart of most applications, yet many teams casually handle this critical part of the development stack.</p>
<p>Even been in a scenario where someone quickly ran an <code>ALTER TABLE</code> or <code>UPDATE</code> statement directly in production to fix an issue or enable a new feature? Crazy right ? If you have ever handled a critical project, this is a no-no!</p>
<p>While it feels like a quick win, these manual changes rarely:</p>
<ol>
<li><p>Get tracked.</p>
</li>
<li><p>Documented.</p>
</li>
<li><p>and Replicated across environments.</p>
</li>
</ol>
<p>Over time, this creates a silent “drift” between development, staging, and production databases, leading to bugs that are hard to reproduce, features that break unpredictably, and an overall loss of trust in the stability of the application.</p>
<blockquote>
<p>Sometimes you look at the data and wonder, how is this even possible?</p>
</blockquote>
<hr />
<h1 id="heading-devs-with-local-db-copy">Devs with local DB Copy</h1>
<p>If you’ve ever been on a team where every developer has their own database copy. One person adds a column, another drops a constraint, and someone else applies a patch directly in production without telling anyone. Its just chaotic!</p>
<p>When the code moves to staging or higher environments, half of these changes are missing, causing inconsistent data making you wonder how did we even get to this situation, broken deployments, and bugs that seem to appear out of nowhere.</p>
<p>Manual SQL changes are not just risky, they’re unscalable. What we need is a better way to manage database changes: version-controlled, automated, and consistent across all environments.</p>
<h1 id="heading-pain-points">Pain Points</h1>
<p>Let’s get real for a moment. If you’ve been part of any software team working with relational databases, these situations will sound painfully familiar.</p>
<h2 id="heading-the-classic-it-works-on-my-machine">The Classic: It works on my machine</h2>
<p>A developer adds a new column for a feature (say, <code>status</code> in the <code>users</code> table) directly in their <strong>local database and implements a feature</strong>.</p>
<ul>
<li><p>They don’t document it.</p>
</li>
<li><p>They don’t create a “migration” script.</p>
</li>
<li><p>They push their application code, assuming “Its working fine”.</p>
</li>
</ul>
<p>Yes, Everything works great <strong>locally</strong> until it reaches staging or production. Suddenly:</p>
<ul>
<li><p>Code Review cannot continue(if they follow the <a target="_blank" href="https://gokhale.me/why-you-should-also-be-doing-code-reviews">Code Review</a> Process).</p>
</li>
<li><p>QA can’t test the feature.</p>
</li>
<li><p>The staging build breaks.</p>
</li>
<li><p>Everyone is scrambling to figure out why.</p>
</li>
</ul>
<p>This single missing column becomes a full-blown blocker.</p>
<h2 id="heading-quick-data-fixes-that-nobody-knows-about"><strong>Quick Data Fixes That Nobody Knows About</strong></h2>
<p>Something is off in production data. A user is locked out or an order needs status correction. Instead of going through a migration process, someone runs and update query and “solves“ the problem or alteast thinks so.</p>
<p>And they are not wrong. Yes, It solves the problem. But:</p>
<ul>
<li><p><strong>It’s undocumented</strong> — no one knows this update happened.</p>
</li>
<li><p><strong>It’s inconsistent</strong> — staging and dev don’t reflect this fix.</p>
</li>
<li><p><strong>It’s risky</strong> — one fat-fingered query, and you’ve updated 10,000 rows by mistake.</p>
</li>
</ul>
<p>Weeks later, debugging why production data doesn’t match other environments becomes a nightmare.</p>
<hr />
<h1 id="heading-why-these-scenarios-hurt-so-much">Why These Scenarios Hurt So Much</h1>
<ol>
<li><p><strong>Inconsistent environments</strong> – Dev, staging, and production drift apart.</p>
</li>
<li><p><strong>Invisible changes</strong> – Nobody knows what happened, when, or why.</p>
</li>
<li><p><strong>Risky fixes</strong> – No rollback means every manual change is a gamble.</p>
</li>
<li><p><strong>Slowed releases</strong> – Time spent chasing database issues instead of shipping features.</p>
</li>
</ol>
<p>This is exactly the problem Liquibase (and similar tools) exist to solve. More about Liquibase in a future blog.</p>
<hr />
<h1 id="heading-lets-connect"><strong>Let's Connect</strong></h1>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more fun stuff.</p>
<p>One of my life’s missions is to do whatever it takes to build world-class products and deliver exceptional client outcomes.</p>
<p>In case you're looking out for a technology partner to accelerate your business goals with clarity, speed, and quality &amp; security, my team and I are here and more than ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[Understanding Machine Learning: Basics, Types, and Key Algorithms]]></title><description><![CDATA[Context
Since the era of Generative AI, I’ve tried multiple times to learn AI deeply. This is probably the first time I have been able to. Sharing the below blog for others whom this could help.

Why Now?
AI as a skill is still relevant, there are pr...]]></description><link>https://gokhale.me/machine-learning-basics</link><guid isPermaLink="true">https://gokhale.me/machine-learning-basics</guid><category><![CDATA[AI]]></category><category><![CDATA[Machine Learning]]></category><category><![CDATA[algorithms]]></category><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Mon, 28 Jul 2025 08:02:38 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/SyzQ5aByJnE/upload/ff4579d7ab353c842e389d4cebe7308d.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-context">Context</h1>
<p>Since the era of Generative AI, I’ve tried multiple times to learn AI deeply. This is probably the first time I have been able to. Sharing the below blog for others whom this could help.</p>
<hr />
<h1 id="heading-why-now">Why Now?</h1>
<p>AI as a skill is still relevant, there are problems where AI could be applied, Gen AI is not going away anywhere, Vibe Coded applications are making a lot of <strong>noise</strong> (Yes, Noise).</p>
<p>Since 2022, AI has moved away from being <strong>Niche to Foundational</strong>. Data is being used for making decisions and its also a great idea to get into Data Mining Slowly.</p>
<p><strong>Personally</strong> I do NOT want to JUST use the tools, I want to <strong>build</strong> few of them myself. That’s why <strong>now</strong> is the time.</p>
<hr />
<h1 id="heading-introduction-to-machine-learning"><strong>Introduction to Machine Learning</strong></h1>
<p>At its core <strong>Machine Learning</strong> is a subset of Artificial Intelligence (AI) that allows computers to <strong>learn from Data</strong> and make <strong>Predictions or Decisions</strong> without being <em>explicitly programmed</em>. The important part to note here is “<em>explicitly programmed</em>“.</p>
<p>Instead of writing a fixed set of rules for a task, ML algorithms <strong>identify patterns in historical data</strong> and use those patterns to handle new, unseen data. You don’t need a human to be also there to make the decision.</p>
<h2 id="heading-a-simple-analogy"><strong>A Simple Analogy:</strong></h2>
<p>As a kid I remember playing hours of <em>Contra</em> on an old Atari game station, with one of those 9999999 in 1 games. No one taught us how to play the any game. We’d just insert the cassette, press a few buttons, and inch forward, backward, jump one frame at a time, slowly discovering that you could crouch to dodge bullets or take down enemies. We just learnt it on our own.</p>
<p>Or</p>
<p>Think of how we teach a kid to recognize a dog or a bird. Instead of saying things like “dogs have four legs and bark,” we show them many pictures of dogs. Over time, the kid learns to recognize a dog by identifying patterns.</p>
<p>Machine Learning also works in a similar way. Simple!</p>
<hr />
<h1 id="heading-high-level-steps-involved-with-ml">High level steps involved with ML</h1>
<p>Usually when we start ML, we start with Data and move towards making a prediction/decisions based on the problem being solved. But, before that - we need a problem statement.</p>
<h2 id="heading-step-1-define-the-problem-statement">Step 1: Define the Problem Statement</h2>
<p>Every successful project starts with a <strong>clear, well-defined problem statement</strong>. ML is no different. Without a Good Problem statement, having the best infrastructure, well defined data, developers and throw in the most advanced algorithms, Nope, it won’t deliver meaningful results.</p>
<h3 id="heading-problems-statements-ml-could-help-us-with">Problems statements ML could help us with</h3>
<ol>
<li><p>Determine the next person to get a promotion.</p>
</li>
<li><p>Which movie will the user love to watch next?</p>
</li>
<li><p>Will this person be able to make the next EMI payment?</p>
</li>
<li><p>Is this a Spam Email?</p>
</li>
<li><p>Will India win the next test in the Anderson - Tendulkar Series ?</p>
</li>
</ol>
<blockquote>
<p>Clearly understanding the problem to be solved is half battle won.</p>
</blockquote>
<p>A <strong>problem statement</strong> should answer:</p>
<ol>
<li><p>What exactly are we solving?</p>
</li>
<li><p>Why does this matter ? Why Now?</p>
</li>
<li><p>What does success look like?</p>
</li>
<li><p>What are we learning from this?</p>
</li>
</ol>
<p><strong>Important</strong>: Just because we have a problem, it does not automatically qualify to be solved with ML. There are so many problems that could just be solved using traditional programming ( with some rules/conditions that are also easy to manage). For Example, I would probably apply ML to identify if the pic is of a Cat or a Dog. On the other hand, to build a Calculator or Tax App, i would reach out to traditional Programming Methods ( No need of ML here)</p>
<hr />
<h2 id="heading-step-2-prepare-amp-understand-the-data">Step 2: Prepare &amp; Understand the Data</h2>
<p><strong>Data</strong> is the backbone of Machine Learning. For a Machine Learning Model to be working correctly, it needs data that is optimized, bias free and clean. Every aspect of the data is important - Quality &amp; Quantity, vastness of the data etc.</p>
<p>Data, its a prerequisite.</p>
<p>Data determines how good the the outcome of Machine Learning is. If the data is not good, even the best of the algorithms cannot help. That is how <strong>Critical</strong> Data is to ML.</p>
<p>When we start working with the data, data can be either structured or unstructured or at times semi structured. This data needs to be processed, optimized and cleaned.</p>
<h3 id="heading-21-collect-amp-clean-the-data"><strong>2.1 Collect &amp; Clean the Data</strong></h3>
<ol>
<li><p><strong>Collection:</strong> Gather data from multiple sources (databases, APIs, web scraping, surveys, or logs).</p>
</li>
<li><p>Cleaning/Scrub the data</p>
<ol>
<li><p>Handle missing values (impute with mean/median or remove rows).</p>
</li>
<li><p>Remove duplicates and fix inconsistencies.</p>
</li>
<li><p>Standardize formats (dates, currency, text).</p>
</li>
</ol>
</li>
</ol>
<h3 id="heading-22-transform-amp-structure-the-data"><strong>2.2 Transform &amp; Structure the Data</strong></h3>
<ol>
<li><p><strong>One Hot Encoding</strong>: Convert non numerical values to 0 or 1 (True = 1, False = 0)</p>
</li>
<li><p><strong>Binning/Bucketing</strong>: Grouping/Ranging (Scores between 80-100 are grouped as “Distinction”)</p>
</li>
<li><p><strong>Normalization</strong>: Scale all values into a fixed range (0 to 1)</p>
</li>
<li><p><strong>Standardization</strong>: Center the data around 0 ( Deviations are set towards 1)</p>
</li>
<li><p><strong>Feature Creation:</strong> Derive new features (e.g., “Age” from “Date of Birth” or “Purchase Frequency”).</p>
</li>
</ol>
<h3 id="heading-23-explore-amp-understand-the-data-exploratory-data-analysis"><strong>2.3</strong> Explore &amp; Understand the Data (<strong>Exploratory Data Analysis</strong>)</h3>
<p>Once the data is prepared and processed, the next important step is to have a proper sense of data before we start modelling the data. Without this vital step, the outcome will be extremely poor results. This particular step helps us to uncover trends, outliers, missing data, and correlations.</p>
<p><strong>Steps involved are :</strong></p>
<ol>
<li><p><strong>Visualize data</strong>: Histograms, scatter plots and others.</p>
</li>
<li><p><strong>Check distributions:</strong> Are features normally distributed?</p>
</li>
<li><p><strong>Identify outliers &amp; anomalies:</strong> Remove or transform them.</p>
</li>
<li><p><strong>Understand relationships:</strong> Which features influence the target variable?</p>
</li>
</ol>
<h3 id="heading-24-split-the-data"><strong>2.4 Split the Data</strong></h3>
<ol>
<li><p><strong>Split Validation :</strong> Split the data as 70:20:10 or 80:20.</p>
</li>
<li><p><strong>Cross-Validation:</strong> Rotate subsets to ensure the model generalizes well.</p>
</li>
<li><p><strong>Random Shuffling:</strong> Reorder data to remove sequence bias.</p>
</li>
</ol>
<hr />
<h2 id="heading-step-3-choose-the-right-algorithm">Step 3: Choose the Right Algorithm</h2>
<p>Once data is ready, the next step is to pick an ML algorithm that matches your <strong>data type, problem type, and constraints.</strong> Machine learning incorporates many mathematical and statistical-based algorithms and choosing the right algorithm(s) for the job is not an easy task.</p>
<p>Algorithms can be picked based on what needs to be done:</p>
<ol>
<li><p>Classification —&gt; Logistic Regression, Random Forest, SVM, Neural Networks</p>
</li>
<li><p>Regression —&gt; Linear Regression, Decision Trees, Gradient Boosting.</p>
</li>
<li><p>Clustering —&gt; K-Means, DBSCAN, Hierarchical Clustering.</p>
</li>
<li><p>Sequential Data Analysis —&gt; RNNs, LSTMs.</p>
</li>
</ol>
<p>Depending on the input and outcome you are expecting, choose the algorithm(s).</p>
<hr />
<h2 id="heading-step-4-train-the-model">Step 4: Train the model</h2>
<p>The next step is to let the algorithm <strong>learn patterns</strong> from data.</p>
<p>Optimize for minimal errors (loss function).</p>
<p>Use training curves (loss vs epochs) to detect overfitting or underfitting.</p>
<hr />
<h2 id="heading-step-5-evaluate-the-model"><strong>Step 5: Evaluate the Model</strong></h2>
<p>Check how well the model generalizes to unseen data</p>
<ul>
<li><p><strong>Metrics for Classification:</strong> Accuracy, Precision, Recall, F1-score, AUC-ROC.</p>
</li>
<li><p><strong>Metrics for Regression:</strong> RMSE, MAE, R².</p>
</li>
<li><p><strong>Confusion Matrix:</strong> Break down true positives, false positives, etc.</p>
</li>
<li><p><strong>Cross Validation:</strong> Ensure model stability across different data subsets.</p>
</li>
</ul>
<p>More about this in another blog.</p>
<hr />
<h2 id="heading-step-6-fine-tuning-optimization"><strong>Step 6. Fine-Tuning (Optimization)</strong></h2>
<p>Now that we understand how the model is working, we can improve the performance by <strong>tuning hyperparameters</strong> or improving features.</p>
<ul>
<li><p><strong>Hyperparameter tuning:</strong> Grid Search, Random Search, Bayesian Optimization.</p>
</li>
<li><p><strong>Regularization:</strong> L1/L2 to prevent overfitting.</p>
</li>
<li><p><strong>Ensemble learning:</strong> Combine models (e.g., bagging, boosting) for higher accuracy.</p>
</li>
<li><p><strong>Feature selection:</strong> Remove irrelevant or redundant features.</p>
</li>
</ul>
<p>Again, this needs another blog to go deeper into these terms.</p>
<hr />
<h1 id="heading-wrap-up">Wrap Up</h1>
<p>Generally these are the steps involved in building a Machine Learning Algorithm. After Steps 1 through 6, we deploy the solution to different environment ( Develop, Test, Pre Production and Production) and continuously improve.</p>
<hr />
<h1 id="heading-lets-connect"><strong>Let's Connect</strong></h1>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more fun stuff.</p>
<p>One of my life’s missions is to do whatever it takes to build world-class products and deliver exceptional client outcomes.</p>
<p>In case you're looking out for a technology partner to accelerate your business goals with clarity, speed, and quality &amp; security, my team and I are here and more than ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[How to Create an Effective Pull Request Template]]></title><description><![CDATA[Back in the days...
My first code review during my beginner years was very simple. We didn’t have Pull Requests back then. Instead, we had something called ST – Shoulder Taps.
This is how it worked:I would write a piece of code, walk up to a senior, ...]]></description><link>https://gokhale.me/effective-pull-request-template</link><guid isPermaLink="true">https://gokhale.me/effective-pull-request-template</guid><category><![CDATA[Pull Requests]]></category><category><![CDATA[Developer]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[Git]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sun, 27 Jul 2025 00:42:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/UT8LMo-wlyk/upload/09b52c7554e0f33930922c16ee67ad1b.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-back-in-the-days">Back in the days...</h1>
<p>My first code review during my beginner years was very simple. We didn’t have Pull Requests back then. Instead, we had something called <strong>ST – Shoulder Taps</strong>.</p>
<p>This is how it worked:<br />I would write a piece of code, walk up to a senior, “tap” them on the shoulder, and ask, <em>“Sir, can you check if this is correct?”</em></p>
<p>It was quick, informal, and worked in small teams. With time, my projects grew, teams were distributed across the globe, Shoulder Taps were not possible anymore. Something more structured was needed.</p>
<p>That’s where <strong>Pull Requests</strong> came in.</p>
<hr />
<h1 id="heading-what-is-a-pull-request">What is a Pull Request?</h1>
<p>As a developer you would write a feature or fix a bug and unit test it, write automation test cases and move to higher environment. However, before you move to the next environment, it’s always <strong>wise</strong> to get the code reviewed by someone else. This is where Pull Requests comes in.</p>
<p>So, A <strong>Pull Request (PR)</strong> is a way for developers to propose changes to a codebase to ensure the code changes work correctly without causing issues.</p>
<p>In essence, Pull Requests represents the core goals of <strong>Software Configuration Management (SCM)</strong>:</p>
<ul>
<li><p><strong>Integrity</strong> – Changes are reviewed and validated before merging.</p>
</li>
<li><p><strong>Traceability</strong> – Every change is documented with context and discussion.</p>
</li>
<li><p><strong>Consistency</strong> – The codebase remains stable and reliable over time.</p>
</li>
</ul>
<hr />
<h1 id="heading-why-should-someone-else-review">Why should someone else review ?</h1>
<ol>
<li><p>They may know the application better than you.</p>
</li>
<li><p>They may know the technology better than you.</p>
</li>
<li><p>They may have better ideas to design the solution.</p>
</li>
<li><p>You could’ve done certain things in a less optimized way.</p>
</li>
<li><p>You did not implement a small yet important details</p>
</li>
</ol>
<p>Basically the Reviewer is doing you (Author) a favor and ensuring no-one stays back on a Friday night to solve a nasty high severity ticket.</p>
<hr />
<h1 id="heading-how-does-a-pr-work">How does a PR work</h1>
<p>Instead of directly editing the main branch, developers:</p>
<ol>
<li><p>Create a <strong>separate branch</strong> for the changes.</p>
</li>
<li><p>Push the changes to the remote repository.</p>
</li>
<li><p><strong>Open a Pull Request</strong> and ask “suitable” team mate(s) to review the changes and approve accordingly.</p>
</li>
<li><p>After Approval, code changes are merged into the main codebase branch.</p>
</li>
</ol>
<p>Yes, the process does slow down things (and some developers may hate it) but gives the teams Great Control so that production will not break easily!</p>
<hr />
<h1 id="heading-being-consistent-with-prs">Being Consistent with PRs</h1>
<p>I deeply value Consistency. Consistency becomes even more important while developing, since the code belongs to everyone in the tech team. And when it comes to reviewing code, <strong>the same principle applies</strong>. Consistency makes reviews faster, reduces misunderstandings, and keeps the entire team aligned.</p>
<p>Now imagine This:</p>
<p>There’s no defined process for how to raise a PR or what information should be included.</p>
<p>What will happen is:</p>
<ol>
<li><p>Some people are <strong>over-communicative</strong>, write an essay for a 2-line change (That would be me).</p>
</li>
<li><p>Some would just say ”Approve this PR” with zero context.</p>
</li>
<li><p>Some write tests and many don’t bother.</p>
</li>
<li><p>A few leave code with <strong>warnings and errors</strong> to meet the deadline.</p>
</li>
<li><p>And some even leave behind <strong>spelling mistakes</strong> (I <em>hate</em> spelling mistakes!).</p>
</li>
</ol>
<p>For an Engineering Manager, this is no worse <strong>nightmare</strong>!</p>
<p>That’s exactly why Pull Request <strong>templates</strong> matter. They bring <strong>structure and consistency</strong> to the review process, ensuring every PR communicates the right information before it even reaches the reviewer.</p>
<hr />
<h1 id="heading-pull-request-template">Pull Request Template</h1>
<p>Instead, Why not set <strong>clear expectations</strong> for what a PR should contain, throw in a checklists and provide placeholders for screenshots.</p>
<p>Here is why A PR Template is Important:</p>
<ol>
<li><p><strong>Consistency:</strong> Every PR follows the same structure.</p>
</li>
<li><p><strong>Clarity:</strong> Reviewers get all the context they need upfront.</p>
</li>
<li><p><strong>Efficiency:</strong> Less back-and-forth; faster approvals.</p>
</li>
<li><p><strong>Quality:</strong> Built-in checklists prevent missed steps (like tests or documentation).</p>
</li>
</ol>
<p>A PR Template creates a uniform way for collaboration, making reviews faster, cleaner, and far less chaotic.</p>
<hr />
<h1 id="heading-how-to-create-a-pull-request-template">How to create a Pull Request Template</h1>
<p>Its very Easy. You need to create a markdown file inside a folder called <code>.github</code> inside the root of your your project.</p>
<p><em>The</em> <code>.git</code> <em>folder and</em> <code>.github</code> <em>folder are on the same level. Do note that, the two folders are not really related and I added it here so that you understand where this</em> <code>.github</code> <em>folder lives inside the codebase.</em></p>
<p><strong>And Don’t forget to push the markdown file.</strong></p>
<pre><code class="lang-powershell">.github/pull_request_template.md
</code></pre>
<hr />
<h1 id="heading-content-of-the-template">Content of the template</h1>
<p>This depends on project to project, technology and few more things but in general I would like to have the template as below.</p>
<pre><code class="lang-powershell"><span class="hljs-comment">## Summary of Changes.</span>

<span class="hljs-comment">## Type of Change</span>
- [ ] Feature
- [ ] Bug fix
- [ ] Optimization
- [ ] Documentation
- [ ] Tech Debt

<span class="hljs-comment">## Implementation Details</span>
What was done?


<span class="hljs-comment">## Special Instructions if any</span>



<span class="hljs-comment">## Testing</span>
Steps <span class="hljs-keyword">for</span> reviewers to verify:
<span class="hljs-number">1</span>. 
<span class="hljs-number">2</span>. 

<span class="hljs-comment">## Checklist</span>
- [ ] My Code follows project guidelines
- [ ] I have added Tests <span class="hljs-keyword">for</span> my changes.
- [ ] My code does not generate new warnings/errors
- [ ] I have done a self review of the code.

<span class="hljs-comment">## Screenshots or Videos</span>
</code></pre>
<hr />
<h1 id="heading-best-practices-for-pull-request-templates">Best Practices for Pull Request Templates</h1>
<ol>
<li><p><strong>Keep the template short and clear</strong>.</p>
</li>
<li><p><strong>Use checklists</strong>, They are super powerful.</p>
</li>
<li><p><strong>Evolve the templates when needed</strong>.</p>
</li>
</ol>
<hr />
<p>Personally, I feel A Pull Request Template is one of those tiny one time <strong>investments with huge returns</strong>. It saves time, prevents misunderstandings, and improves overall code quality and keep developers happy.</p>
<p>Try this with your team today and let me know how it went.</p>
<hr />
<h1 id="heading-lets-connect"><strong>Let's Connect</strong></h1>
<p>Hi, I’m Sandeep Gokhale, and I'm passionate about building high-performing teams at my company, <a target="_blank" href="https://www.techvito.in/"><strong>Techvito</strong></a> and I write about Technology, People, Processes and some more fun stuff.</p>
<p>One of my life’s missions is to do whatever it takes to build world-class products and deliver exceptional client outcomes.</p>
<p>In case you're looking out for a technology partner to accelerate your business goals with clarity, speed, and quality &amp; security, my team and I are here and more than ready to help you make it happen.</p>
<p>Feel free to connect with me on <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>LinkedIn</strong></a> and <a target="_blank" href="https://www.linkedin.com/in/sandeepgokhale/"><strong>Twitter.</strong></a></p>
<p>Until Next time!</p>
]]></content:encoded></item><item><title><![CDATA[When I was an employee..]]></title><description><![CDATA[Warning
This is not a Blog about Bragging anything, I am writing this with humility, being grateful to god.
A Reflection
Back in 2006, Someone once asked me my phone number at office and I told it ends with 2020. They asked me what was my plan for ye...]]></description><link>https://gokhale.me/when-i-was-an-employee</link><guid isPermaLink="true">https://gokhale.me/when-i-was-an-employee</guid><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sat, 26 Jul 2025 14:35:31 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/kR4K8nJ9JRc/upload/be62bc23b0f03077cdf85b9b39af2f58.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-warning">Warning</h1>
<p>This is not a Blog about Bragging anything, I am writing this with humility, being grateful to god.</p>
<h1 id="heading-a-reflection">A Reflection</h1>
<p>Back in 2006, Someone once asked me my phone number at office and I told it ends with 2020. They asked me what was my plan for year 2020. I confidently told, I want to run an office bigger than this one.</p>
<h1 id="heading-the-reality">The Reality</h1>
<p>Well, 2020 was the year of Covid and my dream did not turn out exactly the way I wanted. But, looking back at the point in time, I always wanted to do things differently and be a leader. It was the mindset I had, thanks to my father who showed me exactly how to lead in life.</p>
<h1 id="heading-sharing-few-bits-of-my-journey">Sharing few bits of my journey</h1>
<p>I am writing this post mainly for two reasons.</p>
<ol>
<li><p>To lay out a plan how I did, what I did.</p>
</li>
<li><p>To my future generation, in case they want to understand my journey better.</p>
</li>
</ol>
<h1 id="heading-the-blue-print-to-be-a-leader">The Blue Print to be a leader</h1>
<p>If you ask me today how to be a leader, you may get some of these answers..</p>
<ol>
<li><p>Be Trustworthy</p>
</li>
<li><p>Take that Risk</p>
</li>
<li><p>Do what you say, Say what you do</p>
</li>
<li><p>Empower &amp; Trust Others</p>
</li>
<li><p>Serve others without expectations</p>
</li>
<li><p>Forgive Quickly</p>
</li>
<li><p>Develop a think skin</p>
</li>
<li><p>Sacrifice</p>
</li>
<li><p>Develop a thick skin</p>
</li>
<li><p>Be a visionary</p>
</li>
<li><p>Demonstrate Empathy</p>
</li>
<li><p>Own your failures</p>
</li>
<li><p>Be the first one in the line.</p>
</li>
<li><p>Be the last to eat.</p>
</li>
<li><p>Keep up with new things.</p>
</li>
<li><p>Don’t forget the old stuff</p>
</li>
<li><p>Anticipate Risks</p>
</li>
<li><p>Plan ahead of time</p>
</li>
<li><p>Be ready to wear multiple hats - Be it a janitor or a watchman</p>
</li>
<li><p>Work with people whom you may not like</p>
</li>
<li><p>And do all this and more <strong>consistently, for decades.</strong></p>
</li>
</ol>
<hr />
<h1 id="heading-for-me-it-was-always-just-two-things">For me, it was always just two things..</h1>
<p>While being an employee, I mainly focused on these two things:</p>
<ol>
<li><p>Take Complete Ownership.</p>
</li>
<li><p>Always Over deliver.</p>
</li>
</ol>
<p>And I am happy today that I did this and If I ever get to do this all over again, I am doing exactly the same.</p>
<hr />
<h1 id="heading-when-i-was-an-employee">When I was an employee</h1>
<ol>
<li><p>I was good at code, right from my college days (Pre 2006).</p>
</li>
<li><p>I over stayed at office, I did night outs, but I always delivered.</p>
</li>
<li><p>I adapted to changes in Tech.</p>
</li>
<li><p>I self learnt new things at 3AM and taught others the same day at 3PM.</p>
</li>
<li><p>I uplifted people around me.</p>
</li>
<li><p>I took upon things NOT meant for my skills.</p>
</li>
<li><p>I collaborated with people who were far greater than I could reach.</p>
</li>
<li><p>Took flights at 4AM and back home same day by 11:30PM and back to office the very next day.</p>
</li>
<li><p>I never took leaves unless it was necessary.</p>
</li>
<li><p>I was very “demanding” when it comes to certain things.</p>
</li>
<li><p>Mostly said YES for everything I was asked to!</p>
</li>
</ol>
<p>I was always hugely inspired by father, Who did even more with less. What I’ve done is probably nothing in front of my Dad, this will always be true no matter where I am in the future.</p>
<p>What is now clear is, While I worked hard to learn for myself, I was already doing few things just to help others. And repeated this for years.</p>
<p>Knowingly or unknowingly, I was farming Trust &amp; Respect from my leaders.</p>
<hr />
<h1 id="heading-instead-i-could-have-just">Instead, I could have just..</h1>
<ol>
<li><p>Did my tasks and go home.</p>
</li>
<li><p>Not cared about Deadlines.</p>
</li>
<li><p>Not bother about my leaders/managers.</p>
</li>
<li><p>Not cared about my juniors or team mates.</p>
</li>
<li><p>I could have slept more.</p>
</li>
<li><p>Not take risks.</p>
</li>
<li><p>Taken care of my own needs.</p>
</li>
<li><p>Party hard - A beer in one hand and a cigar in another.</p>
</li>
<li><p>Be someone in the sideline and watch others figure it out themselves.</p>
</li>
<li><p>Be the “NOT My Problem Guys, so Bye for now”</p>
</li>
</ol>
<p>If that was me, Probably I would have had some more hair still left, lol! But, I myself could never been that person and I could have not been the leader I am today. Again, this is a humble post and not a brag doc. My goal is, if this could help someone, they in-turn could help many more.</p>
<hr />
<h1 id="heading-here-is-how-you-can-be-a-leader-too">Here is how you can be a leader too..</h1>
<p>Its Simple, Its just two things.</p>
<ol>
<li><p><strong>Deliver</strong> what your boss does and deliver it better!</p>
</li>
<li><p><strong>Solve Problems</strong> of Others in your team.</p>
</li>
</ol>
<p>Yes, it will take <strong>blood, sweat and tears</strong>, <strong>sleepless nights</strong> and <strong>more</strong>.</p>
<p>Do this consistently for few years and you are well on your way to become a great leader!</p>
<hr />
<h1 id="heading-up-for-the-challenge">Up for the challenge ?</h1>
<p>Yes, I think you can be a leader too. Now, go and start today!</p>
]]></content:encoded></item><item><title><![CDATA[My Life in 2025]]></title><description><![CDATA[Life, Losses, Loneliness, Leadership and Lessons!!
Self Reflection
Hello 2025, you have not been kind. Thank You!
As far as my memory can stretch back, there was no such moment where life was this hard. Be it loss of my father (Dec 2024), the stress,...]]></description><link>https://gokhale.me/my-life-in-2025</link><guid isPermaLink="true">https://gokhale.me/my-life-in-2025</guid><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Sat, 26 Jul 2025 13:16:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/EZSm8xRjnX0/upload/85a58d26a2cbe80b67a7106d8e0a14a5.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Life, Losses, Loneliness, Leadership and Lessons!!</p>
<h1 id="heading-self-reflection">Self Reflection</h1>
<p><strong>Hello 2025</strong>, you have not been kind. Thank You!</p>
<p>As far as my memory can stretch back, there was no such moment where life was this hard. Be it loss of my father (Dec 2024), the stress, lack of sleep, financial instability, physical and emotional burn out, the feeling of loneliness - Every single thing that can go wrong, is going wrong and probably will go wrong in the near future too.</p>
<p>Food isn’t tasty anymore, nights never end, focus is stolen by so many people wanting a piece of me, 24 hours is not enough, probably 48 hours a day is also less, so many times I have forgotten to eat, stress levels are at peak, Family time, fun, hobbies, laughter - I don’t even know what they are right now.</p>
<p>Every single day is a challenge and every passing day is scary. Yes, that is the word. Scary!</p>
<h1 id="heading-being-uncomfortable">Being Uncomfortable</h1>
<p>In life, I have always purposefully chosen being comfortable with being uncomfortable. And every time I have done this, I have 100% come out as a better person.</p>
<p>The moment i am comfortable with something, I get bored and that is when I know that I need to take larger risks, make more mistakes, take some chances and start being uncomfortable again.</p>
<p>I already had similar transitions many a times in life. Reflecting over the last two decades alone, I can recall 2006, 2008, 2009, 2013, 2016, 2020, and 2022. Each of these years, if I look back now, has been life changing for many good reasons. God was always with me!</p>
<p>Yet, 2025 seems to be a different BOSS Level altogether. Why is this different? This was not chosen by me. God gave this challenge to me.</p>
<p>This time I am not prepared, I am not ready.</p>
<h3 id="heading-that-is-my-test-right-now-today-and-for-this-year-surely">That is my test right now, today and for this year surely.</h3>
<h1 id="heading-values-amp-culture">Values &amp; Culture</h1>
<p>When life takes you for a ride, it does it at 7,000 RPM. You just don’t have a second to breathe. And stress, it’s a killer. When Life is hard and stress is highest, It’s so easy to do mistakes. A person can either go and do things Truthfully or easily fall into wrong places. This is where upbringing matters a lot. Values and culture comes into play. <strong>Mental toughness matters the most</strong>.</p>
<p>Every day, I pray to my fav god, Lord Ganesh to give me such challenges but also to guide me towards the right path and while everyone gets negative thoughts and wrong ideas, I pray every day to God to show me the path towards righteousness.</p>
<p>This is the time to be Brave, to show how mentally tough we are and get the best possible outcome of the situation.</p>
<h1 id="heading-and-thank-you-god">And Thank You God.</h1>
<p>I sincerely Thank God for this. I firmly believe that when god takes you through certain rough patches like this, he surely does it for a reason. He is testing you and he wants me to improve my character from the inside, tone up the muscles of grit and determination, understand life more deeply and be grateful towards parents and elders for keeping me in this position where I am.</p>
<hr />
<h1 id="heading-to-my-future-self">To my future self</h1>
<p>2025 felt like multiple lighting strikes, all at once and together. There will be a time soon where things would work out just fine enough. I did what I could, given what I had. Most days of 2025, I was burnt only to get stronger. The “Blood, Sweat and tears“ were necessary.</p>
<p>Lesson: Its only the Inner war we need to win. Nothing external matters.</p>
<p>I survived the storm, I did get burnt, I did not give up, I did the heavy lifting, things are now crystal clear, financial stability is probably back to being ok, and I took care of everyone while there was no one to take care of me, except for myself. All while keeping the smile on, running the show and being kind to everyone. The noise has reduced, the pain has gone away, things are probably back to normal.</p>
<p><strong>Just never forget the path you came along and keep the battle scars visible.</strong></p>
<p>If I pulled off 2025, the rest is gonna be fine! And God was always with me even when I was being tested to the peak.</p>
<p>Be grateful for everything.</p>
<hr />
<h1 id="heading-lessons-for-my-next-generation">Lessons for my next generation.</h1>
<ol>
<li><p>Be strong enough to face life head on. You came alone and you will go alone.</p>
<ol>
<li><p>While others support, there will always be a time when it’s just you!</p>
</li>
<li><p>No one will come to rescue you. Not even me.</p>
</li>
</ol>
</li>
<li><p>Life will not be give what you want.</p>
<ol>
<li><p>You take what you are given, and make what you need from it!</p>
</li>
<li><p>Yes, Life is unfair at time but fair most of the times. Deal with it!</p>
</li>
<li><p>Be Patient, not everything needs to be done.</p>
</li>
<li><p>Also, There is no spoon!</p>
</li>
</ol>
</li>
<li><p>You are never prepared in life and its the same for everyone.</p>
<ol>
<li><p>Some invisible bullets will hit us and life will become hard.</p>
</li>
<li><p>Just be honest and truthful when life is hard.</p>
</li>
<li><p>You can’t control a storm. But, you can 100% control where you can stand and “watch” it.</p>
</li>
</ol>
</li>
<li><p>It’s ok, some things will not go as we expect.</p>
<ol>
<li><p>Expect Less!</p>
</li>
<li><p>Do get too attached to things!</p>
</li>
</ol>
</li>
<li><p>Some knowing “mistakes” we do in life could be “This is the best of the worse right now“.</p>
</li>
<li><p>Live in the present (Easy to say but try to follow).</p>
</li>
<li><p>Pain is a teacher. Look forward to it.</p>
<ol>
<li><p>Anticipation and Preparation are key for survival.</p>
</li>
<li><p>You will Fail and you will Fall, be strong enough to Stand Up again and again.</p>
</li>
</ol>
</li>
<li><p>Pain builds character. Embrace it. Don’t shy away.</p>
<ol>
<li><p>Pain is Temporary, things will always changes for the greater good.</p>
</li>
<li><p>Life, post that pain, will be “Powerful”.</p>
</li>
</ol>
</li>
<li><p>Do the correct thing, even when nothing is going your way.</p>
<ol>
<li><p>Even if there is no money, no peace, no love, nothing to look forward to, Trust in God!</p>
</li>
<li><p>Wealth comes and goes. Worth does not.</p>
</li>
<li><p>You are stronger and you will not let negativity get the better of you.</p>
</li>
</ol>
</li>
<li><p>After all, we all die and no one, no one will remember us after a few weeks. Remember this always.</p>
</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[Cloud Security for startups]]></title><description><![CDATA[The focus on Security
Being a founder, quality and security are two of the fundamental pillars of my day to day work. Coming from a technology background and working with multiple Fortune 100 Clients, this comes naturally to me. They guide how I buil...]]></description><link>https://gokhale.me/cloud-security-for-startups</link><guid isPermaLink="true">https://gokhale.me/cloud-security-for-startups</guid><category><![CDATA[Cloud]]></category><category><![CDATA[Security]]></category><category><![CDATA[Startups]]></category><category><![CDATA[AWS]]></category><category><![CDATA[Azure]]></category><category><![CDATA[Artificial Intelligence]]></category><dc:creator><![CDATA[Sandeep Gokhale]]></dc:creator><pubDate>Thu, 03 Jul 2025 07:20:45 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/glRqyWJgUeY/upload/d00b4f7d73ef66bf2ba28d4aa3c4660f.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-the-focus-on-security">The focus on Security</h1>
<p>Being a founder, quality and security are two of the fundamental pillars of my day to day work. Coming from a technology background and working with multiple Fortune 100 Clients, this comes naturally to me. They guide how I build products, lead teams, and earn trust.</p>
<p>But I’ve also seen the other side where <strong>security &amp; Quality often takes a backseat.</strong> In the name of moving fast, or lack of skills or careless vibe coding, security and quality often takes a hit.</p>
<h1 id="heading-the-harsh-reality">The harsh reality</h1>
<p>Having said that, cloud security is not something that is easy for everyone out there and security is something that often is the last priority for a lot of companies. Heck, Marketing Budget beats security in most organization and here’s why:</p>
<ol>
<li><p>Founders prioritize growth over risk (at least early on)</p>
</li>
<li><p>Marketing has a budget. Security is usually a response.</p>
</li>
<li><p>Perception &gt; Protection</p>
</li>
<li><p>Until the breach, marketing wins. After the breach, security gets blamed.</p>
</li>
</ol>
<p>This is the harsh truth with tech startups and even mature companies.</p>
<h1 id="heading-the-real-role-of-security">The Real Role of Security</h1>
<p>As you grow your company(start up or a mid sized), the role of security quietly shifts. It becomes the foundation for trust. Your sales team needs it to close deals. Your marketing team needs it to tell a credible story. Your compliance team needs it to pass audits. And your leadership team needs it to sleep at night. Security is essential to <strong>enable growth without fear of loosing trust</strong>.</p>
<ol>
<li><h2 id="heading-security-for-securitys-sake">Security for Security’s sake</h2>
</li>
</ol>
<p>Here are the real reasons why you need to focus of security:</p>
<ol>
<li><p>Misconfigurations don’t care about your ARR. Attackers don’t care about your roadmap.</p>
</li>
<li><p>If you don’t know what’s exposed, you’re running blind — and that’s when real damage happens.</p>
</li>
<li><p>A breach won’t just impact infra. It’ll impact <strong>reputation, sales, revenue, and investor confidence</strong>.</p>
</li>
<li><p>Having visibility into your cloud is <em>not optional</em> anymore.</p>
</li>
<li><p>I can go on but I think you get the point.</p>
</li>
</ol>
<hr />
<ol start="2">
<li><h2 id="heading-security-simplifies-compliance">Security simplifies compliance</h2>
</li>
</ol>
<p>Good security = easy compliance. Bad security = painful life.</p>
<ol>
<li><p>Every compliance framework (be it HIPAA or ISO) is built on a foundation of strong security controls.</p>
</li>
<li><p>Sloppy security means your compliance effort multiplies.</p>
<ol>
<li>While clients/users are waiting for features, Documentation &amp; policies will say HOLD ON!</li>
</ol>
</li>
<li><p>No one likes “surprises” during audits (Internal/External)</p>
<ol>
<li>Later, pls don’t blame the security guy, they mostly would have told you multiple times.</li>
</ol>
</li>
<li><p>Happy Auditors. If this doesn’t sound amazing, I don’t know what does.</p>
</li>
</ol>
<hr />
<ol start="3">
<li><h2 id="heading-security-is-a-marketing-advantage">Security Is a Marketing Advantage</h2>
</li>
</ol>
<p>Security is a story worth telling. Use it to build trust at first glance.</p>
<ol>
<li><p>Companies <strong>brag about being secure</strong> , it’s a differentiator now</p>
</li>
<li><p>Compliance and Certification are band Signals</p>
</li>
<li><p>Your competitor is NOT highlighting security on the home page. Clients prefer you.</p>
</li>
<li><p>Your Marketers loves Compliance Certificates &amp; Badges.</p>
</li>
</ol>
<hr />
<ol start="4">
<li><h2 id="heading-security-helps-sales-close-faster">Security Helps Sales Close Faster</h2>
</li>
</ol>
<p>No trust = no deal. Security shortens sales cycles.</p>
<ol>
<li><p>Clients and Buyers are always smart. They will love a company with great security posture.</p>
</li>
<li><p>Sales are quick only after Security Questionnaire is answered to satisfaction.</p>
</li>
<li><p>Strong Security = Strong credibility &amp; increases buyer’s confidence.</p>
</li>
<li><p>Strong Security means Strong sales pitch.</p>
</li>
<li><p>And oh, Say hello to Premium Pricing.</p>
</li>
</ol>
<hr />
<h1 id="heading-turn-security-into-your-competitive-edge">Turn Security Into Your Competitive Edge</h1>
<p>In case you want to build a successful company, start focusing on security today. You know why? Security Builds Trust and trust builds companies.</p>
<p>But, the reality, its different. Let’s talk about what’s really happening inside fast-growing teams like yours:</p>
<ul>
<li><p>Your engineers are shipping fast.</p>
</li>
<li><p>Your cloud setup is evolving weekly.</p>
</li>
<li><p>Clients are asking for security assurances.</p>
</li>
<li><p>Auditors are asking for proof.</p>
</li>
<li><p>And you don’t have a full-time security team yet.</p>
</li>
</ul>
<p>And so, you know what happens?</p>
<ol>
<li><p>Misconfigurations slip through.</p>
</li>
<li><p>Compliance reports turn into last-minute marathons.</p>
</li>
<li><p>Marketing team is not having enough data.</p>
</li>
<li><p>Sales cycles slow down because you can’t answer basic security questions confidently.</p>
</li>
</ol>
<h1 id="heading-and-so-we-build-trustcenter">And so we build TrustCenter</h1>
<p>And that’s why at <a target="_blank" href="https://www.linkedin.com/company/techvito/"><strong>Techvito</strong></a><strong>, we</strong> built <a target="_blank" href="https://trustboxx.com/trustcenter/">TrustCenter</a>.</p>
<p>TrustCenter is Your security &amp; compliance co-pilot for cloud-native teams.</p>
<p>TrustCenter is:</p>
<p>1. Lightweight<br />2. Extremely Fast (needs only few seconds<br />3. Agentless (No Installations)<br />4. And doesn't capture any data.</p>
<p>TrustCenter is the fastest way to:</p>
<p>1. Detect misconfigurations before attackers do<br />2. Visualize attack paths across AWS &amp; Azure<br />3. Automate compliance reports (HIPAA, GDPR, SOC2 &amp; more)<br />4. Track drift, get alerts, and show you’re in control.</p>
<p>100% value in less than 15 minutes.</p>
<p><strong>TrustCenter</strong> helps you do all of that — without needing a full-time security team.</p>
<hr />
<h1 id="heading-try-trustcenter-for-free">Try TrustCenter for Free</h1>
<p>Don’t wait for a breach or a blocked deal to take action. Try <strong>TrustCenter</strong> free and find out what’s really going on in your AWS or Azure setup.</p>
<h5 id="heading-dont-just-hope-your-infra-is-safe-know-it-is-book-your-demo-todayhttpsdocsgooglecomformsde1faipqlsfgbsjrtoucy-c7wehrgvzo6dvokr-zqk2ml8c4wr8ltvngwviewform"><strong>Don’t just hope your infra is safe. Know it is. Book your</strong> <a target="_blank" href="https://docs.google.com/forms/d/e/1FAIpQLSfgbsJrtoucY-c7WEHrgvZo6DvOKr-ZQK2Ml8c4wR_8LTVNGw/viewform"><strong>demo today</strong></a><strong>.</strong></h5>
]]></content:encoded></item></channel></rss>