<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Srinivas VJ</title>
    <description>The latest articles on DEV Community by Srinivas VJ (@srinivas_vj).</description>
    <link>https://dev.to/srinivas_vj</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1704389%2F7d8937ec-ece4-4462-83b4-7902843675e6.jpg</url>
      <title>DEV Community: Srinivas VJ</title>
      <link>https://dev.to/srinivas_vj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/srinivas_vj"/>
    <language>en</language>
    <item>
      <title>Surviving the Technical Interview</title>
      <dc:creator>Srinivas VJ</dc:creator>
      <pubDate>Tue, 21 Jul 2026 19:11:08 +0000</pubDate>
      <link>https://dev.to/srinivas_vj/surviving-the-technical-interview-15f9</link>
      <guid>https://dev.to/srinivas_vj/surviving-the-technical-interview-15f9</guid>
      <description>&lt;p&gt;Coding interviews are scary, especially in the age of LLMs, where cheating has spiked and interviewers are implicitly sus of every movement you make. I wanted to write about my experience with coding interviews. Am I really qualified to write about this? Well, obviously not, my success ratio isn't great. But I've got some experience under my belt (13 coding interviews so far in my relatively short career), and I wanted to jot down what actually works for me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preparation
&lt;/h2&gt;

&lt;p&gt;Figure it out. The technical prep you need varies drastically by level and company, and I have no interest in covering that here.&lt;/p&gt;

&lt;p&gt;The preparation I &lt;em&gt;do&lt;/em&gt; want to talk about is mental. What do you do on interview day when everything you learned suddenly feels obsolete, and your brain just goes, "Fuck, what do I do?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Performing Under Pressure
&lt;/h2&gt;

&lt;p&gt;This is probably easy for you if the interview is low-stakes, you don't really want the job, or you're the NeetCode guy.&lt;/p&gt;

&lt;p&gt;What I struggle with more than the technical part is staying calm. I easily enter panic mode no matter how solid my technical prep is. The goal is to remain composed and be in top mental shape to perform. Here are the essentials I focus on to give it my best shot:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Allocate Prep Time and Be Ready
&lt;/h3&gt;

&lt;p&gt;Make sure you have ample time before the interview to prepare not just your environment, but your mind. Block out the time. Even if you think you have nothing to do, you'll find something that gets you better prepared. I keep a two-hour buffer minimum. (If it's an in-person interview, don't show up two hours early—that's just weird. I'll focus on remote interviews here since they make up the majority of my experience.)&lt;/p&gt;

&lt;p&gt;You never know when your webcam will decide to stop working, your headphones will refuse to connect to Google Meet or Zoom, or your Wi-Fi will ghost you. Ensuring your setup is dialed in and familiarizing yourself with the tools you'll use will definitely help keep you grounded.&lt;/p&gt;

&lt;p&gt;Drink enough water. Even a 1% drop in hydration is linked to measurable declines in cognitive performance, mood, and mental clarity. Just time your hydration properly so you aren't fighting a full bladder mid-interview—that will absolutely wreck your focus. Keep a water bottle nearby. You'll definitely need it, and taking a sip is a great silence filler when you need a second to think.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Clear Your Mind
&lt;/h3&gt;

&lt;p&gt;I like to meditate beforehand. It clears my head, at least for a bit. What I've also found incredibly helpful (courtesy of my sister) is journaling. Jot down what you're feeling and get it out of your head. It's a powerful practice—putting worries on paper or a screen gives you a sense of peace. Plus, if you're having crazy, fictional anxieties about worst-case scenarios, seeing them written down makes them seem a lot less believable. I highly advocate for both meditation and journaling. If you catch yourself stressing out, try the &lt;a href="https://www.google.com/search?client=firefox-b-d&amp;amp;hs=AW4U&amp;amp;sca_esv=021f5a51eeaaf027&amp;amp;sxsrf=ANbL-n6S81vjUYwHORQhBNyzhqq2MdalXw:1776624095251&amp;amp;q=physiological+sigh&amp;amp;spell=1&amp;amp;sa=X&amp;amp;ved=2ahUKEwiM6-LAyPqTAxVY1TgGHQVqE1IQkeECKAB6BAgMEAE" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;em&gt;physiological&lt;/em&gt;&lt;/strong&gt; sigh&lt;/a&gt;. It's scientifically shown to immediately reduce anxiety by activating the parasympathetic nervous system.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Remember
&lt;/h3&gt;

&lt;p&gt;Whether you prepared or not, if you skipped DP cause it was hard, you had 2 hours of sleep, you didn't have time to meditate or journal, and you have your interview in 10 minutes—doesn't matter. It's not going to help worrying about how unprepared or unqualified you feel for this interview, or what you could've done better. It's all done and in the past, right now, all you can do is, make the best use of the ability you currently have.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Do what you can, with what you have, where you are."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can't control if the interviewer is going to be on time or 20 minutes late, if you control the question he/she is going to ask, you can't control the mood of the interviewer, you can't control the difficulty of the problem, you can't control your network, or even your mic not working, or the interviewer not showing up. All you can control is how you respond to these situations. You can either panic and crumble, or acknowledge that things can go wrong and accept whatever the situation is. You've got to be calm no matter what happens.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. It's Show Time
&lt;/h3&gt;

&lt;p&gt;Make sure you've prepared a good introduction that clearly represents you. Give them a smile to show them you're human.&lt;br&gt;
I liked the excerpt from "Cracking the Coding Interview" on this, so I'll use parts of that here.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;REMEMBER:&lt;/strong&gt; Interviews are supposed to be difficult. If you don't get any answer immediately, that's okay! That's the normal experience, and it's not bad.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You're not an LLM that spits out the optimal solution in one prompt, you are bound to make mistakes, miss things, get stuck, give suboptimal solutions—it's normal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;During problem solving:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;LISTEN CAREFULLY&lt;/strong&gt; — Make sure you heard it correctly, and ask questions if you don't understand any part of it. Record &lt;em&gt;unique&lt;/em&gt; information about the problem. While solving, ask yourself if you've used all the information in the problem. If possible, write down key points as comments so you don't forget during implementation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RUN THROUGH EXAMPLE&lt;/strong&gt; — Either the existing one or create your own that tries to cover a broader range of test cases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BRUTE FORCE&lt;/strong&gt; — State a brute force solution even if it's obvious, so that the interviewer knows you're at least capable of coming up with the brute force approach. Explain space and time complexity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OPTIMISE&lt;/strong&gt; — Steps:

&lt;ol&gt;
&lt;li&gt;Look for unused information in the problem.&lt;/li&gt;
&lt;li&gt;Try using a fresh example—might give you a fresh view.&lt;/li&gt;
&lt;li&gt;Think about best conceivable runtime.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WALKTHROUGH&lt;/strong&gt; — Walkthrough the algorithm, solidify the implementation details. This is crucial as the clearer you are here, the smoother the implementation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IMPLEMENT&lt;/strong&gt; — Write beautiful code to showcase your ability. Write modularised code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TEST&lt;/strong&gt; — Mentally compile and run the code once on an input, identify flaws, fix the root cause and not the immediate fix, look at the issue at a deeper level.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Don't just code, explain your thinking as you go and treat it as a conversation. And don't rush into implementation. Yes, the interview is time bound, but unless you're sure your approach is correct and have a clear picture of what the code will look like, jumping straight to implementation will cost you more time than it saves.&lt;/p&gt;

&lt;p&gt;If you need a minute, just ask: &lt;em&gt;"Hey, can I get a moment to think about this?"&lt;/em&gt; The interviewer will almost always say yes, and now it's not awkward silence, it's silence you have permission to use.&lt;/p&gt;

&lt;p&gt;Hopefully, you've managed to do your best (that's all you can ask for). To leave a strong impression, ask a good question at the end. Prepared questions are great, but if something genuinely interesting came up during the chat, ask about that.&lt;/p&gt;

&lt;p&gt;Once it's over, hope for the best, prepare for the worst, and move on to the next one.&lt;/p&gt;

</description>
      <category>interview</category>
      <category>tutorial</category>
      <category>career</category>
    </item>
    <item>
      <title>Why My Portfolio Website Still Doesn't Exist</title>
      <dc:creator>Srinivas VJ</dc:creator>
      <pubDate>Fri, 03 Jul 2026 18:36:16 +0000</pubDate>
      <link>https://dev.to/srinivas_vj/why-my-portfolio-website-still-doesnt-exist-34pm</link>
      <guid>https://dev.to/srinivas_vj/why-my-portfolio-website-still-doesnt-exist-34pm</guid>
      <description>&lt;p&gt;I've noticed something about myself. It's become much harder to get things done. I see less movement compared to my previous self. And sometimes, when I see people get so much done, tasks, projects, anything, I wonder why I can't make progress like that. Now I'm not comparing myself to Elon Musk here, I'm just wondering if I'm doing my best.&lt;/p&gt;

&lt;p&gt;For the longest time, I've wanted to build a portfolio website. But for some reason or another, I never actually ended up making it, or should I say, &lt;em&gt;starting&lt;/em&gt; it. Whenever I had a free block of time, I wouldn't know where to start. I also have this side project I've been wanting to work on. I started it, then never made any more progress beyond the initial feasibility analysis. Why did I never allocate time to either?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Overthinking Starts Early
&lt;/h2&gt;

&lt;p&gt;I wanted the portfolio website to be really good. I wanted cool additions, beyond the usual "about me" and "projects" sections, I wanted things like &lt;em&gt;"songs I'm obsessed with right now"&lt;/em&gt; and &lt;em&gt;"last night I slept at."&lt;/em&gt; I was also looking if my fitbit has an API to show my live heart-rate on my portfolio (why would someone do that?). I was obsessed with the features, and with using the &lt;em&gt;right&lt;/em&gt; tech to make it as efficient as possible. What stack should I even use for a portfolio?&lt;/p&gt;

&lt;p&gt;Same story with this very blog. Before writing a single word, I was wondering what stack to use. I looked into a ton of existing blogs for inspiration, how do I track views, what about comments, how do I stop a DDoS from flooding my DB if I'm storing comments, should I require auth just to leave a comment, should I support font and background color changes, themes, what's the &lt;em&gt;best&lt;/em&gt; tool to do all of that?&lt;/p&gt;

&lt;p&gt;I've noticed this pattern with almost everything I do. I'm so obsessed with doing things right on the first attempt that I never actually make the first attempt, because "doing it right" is just too demanding. Or a related trap, when I want to do something &lt;em&gt;perfectly&lt;/em&gt;, I discover prerequisites, and those prerequisites chain into more prerequisites. Let me show you what I mean.&lt;/p&gt;

&lt;h2&gt;
  
  
  Circus Maximus
&lt;/h2&gt;

&lt;p&gt;My task was simple, apply for jobs.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Let me head over to LinkedIn and apply to jobs.&lt;/p&gt;

&lt;p&gt;Wait. Manually search and click through job after job, only to realize half of them want 7 years of experience? I'd have to read every single description just to know if it's worth applying to. Hell nah. I should automate this.&lt;/p&gt;

&lt;p&gt;Let me figure out how to automate this with AI. Oh, there's this tool, &lt;strong&gt;n8n&lt;/strong&gt;, I can build a workflow and hook it up to an LLM. Let me set that up.&lt;/p&gt;

&lt;p&gt;All set. Now I just need to scrape the jobs from LinkedIn.&lt;/p&gt;

&lt;p&gt;Crap. LinkedIn has strict bot filtering and rate limiting. It doesn't allow scraping. What's a &lt;em&gt;reliable&lt;/em&gt; way to get LinkedIn job data?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Five hours of searching later...&lt;/em&gt; fine, let me just pay Apify to pull the listings.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Five minutes of being ready to pay later...&lt;/em&gt; wait, WHAT, no. I'm an engineer. How am I about to pay someone to scrape an API that already exists? What a failure that would be.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Fast forward 10x.&lt;/em&gt; The workflow is finally set up. But wait, I can't run this on my Mac Mini forever. I need to host it. Let's grab Oracle's free VPS tier.&lt;/p&gt;

&lt;p&gt;The free tier is in high demand, I can't get one. Only option is to upgrade to pay-as-you-go. Fine, I'll do it, I won't actually get charged anyway. My card gets declined. Let me raise a support ticket.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Fast forward 15x.&lt;/em&gt; (International transaction issue, fixed.) Yay, VPS is live. Now let's host n8n on it. Three hours of configuring a reverse proxy, grabbing a free domain, and setting up ingress rules later, voilà, n8n is hosted and the workflow is running.&lt;/p&gt;

&lt;p&gt;But wait, I was using free open-weight models, and &lt;em&gt;they&lt;/em&gt; have brutal rate limits too. What's a model with generous limits? Screw it, let's use Gemini Pro. Quota exhausts almost instantly. Screw it, let's get a Claude subscription. Okay, &lt;em&gt;that&lt;/em&gt; finally works.&lt;/p&gt;

&lt;p&gt;Finally. Let me apply to these jobs now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;...Wait. Are these LinkedIn job links even any good?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(they were not)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I learned a lot on that adventure. I also realised I might be doing something deeply wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter the Yak
&lt;/h2&gt;

&lt;p&gt;Then I came across the blog &lt;em&gt;[Don't Shave the Yak](&lt;a href="https://sethgodin.typepad.com/seths_blog/2005/03/dont_shave_the" rel="noopener noreferrer"&gt;https://sethgodin.typepad.com/seths_blog/2005/03/dont_shave_the&lt;/a&gt;&lt;/em&gt;.html)_, whose idea is simple. The example given goes something like this.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I want to wax the car today."&lt;/p&gt;

&lt;p&gt;"Oops, the hose is still broken from the winter. I'll need to buy a new one at Home Depot."&lt;/p&gt;

&lt;p&gt;"But Home Depot is on the other side of the bridge, and getting there without my EZPass is miserable because of the tolls."&lt;/p&gt;

&lt;p&gt;"Wait! I could borrow my neighbor's EZPass..."&lt;/p&gt;

&lt;p&gt;"Bob won't lend me his EZPass until I return the pillow my son borrowed, though."&lt;/p&gt;

&lt;p&gt;"And we haven't returned it because some of the stuffing fell out, and we need yak hair to restuff it."&lt;/p&gt;

&lt;p&gt;And the next thing you know, you're at the zoo, shaving a yak, all so you can wax your car.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sounded &lt;em&gt;painfully&lt;/em&gt; familiar. One line from it has stuck with me since.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Doing it well now is much better than doing it perfectly later.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And maybe one more line to sum up the whole tendency.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Only limitations you'll ever have, are those that you place upon yourself."&lt;/em&gt; ~ some Kendrick song&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Realising I'm a Perfectionist (Surprise)
&lt;/h2&gt;

&lt;p&gt;This made me notice the pattern everywhere, and made me aware of my own tendency to want things done as perfectly as possible. I was familiar with the word "perfectionist," I just never thought it applied to &lt;em&gt;me&lt;/em&gt;, because my results are never actually perfect. (I'm aware that assessment is, itself, a very perfectionist thing to think.)&lt;/p&gt;

&lt;p&gt;Looking back, I realise how ridiculous I was being. For this blog, I was genuinely debating Astro versus other frameworks, agonising over rendering MDX &lt;em&gt;just right&lt;/em&gt;, and researching how to DDoS-proof a comments database, for a blog with zero readers. No, scratch that, for a blog that didn't even exist yet.&lt;/p&gt;

&lt;p&gt;I started to fear something. What if my perfectionism is just fancy procrastination? Is this all an elaborate excuse my monkey mind (shoutout &lt;a href="https://waitbutwhy.com/2013/10/why-procrastinators-procrastinate.html" rel="noopener noreferrer"&gt;Wait But Why&lt;/a&gt;) invented to talk me into doing something easier?&lt;/p&gt;

&lt;p&gt;But then again, is wanting to do things &lt;em&gt;correctly&lt;/em&gt; (or, fine, perfectly) actually a bad thing? Maybe wanting to do things well isn't the problem. So which is it, strive for perfection on the first try, or just raw-dog it and see what happens?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Quantity Group Wins
&lt;/h2&gt;

&lt;p&gt;In &lt;em&gt;Atomic Habits&lt;/em&gt;, James Clear tells a story about photography professor Jerry Uelsmann. Uelsmann split his class into two groups on day one. Half were in the &lt;strong&gt;quantity group&lt;/strong&gt;, half in the &lt;strong&gt;quality group&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The quantity group would be graded purely on volume. On the last day, Uelsmann would simply count how many photos each student turned in. More photos, higher grade. The quality group would be graded purely on excellence. One photo, submitted at the end of the semester, could earn an A, but it had to be nearly flawless.&lt;/p&gt;

&lt;p&gt;The result was surprising, and also not surprising at all. &lt;strong&gt;Every single one of the best photos came from the quantity group.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Makes sense once you sit with it. The quantity students were out shooting constantly, experimenting, failing, adjusting, learning. The quality students spent the semester theorizing about the &lt;em&gt;perfect&lt;/em&gt; photo, and most of them had exactly one mediocre print to show for it by the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  So Maybe...
&lt;/h2&gt;

&lt;p&gt;Maybe the first version of my portfolio doesn't need the perfect stack. Maybe the blog doesn't need comments on day one. Cutting the ambition down for the first attempt might be exactly what gets me &lt;em&gt;started&lt;/em&gt;, and having something real, even something small, might give me the dopamine hit to keep going, instead of stalling out chasing one perfect, mythical final version.&lt;/p&gt;

&lt;p&gt;Maybe my project never becomes "perfect" and just settles at "good enough." That's still infinitely better than the project that never existed at all, right?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Good enough is good enough.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There's also a nagging voice that says, &lt;em&gt;if I have to go back and change something later, because I made a bad call early on, isn't that just repeated work?&lt;/em&gt; Partially true. But going back to fix something isn't repetition, it's &lt;strong&gt;iteration&lt;/strong&gt;. You don't build something, learn nothing, and rebuild it identically. There's feedback each time. Each pass gets better &lt;em&gt;because&lt;/em&gt; of the last one.&lt;/p&gt;

&lt;p&gt;Every time I get cautious about making a mistake and freeze up in analysis paralysis, maybe the actual move is to just accept that mistakes are coming, and iterate through them. Maybe that's where the real learning happens anyway.&lt;/p&gt;

&lt;h2&gt;
  
  
  Just Do It
&lt;/h2&gt;

&lt;p&gt;So if you're thinking about doing or building something, don't wait until you have all the knowledge, and don't wait until you know exactly how to do it &lt;em&gt;best&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Just do it. &lt;em&gt;(shoutout Nike)&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;And I absolutely did not send this draft to Gemini, Claude, and GPT at the same time asking them to spellcheck and critique it, even though I know damn well only two of my friends are ever going to read this. (I did.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I wanted to throw in a dozen more examples to really convince you and myself, to stop chasing perfection. But I'm going to follow my own advice for once and end it here.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Until next time, my fellow fancy procrastinators.&lt;/em&gt; &lt;/p&gt;

</description>
      <category>productivity</category>
      <category>career</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
