I've quit my job probably about 10 times now. Employers don't care at all how often you change jobs; they all think they're special and so you'll stick around for them... They all think that they're the next unicorn... Funny thing is that if they were actually a unicorn, I would stay.
If my employer is a visionary genius, I make money.
If my employer is a delusional fool, I make money.
6 months is a good amount of time to figure out which one it is.
Your coworkers probably aren't jealous of your inability to stay at a job for more than 6 months.
We basically hire for sections of the codebase. It's pretty common for developers to discover the existence of an area of code that they haven't had to touch before and were unaware of the existence of even years after starting to work here.
We aren't doctors, we just need the skills to figure things out and fix them quickly.
My point was that someone can ramp up quickly on a portion of the system and have a vague idea of other parts of it, but "mastering" it covers too much code to do it in a reasonable time. Each plugin introduces special cases for the data flow, and the plumbing for that ends up running through the whole system.
For reference, the Bible has ~30k verses in it. A verse isn't a line of code, but I'd say mastering the Bible is a good benchmark for equivalent complexity to coding. If anything the Bible is more straightforward than a 2 million line code base.
The people who'd I'd say mastered the core codebase were the people that wrote it. Over the last couple years, they've been laid off one by one, but most of them have been around for 15-18 years already (the prototypes were built around 1998, and I think that the current code descends from stuff written in 1999). I've been around it for about 8 years now, in total. I wrote most of the current build system, a lot of the packaging code, the initial version of two or three of the plugins, and individual features in a few of the others.
The Bible has a distinctly different kind of complexity, though. Social complexity, rather than technical. A line of code has an unambiguous meaning, with other lines of code, the OS, and the underlying hardware providing an unambiguous context. A verse of scripture can have multiple simultaneous meanings, and the context is provided both by surrounding text and by the millennia-old cultures that the verses were written in. I'm not sure how I'd make the comparison.
You don't need to master the whole code base in order to make high quality contributions but you need to be aware of what you don't know and focus your efforts on the parts that you understand really well while learning more about the parts that you don't understand. You can learn as you go throughout for the first 3 months.
If you're already familiar with the framework that the company is using, that's already a big step. Peer review can help as well.
Most good companies have similar coding styles and follow similar practices but they might have different requirements when it comes to testing, security, scalability, Agile/Scrum, etc...
Ooooooh! Yeah, I should have caught that earlier. 6 months now makes a lot more sense.
It would probably be more accurate to say that it's a yellow flag, requiring a bit of explanation but not necessarily a bad thing. I find the pattern of switching every 6 months for (presumably) ~10 years to be pretty extreme and difficult to explain, though. Not to mention exhausting! How many job interviews must that have taken?
No kidding! Here I am complaining about 18-24 month moves and the OP was moving in 1/3rd to 1/4th of the time. Whatever uppers he's taking can't be good for you. Either that or he has the best spouse in history.
Still, honestly, it's a yellow flag. If the guy is good, 6 months may be just fine. But it's a cautious interview I'd think.
I can't imagine wanting to leave just 6 months after starting somewhere.