This is a non-technical post to encourage people to, for once, not read a blog or watch a Pluralsight movie, but to write code. I read and watch stuff on coding a lot, but the reason I do is because I want to code. And now and then, you should code.
You'll find you'll learn more from mucking about, getting stuck, and then finally finishing a feature, than from only learning/reading/watching the theory.
I've given up in part on going to user group sessions. Unless something is very interesting, I've found most (in Belgium) are mainly introductory. This can be good the first time, but after several sessions (for example, on Windows 8), I found they mostly repeated what I had already seen in previous session, or had already read about.
This year, I promised myself I wouldn't go to user group sessions, unless the speaker was good or it was a subject I didn't know much about. Instead, I would set aside dates/evenings where I would code something entirely for myself. The idea was to actually build something instead of reading/hearing about it. Instead of reading about how to write a Windows 8 app, I would write one myself. Of course, you need to start somewhere (and I'd recommend Pluralsight!) but I wanted to get my hands dirty.
It became a (small) Windows Phone app. I had something small lying around and decided to finish it and see from there. This learnt me several things about Windows Phone:
- navigating from one page to another
- several controls in Windows Phone
- how to open the Rate & Review screen
- how the publish process worksresources and localization
- how cool it is to see your app is actually being used/downloaded/reviewed
Also, it's quite cool to see reviews coming in, and downloads tallying up. Even with only 4-5 reviews, I've seen almost 1000 downloads. Granted, my app is so humble a lot of people will probably uninstall it quickly, but the pride of finishing something and having it published remains.
I'm working on another Windows Phone app now and have already learnt about sharing, the camera, the Photos hub, the media library, page orientations, Twitter integration,... All things I wouldn't have learnt from the basic tutorials and I'll remember them better because it took me a while to find a solution and I coded it myself.
I'm now looking at Android development and plan to have a shot at getting an app published later (once again, I do start with videos/blogs, but the goal is coding myself). Whether it's an app, a desktop application, a website or a service, I recommend you code something yourself and try to finish it. Even finishing something is educational. How often do we start something to learn about it, only to lose interest later. By pushing through, you learn the process of finalizing the details and debugging small bugs. Often, this can be less fun than the start where you hack something together. But it's worth it.
When you see the final product (and think about new features to add, hopefuly based on users feedback), you'll have learnt a lot and be proud. You should be! Even if your app doesn't do much or isn't used a lot. You actually built something, which couldn't be said at the time you were still only reading blogs and watching videos.