The web industry moves extremely quickly. We are learning all the time, and developers that aren’t quickly get left behind.
But recently, more than ever, I’ve realised I may be a decent developer. But I don’t think I’ll ever be a programmer. And it made me sad.
You might be wondering what the hell I’m on about. Stay with me. I personally don’t have a computer science background. I did a multimedia computing degree, and almost everything I know regarding code and web development is self-taught.
I also don’t have a good maths background. I didn’t really have a big interest at school, and left with a C at GCSE level and that was it for me and maths.
And then a discussion popped up on Reddit about being a programmer and how important it is to be able to create data structures and algorithms.
The key word is create, not use. I know data structures fairly well, and I know when and when not to use the majority of them. When it comes to algorithms for something like sorting it’s not generally something I have to deal with. In JS if I wanted to sort an Array I’d call
Array.sort(), most likely with a comparator function. Under the hood I know a couple of algorithms are used depending on browser and array length.
But could I write one of these algorithms from scratch, or create an entirely new one from scratch? Truthfully, no I don’t think so.
Something I struggle with is not being able to “be the best”. Not in any sort of arrogant way, but I don’t enjoy being average at things, I like to try my best and improve. But when do you just say, you know what, no. This isn’t something I can do.
Everyone has their skills, heck maybe some would struggle to write a recursive function to walk the DOM, but that’s second nature to me. On the whole though, the post really bummed me out a lot more than I’d like to admit. The greatest and most efficient things out there are normally backed by some sort of knowledge of algorithms. Does that mean I’ll just end up writing “alright” stuff in my career? Who knows. But It’s definitely put me on a downer this week.