To list the obvious pros: the pay is great… the team is smart, diverse, friendly… the tech will touch many people… the subject is one I’ve been interested in… and the company will be a badge of honor on my resume. Relocation isn’t a problem.
But, I’ve been immersed in 1-off projects for 3+ years now, mostly centered on web, UX, front-end. It seems this new job will be low-level, CS-heavy, and involve major architectural decisions. I have a CS degree and I'm confident that I can learn on the job, but I’m worried that my relative lack of experience in these areas (plus corporate experience in general) will make me a slow starter. Can systems design be picked up over months? Is it easy to adjust to an office when you've never had a meeting or even asked for help for years? The last thing I’d want is to disappoint my team.
I’m also concerned about the policy wrt personal projects. Nothing you code outside work is cleared for public release. Normally this would be a nonstarter, but the rest of the job is so good that I have to consider it. On a pro level, I fear my skills will stagnate if I can’t build cool stuff for others to enjoy. On a personal level, it feels wrong that the company will own my entire output. There’s a chance I’ll feel chronically depressed over it.
Finally, I’m not sure how to switch my thinking from «free indie dev» to «corporate worker». I’m very interested in the job, but I’ve defined myself as a free spirit over the past few years, working out of cafes and building stuff that tickles my fancy. How do I transition without feeling crappy or losing myself?
Have any of you had to deal with these kinds of questions? Would appreciate advice. Thank you.