Developers make all sorts of mistakes. We wouldn’t have debuggers, QA engineers, code review, automated unit testing, and the rest if we were perfect. One mistake many developers make early in their career is applying the label “Junior Developer” to themselves.
Move over, “heartbreak of psoriasis”. For real beginner pain, nothing tops the heartbreak of junioritis. It’s one thing to have someone else tape a joke sign to the back of your shirt that says “Kick me.” It’s quite a different matter entirely to tape it to yourself.
Now, you may be afraid that you lack experience, that’s fine. You’re probably right. But let other people tell you that — don’t negotiate against yourself.
I think Junior Developer is a euphemism that newcomers apply to themselves. What they want to be is “professional”, (paid) but what they are now is “amateur” (which really only means unpaid, but sounds bad). But this is completely unnecessary. The software managers and developers who interview you will figure out your level of competence fast enough. But whether you’re smarter than you realize, dumber than you think, or pretty much on target — don’t give the recruiter an excuse not to introduce you.
I realize that some of this boils down to confidence. You’re worried that you might be hired above your skill-set. Don’t worry about that. Just get the job. You can adjust the fit later. Getting something that’s a bit above your current skill level, after all, is the whole point!
You’re a developer. If you believe it, maybe someone else will, too.