Going back to the beginnings to get reacquainted with the both the basics (c# fundamentals) and the not-so-basic (SOLID principals).
In the days since the last post, I've taken a new tack. Or gone a little way down a different road. Whilst I've managed to add to my to do list, I've not worked to cross anything off as this week has been all about theory.
Periodically, I like to revisit Bob Tabor's course for beginners in C# on Microsoft Virtual Academy. I do this because it was one of the first I did, back in Starbucks in Staines high street while my kids and the children I was looking after had their thrice weekly 3 hours stint at their playschool. It's not nostalgia that drives this urge by any means. It's something I go back to because when I first dipped into it, I was utterly baffled after just a few sessions. I could code-along, he makes it entirely easy to do that, but I didn't know quite why I was doing what I was doing. So this last week, I've made time to go through the sessions once again on operators, working with arrays, string concatenation, classes, methods and querying with LINQ.
It's hard to know whether I have learned anything brand spanking new this time around, but one of the reasons I feel this revision is important is because quite often I find myself without the language to really express my ideas. I know what I want to do and how I'd like something to work but I lack the language to articulate those things. Revision like this reminds me that I'm querying, not looking up and down; that I'm manipulating a string, not squishing some things together.
This also seemed a good time to brush up on my coding concepts. Once again this comes back to language. I can't stress enough that if you lack the language, you lack the ability even to ask the right questions. This time a couple years ago I was filled with terror whenever anyone asked me what I was doing. Terror that I would look like I hadn't a clue how to do my job. In truth, I had half a clue but no one who heard me talk about any of it would have believed that.
About now, I thought it time to read through a handful of articles, one for Java programmers (but still well and truly applicable here), one from FreeCodeCamp and another by our own Emma Garland on the SOLID principals.
From the very beginning of my career, I've been interested in design patterns and clean coding. It's something I said I spoke about with the fantastic Ismail Mayat after his talk on clean code (check out the article on that talk here) - coming at this as a beginner sometimes gives you the ability to step back and find the cleanest solution. When you struggle to write even a few lines of code, you're rarely in danger of over complicating a solution.
So that's been the last few days for me. I've taken notes, none of which are pretty enough to post here, and I feel like I'm coming along a little. Utterly, utterly unsure as to where to go next though. More reading? Or more building? Should I break into my Js tutorials? Or should I go further down this road with c#? All and any suggestions welcomed.
Best to tweet me those suggestions here. I'm yet to build a comments section...