<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://malavnaik.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://malavnaik.com/" rel="alternate" type="text/html" /><updated>2026-10-25T10:51:43+00:00</updated><id>https://malavnaik.com/feed.xml</id><title type="html">Malav Naik</title><subtitle>Malav Naik is a data analyst and data engineer in Dublin, Ireland, building with SQL, Python, Azure and generative AI, and writing about data engineering, GenAI and trust &amp; safety.</subtitle><author><name>Malav Naik</name></author><entry><title type="html">What a Master’s in Ireland Taught Me After Nine Years in Industry</title><link href="https://malavnaik.com/blog/masters-in-ireland-after-industry/" rel="alternate" type="text/html" title="What a Master’s in Ireland Taught Me After Nine Years in Industry" /><published>2026-10-20T00:00:00+00:00</published><updated>2026-10-20T00:00:00+00:00</updated><id>https://malavnaik.com/blog/masters-in-ireland-after-industry</id><content type="html" xml:base="https://malavnaik.com/blog/masters-in-ireland-after-industry/"><![CDATA[<p><img src="/images/malav-naik-msc-graduation-dublin.jpg" alt="Malav Naik in a graduation gown by the River Liffey – What a Master's in Ireland Taught Me After Nine Years in Industry" width="1200" height="1599" /></p>

<p>In September 2024 I started an MSc in Data Analytics at National College of Ireland. I’d already spent nine years working with data in India, most of them building SQL Server and Azure platforms at S&amp;P Global. People asked why I’d go back to university.</p>

<p>A year later, here’s my honest answer.</p>

<h2 id="industry-teaches-depth-university-teaches-breadth">Industry teaches depth, university teaches breadth</h2>

<p>Nine years of work had made me very good at a narrow set of things: SQL, ETL, data modelling, dashboards. The MSc forced me into modules I’d never have picked on my own: optimisation, deep learning, generative AI, data mining. Some I loved, some I struggled with, and all of them widened what I could imagine building.</p>

<h2 id="the-field-had-moved-faster-than-i-realised">The field had moved faster than I realised</h2>

<p>When I started my career, “machine learning” meant regression models in a notebook. By 2024, students were fine-tuning language models and building retrieval systems for coursework. Being in a room with people who’d grown up with these tools was the fastest way to catch up.</p>

<h2 id="experience-is-an-unfair-advantage-in-group-work">Experience is an unfair advantage in group work</h2>

<p>Where I did have an edge was knowing how real projects fail: unclear requirements, messy data, stakeholders who change their minds. In group projects I often ended up translating between the technical plan and what the “client” actually needed. That’s a skill no module teaches.</p>

<h2 id="the-dissertation-was-the-best-part">The dissertation was the best part</h2>

<p>My dissertation, <a href="https://norma.ncirl.ie/9439/"><em>Enhanced Personalized Learning Experiences by Leveraging Knowledge Graphs and Prompt Engineering</em></a>, is published in the NCI research repository. Owning a research question for months, with nobody telling me the answer, was very different from delivering tickets at work. It taught me to frame problems, not just solve them.</p>

<h2 id="what-id-tell-anyone-considering-it">What I’d tell anyone considering it</h2>

<ul>
  <li><strong>Pick a dissertation you’d want to talk about in interviews.</strong> It becomes your portfolio.</li>
  <li><strong>Build in public while you study.</strong> Coursework disappears; blog posts and repos stay.</li>
  <li><strong>Use the city.</strong> Dublin has meetups for Python, data, AI and cloud almost every week. Go to them.</li>
  <li><strong>Don’t treat it as a reset.</strong> Your industry experience is the thing that makes your degree valuable. Lead with both.</li>
</ul>

<p>Was it worth it? Yes. Not because of the certificate, but because it changed what I believe I can build.</p>]]></content><author><name>Malav Naik</name></author><category term="career" /><category term="education" /><category term="datascience" /><category term="ireland" /><summary type="html"><![CDATA[Going back to university as an experienced data professional: what was worth it, what surprised me, and advice for anyone considering it.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://malavnaik.com/images/malav-naik-msc-graduation-dublin.jpg" /><media:content medium="image" url="https://malavnaik.com/images/malav-naik-msc-graduation-dublin.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Precision vs Recall in Content Moderation: The Trade-Off Every Integrity Team Faces</title><link href="https://malavnaik.com/blog/precision-recall-content-moderation/" rel="alternate" type="text/html" title="Precision vs Recall in Content Moderation: The Trade-Off Every Integrity Team Faces" /><published>2026-10-20T00:00:00+00:00</published><updated>2026-10-20T00:00:00+00:00</updated><id>https://malavnaik.com/blog/precision-recall-content-moderation</id><content type="html" xml:base="https://malavnaik.com/blog/precision-recall-content-moderation/"><![CDATA[<p><img src="/images/malav-naik-convention-centre-dublin-suit.jpg" alt="Malav Naik in a suit outside a curved glass building – Precision vs Recall in Content Moderation: The Trade-Off Every Integrity Team Faces" width="1200" height="1599" /></p>

<p>Every system that decides “is this content harmful?” makes two kinds of mistakes. It removes things that were fine, and it misses things that weren’t. You can’t drive both to zero. Choosing which mistake you’d rather make is one of the most important decisions an integrity team takes.</p>

<h2 id="the-two-numbers">The two numbers</h2>

<ul>
  <li><strong>Precision</strong>: of everything the system flagged, how much was actually violating? Low precision means innocent users get actioned.</li>
  <li><strong>Recall</strong>: of everything that was actually violating, how much did the system catch? Low recall means harm stays up.</li>
</ul>

<p>Raise the threshold for flagging and precision goes up while recall goes down. Lower it and the reverse happens.</p>

<h2 id="why-the-right-threshold-depends-on-the-harm">Why the “right” threshold depends on the harm</h2>

<p>There is no universal setting. It depends on the cost of each error:</p>

<table>
  <thead>
    <tr>
      <th>Harm type</th>
      <th>Cost of a miss</th>
      <th>Cost of a false positive</th>
      <th>Usual bias</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Child safety, imminent violence</td>
      <td>Severe, possibly irreversible</td>
      <td>User annoyance, appeal</td>
      <td>Favour recall</td>
    </tr>
    <tr>
      <td>Spam</td>
      <td>Mild irritation</td>
      <td>Lost legitimate post</td>
      <td>Balanced</td>
    </tr>
    <tr>
      <td>Satire, political speech</td>
      <td>Low</td>
      <td>Censorship concerns, trust loss</td>
      <td>Favour precision</td>
    </tr>
  </tbody>
</table>

<h2 id="the-human-review-layer-changes-the-maths">The human review layer changes the maths</h2>

<p>Most teams don’t rely on a single automated decision. A common pattern:</p>

<ol>
  <li><strong>High-confidence violations</strong>: action automatically.</li>
  <li><strong>Uncertain middle</strong>: send to human reviewers.</li>
  <li><strong>High-confidence benign</strong>: leave alone.</li>
</ol>

<p>Now the question becomes how wide to make the middle band. Wider means better decisions but more review cost and slower action. This is where the work becomes an operations problem as much as a modelling one.</p>

<h2 id="measure-on-the-right-sample">Measure on the right sample</h2>

<p>Precision is easy to measure: sample what you flagged and check it. Recall is hard, because you need to find what you <em>didn’t</em> flag. That requires sampling the unflagged population, which is usually huge and mostly benign. Teams that only measure precision tend to drift towards under-enforcement without noticing.</p>

<h2 id="practical-advice">Practical advice</h2>

<ul>
  <li>Report precision and recall per harm category, never as one blended number.</li>
  <li>Track appeal overturn rates as a real-world check on precision.</li>
  <li>Revisit thresholds when content patterns change. A threshold tuned last year may be wrong today.</li>
</ul>

<p>In the next trust and safety post I’ll look at prevalence: the metric that tries to answer “how much harm do users actually see?”</p>

<p><em>Views are my own and use public, general examples only.</em></p>]]></content><author><name>Malav Naik</name></author><category term="trustandsafety" /><category term="machinelearning" /><category term="metrics" /><category term="ai" /><summary type="html"><![CDATA[Why no moderation system can catch everything without hurting innocent users, and how to choose where to set the line.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://malavnaik.com/images/malav-naik-convention-centre-dublin-suit.jpg" /><media:content medium="image" url="https://malavnaik.com/images/malav-naik-convention-centre-dublin-suit.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Migrating On-Prem SQL Server to Azure SQL PaaS: How We Cut Infrastructure Costs by 25%</title><link href="https://malavnaik.com/blog/azure-sql-migration-25-percent/" rel="alternate" type="text/html" title="Migrating On-Prem SQL Server to Azure SQL PaaS: How We Cut Infrastructure Costs by 25%" /><published>2026-10-15T00:00:00+00:00</published><updated>2026-10-15T00:00:00+00:00</updated><id>https://malavnaik.com/blog/azure-sql-migration-25-percent</id><content type="html" xml:base="https://malavnaik.com/blog/azure-sql-migration-25-percent/"><![CDATA[<p><img src="/images/malav-naik-london-skyline.jpg" alt="Malav Naik on a rooftop with a city skyline behind – Migrating On-Prem SQL Server to Azure SQL PaaS: How We Cut Infrastructure Costs by 25%" width="960" height="1280" /></p>

<p>At S&amp;P Global Market Intelligence I helped migrate on-premise SQL Server databases to Azure SQL PaaS. Our team moved between 10 and 50 databases to Azure SQL Managed Instance. The headline result was a reduction in infrastructure costs of about 25%. The more important result was that the people using those databases barely noticed it happened.</p>

<p>Here’s what I learned about doing a migration like that well.</p>

<h2 id="1-inventory-before-you-plan">1. Inventory before you plan</h2>

<p>Before choosing a target, list everything that touches the database: ETL jobs, reports, linked servers, SQL Agent jobs, cross-database queries, CLR assemblies. PaaS options don’t support every on-prem feature in the same way, and you want to find the gaps on a spreadsheet, not in production.</p>

<p>Microsoft’s Data Migration Assistant and Azure Migrate help here, but they don’t know about the Excel workbook someone in finance refreshes every Monday. Talk to users.</p>

<h2 id="2-pick-the-right-paas-flavour">2. Pick the right PaaS flavour</h2>

<p>Azure SQL Database and Azure SQL Managed Instance trade compatibility against simplicity. Managed Instance keeps more instance-level features (Agent jobs, cross-database queries), so it suits lift-and-shift. Single databases are simpler and can be cheaper, but may need refactoring. Decide per workload, not per estate. We went with Managed Instance, which kept most instance-level features in place and meant fewer changes to existing code.</p>

<h2 id="3-right-size-dont-copy">3. Right-size, don’t copy</h2>

<p>Most of the savings came from not paying for capacity we didn’t use. On-prem servers are sized for peak load plus growth plus fear. In the cloud you can measure actual usage and scale. Look at real CPU, memory and IO over several weeks before choosing service tiers.</p>

<h2 id="4-migrate-in-waves">4. Migrate in waves</h2>

<p>Start with low-risk databases: development, reporting copies, internal tools. Each wave teaches you something about networking, permissions or performance that makes the next wave smoother.</p>

<h2 id="5-test-the-boring-things">5. Test the boring things</h2>

<p>Performance gets attention. In our migration, the real problems came from elsewhere:</p>

<ul>
  <li>Connection strings hard-coded in old applications and reports</li>
  <li>SSIS packages and SQL Agent jobs that needed reworking to run against Azure</li>
  <li>Jobs that relied on local file paths on the old servers</li>
</ul>

<p>Also worth checking: time zone and collation differences, firewall rules and private endpoints.</p>

<h2 id="6-define-done-with-the-users">6. Define “done” with the users</h2>

<p>A migration isn’t finished when the data moves. It’s finished when every report, job and application works as before and the old servers are switched off. Agree that checklist with stakeholders up front.</p>

<h2 id="the-takeaway">The takeaway</h2>

<p>Cloud migration savings come mostly from right-sizing and retiring infrastructure. Keeping users happy comes from inventory, testing and communication. Neither is glamorous, and both matter more than the migration tooling.</p>]]></content><author><name>Malav Naik</name></author><category term="azure" /><category term="sql" /><category term="dataengineering" /><category term="cloud" /><summary type="html"><![CDATA[Lessons from moving production SQL Server databases to Azure SQL PaaS without disrupting the people who depend on them.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://malavnaik.com/images/malav-naik-london-skyline.jpg" /><media:content medium="image" url="https://malavnaik.com/images/malav-naik-london-skyline.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">From Surat to Dublin: 10 Years in Data, and Why I’m Just Getting Started</title><link href="https://malavnaik.com/blog/from-surat-to-dublin/" rel="alternate" type="text/html" title="From Surat to Dublin: 10 Years in Data, and Why I’m Just Getting Started" /><published>2026-10-15T00:00:00+00:00</published><updated>2026-10-15T00:00:00+00:00</updated><id>https://malavnaik.com/blog/from-surat-to-dublin</id><content type="html" xml:base="https://malavnaik.com/blog/from-surat-to-dublin/"><![CDATA[<p><img src="/images/malav-naik-msc-graduation-convention-centre.jpg" alt="Malav Naik in graduation gown outside a glass building in Dublin – From Surat to Dublin: 10 Years in Data, and Why I'm Just Getting Started" width="1200" height="1599" /></p>

<p>In 2015 I finished a Bachelor of Computer Applications in Gujarat and took my first job doing SEO keyword research. Ten years later I hold an MSc in Data Analytics from National College of Ireland, I’ve built data platforms for a global financial information company, and I work on platform integrity operations in Dublin.</p>

<p>This is the first post in a series where I’ll write about what I’ve learned along the way: data engineering, generative AI, and the less glamorous work of keeping online platforms safe.</p>

<h2 id="the-early-years-cleaning-data-by-hand">The early years: cleaning data by hand</h2>

<p>My first data role was at Bright Info Solutions in Ahmedabad. Most of the work was unglamorous: pulling data with SQL, cleaning it in Excel and Python, building weekly reports. It taught me the lesson every analyst learns early. <strong>Most of the job is making data trustworthy before anyone looks at a chart.</strong></p>

<h2 id="building-platforms-at-scale">Building platforms at scale</h2>

<p>From 2019 to 2024 I worked at S&amp;P Global Market Intelligence as a data analyst and ETL developer. I built SSIS pipelines over multi-million-record financial datasets, designed data models for analytics, and helped migrate on-premise SQL Server databases to Azure SQL PaaS. That migration cut infrastructure costs by about 25%.</p>

<p>What I took from those years: good data engineering is invisible. When it works, nobody notices. When it breaks, everyone does.</p>

<h2 id="starting-again-in-ireland">Starting again in Ireland</h2>

<p>In 2024 I moved to Dublin for a master’s. Going back to study after nine years of industry work was humbling. Modules in machine learning, deep learning and generative AI showed me how fast the field had moved. My dissertation combined knowledge graphs and prompt engineering, and my main project, SkillBot, paired a fine-tuned GPT-3.5 model with a 2.3-million-triple knowledge graph using retrieval-augmented generation.</p>

<h2 id="where-i-am-now">Where I am now</h2>

<p>Today I work in platform integrity, analysing complex escalations with AI-assisted tools. It sits where my two interests meet: data and AI used to make platforms safer.</p>

<h2 id="why-write-in-public">Why write in public?</h2>

<p>Three reasons:</p>

<ol>
  <li><strong>Writing forces clarity.</strong> If I can’t explain something simply, I don’t understand it yet.</li>
  <li><strong>Dublin is one of the world’s great tech hubs.</strong> I want to contribute to its data and AI community, not just work in it.</li>
  <li><strong>Accountability.</strong> Publishing every week keeps me learning.</li>
</ol>

<p>Over the coming months I’ll post about Azure migrations, RAG evaluation, knowledge graphs, content moderation metrics, and the career lessons in between. If any of that interests you, follow along. I’d love to hear what you’re working on too.</p>]]></content><author><name>Malav Naik</name></author><category term="career" /><category term="data" /><category term="ai" /><category term="dublin" /><summary type="html"><![CDATA[A decade of data work across India and Ireland, what changed along the way, and where I'm heading next.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://malavnaik.com/images/malav-naik-msc-graduation-convention-centre.jpg" /><media:content medium="image" url="https://malavnaik.com/images/malav-naik-msc-graduation-convention-centre.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>