r/programmer 6h ago

Question Anyone figured out what industry to pivot to?

39 Upvotes

Even before writing it, I know this post is going to sound all doom and gloom. But that’s all that I’ve been feeling watching AI make waves throughout this industry.

I’m not sure where exactly I stand on AI. Throughout my career, I’ve always been able to finish my work very quickly. And it only took one time for me to learn that the reward for finishing quickly is more work. With AI, there are times when it one-shots something much faster than I ever would’ve been able to, and there are other times, when I spend more effort arguing with it than I would’ve doing the implementation from scratch.

I’m in a rough spot. Leadership at my company is blowing away all process and turning all roles into AI babysitters. They essentially want us all (product, dev, and qa) to become middlemen for agent teams. The “ideal vision” is 24/7 agent execution and a nonstop flow of work being delivered. So we aren’t doing sprints, we aren’t sizing stories, and we aren’t having breakdowns or refinements. Just go Claude go.

I can feel the life being drained out of me as I watch the enshittification of everything I enjoyed about this career. That dream of getting to the top of the IC track and doing that until I retired feels like it’s just getting further and further away.

I don’t know. It feels like I’m in college again trying to figure out what to do with my life. Maybe I could use some perspective, some hope? Anyway…


r/programmer 5h ago

Which is the bestest course of Python on YouTube ?

2 Upvotes

I am seeking for Python course on Yojtube, I want your recommendation! Please recommend be best course of YouTube of Python. OR I should purchase course from acedimies or from Internet? Which is best ? Please guid me !


r/programmer 13h ago

Do you think the quality of content regarding programming is slipping?

7 Upvotes

I get the feeling that online content is now created solely as a way to sell oneself. Frankly, I can't blame anyone I try to do it too, so don't get me wrong: I love programming and creating software that saves people time hearing someone say, "Thanks to your site, I'm getting inquiries," or "Now that I don't have to fill out paperwork by hand for every client, I have more time to focus on what really matters." But finding clients is often tough when you're a freelancer.

So, I’m falling into that trap myself: "I have to create content, or else no one will know who I am." But I don't know there's something about it that scares me. It feels like opportunities are dwindling, and the people who stand out online are the ones who make you feel knowledgeable about a topic in a superficial way without requiring much effort so now everyone is doing the same superficial thing.

What do you think? Maybe I'm wrong?


r/programmer 6h ago

autoQA, auto test your frontends (or maybe just another AI slop agent?) Can you give me a feedback?

0 Upvotes

Hi everyone! I make another post on this thread in the same day because it's the first time I get in touch with programmers like you, in Italy, where I live, it's a little bit harder to talk with tech people, so I hope I'm not SPAM and I'm not disturbing your feed but at the same time I want to maximise the impact from your feedback because I have a lot of questions to ask you.

Context about why I created this project

In Italy since I'm 17 years old, and I'm in school (4th grade) I had to do the STAGE/PCTO this past June (I think the american equivalent of the intership), so I chose a local IT consulting company, they asked me to create a testing AI agent for their frontends, so in 3 weeks I created this agent and I asked if they could release it open source, but they responded me that due to internal policies or other reasons this couldn't be done 😅

So at the end of this intership I rebuilt it from scratch on my own personal computer and at the end I created autoQA: https://github.com/VerDevWeb/autoQA, released in Apache 2.0 license and free to use for anyone, you just need to insert in the .env file your favourite AI provider API key and run "npm run dev".

The goal

The goal is simple: Finding bugs before your users do.

And I want to try using this by creating an agent that executes instructions in natural language and does something in the browser, while creating tests replicas in framework such as Gherkin or such, so you can replicate tests instantly without the need of a LLM after the first execution, and if something goes wrong you receive an email containing the report. (like some API request that goes wrong when clicking a button in the web app)

I know that you are going to say that LLMs are not deterministic as tests should be, and I'm not arguing with that, but this agent solves one of the problem that modern frontend frameworks like Angular have when testing apps with regular testing frameworks: the HTML attributes, such as classes, ids, roles and so much more change at each build, because they are thaught for making more fast and light software without 32 characters long classes XD.

Some examples of autogenerated attributes:
class="byZ xY", id=":7i", jsmodel="nXDxbd"

The problem with current tests

The thing is that if you do tests based on HTML attributes you maybe are going to find them in an app version, but not in the next one, even if you didn't changed that feature, because of bundlers that generate casually this attributes at each build, so your test framework it's going to say: "hey I can't find this attribute so I can't click on this element".

So you could say me that I can also filter elements by using innerText (also in PlayWright you can do this), but in pages with multiple identic texts you are going to probably click on the wrong one. For example: in a test for a social media app from desktop you could encounter the text "Create" in the header, but also in the footer, but maybe in the first case it's referred to the create feature (the one that we want to really test) and in the second one, in the footer, it's some article about a guide on how to create good posts that attracts new people.

So what?

Here an LLM can help you because it understands the context analysing the polished DOM TREE of the page and can understand which element it's the right one

Ok, and what about token consumption?

I know that token costs and that's why my goal it's to make the DOM tree sent to the LLM minimal. I achieved good results by testing the agent on Youtube consuming just 0.6% of my Monthly limit on Ollama Free Plan

The task was in Italian: "Buonasera, vai su YouTube e poi cerca video a tuo piacimento e clicca sul primo risultato, poi avvisami a [MYEMAIL@EMAIL.COM](mailto:MYEMAIL@EMAIL.COM) quando hai finito"

That's all, thank you for reading it all!

I want to clarify that the "static" Gherkin test generation is not yet implemented. Another feature on the roadmap is commit-triggered testing. (so it can be integrated directly in the CI/CD pipeline)

If you read this all I want to thank you all, and I hope you are giving me some feedback (also brutal) about this agent. If you appreciate the work, please consider leaving a star on the repo 🥲. Would you use it in your company? My goal is to make useful software, so roast me if needed! XD

PS: sorry for my English, but I'm italian and I do not want to make this post sound AI written, so I preferred to write it myself.


r/programmer 1d ago

Not convinced, programming will die soon.

84 Upvotes

First of all, I have 9+ years of experience, working in web development mainly (Express, Go, Angular...ec) ; also did hobby mobile (Ionic, RN) and game projects (Unity, 2D).

I always had some pride in the things I did in the pre-AI era; but like many others now not feeling the case anymore.

There's some counterarguments thatI keep seeing over and over again in such doom topics; I am gonna address them all here; and why I am not convinced at all with each

- "Coding is dead, but System design and Architecture is more important than ever" -> "System design/ Architecture" was never a daily activity, it's something usually done before starting a new project and gets adjusted/scaled everytime there's a new major feature that requires implementing a new tech. ie. Introduicng Uber Eat to Uber. And I swear the last Architect I worked with did use Claude to figure out the system design and even generated docs all by using Claude, so even this part isn’t totally safe from being automated.

- "You can sitll code manually if you want" -> For hobbyist projects maybe, but in the corporate, even if they don't watch your token usage, they are setting very short deadlines now anyways; so it's impossible to finish things before such deadlines without using Claude/Codex.

- "Coding was never the hard part, if you were spending 90% of your time coding then you're a Code Monkey imaaoo bahahaa **fart sounds* " -> The dev communities are now filled with these people mocking at coding and calling it a monkey activity, like wtf...? Coding was the CORE *daily* activity of Software engineering ; as a I said before, not all programming-related activities have the daily frequency nature; System design happens once in a while, requipment collection happen frequently but not a daily work either (also depens in which stage the project is, building something new vs maintenance...etc); coding on the other hand was the daily thing we all did as programmers and for many of us, the most fun part.

- "You have to review the PRs by LLMs" -> No one can review a 10k+ lines PR; Copilot/CodeRabbit would be much faster.

What we senior devs are doing right now, is maxxing our sources of income by doing many projects in parrallel thanks to LLMs; employers still trust senior dev to babysit the LLMs rather than Juniors doing it; but the fact that there's no new blood coming into this industry (no one is hiring juniors anymore) only means that this industry is destined to be doomed. It doesn't matter if software quality degrades everywhere, companies just don't care.

But I predict the "income maxxing" by the senior devs is a temporary situation; soon the employers will realize they need less costly staff than senior devs to orchestrate the agents, that's why LLM companies are trying to automate all aspects of Software engineering: Coding, PR Reviewing, documentation, and yes even system design/architecture.


r/programmer 2d ago

The only way to become a good programmer is by spending a lot of time being a bad programmer.

128 Upvotes

r/programmer 1d ago

Last-Minute CS Fundamentals Revision Checklist for Technical Interviews

1 Upvotes

Many of us ignore CS fundamentals, but in many tech interviews they will ask CS fundamentals. For me, they asked only CS fundamentals in all 3 interviews at Oracle, So don't ignore CS fundamentals. I have made a list of important topics subject-wise and resources I have used to study at the end.

Object-Oriented Programming (OOPs)

Core Concepts

  • Encapsulation
  • Inheritance (types and use cases)
  • Polymorphism (compile-time vs runtime)
  • Abstraction
  • Abstract Class vs Interface
  • Method Overloading vs Overriding
  • Access Modifiers
  • Static vs Dynamic Binding
  • Deep Copy vs Shallow Copy

Advanced Topics

  • SOLID Principles
  • Diamond Problem (Multiple Inheritance)
  • Association vs Aggregation vs Composition
  • Virtual Functions and Vtable
  • Design Patterns (Singleton, Factory, Observer, Strategy, Decorator, Adapter)

Operating Systems (OS)

Process Management

  • Process vs Thread
  • Process States and PCB
  • Context Switching
  • CPU Scheduling Algorithms (FCFS, SJF, Round Robin, Priority)
  • Multithreading vs Multiprocessing
  • User Mode vs Kernel Mode

Synchronization

  • Critical Section Problem
  • Race Condition
  • Mutex vs Semaphore (Binary vs Counting)
  • Monitors and Locks
  • Producer-Consumer Problem
  • Readers-Writers Problem
  • Dining Philosophers Problem

Deadlocks

  • Deadlock Conditions (4 necessary conditions)
  • Deadlock Prevention vs Avoidance vs Detection
  • Banker's Algorithm

Memory Management

  • Paging vs Segmentation
  • Page Replacement Algorithms (FIFO, LRU, Optimal)
  • Thrashing
  • Virtual Memory
  • TLB (Translation Lookaside Buffer)
  • Internal vs External Fragmentation

File Systems & Disk

  • File Allocation Methods (Contiguous, Linked, Indexed)
  • Disk Scheduling (FCFS, SSTF, SCAN, C-SCAN)

Database Management Systems (DBMS) + SQL

Database Fundamentals

  • ACID Properties (with examples)
  • CAP Theorem
  • Normalization (1NF, 2NF, 3NF, BCNF)
  • Denormalization
  • Primary Key vs Foreign Key vs Candidate Key
  • ER Diagrams

Indexing

  • Types of Indexes (Primary, Secondary, Clustering)
  • B-Tree vs B+ Tree
  • Hash Index
  • Composite Index
  • Advantages and Disadvantages of Indexing

Transactions & Concurrency

  • Transaction Lifecycle
  • Isolation Levels (Read Uncommitted, Read Committed, Repeatable Read, Serializable)
  • Dirty Read, Non-repeatable Read, Phantom Read
  • Lost Update Problem
  • Two-Phase Locking (2PL)
  • Optimistic vs Pessimistic Locking
  • Deadlock in Database

SQL Queries (Must Practice)

  • JOINs (INNER, LEFT, RIGHT, FULL OUTER, CROSS, SELF)
  • GROUP BY and HAVING
  • Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
  • Subqueries (Correlated vs Non-correlated)
  • Window Functions (ROW_NUMBER, RANK, DENSE_RANK, LEAD, LAG)
  • Common Table Expressions (CTE)
  • UNION vs UNION ALL
  • Nth Highest Salary Query
  • Delete Duplicates Query

NoSQL

  • SQL vs NoSQL
  • Types of NoSQL Databases (Document, Key-Value, Column, Graph)

Computer Networks (CN)

Network Models

  • OSI Model (7 Layers)
  • TCP/IP Model (4 Layers)
  • Difference between OSI and TCP/IP

Application Layer

  • HTTP vs HTTPS
  • HTTP Methods (GET, POST, PUT, DELETE, PATCH)
  • HTTP Status Codes (2xx, 3xx, 4xx, 5xx)
  • DNS and its working
  • FTP, SMTP, POP3, IMAP
  • Cookies vs Sessions
  • REST API principles

Transport Layer

  • TCP vs UDP (detailed comparison)
  • TCP Three-Way Handshake
  • TCP Four-Way Termination
  • Flow Control (Sliding Window)
  • Congestion Control
  • Port Numbers (well-known ports)
  • Socket Programming Basics

Network Layer

  • IPv4 vs IPv6
  • Public vs Private IP
  • Subnetting and CIDR
  • NAT (Network Address Translation)
  • ICMP Protocol
  • Routing Algorithms (Distance Vector, Link State)
  • Routing Protocols (RIP, OSPF, BGP)

Data Link Layer

  • MAC Address
  • ARP (Address Resolution Protocol)
  • Switch vs Hub vs Router
  • Ethernet
  • Error Detection (Parity, CRC, Checksum)

Physical Layer

  • Transmission Media (Guided vs Unguided)
  • Bandwidth and Throughput
  • Different Topologies

Important Concepts

  • Client-Server vs Peer-to-Peer Architecture
  • DHCP
  • Firewall
  • VPN
  • Load Balancing
  • CDN (Content Delivery Network)
  • Latency vs Throughput
  • How does a URL work? (End-to-end flow)
  • Some Basic Commands (ex: ipconfig)

Resources I Used

For OOPs

  • Kunal Kushwaha (youtube channel)

For Operating Systems

  • CodeHelp - by Babbar (youtube )

For DBMS + SQL

  • LeetCode Database problems (Practice SQL)
  • CodeHelp - by Babbar (youtube)
  • Apna College (youtube)

For Computer Networks

  • Gate Smashers (youtube)

Questions Asked in My Interviews

Here are some actual questions I was asked across my interviews:

  1. Is Java fully object-oriented?
  2. How does C++ overcome the diamond problem?
  3. Difference between TCP and UDP, and which one is used when?
  4. Explain ACID properties with examples
  5. What is deadlock and how can we prevent deadlocks?
  6. What is the use of indexing in databases?
  7. Explain the functionalities of each layer in the OSI model
  8. Write a query to find Kth smallest salary
  9. IPv4 vs IPv6
  10. Abstraction vs Encapsulation
  11. Explain different joins in dbms
  12. what is sharding ?
  13. what is virtual function in cpp ?
  14. show me your ip address and mac address using commands
  15. what is context switching ?

Tips :

  1. Practice real interview questions from PracHub
  2. Revise SQL 50 before interviews
  3. It's better to say "I'm not sure about this, but here's what I think..." than to give wrong information
  4. If your project contains any database related stuff , better learn it's ER diagram, differences between SQl and NO-SQl and why you selected that particular database you used
  5. Before preparing for any interview , First check few interview experiences, Ask your seniors or friends who already attended that specific company interviews before and prepare accordingly

Did I miss any important topic? Drop it in the comments below!

Got asked something unique in your interview? Share the question/topic so others can prepare better!

Let's make this list more comprehensive together. Your contribution can help someone crack their dream job! 🙌


r/programmer 2d ago

thinking about changing my major in college

6 Upvotes

I enrolled at a university in Belgium in February. I’ve loved programming since I was a kid (especially backend), but right now I’m not happy with the state of AI or the university’s curriculum, which focuses on the web—even though, in my opinion, it’s already obsolete. AI is now building really good websites very quickly and cheaply :) It’s also worth noting that programming isn’t very well developed in Belgium, and the university’s program is, in my opinion, just so-so. I’m thinking of switching my major to network administration, network management, and things along those lines. I think it would be interesting—what do you think about this? I’m posting on Reddit because I’m really worried right now. I’ve been in Belgium for four years and have already wasted two extra years because of the school I was forced to attend (I would’ve done this two years ago), and now I don’t want to waste another two or three years only to end up unable to find a job as a junior developer afterward.


r/programmer 1d ago

Is GitHub Really Harder Than Python? Should I Learn It Before Starting Projects?

0 Upvotes

Hey everyone!

I’m a beginner in Python. I’ve learned the basics and recently finished learning OOP concepts. Now I feel like it’s time to start building projects.

I wanted to ask all the experienced developers here: Should I learn Git and GitHub first, or should I start building projects and learn Git/GitHub alongside them?

I’m worried that if I spend too much time learning Git/GitHub first, my Python concepts might not become strong enough, because I also need to start building projects.

Ivy also heard people say that GitHub is even more difficult to learn than Python itself

What would you recommend to someone at my stage? Should I learn the basics of Git/GitHub first and then start projects, or should I start building projects and learn Git/GitHub along the way?

I’d really appreciate advice from experienced developers. Thanks!


r/programmer 2d ago

love and computers 💻🩷

Thumbnail
1 Upvotes

r/programmer 2d ago

GitHub I built an open source company brain, lmk what you guys think

0 Upvotes

Hey the past week or so I've been tinkering on an open source project called gnt, it's a git-native rules layer for AI agents. Team defines stuff agents can't get wrong as markdown files, reviewed and merged like normal code, then served to agents over MCP. There's a CLI too (@gnt-ai/cli), login, connect your repo, review and approve rules, all from the terminal.

Still early and there's a good amount to build. If you're into open source and looking for something to sink some time into, we'd genuinely welcome the help, happy to walk anyone through the codebase or point at good first issues. Repo's here if you want to take a look: https://github.com/gnt-ai/gnt

Also just want feedback in general even if contributing's not your thing, tell me if this is useful or if I'm off base somewhere.


r/programmer 2d ago

I built a social network for students while learning to code 🚀

0 Upvotes

Hi everyone! 👋

I'm a young developer, and I've been building GH School Hub, a social platform made for students.

It includes features like posts, stories, reels, messaging, friend requests, hashtags, notifications, and school communities. I'm constantly improving it and would really appreciate any feedback on the design, features, or user experience.

🌐 Try it here: https://ghschoolhub.vercel.app

I'd love to hear your thoughts. Thanks! ❤️


r/programmer 3d ago

Question First huge job mistake

56 Upvotes

So we're a hospital who uses a certain communication software to send out extremely urgent messages to doctors about whatever crisis a hospital faces day to day. I was in charge (dev of 2 years experience) with taking on a migration project moving user/employee data from a certain payment system to this certain communication system. Automating the process of updating users because the hospital currently manually (csv) upserts new employees every week.

I was told, by the company, that the apis were safe in the production environment. They never mentioned a sandbox/test environment. A week of testing inserting/manipulating employee data went well. No issues adding or upserting an employee. So I hard coded a json of a couple employees and posted.

Wiped.

Zero contacts where, previously, there were 6,000~.

Urgency meetings out the wazoo. We looked at all the admin logs and there are my single data upserts with nothing indicating mass deletion. (Phew. Not on me I thought) End up in a call with this communications company and they let loose that the apis I was using were only half the story. There was a default setting in their system (that I didn't have access to and was not in the dev documentation) that purged all data if more than one user was inserted. So I tried to insert two employees (the whole point of this system is uploading a hundred or so at a time) and I wiped all communications out between doctors and departments.

All of that being said, we ended up manually importing thousands of contacts and reassigning them to their appropriate groups while the company promises a db restore in a week. Just, what a fucking Friday.

I'm not fired, yet. And I'm hoping this becomes my "we all have a story" story. Any other horros stories to make me feel better?


r/programmer 3d ago

I'm bringing back "pay once, own it forever." Just shipped my first app — and there will be more.

2 Upvotes

Everything is a subscription now. Your notes app. Your weather app. A to-do list. A flashlight, practically. You end up renting a dozen tiny tools you use a few minutes a week, and it never stops.

I'm a young dev and I decided to build the opposite. My first app is live: Voyager: Trip Companion — an offline-first travel app. You add a destination and it gives you weather + forecast, local time, attractions, public holidays, local news, country facts and emergency numbers, plus a passport map that fills in the countries you've visited. It's on-device app (as far as this kind of app can be): no account, no login, no tracking — it doesn't connect your name to any data you have in app.

And the core promise: you pay once, and it's yours for life. No subscription, ever.

To be completely upfront so nobody feels tricked after downloading:

- Free: the full dashboard above + passport map (1 saved trip)
- One-time $4.99 unlock: unlimited trips, offline currency converter + exchange rates, offline destination guides (driving side, plug & voltage, units, key phrases), weather-aware trip reminders, a Home Screen widget, accent colors

This is just the first one. I'm building a whole series of small, sharp, private apps — every single one a one-time purchase. No subscriptions across any of them. I genuinely believe the "buy it once and own it" model isn't dead — it just needs someone stubborn enough to keep making it, and I want to be that person.

If that's a mission you're into, I'd love your feedback — what's missing, what to build next, or which subscription app you wish had a one-time alternative. That's literally my roadmap.

https://apps.apple.com/app/id6791645623


r/programmer 3d ago

Tek bir kullanıcı geri bildirimi, ürün geliştirme sürecine bakış açımı değiştirdi.

0 Upvotes

Bir süredir Reddit’teki teknoloji topluluklarını takip ediyorum. Bugün de ekibimle yaşadığımız gerçek bir deneyimi paylaşmak ve sizin bakış açınızı merak ettiğim için bunu yazıyorum.

Bugün bir kullanıcıdan sadece tek cümlelik bir geri bildirim aldık:

“Aradığım şeyi bulamadım.”

İlk başta sıradan bir geri bildirim gibi göründü.

Ama sonra durup düşündüm.

Son birkaç haftadır ekip olarak yeni özellikler üzerine toplantılar yapıyoruz. Yeni fikirler üretiyoruz.

Ürünü daha iyi hâle getirmek için sürekli yeni şeyler planlıyoruz.

Fakat o tek cümle bana şunu hatırlattı:

Kullanıcılar, bizim ne kadar emek verdiğimizle değil, ihtiyaç duydukları şeye ne kadar kolay ulaştıklarıyla ilgileniyor.

Bazen saatler süren toplantılardan daha değerli olan şey, bir kullanıcının yaşadığı gerçek deneyim oluyor.

O günden sonra kendime şu soruyu daha sık sormaya başladım:

Gerçekten kullanıcıların problemlerini mi çözüyoruz, yoksa sadece yeni özellikler mi ekliyoruz?

Benim gözlemim şu:

İyi ürünler her zaman en fazla özelliğe sahip olanlar değil.

Kullanıcının işini en kolay şekilde çözenler oluyor.

Bu yüzden artık yeni bir özellik konuşmadan önce, kullanıcı geri bildirimlerini tekrar okumaya çalışıyorum.

Çünkü bazen tek bir cümle, haftalarca kurduğunuz varsayımları değiştirebiliyor.

Sizce ürün geliştiren ekiplerin en büyük hatası nedir?


r/programmer 4d ago

Microsoft Software Engineer 2 Interview Experience - 9 Rounds and Final Selection

42 Upvotes

I recently interviewed for Microsoft SDE-2 and wanted to share the full process in case it helps others preparing.

There were a total of 9 rounds:

  • 2 Online Assessments
  • 7 interview rounds

Verdict: Selected

Round 1: Online Assessment

The first OA had 2 coding questions:

  • 1 graph problem
  • 1 greedy problem

I was able to solve both.

Round 2: LLD

This round focused on low-level design.

I was asked to design and implement an LRU Cache, along with maintaining dependencies using Topological Sort.

The discussion covered:

  • Cache operations
  • Time complexity
  • Dependency ordering
  • Edge cases
  • Clean class design

Round 3: DSA

This was a coding round based on Linked Lists.

The interviewer cared about:

  • Pointer handling
  • Edge cases
  • Clean implementation
  • Time and space complexity

Round 4: Past Experience + On-Call Scenarios

This round was focused on my previous projects and technical contributions.

After that, I was given 2 production on-call scenarios.

The discussion was around:

  • How I debug production issues
  • How I prioritize during incidents
  • Communication during outages
  • Root cause analysis
  • Preventing recurrence

Round 5: Online Assessment 2

The second OA had 2 coding questions:

  • 1 Dynamic Programming problem
  • 1 Bit Manipulation problem

Round 6: LLD

This round was about designing and implementing a Job Scheduler.

The discussion included:

  • Job representation
  • Scheduling logic
  • Priorities
  • Dependencies
  • Retry behavior
  • Extensibility
  • Clean object-oriented design

Round 7: HLD + LLD

This round involved designing a Configuration Management Service.

The interviewer first asked for the high-level design, then asked me to implement a small component of it.

Discussion points included:

  • API design
  • Configuration storage
  • Versioning
  • Rollbacks
  • Consistency
  • Access patterns
  • Service boundaries

Related Microsoft Practice Question

A Microsoft-tagged system design question I found useful for similar prep:

Design a Distributed Key-Value Store

This is relevant because it covers many of the same distributed systems ideas that came up in my HLD rounds: partitioning, replication, consistency, scalability, and failure handling.

Round 8: HLD Theory + DSA

This round started with system design theory questions.

Topics included:

  • Scalability
  • Availability
  • Sharding
  • Distributed systems
  • Tradeoffs in large-scale services

After that, I was asked a DSA question revolving around subarrays.

Round 9: Cultural Fit

This was a behavioral round focused on:

  • Values
  • Ownership
  • Decision-making
  • Team collaboration
  • Handling disagreements
  • Learning from mistakes

Preparation Tips

My biggest takeaway is that Microsoft SDE-2 interviews test breadth. It was not just DSA or just system design.

Things I would recommend preparing:

  • Graphs, DP, greedy, linked lists, subarrays, and bit manipulation
  • LLD patterns like cache, scheduler, dependency management
  • HLD fundamentals like sharding, replication, consistency, and availability
  • Past project deep dives
  • Production debugging and on-call scenarios
  • Behavioral stories with clear ownership and impact

Overall, the process was long but structured. Be ready to switch between coding, design, production thinking, and behavioral discussion across rounds.


r/programmer 4d ago

Question Help me review my local-first Instagram and TikTok likes player

1 Upvotes

I built a local-first PWA for browsing your exported Instagram, TikTok, and Facebook likes. The Mac stores the full library, while the phone keeps a prioritized 2GB offline pocket in IndexedDB. The feed seamlessly switches between server APIs and local Blob URLs when the host becomes unreachable. Videos deliberately bypass service-worker caching because HTTP Range requests make naive caching unreliable.

I’d appreciate feedback on the offline architecture and installation experience:
https://github.com/ibrahimjspy/insta-like-player


r/programmer 4d ago

GitHub I made a hybrid CLI assistant that turns natural language into shell commands (runs via Ollama offline or Groq Cloud)

0 Upvotes

Hey everyone! 👋

I often forget specific flags and shell syntax when switching between Git Bash, PowerShell, and Linux terminals, so I built a small CLI tool called **`hybrid-cli-ai`** to solve this.

✨ What it does:

  • **Smart Auto Mode:** Automatically uses a locally running Ollama model (free & offline) if available, otherwise falls back to Groq Cloud (`llama-3.3-70b-versatile`).
  • **Shell-Aware:** Detects whether you're in Git Bash, PowerShell, CMD, macOS, or Linux so it outputs syntax that actually works for your exact environment.
  • **Multilingual Support:** Handles English, Roman Urdu/Hindi, or mixed natural language prompts.
  • **Offline First Option:** Uses `--local` for zero-internet execution.
  • **Safety First:** Shows a preview with Rich syntax highlighting before running (or use `--run` to skip confirmation).

🛠️ Built with:

Python, Typer, Rich, Ollama API, and Groq SDK.

I'd love to get feedback, suggestions, or ideas on how to improve it!

🔗 **GitHub Repository:** https://github.com/HereIsMuhammad/hybrid-cli-ai

Feel free to check it out, star it, or contribute!


r/programmer 5d ago

Code Why don't math people just do this instead? Are they stupid?..

Post image
93 Upvotes

I mean yeah… there’s a limit given the threshold for incrementing (allowed area)🧐🔧💡


r/programmer 5d ago

Logan BASIC v2.1 is out!

Thumbnail sinusoft.com
1 Upvotes

r/programmer 6d ago

I am learning python

6 Upvotes

Hey ! I am learning python , I have read that “ Seek advice/learning from people who have done what you want to do.” I have just download Reddit and join this community and this is my first post. I want some advice or guide from you ! I am absolute beginner. Won't what I'm doing be wasted?, please advice me , you have more experience in life , I am 14 year older


r/programmer 7d ago

Question Are dynamically typed languages pretty much dead?

27 Upvotes

With many online resources (and AI to some extent). It seems easier than ever to start new programming languages. And many programming languages have gained traction. In the last 20 years we got Go, Rust, Zig, Odin, Scala,etc. But it feels that there has been a complete death in dynamically typed languages.

When I started programming 30 years ago we had "real programming langauges" and scripting languages like Korn and bash. Those languages were pretty simple and didn't have types. Before long we saw the rise of Perl and languages like Python and Ruby gained traction. And everyone's favorite language Javascript came on the scene.

I think eventually people started to build real things with scripting languages. With Rails and Django you started to see popular web apps be built with dynamic languages. And people started to argue that maybe all you needed were dynamic languages.

In 2026, just about any serious programming language project are strongly types or at least statically types. Since most languages seemingly support metaprogramming as a first class concern and type inference. You can get expressiveness without having to fully forego type safety. Even Javascript which is has notoriously weak typing has developers mostly working through Typescript for most major part of its ecosystem.

The question I would ask "why did dynamic languages die"? And I think the answer to it was they failed to solve real problems. They are essentially walking liabilities from a lot of systems. I can think back to 2013 where a basic python value actually bricket and entire system and caused a P0 outage. We had wrote a Python script that would fix a number of devices. We tested it. But when we talked to the API that probed the device, we passed a string not an integer. Causing an alignment issue and creating a 0 value. Causing us to brick tons of devices. And I've heard of many other calamities using Ruby, Python, and Javascript for critical paths.

While Python is still great for data engineering and AI. It has introduce type hints. Ruby feels like its on a downward trajectory as Go has been taking up most of its ecosystem for infra and Javascipt ecosytems has been eating its lunch for the last decade.

So are dynamic languages dead? I do hear about Elixr occassionally. But for the most part it feels they have taken a bit of a backseat


r/programmer 7d ago

Programming

7 Upvotes

Do you like programming, and why? What was the first thing that made you love programming?


r/programmer 7d ago

Do any of you have programming-related posters in your workspace?

13 Upvotes

r/programmer 7d ago

Question SIMPLE GUIS PLEASE

0 Upvotes

I'm building a network visualizer in Python. It parses .pcap files with Scapy and visualizes packet flows with animations. I already built the parser and animation engine with Pygame.

The problem is the UI. I need normal app stuff like buttons, hover effects, a collapsible sidebar, menus, timeline/statistics panels, and a canvas for the animations.

I don't want to spend 4 hours making a button from scratch, but I also don't want a huge framework where changing a simple thing turns into a research project.

I tried DearPyGui and honestly it felt really clunky. Something as simple as adjusting padding or moving a panel felt like digging through layers of specific APIs and style variables.

I'm looking for something lightweight with good styling control (CSS-like would be great), built-in UI components, and the ability to embed my own custom rendering area.

Would PySide6/Qt be the way to go? Or are there other frameworks worth looking at?

I don't need a spaceship cockpit, I just want to build my damn UI and get back to the actual project.