What does it really take to grow from a developer into a strong software engineer? In our latest podcast, we sat down with Robin Gautam, SDE-2 at JPMorgan Chase & Co. and ex-Paytm, for a candid conversation around his journey, backend engineering, career growth and what it takes to build skills that matter in the real world. From DSA and development to Java, Spring Boot, system design, scalable systems and the impact of AI on software engineering, we unpacked the questions developers and aspiring engineers are asking today. If you're building your career in software engineering, this is a conversation worth watching. 🎙️ Watch the full podcast: https://lnkd.in/gbrsuwc4 #GeeksforGeeks #SoftwareEngineering #BackendDevelopment #CareerInTech #Programming #Developers #TechCareers #JPMorgan #Java #SystemDesign #AI #SoftwareDevelopment
Robin Gautam on Software Engineering Career Growth and Skills
More Relevant Posts
-
Transitioning from a service-based to a product-based SDE-2 role isn't about grinding harder—it’s about structured execution. 🚀 Aimless coding won't crack tough interviews. You need a proven roadmap. Here is the exact 12-month curriculum to master Python, DSA, and System Design. 📌 Save this post to reference throughout your preparation journey: 📅 Q1: The Foundation (Python & Core DSA) • Master Python OOP, memory management, and Big O complexity. • Core structures: Arrays, Hash Maps, Linked Lists, Stacks & Queues. 📅 Q2: The Crucible (Advanced DSA & Patterns) • Advanced concepts: Trees, Tries, Graphs, and Heaps. • Master DP, Backtracking, & Two Pointers to recognize problem patterns. 📅 Q3: The Architect (Low-Level Design) • Implement SOLID principles, clean code, and core Design Patterns. • Practice modular Object-Oriented systems (e.g., Parking Lot, BookMyShow). 📅 Q4: The Visionary (High-Level Design) • Master Scalability, Load Balancing, Microservices, and SQL vs. NoSQL. • Architect case studies (Netflix, Uber) and start intensive mock interviews. Consistency builds the muscle memory needed to succeed. What are you studying today? 👇 #SoftwareEngineering #SystemDesign #Python #DataStructures #SDE2
To view or add a comment, sign in
-
-
Cracking SDE offers isn’t about doing more. It’s about preparing right. 👇 You don’t need 500 DSA questions or 12 copied projects. You need a system. 1️⃣ DSA → Learn patterns → 3 Easy + 5 Medium per pattern → Explain complexity & edge cases 2️⃣ LLD / System Design → OOP + SOLID + Design Patterns → Practice Parking Lot, Splitwise, Elevator → Learn concurrency, idempotency & trade-offs 3️⃣ AI + Communication → RAG, Agents, Tool Calling, Embeddings → Prepare STAR stories → Think aloud and explain decisions 4️⃣ Projects → Build 1 Backend + 1 AI project → Add Auth, Cache, Queues, Tests & Monitoring → Be ready to explain how it scales 10x DSA gets you through coding. Design proves engineering thinking. AI keeps you relevant. Projects + communication get you closer to the offer. 🚀 Save this for your interview prep. 🔖 Follow Gautam Rana for more.
To view or add a comment, sign in
-
-
Day 9 of my SDE preparation: If AI can write the code, what is left for the engineer? For the past few days, I've been seeing posts about software careers, layoffs, and even people saying “software is dead.” Honestly, it made me think.🤔 Instead of just accepting that idea, I wanted to understand "what is actually changing". And the more I think about it, the more I believe that software engineering isn't disappearing. --> The way we build software is changing.<-- AI can generate code, suggest architectures, write queries, create tests, and help us build things much faster. But if AI gives us multiple possible solutions, we still need to decide: - Which one is actually correct for our requirements? That's where fundamentals matter. The ability to understand algorithms, databases, APIs, security, architecture, and software engineering principles helps us evaluate what AI produces and make the right decisions. The core purpose of software engineering hasn't changed: Understand a problem → design a solution → build it → make it reliable. What changes is "how we accomplish those steps." Having learned Data Science, ML and DL previously, and now learning software development, I'm trying to prepare myself for that change. I don't want to compete with AI at tasks it can do faster. I want to learn how to "use AI effectively while developing the fundamentals needed to judge its output." Today, as part of my DSA preparation, I continued the "Sliding Window" pattern and solved: • Maximum Average Subarray I • Maximum Sum Subarray of Size K • Longest Substring Without Repeating Characters Maybe that's why I'm becoming more convinced that fundamentals aren't becoming less important because of AI. ->They may become even more important.<- AI gives us speed. "."."❗Fundamentals give us judgment❗"."." And I think the future belongs to engineers who can combine both. 👑
To view or add a comment, sign in
-
-
The real currency is not power or influence , it's skills in Today's market. If you're not skilled you lose the game. If you're skilled you can go global. Especially for a seasoned SDE. :) #technology #computerscience #softwareengineering #programming #developers
To view or add a comment, sign in
-
Day 16 of my SDE preparation: 100/120 test cases wasn't enough. Today I started Pattern 5 — Kadane's Algorithm. I solved: • Maximum Subarray — LeetCode 53 • Best Time to Buy and Sell Stock — LeetCode 121 • Maximum Product Subarray — LeetCode 152 • Maximum Circular Subarray — LeetCode 918 The last one was different. I spent around "2.5 hours" trying to reconstruct the solution myself. My idea was to traverse the array up to `2n - 1` and use a counter to make sure I never selected more than `n` elements, while applying Kadane's logic. It sounded reasonable. And it actually passed 100/120 test cases. But those remaining 20 wouldn't move. I kept trying to fix my approach until I was tired enough to finally look at the standard solution. And then I saw: `max(maxSum, totalSum - minSum)` with the special case: if `maxSum < 0`, return `maxSum`. My first reaction? "That's it? I spent 2.5 hours on this?"😅 But after thinking about it, I don't think those 2.5 hours were wasted. I was trying to understand the problem from its requirements instead of remembering a known trick. My approach wasn't completely random. I had identified the circular nature of the problem and tried to control the maximum number of elements. I just hadn't found the mathematical shortcut. And that's probably one of the harder parts of DSA: "Sometimes you can be 100/120 correct and still be fundamentally missing the key idea." Today reminded me that struggling with a problem doesn't always mean you aren't capable of solving it. Sometimes you're simply looking at it from the wrong angle. Four problems into "Kadane's Algorithm". And I'm still trying to learn one thing: """"Don't memorize the solution. Understand the problem deeply enough to discover the solution.""" #SDE #DSA #LeetCode #KadaneAlgorithm #ProblemSolving #SoftwareEngineering #LearningInPublic
To view or add a comment, sign in
-
SDE-2/SDE-3 engineers, have you ever been asked why your code works perfectly in testing - but still fails in production? In one of my interviews, a question around concurrency took the discussion in exactly this direction. Imagine an API that updates a user’s account balance. Two requests arrive almost at the same time. Both read the same balance. Both calculate the new value. Both write it back. The code looks correct when you test one request at a time. But under concurrent traffic, one update can overwrite the other. → That’s a classic race condition. The interesting part of the interview isn’t just identifying the bug. It’s explaining how you’d prevent it. Depending on the system, that could mean a database transaction with the right isolation level, optimistic locking with a version column, or a distributed lock using something like Redis. Each approach comes with a trade-off. For example, pessimistic locking can protect shared data but increase contention under heavy traffic. This is the kind of discussion that becomes more important as you move from SDE-2 to SDE-3. It’s understanding about what happens when multiple requests interact with the same state. That’s also why senior-level interview preparation needs to go beyond solving problems. And it's exactly why Bosscoder Academy focuses on more than coding questions, through structured mentorship, production-oriented System Design, and mock interviews, you learn to reason through the kind of engineering problems you'll face after the interview. If you're aiming for a switch to SDE-2/SDE-3 roles while balancing a full-time job, I'd highly recommend getting structured guidance from the industry experts at Bosscoder Academy. 🔗 Explore the program here →https://lnkd.in/g-pCiu8t They’ve helped 2200+ engineers crack top PBC roles through: 💡 Structured curriculum to help you master DSA, System Design, & AI 💡 Real-world, AI-powered projects & 24/7 doubt-solving 💡 1:1 mentorship from industry experts 💡 Resume reviews, mock interviews, & job switch support #sde2 #sde3 #softwareengineering #systemdesign #interviewprep
To view or add a comment, sign in
-
-
𝗗𝗦𝗔 𝗶𝘀𝗻’𝘁 𝘁𝗵𝗲 𝘄𝗵𝗼𝗹𝗲 𝗴𝗮𝗺𝗲 𝗮𝗻𝘆𝗺𝗼𝗿𝗲. 𝗕𝘂𝘁 𝗶𝘁’𝘀 𝘀𝘁𝗶𝗹𝗹 𝘁𝗵𝗲 𝗴𝗮𝘁𝗲. 🎯 LeetCode For many SDE interviews, the coding round remains one of the biggest filters. But strong candidates don’t prepare by solving 1,000 random problems. They: → Learn 50 DSA patterns deeply → Map new problems to known patterns quickly → Build one strong Dev project they can defend → Get comfortable with LLD + HLD → Learn AI fundamentals, especially for AI/ML roles → Treat applications, resumes & referrals as skills too The goal isn’t: ❌ “How many LeetCode problems have I solved?” It’s: ✅ “Can I solve an unseen problem, explain my thinking, and handle follow-ups?” DSA gets you through the gate. Engineering depth helps you clear what comes next. 🚀 I came across this insightful post from Parikh Jain, and it’s a useful reminder to prepare strategically rather than just chasing problem counts. 🔗 Original post by Parikh Jain: https://lnkd.in/p/d4bbbZy9 Credits to Parikh Jain for sharing the original insights. 🙌 #DSA #LeetCode #SoftwareEngineering #SystemDesign #CodingInterview #InterviewPreparation
To view or add a comment, sign in
-
-
Day 19 of my SDE preparation: I changed the roadmap while following it. I was about to start Array Pattern 6 — Sorting + Greedy. So I started with the basic sorting algorithms: Bubble Sort. Selection Sort. Insertion Sort. Then I reached the next obvious question: “When should I learn Merge Sort and Quick Sort?” And then I realized something. Before going there, I need to understand "recursion". So instead of jumping ahead, I changed the plan. Today I went back to recursion and built the basics from scratch: • Print 1 → N • Print N → 1 • Sum of N numbers • Factorial It may look like I'm moving backward. But I'm starting to understand that sometimes "going backward in the roadmap is actually moving forward in understanding". This also made me rethink my overall DSA strategy. Instead of randomly jumping between topics, I want to build my interview foundation in a sequence: Arrays & Strings → Sorting → Recursion → Backtracking → Memoization → State-based problems → Dynamic Programming And for now, I want to build these concepts primarily around "arrays and strings", before expanding into other data structures. The goal isn't to finish topics as quickly as possible. It's to build enough understanding that when I see a new problem, I can recognize: What kind of problem is this? What information should I track? What pattern can I reconstruct? What should I learn before attempting it? I've already learned that memorizing solutions doesn't get me very far. Now I'm trying to build the foundation underneath the solutions. """"Maybe the fastest way to become interview-ready isn't to rush through the roadmap. It's to stop skipping the foundations."""" #SDE #DSA #SoftwareEngineering #LeetCode #Recursion #ProblemSolving #LearningInPublic #BuildInPublic
To view or add a comment, sign in
-
Day 18 of 180 Days as an SDE Intern Today’s session was about something beyond just writing code — writing code professionally. What I Learned Today: 🔹 Professional Coding & Its Parameters * Understood what makes code professional and maintainable. * Learned the importance of readability, consistency, simplicity, maintainability, and proper structure. * Realized that good code is not just about getting the correct output, but also about making the code easy for others to understand and work with. 🔹 Naming Conventions * Learned how meaningful names improve code readability. * Understood proper naming practices for variables, classes, methods, and constants. * Focused on choosing names that clearly communicate the purpose of the code. 🔹 Method Naming in Detail * Learned how to choose meaningful and descriptive method names. * Understood that method names should generally describe what the method does. * Practiced naming methods using appropriate Java naming conventions such as camelCase. * Example: calculateSalary(), findMaximum(), checkPrimeNumber(). 🔹 Good Code vs Dirty Code Today I also understood the difference between code that simply works and code that is well-written. •Good Code * Readable * Meaningful names * Simple and structured * Easy to maintain * Easy to debug •Dirty Code * Unclear names * Unnecessary complexity * Poor formatting * Difficult to understand and maintain * Repeated or unorganized logic Key Takeaway: Writing code is not only about making it work — it’s about making it understandable, maintainable, and professional. Today’s lesson changed the way I look at my own code. From now on, I want to focus not only on solving problems, but also on how professionally I write the solution. Learning → Practicing → Improving → Writing Better Code #Day18 #180DaysOfCoding #SDEIntern #Java #JavaProgramming #ProfessionalCoding #CleanCode #CodingStandards #NamingConventions #Methods #SoftwareDevelopment #CodingJourney #LearningJava #Programming #Algorithms365
To view or add a comment, sign in
-
-
Day 19 of 180 Days as an SDE Intern Today I focused on understanding the for-each loop in Java and when to choose it over a traditional for loop. •What I Learned Today 🔹 For-Each Loop * Learned the syntax and working of the enhanced for loop. * Understood how it simplifies traversing through arrays and collections. * Practiced accessing each element without manually managing an index. 🔹 When to Use for vs for-each * Use a traditional for loop when I need the index, want to move through elements in a specific way, or need more control over the iteration. * Use for-each when I simply need to process each element sequentially and don’t need the index. 🔹 Hands-on Coding * Practiced multiple programs using the for-each loop. * Worked on traversing and processing elements. * Focused on understanding the execution flow rather than just memorizing the syntax. •Key Takeaway: Choosing the right loop depends on what I need to accomplish. Understanding when to use for and when to use for-each makes code simpler and more readable. Learning → Practicing → Understanding → Improving #Day19 #180DaysOfCoding #SDEIntern #Java #JavaProgramming #ForEach #ForLoop #CodingJourney #HandsOnCoding #LearningJava #SoftwareDevelopment #Programming #Algorithms365
To view or add a comment, sign in
-
Explore related topics
- Steps to Become a Back End Developer
- How To Build A Strong Software Development Team
- Learning Path for Aspiring Backend Developers
- Backend Developer Interview Questions for IT Companies
- How to Advance as a Software Engineer
- How to Strengthen Software Developer Skills
- Key Skills for Backend Developer Interviews
- Key Skills For Software Engineers In 2025
- Top Skills Needed for Software Engineers
- Cloud Computing Career Strategies
I really what happen is dead for 2026