I'm a self-taught web developer with about five years of experience, mostly working on front-end projects. I can usually find solutions when I get stuck, but I still look up basic concepts I learned before and don't always retain every detail for long. Does that mean I'm not really a software developer yet? How much should a developer be expected to remember, compared with being able to understand a problem, research it, and build a working solution? Is the main goal to know the code from memory, or to understand what it does well enough to use and review it responsibly?
5 Answers
Even experienced developers constantly check documentation. Languages, frameworks, libraries, and APIs change, and nobody can retain every detail from every project. Over time, you tend to remember the underlying concepts and the kinds of problems you solved, while the exact syntax fades. That’s completely normal.
You’re a software developer when you intentionally build software. You don’t need a particular degree, job title, or memory for every API and syntax detail. Looking things up is normal; the important part is understanding the problem, choosing a reasonable solution, and being able to explain or maintain what you built.
Being paid to develop software is one practical definition, but it isn’t the only one. People can be developers while building personal or open-source projects too. Employment mainly proves that your skills are valuable in a professional setting; it doesn’t determine whether the work itself counts as software development.
Real projects often make familiar concepts feel unfamiliar because they’re combined into a larger system. That doesn’t mean you forgot how to program. Keep building, revisit the fundamentals periodically, and use documentation as a normal development tool. The ability to investigate and solve problems is a core professional skill.
Focus on fundamentals and understanding rather than memorizing everything. You should know enough to recognize whether generated or copied code is correct, secure, and appropriate, but you don’t need to write every line from memory. If you understand the behavior of functions, data structures, control flow, and basic architecture, you can look up the details as needed.

That helps. As a self-taught developer, I think I’ve been waiting for some imaginary checkpoint before feeling like I’ve earned the title.