| ▲ | fernandotakai 7 hours ago |
| so, i've gone through a bunch of iterations on how to interview in days of LLMs and i came up with a process that is quite good: first, a coding problem that is solved live (right now, online) -- it's not a hard one and most LLMs can easily one shot it. BUT: if you are not a senior developer, you need to do it without LLM, and if you are a senior+ and do it via LLM, the bar is super raised and now you need to explain in details everything the LLM wrote as if you wrote it yourself. the main component here is to know if the candidate understands coding in general, understands problem solving and how to dive into an existing (although quite small) codebase. solving the problem is not really the goal -- in fact, most candidates we hired did not solve it 100%, but were able to understand and explain everything that they put it on code. this usually takes 1h30. (we also ask the candidate to open a PR against the repo just to see if they know the basics of git -- you would be surprise how many people cannot do it). the second is an architecture interview, where we build a system together BUT instead of doing the whole spec, miro board, whatever, we do it in more of a free way: we start with a really simple, MVP level, spec and we ask how the candidate would build it. then, we add another feature, and we ask how they would go for it. during this whole thing, i ask random questions like "why would you use x instead of y?" or "why do you prefer this approach?". one important thing: we allow the candidate to say "i don't know" and we tell the candidate that there's no gotcha questions (which is true, i hate these kind of questions). this lets the candidate be super comfortable (feedback we had from real people). in general, this flow helped us a ton and i really really like running it :) (edit: spelling) |
|
| ▲ | saghm 6 hours ago | parent | next [-] |
| I feel like git operations are one of the few things that I truly don't care at all about whether someone uses an LLM for and doesn't tell me. PR descriptions and commit messages should be written by humans for humans, but like, if someone doesn't know how to manually configure their git remotes and what exact command to use to amend/squash their commits into the shape needed and instead has an agent prepare all that and use the GitHub CLI to open the PR, why should I care? Beyond the code itself, I care about the things that will continue existing in the long run fitting my team's conventions (the number of commits, the commit messages, the PR description and comments, and then whether there's a merge commit at the end), but the process used to create those things doesn't matter to me. |
| |
| ▲ | syshyk 6 hours ago | parent | next [-] | | Wasn't this a think before_ai? Enough people are using IDEs which handle this for them. I still have to check a few commands now and then. Though ideally interviewers should appreciate this - unless its a hard requirement you do it by hand day to day - the rest of us can look this up quick enough. | | |
| ▲ | saghm 5 hours ago | parent [-] | | At previous jobs, I was the one coworkers would come to when they had messy git problems and needed help cleaning them up. I've put in the hours in the past to learn how to do all of that, and then later forgotten it because it's just not worth it anymore. I switched to jj a few years ago and had the majority of the annoying rebase issues go away, and whatever's left goes into my LLM to spit out a potential solution that I can then manually tweak if the result isn't perfect. My OS professor in college once told us about what he considered the difference between "knowledge" and "information", with "knowledge" being the underlying facts about how something works and "information" being the terminology/labeling/bucketing/etc. of how to refer to it. The point he made was that knowledge was more important than information, and that he would try to test us on knowledge rather than information. To me, knowing how the underlying version control model works and what "shapes" you might want to make with it is useful knowledge. The exact set of commands, interactions with an IDE, or specific prompts you can use to ask an LLM to produce them is information. Arguably the entire benefit of LLMs is that you can ask them to do things even if you don't have the exact information memorized; if you can describe it in a rigorous way, and recognize whether what it gives you as an output fits that or not, you don't need to know any of the actual information of how to do it manually. |
| |
| ▲ | ctkhn 29 minutes ago | parent | prev | next [-] | | I had a coworker a few years ago who was very stuck up and the first place I saw it was his opinions how people should use git. I use the terminal for some stuff and the gui for others, but he was weirdly judgemental about doing anything other than full terminal. | |
| ▲ | astonex 6 hours ago | parent | prev | next [-] | | > but like, if someone doesn't know how to manually configure their git remotes and what exact command to use to amend/squash their commits into the shape needed and instead has an agent prepare all that and use the GitHub CLI to open the PR, why should I care? Because LLMs aren't a reason to not learn your tools. A determinist CLI command vs using a statistical machine for it. It's just a waste of tokens at the very least. | | |
| ▲ | saghm 6 hours ago | parent | next [-] | | No, the reason not to learn your tools is if they're not your tools anymore, and something else is. I don't spend time trying to manually invoke filesystem APIs to create files in my work projects and instead will often just have my LSP do it when I declare a module and the file isn't found. I could memorize the exact sequence of system calls needed, but my employer would prefer I spend time on things that are more worthwhile to them. I don't disagree that having a deterministic CLI is useful, but I'd argue that's not the question here, because the CLI is what the statistical machine will be using. The question is whether the time spent doing it manually is worthwhile compared to the tokens spent on it. I'd further argue that if you instead learn how to pick the right model for the right job so that you don't use something way more expensive than needed for the task at hand, the token overhead will be extremely minimal for stuff like git operations; knowing that you can use something cheaper than like, Astra or Opus if all you want to do is a quick git cleanup and push is going to save your employer a lot more money in the long run than if you insist on doing every messy rebase by hand. | | |
| ▲ | nightdeployboy 5 hours ago | parent [-] | | While using LLMs is a great idea, it has become crucial to put safeguards in place to ensure that their use doesn't deviate from team practices or compromise security. | | |
| ▲ | saghm 4 hours ago | parent [-] | | I'd argue that these are not really specific to git (or even LLMs honestly); in terms of security, don't put company data into anything that your company hasn't given you explicit permission to put it into. In terms of team practices, that basically seems like a code review thing. If my team has conventions around git, and a PR doesn't fit them, that's something I would point out regardless of how the PR was generated. If a team member is repeatedly not meeting the expectations we've all agreed upon, I would deal with it in the same way I always have; reach out and offer guidance for how to do things the way they're supposed to, notify my manager if they continue having trouble with it, and eventually just not bother looking at their PRs if they absolutely refuse to do things the way everyone else on the team has agreed they should be done. |
|
| |
| ▲ | bawolff 5 hours ago | parent | prev | next [-] | | In the before time, this is the sort of thing people would just google. One time setup commands are the sort of thing people do once when setting up the repo, but dont use day to day. its understandable that people dont have that memorized and will reach for a man page, google or an AI. | |
| ▲ | tempfile 6 hours ago | parent | prev | next [-] | | I happen to have memorised how to add new remotes a long time ago, but I would 100% not care if someone I worked with googled it every time. That's how it was for me for several years. I don't think that has anything to do with "learning the tools". And getting claude to do it is not that much different from copy-pasting from google. | | |
| ▲ | wtetzner 6 hours ago | parent [-] | | TBH I usually just search my shell history for the last time I added a remote and edit it. | | |
| ▲ | saghm 4 hours ago | parent [-] | | It's also not particularly hard to write a shell function to avoid needing to care about the syntax, e.g.: add_github_remote() {
git remote add $1 git@github.com:$2/$3.git
}
|
|
| |
| ▲ | marssaxman 3 hours ago | parent | prev | next [-] | | Tokens are cheaper than brain power. Why waste my time trying to recall the details of git's byzantine, ill-begotten command line interface when I can delegate that boring task to a robot? | |
| ▲ | sokoloff 6 hours ago | parent | prev [-] | | > It's just a waste of tokens at the very least. Some 6-figure per year developer spending a quarter’s worth of tokens to do something they do once a month or so is not something I’ll ever care to optimize away… |
| |
| ▲ | nunez an hour ago | parent | prev | next [-] | | what happens when there's a massive merge conflict that requires human review? Git is an essential tool; not knowing how a key tool works is dangerous IMO | | |
| ▲ | saghm 8 minutes ago | parent | next [-] | | I think that actual direct knowledge about how git merges things and what ends up surfacing as "conflicts" as a result of that is not particularly well understood by quite a large number of people who in practice do not have any trouble using git every day. Moreover, there's nothing specific to git in terms of reviewing code, which is fundamentally what you get from the result of fixing conflicts; once the conflicts are all resolved, there's a diff from the old state (pre-merge) to the new state, and you already should be reviewing it to see if it's what you want even if there were never any conflicts. | |
| ▲ | jvidalv 27 minutes ago | parent | prev | next [-] | | LLMs solves them great. So who cares? At most it will ask for a few guidelines on what takes priority, but no one is using git directly anymore. I have not run a single git command in like the entire 2026. | |
| ▲ | a34729t 41 minutes ago | parent | prev | next [-] | | Yeah, I feel like knowing how to use tools is one of the key smells for finding good engineers. | |
| ▲ | rsoto2 an hour ago | parent | prev [-] | | just ask the agent "no mistakes" /s |
| |
| ▲ | philpem 5 hours ago | parent | prev [-] | | That's pretty much where I'm at, so long as they're not filling the code with "///CLAUDE ADDITION" type guards (ie noise). Personally I ask the LLM to summarise what the commit does and explain it to me, make sure I understand it, then review the PR. I'm getting half the speed the High Speed Sloperators are getting but I was the only person submitting PRs the other day when the LLM service was down. For nasty multi-way git merges and rebases, it's been a game changer. And of course that's reviewable by doing a delta on the final rebase branch vs. the original branch. With all that said... having to use LLMs at work is making me want to use them less on my own projects. | | |
| ▲ | saghm 4 hours ago | parent [-] | | Oh, I was not even attempting to discuss using them for the code itself in my above comment. Code that's checked into a repo has a much more complex set of tradeoffs that I'm much less convinced have a one-size-fits-all answer. My point was more that even if reasonable people can disagree on how much you need to care about the code itself being LLM generated, I can't wrap my head around why anyone should care whether an LLM happened to execute the `git commit` and `git push` shell commands! |
|
|
|
| ▲ | Insimwytim 5 hours ago | parent | prev | next [-] |
| we also ask the candidate to open a PR against the repo just to see if they know the basics of git
That's the basics of Github, not git.A candidate may be able to open a PR and not be able to make a commit without an IDE. Another candidate might know plenty of git, but haven't worked with Github. |
| |
| ▲ | labcomputer 4 hours ago | parent | next [-] | | But, like... wouldn't you want them to at least know the steps of `git add` -> `git commit` -> `git push` and then click the button on Github? And Gitlab has basically the same web UI. I have no problem with letting an IDE or LLM handle those details in practice... but I don't think I'd want to work with someone who doesn't understand the very basics of what's going on under the hood. | | |
| ▲ | medler an hour ago | parent | next [-] | | Years ago I was the “git expert” on my team, the person you went to when you got into trouble. But I have long since moved to jj, and I basically don’t remember git commands anymore. I also don’t use GitHub much, so when I need to open a PR I prompt an LLM to do it for me. | |
| ▲ | pdonis an hour ago | parent | prev [-] | | > wouldn't you want them to at least know the steps of `git add` -> `git commit` -> `git push` The GP said "open a PR", not "make a commit and push it to a remote". |
| |
| ▲ | SoftTalker 4 hours ago | parent | prev [-] | | > might know plenty of git, but haven't worked with Github That seems very unlikely. Github is the entire reason git is so popular, vs. any of the other distributed VC systems. Edit: I'll refine that, after a moment of thought. Git is popular because of Github. But, I guess that now maybe there are people who are using git because it's the popular/default version control choice, but they might not be using Github. They might be using another forge, something homegrown, or just manual builds. | | |
| ▲ | dearing 4 hours ago | parent [-] | | You got dinged but it's a learning opportunity: Github was like Yahoo's directory, a way to share content in a searchable place and as a backup/bounce point. In the early days you could also upload to 'downloads' so it was a quick share host. Before that we had email, exposed ssh and cgit/gitweb but Github gave us `PR` to promote social interactions with forking. So it could be argued that Github tainted the spirit of git. Having personally evolved from making date stamped zip files, to subversion and then to git, it earned its place quite quickly for myself and my roaming nature, didn't hurt who hacked it together either. When Linux adopted it from Bitkeeper, it became the way for many. |
|
|
|
| ▲ | bluGill 5 hours ago | parent | prev | next [-] |
| Git is a simple tool. I expect any engineer can learn to use it. While git is common, I would not expect an engineer who worked at a company using a different version control system to know how to use git (which is a really awful - I still miss mercurial). I expect you to know the general concept of version control, but the specific on is a tool I expect you can learn quickly. |
| |
| ▲ | gosub100 2 hours ago | parent [-] | | There is nothing simple about git. 'ls' is a simple tool. git is probably the most complicated console command (in widespread use) I have ever used, although I'm open to other examples | | |
| ▲ | nunez an hour ago | parent | next [-] | | not for 95% of what people will use it for IMO initializing a repo, staging files, adding them to the changeset, commiting then pushing those changes are easy to do. solving merge conflicts is a little complicated but IDEs make that much easier to do. | |
| ▲ | fragmede an hour ago | parent | prev [-] | | It is not simple like a hammer, but imo the bar for being a software engineer is being intelligent enough to be able to understand it well enough to do things with it, since it is a tool of the trade. | | |
| ▲ | medler an hour ago | parent [-] | | jj is far simpler and more powerful at the same time. There is absolutely no reason anyone should waste time learning git in 2026 | | |
|
|
|
|
| ▲ | skinfaxi 5 hours ago | parent | prev | next [-] |
| > (we also ask the candidate to open a PR against the repo just to see if they know the basics of git -- you would be surprise how many people cannot do it). How does that work? Git has no concept of pull requests. |
| |
| ▲ | robkeane 2 hours ago | parent [-] | | Extremely funny for OP to advertise this gotcha style question that's built on a misunderstanding of the tools Doesn't surprise me at all that many developers can't do this, most professional software development isn't happening on Gitub. |
|
|
| ▲ | SkyPuncher 4 hours ago | parent | prev | next [-] |
| I run a live coding challenge on a rather benign coding problem with the explicit expectation that candidates will use an LLM. Interestingly, an LLM involved feels like it’s made it easier to assess candidates. Senior candidates know exactly what they’re doing and strongly driving the LLM. They pre-communicating design decisions, gotchas, and requirements. They also ask a lot of clarifying questions and dial in the scope (after all not building something is better than building it). Less experienced candidates tend to jump right in, build way too much, and stumble because they delegated all of the critical thinking to the agent. They often end up in a place where the agent doesn’t align with their vision and they can’t really reign it back in. |
|
| ▲ | NorthSouthNorth 2 hours ago | parent | prev | next [-] |
| > (we also ask the candidate to open a PR against the repo just to see if they know the basics of git -- you would be surprise how many people cannot do it). Worked with a "super senior", lead architect. Management was raving about the guy before he joined. Insane resume. Skipped the regular interview process because of this. Had to show him how to open a PR and setup his git config so his commits are linked to his account. And then his PR's failed the automated ci checks for descriptions and titles, and he came to me to ask how to fix it. The failing gh action literally says what was broken. This is all with Claude available btw, so one could literally just ask. I guess it's a bit of a modern fizzbuzz. Where it's so simple but still manages to stump a lot of candidates. |
|
| ▲ | xpct 6 hours ago | parent | prev | next [-] |
| > we also ask the candidate to open a PR against the repo just to see if they know the basics of git I've heard this multiple times now and it still boggles my mind that git is something you have to test for. |
| |
| ▲ | cbm-vic-20 6 hours ago | parent | next [-] | | At one job I had, we used git extensively, but not GitHub. We had internal systems for review and branch management. I could tell you all the gory details about various workflows and landmines in git. Is the test here really about git, or git+GitHub? | |
| ▲ | fsnovask 6 hours ago | parent | prev | next [-] | | I rarely use anything beyond checkout, clone, pull, commit, cherry-pick, revert, and push in a job. If I have to, I'm probably asking the AI what to do by giving it my situation. And hopefully the AI can read about whatever git standards the company would like to be enforced so the engineer doesn't have to interrupt someone for that. This is more about opportunity cost because instead of asking about git, you could ask about other valuable skills in your limited time with the interviewee, but I guess if git is really that important, then it's justified. | |
| ▲ | baud147258 6 hours ago | parent | prev | next [-] | | Well, I've been using git at work for 6 or 7 years, but I can't out of hand open a PR; at work we very rarely use different branches and the last time I touched Github I was a student. | | |
| ▲ | tempfile 6 hours ago | parent [-] | | Do you mean specifically Github, or any code forge at all? When you say "we rarely use different branches", what do you mean - you're all pushing to master, or you have branches for each team or something? I would regard "code forge" and "separate branch per reviewable unit of work" as extremely normal, nearly universal. |
| |
| ▲ | fernandotakai 6 hours ago | parent | prev | next [-] | | it's incredibly sad but it's real -- so many senior candidates have problems with commit messages, opening PRs. not even joking: i've seen people with like 10y of experience trying to push to main :( | |
| ▲ | kerenskiy 6 hours ago | parent | prev [-] | | PRs are not only not a basic feature of git - it's not a git feature at all. Though button clicking on GitHub is anyway a crazy thing to test |
|
|
| ▲ | ItsYan 5 hours ago | parent | prev | next [-] |
| How would you prepare for the coding problem as a senior? What are the assumptions that underpin this? |
| |
| ▲ | skydhash an hour ago | parent | next [-] | | Not GP. The trick is to get a good sense of the algorithms associated with basic data structures (list, stack, queue, graph, hashmap,...). They are primitives and almost any standard problem can be solved with those. What you need to train most is the capability to break down problems: Like I have this input (and associated metadata), I have this context (may be null), I have those constraints (values, ranges, memory space, time, both, or neither), and I need these outputs. Then it's just a puzzle. I no longer prepare for coding problems other than a quick refresh of the syntax of the main language. And if it's a whiteboard type of things, I go with pseudocode. | |
| ▲ | fernandotakai 3 hours ago | parent | prev [-] | | honestly, for a senior, the coding challenge is just a checkbox -- because they can use llms, the main thing is making sure whatever code they accept, they can explain from top to bottom. the coding challenge itself is just a way to make sure that people can understand a request within an existing codebase. as an example, i pay attention to the questions the candidate asks -- questions asked always mean something. my general assumption with seniors are "they can think high level", which means i "mark them" with that assumption, so for me, the architecture talk is much more important. at the end of the day, you need to understand what your org needs and adapt. |
|
|
| ▲ | jasonlotito 6 hours ago | parent | prev | next [-] |
| Something similar for senior devs: code reviews. Reading and understanding code has always been important. I find offering simple code reviews very telling. In a way, your LLM approach matches that. It's a way to do a code review. It's a test of understanding, and not just memorization. |
|
| ▲ | sick_of_slop 6 hours ago | parent | prev [-] |
| [dead] |