jump to navigation

Friday Philosophy – If Only I Was As Good a Programmer As I Thought I Was Aged 22 January 29, 2016

Posted by mwidlake in Friday Philosophy, humour, Perceptions, Programming, Uncategorized.
Tags: , ,
trackback

I saw a tweet that made me smile a few days ago:

programmer quote

Like many of you, I started out my working life in IT as a computer programmer. Like some of you, I still am a computer programmer from time to time. I don’t think I’ve had a year of my working life when I did not do either some application development programming or some database infrastructure programming. I am constantly writing small (or not so small) SQL or PL/SQL programs to do what I do in Oracle.

I started programming in school, I did an “O” level in computer studies (the exams we sat in the UK aged 16, up until 1988!), and I was pretty good at the programming as compared to my fellow class mates. My first “real” program played Noughts and Crosses (tic-tac-toe to our American cousins and maybe others) and version 2 was unbeatable. Which at the time I thought was pretty cool.
but Wikipedia now tells me is pretty easy :-). I also remember someone in the year above me unrolling some huge printout of the role-playing game he was writing (you know, the old textual “you have walked into a room where there is a lion, a bar of soap and a chandelier, what do you want to do?” sort of thing) and telling me I would never be able to do it. I just looked at the code and thought: Why have you hard-coded every decision and used all those GOTOs? Some sort of loop and a data block to look up question, answers and consequences would be much smaller and easy to extend? I don’t think he liked me voicing that opinion…

I did not do any programming of any consequence as part of my college course but after that I started work as a computer programmer (sorry “analyst programmer”) in the National Health Service. Again, I seemed better at it than most of those around me, fixing bugs that others had given up on and coding the tricky stuff no one else wanted to touch. And after a year or so, I was convinced I was a programming god!

I wasn’t of course. Part of it was my juvenile, naive ego and the other part was that, fundamentally, many of those around me were bad programmers. Anybody decent either did not join in the first place or got a better job elsewhere that paid more than the NHS did. I eventually did that myself and joined Oracle. Where I realised that (a) SQL confused the hell out of me and (b) when I started using PL/SQL there were plenty of people around me who were better at traditional programming than I.

I think it took me about a year to feel I was damned good at both of them. Guess what? I was wrong. I was simply competent. But after a year or two more I did two things that, for me, finally did make me into a good programmer:

  • I went contracting so I worked in a lot of places, saw a lot more examples of good and bad code and I met a lot more programmers.
  • I think I hit mental puberty and woke up to the fact that I needed to listen and learn more.

Since then, I think my own opinion of my coding skills has generally dropped year on year, even though I would like to think I continue to get better at actually constructing computer programs and suites of programs.

So yes, I wish I was as good a programmer now as I thought I was aged 22. And after 25 years at it (actually, pretty much 35 years at it on and off!) just like Rich Rogers (or is it John D Cook? I can’t quite decide if it is a quotation or not) I think I am finally getting moderately good at writing programs. If I continue to follow this trend, on my 65th birthday I will be convinced I can’t program for toffee and yet will finally be a Good Programmer.

I wonder if  anyone would still employ me to do it by then?

Advertisements

Comments»

1. David Harper - January 29, 2016

I’m guessing you’re familiar with Peter Norvig’s essay “Teach Yourself Programming in Ten Years”?

http://www.norvig.com/21-days.html

I suspect that the reason why this principle holds true is that we actually learn by making mistakes. Lots of mistakes. And it takes time to make enough mistakes that we can start avoiding the most egregious ones.

2. jgarry - January 29, 2016

I was definitely better with about 5 years in than I am now. I just can’t (or have become too lazy to) focus like I used to.

Watching my 14yo take his first programming class is entertaining.

3. Auditor Sue - January 29, 2016

I honestly don’t care about the programming, just impressed at the correct use of quotation!

4. Noons - January 30, 2016

Am I the only person who actually took formal IT programming, design and analysis courses as part of my professional training? Lessee:
Since 1973: at NCR, NEAT/3 and ANSI-COBOL,
University (Electrical Engineering), Fortran-IV and APL,
IBM, 360/370-Assembler (all in Europe),
Sperry/Univac for Codasyl DBMS and HVTIP plus Database Design (logical and physical) in Europe, MACRO and 1100-60 Series Assembler in Australia,
Prime Computer for PDP, PLP and Unix OS and shell scripting plus more Codasyl DBMS and initial Oracle SQL,
Oracle itself, SQL and PL/SQL,
University of Technology Sydney for Windows Scripting Host and Administration,
Various local instruction companies for C, C++ and Java.
On my own: Linux, Bash, Javascript, DHTML and CSS
And finally last year, ITIL certification although I’ll accept that is not specifically language related.
Haven’t stopped yet and hope to never stop – despite what some might wish.
But I must admit I’m now getting more and more selective on where and what I train in.
I still have to go through all the analytics stuff Connor is putting out in youtube and catch up on PL/SQL with Steven Feuerstein’s videos as well.
Is there no end to this? I hope not!

mwidlake - January 30, 2016

Wow, that’s a whole different topic Noons. And an interesting one – how many of us have had any formal IT training in the last decade or so?

I had a set of courses when I started my first IT role in the NHS, they actually had a pretty good series of multi-day external courses as well as some internal 1-2 day sessions. Oracle UK, way back in the 90’s, had a policy of 10 days training a year for consultants which I made use of. But as a contractor I never went on any courses (I gave a few!). I had manangement training when I was a permie for 6 years and I ran loads of training courses but any learning I did was me and the books or user group stuff.

Noons - January 31, 2016

Indeed. I forgot to add the MSSQL: taken more courses on that in the last 10 years than anything else…
(I guess it shows how much it matters to my life? 😉 )
Training used to be a mandatory and inclusive part of anyone’s job who worked in a software or hardware maker, back in the 70s, 80s and most of the 90s. I gave my fair share of courses as a consultant back then as well, but always made a point of taking additional formal training evert year.
Nowadays, I think they all expect folks to do that on their own or come already trained. I guess that ‘s part of the reason there are so few new faces around (linking back to another post of yours on that subject a few weeks ago). I and most of those from my crop took IT training as a given and that was part and parcel of the attraction of working for a manufacturer.
In the last 10 years or so it’s become almost an unwritten rule: no one provides any training as an intrinsic part of the job: it’s all supposed to happen by magic…
I’m lucky that in the place I work for we have a very clear training policy: every year we must take a course on something related to our jobs, be it technical or managerial. Paid for by the company, internal or external training our choice.
A big part of the reason why I’m still a permie here!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: