Starting something completely new creates a whole load of different feelings. Hesitancy, fear, excitement and definitely for me the sense of being a little overwhelmed by it all (sometimes that's just getting out of bed in the morning).
The only way to keep me going is to try to make sure the positive emotions and benefits outweigh the negative feelings that can come with trying your hand at something new.
You might say I'm a little late to web development at 31. In some ways, I don't know why it took me so long to begin to ponder the mysteries of the internet, how everything fits together, and how the sites I see everyday are created. But life can have a habit of distracting you from interests, especially when you've got a full-time job.
It was only back in 2009 that I picked up a copy of HTML, XHTML and CSS for dummies. I worked through the sections in the title, but when I got to a section on PHP, I got stuck. I wasn't able to work out what was going on with the simple concept of booleans.
I think I just wasn't able to get to a place where the positive emotions and excitement at learning outweighed by negative feelings at feeling intellectually inadequate. I just gave up. So although I was pleased that I'd put together a few static sites with html and css, I hadn't made much progress on learning how to create sites with any functionality.
It was a few years later, in 2011 when the interest in learning more about building sites rose above the other clutter in my brain. I bought a copy of Beginning Ruby(http://beginningruby.org/) by Peter Cooper.
However, I didn't have anything to hang my learnings on, to say 'I want to do this, so what specifically do I need to learn to do that?' Although I was working my way through the book, it wasn't grabbing my interest as much as I'd hoped.
This was absolutely a failing on my part. At the end of a day at work or even during brief bouts of unemployment, I didn't have the drive to always open the book and keep on reading. Again, the sense of being all a bit overwhelmed took over. 'Where am I going with this? What is the point of it all?' Without any real pre-defined goal, it was too easy for me to get distracted to name but one.
Still, although I steamed through lots of the courses, for me there still seemed to be a disconnect between the exercises on Code Academy and sites that I used everyday.
I think overall, the excitement of learning was still tempered by the feeling of separation from any tangible feeling of doing anything worthwhile and getting closer to building something worthwhile.
I think the key point that's been missing from the above is the idea that to keep you learning, you need a project to focus on (I appreciate this may be a trite observation!).
Although I'd had ideas over the years, I think they were perhaps on too grand a scale to make me think they were achievable. I'm not talking about manned missions to Mars here, more sites with a complexity too great for me to even begin to figure out where to start!.
The feeling of actually putting together some basic code and getting it to (eventually) work was incredible, punching-the-air worthy. Of course there was frustration and the negative feelings of sometimes wondering what the hell I was doing even trying to learn, but that was outweighed by the excitement.
On a basic level, I'd got to a place where the positive emotions and feelings of achievement were far outweighing the negativity.
As to my overall progress, I think it's fair to say that excitement at managing to cobble something together can turn into a feeling of apathy as you realise that what you've created isn't particularly complex. Clearly as a person's understanding of a subject increases, what were once mind-blowing discoveries can turn into simplistic concepts which lose their luster, at least in my case.
For example, whereas once I was excited at putting together Routebop, now all I see it as is simplistic manipulation of data using a basic CRUD interface.
Having said that, it's better to be in a position where you're pushing yourself to improve rather than resting on your laurels. To this end, I'm trying to learn more about JS frameworks for the client-side and incorporate libraries such as Caolan's async on the server-side.