Monthly Archives: March 2014
It’s been almost a year since I heard Pete Goodliffe give his talk on becoming a better programmer at the ACCU Conference. And I thought it was time to have some sort of review of the year since then.
So what has changed since then? Well…
I have managed to expand my knowledge of C++ by quite a bit, I know I’ve not put all that much code up on here, the reason is I fear that the stuff I’m learning is so basic that I was worried people would think “He doesn’t know that????” However I plan to post more on here this year. That’s a promise.
But on the other hand, I’m not the C++11 guy on my team at work at the moment, and I am playing around with the new compiler quite a lot. I’ve also learned a lot of the new features, and how they work. And in a few weeks I will be giving my first ever technical talk. This time last year, I could imagine giving a technical talk.
Diversify – using the right tools as well…
I had a need recently to write something that would look at a log and grab the last ten minutes of the log, then send that onwards to an auditing service. And naturally, I went straight to designing the thing in C++. However I sound learned that it’s important to use the right language for the right job.
So I was going to write it in Perl until my team leader told me that we don’t do Perl on the team, but that I should look at Python as that’s the scripting language of choice. I will be honest, I tried Python a number of years ago, and didn’t really get on with it, so I approached it with a bit of apprehension.
However I found that after just two days, I’d pretty much written the utility from zero knowledge. Python is an insanely easy language to pick up, and there’s plenty of information out there as well. And I’ll be honest, I’m hooked. And an additional benefit is that I’ve achieved one of my aims for 2014, to code in another language.
But more importantly, I learned that you should use the right tool for the right job.
So for 2014 I’ve also taken up C# as I’m looking to write apps for Windows Phone operating system, more details about that will follow sooner or later I’m sure.
So I’ve been using Udemy to watch a series of videos by Paul Dietel on the Fundamentals of C++. And I was stunned at how much I knew. Those who know me well enough will know that I have always struggled in believing in my abilities as a programmer. However in terms of C++ at least, I know a fair bit. But I also know I have a LOT still to learn!
But no longer do I have the attitude of “I can’t do this”. I am far more likely now to step back and have a think, and within a few minutes come up with the answer I’ve been looking for.
Practice, Practice, Practice, and being active in the community.
One of the things I’ve done a LOT more of this year, is going to websites like cyber-dojo and coderbyte and do the puzzles on there. I’ve found that my logical thought processes have improved, and my programming abilities have improved too.
I’ve also become a bit more active on Stack Overflow (username Welshboy) and trying to give back to the community where I can.
I’ve also attended more user group meetings. I’ve attended a fair few at ACCU Oxford, and where possible Bristol, but I’ve also become a much more active member of my local .NET user group as well.
I’ll be honest, I’ve not read as many technical books as I’d like this last year. I kept putting down Scott Meyer’s Effective C++ book, no fault of Scott’s I can assure you, but just didn’t pick it up. So for 2014 I’m planning to have read it completely before the end of the year.
On the brighter note though, I’m currently on Chapter 5 of Bjarne Stroustrop’s C++ 11 Programming Language book. And I’m learning a lot through that, there have been things I’ve not seen before in there, so I fire up my editor, and have a go at coding what I see in the book. I’ve learned a great deal just doing that.
I didn’t achieve everything I wanted to over the last year. However I am further down the road than I was at this time last year. I have found I’m quicker on the uptake on a lot of stuff in C++, and I’ve also learned that I shouldn’t be afraid to try different programming languages either.
So what about the year to come? Well that’s the next post I’m working on, which I hope will be up sooner rather than later.
Recently, I was having dinner with a good friend, and we were discussing people we looked up to in our fields. Our heroes so to speak, and he suggested I read a book about Paul Erdos, called The Man Who Loved Only Numbers. So I ordered my copy online, and had a bit of a read.
And it’s a fascinating book, about a fascinating man. I reckon if I got a room of one hundred developers and asked for a show of hands for who has heard of Paul Erdos, I’m not sure how many hands would go up. Certainly when I mentioned him to my programming colleagues their reaction was “Who’s he then?”
I will be honest, I was a bit nervous about reading this, since leaving school, I’ve forgotten all my maths I’m ashamed to say. I enjoyed it at school, but I somehow when through college and University (doing a computer science degree, well Internet Computing) and never did any further maths. And I felt that I wouldn’t understand half of what was going to come up in this book.
However, I was wrong. The author not only made Erdos come across as someone I’d love to have a coffee with, (he was a prolific coffee drinker!) but it also rekindled my dormant mathematical abilities. I suddenly found myself understanding things I’d long since forgotten, such as what a composite number was, (the product of two prime numbers). And it’s got me looking at doing some more mathematics again.
“What’s this got to do with programming?” Well, I quite like doing coding puzzles as I’ve mentioned, and I’ve always shied away from the maths based ones. Now though, I’m not so scared of doing them, as I have a bit more knowledge, and a bit more confidence. It’s also helped how I work as well, I spend a bit more time in thought rather than bashing the keyboard and re-writing code that isn’t right. I still don’t get everything right first time, but I’m not spending as much time re-writing stuff these days.
In short, it’s an excellent book, it made me laugh in places, and it’s infinitely sad in others. I’m finding that reading books from fields that aren’t about programming is actually helping me, as I’m in a battle to keep learning.