I often find that assesement of my abilities varies from day to day, mostly depending on wether I am able to "figure thigns out." It is easy to get discouraged when the simplest (or seemingly simplest) things can take hours to solve. The constant flow of "best practices" and "50 best javscript techniques" etc. etc. further this by making me feel that I am not only stuck, but that I am actively drowning in my own ignorance and lack of skill.
I've been reading the excellent Apprenticeship Patterns, which has sparked me to reflect on the topic of mainting a healthy outlook as a novice developer.
The book presents several patterns for coping with the, at times, overwhelming process of learning development. The two that most challenge me are "Retreat into Competence", and "Create feedback loops".
Retreat into competenece
This is the most challenging because It takes a lot of forethought. I find that I am always pursuing something new in a "path of least resistence" fashion. The result of this is that I give up too easily, and trade a wide range of shallow experiences with languages/libraries for a deep knowledge of one thing.
The challenging part of this is that what I am competent at (at least at this stage) is not a very large, or interesting, list of skills. It's easy to get discouraged because right now my competenece is writing simple jQuery plugins, or node webscrapers.
Create feedback loops
Get feedback on your project as soon as possible; through use of testing, peer review, andd linting tools.
This is a pattern that appeals the most to me, but i've found it to be difficult in my current situation, and pyschologically challenging (it's a vulnerable place to put yourself in).
Drink from a teacup
This is really a regurgitation of AP's "Use the Source" pattern, but i've found it a helpful metaphor in pursuing that pattern. It's far too easy to get overwhelmed by the latest