3 ms·
> It is extremely rare that someone will be dumped on a codebase without a prior author remaining on to help them ramp up on the code. what? I must be living
by haskellandchill 4y ago
> It is extremely rare that someone will be dumped on a codebase without a prior author remaining on to help them ramp up on the code.
what? I must be living a rare life.
- x86x87 4y agoHahahaha. Most of the times the author has moved on a long time ago.
- filoleg 4y agoYeah, that statement was the only thing that stuck out to me in an, otherwise, pretty good writeup that I mostly agree with. The only times I can think of where the previous author was able to help was either during onboarding (where you are expected to be given smaller-scope tasks with the context of that code being predefined for you) or during work on certain specific singular projects as a team. But at any large big tech company, you are probably gonna be jumping around more than a few different codebases (more often than not, large and being worked on for years), even if you work on a singular team/product. And most of the time, you are expected to figure as much as possible on your own, only reaching out to the people when you get stuck or encounter a specific issue. Other than that, you are expected to be able to build at least a janky proof of concept with as little help as possible. Most of the time, the help I sharply needed was rather targeted and not really related to the code itself overall. It would be something that is kind of extremely difficult to guess on your own without it being explicitly told (aside from docs/code comments), things like "everything looks fine, but I get stuck at this auth step, what's wrong there?" - "oh yeah, you gotta auth as a part of this specific group, so you need to be added to this security group in this config file". I am not trying to say that i am some genius and can get the structure and overall mental model of how a codebase works all on my own easily, only with the specific "gotchas" (like the ones mentioned in a paragraph above) giving me issues. Not at all. The only way I can mentally get a structure of the codebase and how the whole system works and operates (even as a rough/simplified model) is by looking at the design docs/documentation (very helpful, but far from sufficient on its own, more like a supplementary material of variable quality) and, most importantly, making small code changes and debugging the code using breakpoints to see how it all flows and where. Imo, understanding code through debugging and reading a lot into the code is an irreplaceable step for understanding a section of any significantly-sized codebase.
- ticviking 4y agoMost of my major professional achievements involve jumping into code like this, and solving some problem anyhow.