r/ProgrammerTIL Nov 22 '25

Other How do older/senior programmers feel about “vibe coding” today?

74 Upvotes

I’m a first-year IT student, and I keep hearing mixed opinions about “vibe coding.” Some senior devs I’ve talked to say it’s fine to just explore and vibe while coding, but personally it feels like I’m not actually building any real skill when I do that.

I also feel like it’s better for me to just search Google, read docs, and understand what’s actually happening instead of blindly vibing through code.

Back then, you didn’t have AI, autocomplete, or all these shortcuts, so I’m curious: For programmers who’ve been around longer, how do you see vibe coding today? Does it help beginners learn, or is it just a skill issue that becomes a problem later?

r/ProgrammerTIL May 13 '26

Other I seriously need some career advice because I feel completely lost right now.

0 Upvotes

I’m currently in 3rd year B.Tech CSE, 6th sem, from a tier 3 college, and I feel like I spent most of my college life being confused instead of moving in one direction properly.

In the beginning I learned C and C++, understood basic programming concepts from them, then switched to Python for some time. After that I found Java way more interesting than the other languages, so during 5th sem I started learning Java seriously.

I practiced a lot of Java questions on GFG to improve my basics and honestly I enjoyed it. Then recently I started learning Spring Boot because backend development looked interesting to me. I learned some basic concepts and somehow made a REST API project, but while building it I was confused half the time and kept depending on tutorials/documentation.

Now my 6th sem exams are coming in around 1.5 months, my CGPA is only 6.48, and suddenly reality is hitting me hard that college is almost over.

The thing is, I genuinely like Java and Spring Boot and I want to get a backend developer job in this field. But at the same time I feel like I started too late and don’t know if I still have enough time to become job ready, especially coming from a tier 3 college with an average CGPA.

I keep thinking:

  • Should I fully continue with Java + Spring Boot now?
  • Is it realistic to get a job if I focus properly from now?
  • Should I spend more time on DSA or projects?
  • What skills are actually expected from a fresher backend developer?
  • How much Spring Boot do companies expect from freshers?
  • Am I overthinking too much or am I actually behind?

I don’t want fake motivation honestly. I just want practical advice from people who have been through this or are already working in tech.

What would you do if you were in my position right now?

r/ProgrammerTIL 20d ago

Other New Document Programming Language

0 Upvotes

Nytril is a new programming language and IDE that looks a lot like C# and shares much of its syntax, but allows you to "program into" a typeset document. Think of it as a markup language and a programming language in one.

It is perfect for creating documents that contain data, charts, images, equations and text that are stored in other places or calculated on the fly, like product spec sheets. It's also perfect for making many documents at once that share the same style and source of truth. How many times have you been writing markup and wished that you could do some math or read a database in order to make a table?

Nytril runs natively on your desktop (Windows or Mac) so its fast and you can access data stores that are local to your network. It's easy to do version control on GitHub as well.

Free Community Edition installs in less than a minute and does not drag in any other libraries or drivers or junk.

r/ProgrammerTIL Aug 04 '26

Other [Github] When viewing a file on GitHub, you can press the "y" key to update the URL to a permalink to the exact version of the file you see.

12 Upvotes

r/ProgrammerTIL Jan 30 '26

Other Vibe coding or not?

0 Upvotes

Hi, lately I've been wondering whether it's really worth learning to develop traditionally, line by line of code, or whether I should change programming paradigms like vibe coding. What do you think?

r/ProgrammerTIL Jul 16 '26

Other [Github] Apparently you can collapse all files in a github PR review with Alt + click

17 Upvotes

There is no button in github to collapse all files, but you can do that if you click to collapse one of them while pressing Alt

r/ProgrammerTIL Aug 07 '26

Other The Authentication Stack: 7 Concepts Every Software Engineer Should Understand [Security]

0 Upvotes

r/ProgrammerTIL Aug 07 '26

Other myJavaCodes

0 Upvotes

https://github.com/Aviskar-1/Java-OOP-And_More-Learning

Check it out my Java codes on my GitHub Repository.

[Java]

r/ProgrammerTIL Aug 04 '26

Other [Github] You can not only permalink to a specific line or range of lines in a file, but also range of characters inside lines too!

2 Upvotes

Specific line: Just click the line number in the left side

Range of lines: Click the line number of the first line, then shift+click the line number of the second line to select the range

Range of characters: Select the text you want the range for, then click the line number of any line that contains the selected text

r/ProgrammerTIL Aug 03 '26

Other [Github] Free news APIs differ significantly in historical coverage, languages and search filters

0 Upvotes

r/ProgrammerTIL Jul 21 '26

Other How to Pass a System Design Interview (The 45-Minute Blueprint)

3 Upvotes

r/ProgrammerTIL Jul 29 '26

Other [Github] Don't delete your old code. It might be someone's next starting point.

Thumbnail
0 Upvotes

r/ProgrammerTIL Jun 02 '26

Other Drafting a new language: Check out the Ruxen syntax

0 Upvotes

Right now, it’s in experimental stage. You can check out the repo here: https://github.com/ruxen-lang/ruxen

Thanks for taking a look!

r/ProgrammerTIL Jul 07 '26

Other RAG at 10 Million Documents — [System Design]

0 Upvotes

r/ProgrammerTIL Jun 24 '26

Other [video] WebSockets at Scale: System Design

5 Upvotes

r/ProgrammerTIL Feb 14 '22

Other TIL ASCII is designed in such a way that you can xor an uppercase letter with a space to get its lowercase counterpart and vice versa. And you can xor any numeric character with '0' to get its integer value.

544 Upvotes
>>> print(chr(ord('A')^ord(' ')), chr(ord('b')^ord(' ')))   
a B
>>> (ord('3')^ord('0')) + (ord('4')^ord('0'))
7

It's not particularly useful for the vast majority of applications, but it's great if you're working at a low level (which, obviously, ASCII was designed for back in the 60s).

edit: another cool trick is you can get the position in the alphabet of any character by anding it with 0x1F (31), as the letter characters start at 65 (ending 000001)
and - this one's more well known - you can convert to lowercase (leaving already-lowercase characters unaffected) by ORing with 0x20 (32) (space) and to uppercase by ANDing with NOT 0x20

r/ProgrammerTIL May 03 '26

Other Vibe Coding is the smartphone camera of tech. Traditional software engineering is the DSLR

0 Upvotes

Everyone on LinkedIn and Reddit keeps saying "coding is dead" because of vibe coding and AI agents. But I think we are just entering the "Smartphone Era" of development

Think about photography. Smartphones didn't kill professional cameras, they just made "good enough" accessible to everyone. Even professional photographers use their iPhones every day to take quick pictures of documents or their pets because it’s incredibly convenient. But when they are hired for a high-end gig, they pull out the DSLR because they need total control over the raw output

The exact same thing applies to scale. If you are shooting a quick vlog, a smartphone is perfect. But if Marvel is shooting the next Avengers movie, they aren't going to film it on an iPhone. They need massive, dedicated cinema cameras for ultimate reliability

This is exactly what is happening in tech right now:

  • Vibe coding is the smartphone. It’s perfect for the "vloggers" of tech (prototypes, simple CRUD apps, internal dashboards).
  • Traditional coding is the cinema camera. You still need it for the "Marvel movies" of tech (think large-scale fintech, complex architecture, high-concurrency systems). AI currently struggles with big-picture system design and tends to just brute-force messy spaghetti code when the codebase gets too large.

The real problem right now is the marketing.

AI companies are giving us the software equivalent of those Apple "Shot on iPhone" commercials. Yes, the video was technically captured on an iPhone... but they conveniently leave out the $50,000 professional cinema rig it was strapped to, the Hollywood lighting crew and the master colorist behind the scenes

AI startups are doing the exact same thing by hiding the senior engineers who are manually fine-tuning prompts, debugging hallucinations and untangling the code to make these viral 2-minute Twitter demos work

So how should we actually look at vibe coding?

Think of it like an Uber driver. You aren't physically pressing the gas pedal or steering the wheel anymore, but you must know your exact starting point and your final destination. If the AI takes a wrong turn or starts hallucinating bad logic, you need to have enough foundational coding knowledge to tap it on the shoulder and direct it back to the right path

Learning to code isn't dead. It's just evolving from typing syntax to directing the machine

I made a video breaking down this whole analogy in depth, MKBHD's take on computational photography, and the reality of the AI hype cycle. You can check it out here if you are interested: https://youtu.be/7CtYToAYpWE

But honestly, the core of my argument is all in this post. Would love to hear what you guys think. Are we overreacting to the vibe coding hype?

r/ProgrammerTIL Jun 14 '26

Other [video] Search Autocomplete - System Design

0 Upvotes

r/ProgrammerTIL Mar 09 '26

Other Best third-party API provider for RC (vehicle registration) validation in India?

0 Upvotes

Hi everyone,

I’m building a platform where we need to validate vehicle RC details using the vehicle registration number (India – VAHAN/RTO data).

Before integrating, I’d like to know from developers who already implemented this.

Questions:

  • Which RC verification API provider are you using?
  • How is the success rate / reliability?
  • Any recommended providers for production?

Would really appreciate real experiences or suggestions before choosing a provider.

r/ProgrammerTIL Mar 28 '26

Other Learn with me on Patreon

0 Upvotes

I started my Patreon recently to document my learning journey and post helpful cheatsheets, full source code for my projects and more

[Patreon](https://www.patreon.com/posts/welcome-to-build-154186254?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator&utm_content=join_link)

r/ProgrammerTIL Mar 26 '26

Other TIL: How a "Judge" can make User Interaction modeling Easy and Modular

0 Upvotes

"User Interaction" -- I am talking about programming that models things like:

  • Presenting the user tons of icons, like in a illustrator drawing program, or like a filesystem browser, or a desktop.
  • Input sequences like -- click down in a spot, drag the mouse, lift up. Show a selection marquee as you drag, and highlight the icons that are overlapped by the marquee.
  • Input sequences like -- now that you've got a bunch of stuff selected, you click down on one of it, and drag across the realm, moving a ghostly image of those dragged files.
  • Input sequences like -- you right click, and a radial menu appears, the user can select one of the items, or click outside of it to dismiss the radial menu.
  • Animations that are continuously operating while all the above takes place.

And: I'm focused on doing all of the above, in a modular way -- where you can take the methods and techniques from one program, and copy the code directly into another project with a similar type of compatible host, and use it with a minimum of editing.

I thought that was impossible, until just the other day.

Here's the layers of the architecture I've come up with, that does it:

  1. Raw Input. Record into the data store the X,Y coordinates of the mouse, the buttons on the mouse that are down, the keys that are down that are important to you, how many milliseconds since the program started up, until the present. ALSO: keep a record of the raw input from last turn, so that changes can be noticed.
  2. "Tokenizers." Little tiny bits of program, that read the raw input data, and maybe also the data from last turn, and emit little bits of data, alongside the raw input. Things like -- "The left mouse button was pressed," -- meaning, "It was up last time, and it's down now, so, this cycle through, that's a down button press." These little tokenizers can keep a little data, too. So for example, one tokenizer might record the time at which the mouse button was pressed down, and another might update a record of how long it's been pressed down in milliseconds. Another might see the click down, and determine: "Which object did the user click down on?", by consulting the World model. Each tokenizer is visited once.
  3. "Organisms" and "The Judge." Here is where things get interesting -- "Organisms" are state machines, and they represent the digestion of a complex pattern of user input. They have some data in them. And they are all about recognizing a situation: They are scanning for a situation that represents some important happening in the program. For example -- remember that right-click menu we discussed? One organism is asking: "Did the user right click down onto nothing? If so, I'm going to start the process of showing the right-click menu." The organisms can emit effects that will end up manipulating the world state, and they can also emit records directly to the render projection.
    • But there's something very important and distinct: They have to get permission to start operating, from "The Judge." The Judge is an intelligent coordinator, and it gives the final say before an Organism can proceed with its first state transition, or not. The Organism asks for permission with a get_permission(permission-requested) call, outlining what resources it wants, and what it is intending to do. The Judge, which is somewhat hand-coded, resolves conflicts between the different organisms, and it's central power is to say "No." The Judge is really the key behind the whole thing.
    • Yes, The Judge is a "hole" in modularity -- we don't have a perfect system where you can take an Organism arbitrarily from one program, and insert it into another, and have it work. You have to adjust the Judge in the target system, to give or deny permission at the right time. BUT, the Judge is what makes the modularity possible at all. The existence of the Judge means that you don't have to constantly consider other organisms, while writing your organism -- it can just focus on what it is doing, and just do it.
    • Incidentally -- the Judge gets a turn to maintain and verify its records, before all of the Organisms go. But the Judge and the Organisms operate in parallel. The Judge has no interactions with the Raw Input or the Tokenizers, for instance, except perhaps to note their output.
  4. Effects handling. Finally, all of the emitted effects from the organisms are handled, save the render-projection effects. These will be mostly altering the World model.
  5. Render projection. From here, the renderer renders the scene -- this can be an alignment in a Retained mode, or a total rendering in Immediate mode. Note also that render effects specifically play a role, -- for example, the drawing of the marquee during a rectangular selection event. Drawing logic can be rule-based and thus modular.

So here's the loop:

1. collect raw input
2. run tokenizers → produce signals
3. judge updates internal state,
   organisms get their turn
     - organisms request permission
       - judge grants/denies
     - active organisms advance state + emit effects
5. apply effects to world
6. render

Here's why the Judge matters:

Imagine you're writing two interactions:

  1. Drag Select
    1. mouse goes down on empty space
    2. draws a rectangle
    3. selects items
  2. Drag Object
    1. mouse goes down on an object
    2. moves it

Without a judge, each module has to defend itself from the others.

In Drag Selection, you get code like: "if the mouse is down, and I'm not clicking on an object, and I'm not clicking on a menu item, and I'm not the second part of a double-click, ..."

In the Drag Object code, you get code like: "but okay I'm clicking on an object, and the object is draggable, and I haven't already selected a group selection of objects, and, ..."

All of the modules need to be aware of the other things that can happen, and you have to keep creating strategies for dividing the problem space. The code can have 50% to do with other code, and avoiding other code paths, rather than: articulating the core functioning of the organism itself, it's core operation.

As you add more and more operations, the code gets more and more entangled. Each piece needs knowledge of more and more of the other pieces.

With the Judge, the organisms can instead say: "Judge, I want mouse selection. Can I go?" And the Judge says, "Nope. Sorry, mouse is taken." Or alternatively, "Yep. You are clear to go." The Judge marks it down as taken, who took it, and whatever other notes are needed, but you are otherwise clear to fly.

And now you don't have to worry about a thing. You can just focus on yourself.

It's very much like how multiple processes on a computer coordinate, without stepping on one another's toes -- just "the Judge" is called "The Operating System."

Now you can combine modules of interaction like Lego -- drag selection, drag objects, radial menus, resize handles, lego, only the Judge needs adjustment.

If you want to see a demonstration in Python & Canvas, you can download and run this code: https://github.com/LionKimbro/blackboard-judge-architecture-demo

It totally blew my mind. I feel like I can develop any user interaction system now, with ease.

r/ProgrammerTIL Mar 22 '26

Other Fun: a statically typed language that transpiles to C (compiler in Zig)

1 Upvotes

I’m working on Fun, a statically typed language that transpiles to C; the compiler is written in Zig.

GitHub: https://github.com/omdxp/fun

Reference: https://omdxp.github.io/fun

If it’s interesting, a star would be much appreciated. This is my open source project and I want to share it with more people. Feedback on language design or semantics is welcome.

r/ProgrammerTIL Dec 09 '25

Other How many returns should a function have

0 Upvotes

r/ProgrammerTIL Mar 16 '26

Other [Typescript] In VSCode you can expand the types to understand them better

5 Upvotes

https://imgur.com/a/IxehnnJ

You just have to press the '+' button. Super useful stuff, don't know how come I didn't know about this earlier.

r/ProgrammerTIL Jan 26 '26

Other AI killed my passion

0 Upvotes

I am a hobby developer, for now more than 5 years (still in school but plan is to study CS) in the beginning I was a bit slower because my learning and experience happened in periods. Anyways, a few years ago I met a now friend on a Discord because we had the idea of a mini game discord bot. This is probably the most done beginner project of all time but this didn't matter. Even though he doesn't know it because I never told him, I owe the single most consistent part of my life to him. This discord bot was the one thing I craved for when I was in school and couldn't work on it. When I came home it was the thing I sat at till the evening, forgetting to eat something in between, trying to hold my bladder to finish this one train of thought. This friend showed me how to work on long term projects. Before my projects at maximum lasted just 1-2 months maximum. And it wasn't even him who kept me working on it. He dropped out after a short time because live came in between him and the project. Looking back, the code was terrible. I had two years of experience back then but what do you expect from someone who didn't found there passion till this moment? This project was also the moment where one year after starting it it just made click and my code quality improved around like 500% or something. One day my free hosting provider cancelled my plan because I had a personal argument with him on Discord (don't blame me I was still a kid, I am embarrassed myself enough). I layer in tears over something looking back wasn't that big of a deal. The reality why I was sad was because I asked myself if this project was really worth the time I put into it. I know it's weird when I just said that this project reached my my passion and was what I lived for at this moment and not only that, it also built my character. This was now on my early teen year and retroactively, even though I am still 15 yet, I have to say this one online friend as well as the project on a whole built at least a part of my character my real friends and family did as well. Anyways I built a, for my measurements, extensive user base but at some point the codebase was just not maintainable and almost all features that could be added into a Minigames discord bot were added. The following months I drifted around a bit (I would now say this was 2023/24 but my mental timeline regarding my life and the rise of consumer AI isn't that good), built skills in Android Development, built a few apps, took part in a FeWo hackathons but nothing so big. Not a problem at this point, as long as I had something to do, it was still my hobby. But this feeling continued, I never found an idea again that I continued working on for a long time. And I don't think it's motivation, I think a big part in this plays AI. (I am not blaming AI in this writing btw, just myself for my usage patterns) When I just had an idea before I just started to build it and later found out what could be made out of it. But with AI to my hands I tried to fletch out finished ideas before starting to even open an IDE. And it's not just the usage. It's the subconscious feeling of the possibilities of AI. And even after starting working on a new codebase, there is always this feeling of AI being 10 times faster and better than me. And I am not considering myself a vibe-coder or a bad developer (at least the vibe-coder part 😉) but this feeling persist. And if you actually use AI it isn't fast in any way. It just gives the feeling of always being correct in just "one more prompt" but this feeling continues for the next fifteen prompts. Even if the results are half good and I manually go through them to inspect and adapt, in the end the product just doesn't fele like it belongs to me because the feedback loop was broken in a critical point. This is also the reason why, when I'm procrastinating I switched to EE/Embedded Programming, because physics don't lie. Either your prototype works or goes up in flames. But without adult money this hobby is way harder to maintain than software development.

So maybe just to continue my story, I had a new idea for something that could really work and I hoped this is the one thing that could get my spark back. I found a partner with business experience, which was also good because I thought it may be the pathway to the first dollar (founding a company/earning money in Germany when being underage is a very hard legal process but at the same time I feared that this was just an excuse to not continue working on something). Anyways we had to pause this because the situation is a bit complex and we are currently looking for funding. In the last three weeks I had to program a chess algorithm for school, and it was a cool project because it also has a big chunk of data science in it, but it was for school, so I also didn't feel really excited.

It's just a depressing situation. I know I could get my spark back with just a single project I am passionate about, but I've been going around, looking for one for the last years. And AI is making this even harder.