In my previous job I got to a point where I could do what I needed to and then stopped learning. I’m not proud of that, I stagnated for nearly 2 years churning out the same code over and over. CTRL + C, CTRL + V were my friends, or at least I thought they were, it was quicker (and easier) to copy some code I’d already written for a similar project than it was to rewrite it. I even rolled my own ADO.NET DAL each for each and every project, created the stored procedures, DTOs and classes afresh – I did have 1 helper class, that I’d cribbed way back when I started out and was using a book to guide me, but once I’d written it I didn’t bother to think about it or how it could be improved.
I could try to justify the above by saying that deadlines were very tight and there simply wasn’t time for me to think about creating reusable code, though I’m sure that would have saved me time in the long run and no one would have known what I was doing. But truth is though I started out most projects thinking I’d make a reusable framework, after a few weeks and the boss looming over my shoulder, I abandoned what I was trying to make generic and reusable and concentrated on making it work for this project – there would be other projects where I could work on a framework!
Because I’d stopped reading and learning I wasn’t aware of new approaches or of new ways of solving problems, I was firmly stuck back in 2004-land but the world had moved on, ORMs were on the rise but I didn’t see them coming; Generics, Lambdas, LINQ were all starting to make a name for themselves but I didn’t hear about them because I wasn’t challenging myself to keep learning, I was stagnating and in mortal danger of becoming a relic from another age. Luckily for me I landed another job and they did things in different ways which meant I had to change what I was doing and as I did that I began to be aware of new things, shiny new things that could make my life as a developer easier. When I stared the Summer of NHibernate series I was a bit sceptical of the approach but after the first presentation I realised I’d been wasting my time for the last 18 months writing all that plumbing code the old fashioned way!
If I hadn’t changed my job I would probably still be entrenched in my old ways but I know better now, I know that just because I’ve written a mail handler script doesn’t mean I should not consider how I can make it better in future. I certainly don’t reach for CTRL+C, CTRL+V very much these days. The sad part of this is that stagnation just creeps up on you, you don’t realise you’re stagnating – you’re just doing what you’ve always done and you’re probably getting quicker at doing it because you’ve done it a thousand times before, you’ve worn a rut in your keyboard with the same code over and over again. Worse than that your brain begins to think this is OK, life is easy why fight it. But you’re losing your edge, new techniques come along that can make you even faster or run your code in ever more efficient ways. You think you’re getting faster but the reality is that you’re faster at doing something that might be irrelevant and employers want current skills. Besides it’s part of the job - learning how to do things, isn’t it?
I’d doing a bit of mentoring these days and that’s another good way to keep challenging yourself. I don’t claim to be the greatest developer in the world, I’m not the fastest but I do love what I do and that passion means I don’t see what I do as work, I’m doing what I enjoy and each day I’m better than the day before – if I can pass that enthusiasm on then I think I’ll have done a good thing.
8dcf6c57-cbdc-4f62-986a-557fc1f1895b|0|.0
Permalink |
Comments (2)