<?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: Shivansh Tuteja</title>
    <description>The latest articles on DEV Community by Shivansh Tuteja (@shivansh12t).</description>
    <link>https://dev.to/shivansh12t</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2881129%2Fa9ce4475-57df-4bbc-8225-483120b3c1d2.jpg</url>
      <title>DEV Community: Shivansh Tuteja</title>
      <link>https://dev.to/shivansh12t</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivansh12t"/>
    <language>en</language>
    <item>
      <title>My Amazon Programmer Analyst Interview Experience</title>
      <dc:creator>Shivansh Tuteja</dc:creator>
      <pubDate>Mon, 25 Aug 2025 20:27:56 +0000</pubDate>
      <link>https://dev.to/shivansh12t/my-amazon-programmer-analyst-interview-experience-1g4n</link>
      <guid>https://dev.to/shivansh12t/my-amazon-programmer-analyst-interview-experience-1g4n</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“In the midst of chaos, there is also opportunity.”&lt;/em&gt; – Sun Tzu&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Landing an interview at Amazon is a dream for many developers. For me, it all started with &lt;strong&gt;Amazon HackOn&lt;/strong&gt;, a hackathon that opened doors to an &lt;strong&gt;Online Assessment (OA)&lt;/strong&gt; for non-SDE roles (Programmer Analyst, Data Engineer, System Engineer, etc.).&lt;/p&gt;

&lt;p&gt;Based on my OA performance, I got shortlisted for the &lt;strong&gt;Programmer Analyst role&lt;/strong&gt;. This role is particularly interesting because it sits close to SDE — with good performance, you can transition to SDE in the future.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99rjkaedbhmlxdvyv6q6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99rjkaedbhmlxdvyv6q6.png" alt=" " width="720" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And so began the journey: an OA, two technical interviews, and a lot of waiting...&lt;/p&gt;




&lt;h2&gt;
  
  
  📝 The Online Assessment
&lt;/h2&gt;

&lt;p&gt;The OA had &lt;strong&gt;61 questions total&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1 DSA coding problem&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;60 MCQs&lt;/strong&gt; covering almost every CS fundamental&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Structures &amp;amp; Algorithms&lt;/li&gt;
&lt;li&gt;Blackbox Testing&lt;/li&gt;
&lt;li&gt;DBMS &amp;amp; SQL&lt;/li&gt;
&lt;li&gt;Operating Systems&lt;/li&gt;
&lt;li&gt;Computer Networks&lt;/li&gt;
&lt;li&gt;Python programming and more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 In short, it was a test of both breadth and depth.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧑‍💻 Technical Interview 1
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;First 10 mins:&lt;/strong&gt; Project discussion&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Q1:&lt;/strong&gt; Level Order Traversal of Binary Tree (array representation).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solved it without queue → space optimal solution ✅&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Q2:&lt;/strong&gt; Modify to ZigZag order traversal.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Just 2 lines change, smooth ✅&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Q3 (approach only):&lt;/strong&gt; Valid Parentheses using stacks.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;CS Fundamentals asked:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Process vs Threads&lt;/li&gt;
&lt;li&gt;ACID Properties&lt;/li&gt;
&lt;li&gt;Deadlocks&lt;/li&gt;
&lt;li&gt;DNS basics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;My takeaway:&lt;/strong&gt; Keep fundamentals fresh — they &lt;em&gt;will&lt;/em&gt; come up.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 Technical Interview 2
&lt;/h2&gt;

&lt;p&gt;This one was tougher, with the interviewer’s camera off (extra pressure).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Q1:&lt;/strong&gt; Variant of Unbounded Knapsack Problem.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built a recursive solution, but dry run took time.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Q2:&lt;/strong&gt; Debugging “Longest Substring Without Repeating Characters.”&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Found 1–2 bugs and pointed out inefficiency.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;By the end, I knew I had done well on the DSA side, even if the pressure was high.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⏳ The Result
&lt;/h2&gt;

&lt;p&gt;There are moments in life where you give your absolute best, make no mistakes, and still walk away empty-handed.&lt;/p&gt;

&lt;p&gt;And honestly, it reminded me of Virat Kohli in the 2016 World T20 semifinal vs West Indies. He batted like a dream — 89* in a pressure cooker, and then… the bowlers let India down.&lt;/p&gt;

&lt;p&gt;Kohli himself bowled the final over, conceded the winning runs, and walked off with that helpless look: &lt;em&gt;sometimes you do everything right, but destiny has other plans.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When I opened my result mail, it felt the same:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“You are waitlisted. Final decision within 90 days.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yep, anticlimactic. But here’s the thing about Virat — his story didn’t end in 2016. Eight years later, in World Cup 2024, he came full circle: scored a gritty knock in the final, lifted the trophy, grabbed Man of the Match, and signed off in style.&lt;/p&gt;

&lt;p&gt;That’s the real lesson: God always has a bigger plan. Your IPL 2016 may have an IPL 2025. Your WT20 2016 might be waiting for a WT20 2024.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Wins belong to God, losses are ours to learn from.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So for now, I’ll take my waitlist like Kohli took that 2016 semifinal — smile, shrug, and get back to the nets. Because when the comeback comes, it’ll be worth the wait.&lt;/p&gt;




&lt;h2&gt;
  
  
  💭 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The Amazon Programmer Analyst process tested me across breadth (CS fundamentals) and depth (DSA coding). While the waitlist isn’t a final “yes,” it’s also not a “no.” It’s an opportunity to stay hungry, stay prepared, and come back stronger.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Fall seven times, stand up eight.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And with that mindset, the journey continues. 🚀&lt;/p&gt;

</description>
      <category>interview</category>
      <category>softwareengineering</category>
      <category>amazon</category>
      <category>programming</category>
    </item>
    <item>
      <title>Host your own Minecraft Server on Linux in 10 Mins</title>
      <dc:creator>Shivansh Tuteja</dc:creator>
      <pubDate>Tue, 13 May 2025 19:35:27 +0000</pubDate>
      <link>https://dev.to/shivansh12t/host-your-own-minecraft-server-on-linux-in-10-mins-2lii</link>
      <guid>https://dev.to/shivansh12t/host-your-own-minecraft-server-on-linux-in-10-mins-2lii</guid>
      <description>&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type :&lt;/strong&gt; Vanilla/Spigot/Paper server (supports cracked with settings)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Goal :&lt;/strong&gt; Minimal setup to play with friends (cracked clients allowed)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instance Type :&lt;/strong&gt; Any Linux Machine or a VM, 1-2 vCPUs &amp;amp; 8GB Ram would be enough for 5-10 people&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step-by-Step Setup
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Create a VM Instance (or skip this and get a Linux Machine up)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;personally using ubuntu&lt;/li&gt;
&lt;li&gt;allow http &amp;amp; https traffic&lt;/li&gt;
&lt;li&gt;connect via ssh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Setup Machine
&lt;/h3&gt;

&lt;p&gt;update packages&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;openjdk-17-jre-headless &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;downloading minecraft server, here paper for performance&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir &lt;/span&gt;minecraft &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd &lt;/span&gt;minecraft
curl &lt;span class="nt"&gt;-o&lt;/span&gt; paper.jar https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/123/downloads/paper-1.20.1-123.jar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Replace version/build with latest from &lt;a href="https://papermc.io/downloads" rel="noopener noreferrer"&gt;https://papermc.io/downloads&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  3. Getting the server running
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;java &lt;span class="nt"&gt;-Xms1G&lt;/span&gt; &lt;span class="nt"&gt;-Xmx2G&lt;/span&gt; &lt;span class="nt"&gt;-jar&lt;/span&gt; paper.jar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;It will fail first time, asking you to accept EULA&lt;br&gt;
Accept EULA&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"eula=true"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; eula.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Optional :&lt;/strong&gt; Enable Cracked Clients
&lt;/h4&gt;

&lt;p&gt;edit server properties:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano server.properties
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;you may need to install nano using &lt;code&gt;sudo apt install bash&lt;/code&gt; or you may use vim as per the convenience&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;set&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;online-mode&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;save with &lt;strong&gt;CTRL + X =&amp;gt; Y =&amp;gt; Enter&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Re-Run the Server (Mandatory)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;java &lt;span class="nt"&gt;-Xms1G&lt;/span&gt; &lt;span class="nt"&gt;-Xmx2G&lt;/span&gt; &lt;span class="nt"&gt;-jar&lt;/span&gt; paper.jar nogui
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Expose the Port for Connections
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;ufw allo 25565
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;note :&lt;/strong&gt; if you are using a VM, you may need to configure the firewall/VPC to allow the traffic from the set port&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Run it in Background
&lt;/h3&gt;

&lt;p&gt;using screen&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;screen &lt;span class="nt"&gt;-y&lt;/span&gt;
screen &lt;span class="nt"&gt;-S&lt;/span&gt; mc
java &lt;span class="nt"&gt;-Xms1G&lt;/span&gt; &lt;span class="nt"&gt;-Xmx2G&lt;/span&gt; &lt;span class="nt"&gt;-jar&lt;/span&gt; paper.jar nogui
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>devops</category>
      <category>linux</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>How to Delete Supabase Database using Supabase Cli</title>
      <dc:creator>Shivansh Tuteja</dc:creator>
      <pubDate>Tue, 18 Feb 2025 13:37:27 +0000</pubDate>
      <link>https://dev.to/shivansh12t/how-to-delete-supabase-database-using-supabase-cli-21bo</link>
      <guid>https://dev.to/shivansh12t/how-to-delete-supabase-database-using-supabase-cli-21bo</guid>
      <description>&lt;h3&gt;
  
  
  Step 1 : Install Supabase CLI using npm
&lt;/h3&gt;

&lt;p&gt;standard installation&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; supabase
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I personally use&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx supabase ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2 : Login to Supabase CLI
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx supabase login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Link Your Project
&lt;/h3&gt;

&lt;p&gt;It's time to connect your local setup to your Supabase project. For this, you'll need your project's reference ID. This assumes you have already run &lt;code&gt;supabase init&lt;/code&gt; in your project and have a configuration. If you haven't it'll prompt you to run that command first.&lt;/p&gt;

&lt;p&gt;You can find the project ref in your Supabase dashboard (it's that long string of letters and numbers).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx supabase link --project-ref YOUR_PROJECT_REF_ID
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;YOUR_PROJECT_REF_ID&lt;/code&gt; with your actual project reference ID.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4 : Reset the DB
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;supabase db reset --linked

### Step 5 : Lets Discuss
Ways to avoid reseting database after migration failure 😂
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>supabase</category>
      <category>postgres</category>
      <category>database</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
