Note to self – Summing up two decades of web developmentWritten by Bunkers on March 2, 2017
A departure from the tutorial/documentation type of post that I have been writing. The inspiration for this came from one of the prompts sent to me as part of Jeff Goin's 500 word challenge.
Write something that you wish someone would have told you 10 or 5 or even one year ago. Pay it forward. Share your best advice with the world. It can be for your children or just posterity in general.
I turned 40 towards the end of last year, and that's often a time to reflect. It also means that I've been in web development of some form for two decades, so I started to think over my career and what I might say to a 20 year old me if I had the chance. There's all kinds of bits of personal advice like, here's the lottery numbers, bet on Leicester winning the Premier league in 2016, or avoid that girl like the plague! But this is much more likely to be useful if I stick to advice around my career so far.
Don't bash technologies. Use what works
We even talked about this in the office the other day. A couple of our younger selves would routinely rant about anything Microsoft and would spend days setting up Slackware on our PCs. Someone even mentioned that they suffered with a lower speed on their dial up modem just so they could run Linux!
When PHP first came out, I was at university studying computer science. I instantly hated the mix of markup and code, dubbed it the new Visual Basic and hoped for it's quick demise. As you all know, PHP is alive and well. I also use it a great deal. Don't get me wrong, some of it still irritates me beyond compare, but there's elements of that in all languages and environments I develop in. It's not worth the energy to complain about these things. I still do it from time to time now with Windows Server, but then I remind myself that it's much more productive to just concentrate on producing the best work I can.
PHP incidentally, now at version 7, has really grown up. It's even got support for name spaces and higher order, as well as anonymous, functions. Which brings me on to my next point.
Stick to being functional
At university the modules I did the best in were functional programming using ML. A lot of my fellow students couldn't get their heads around the concepts. I enjoyed the programming style, but I have to admit that when our final assignment involved making an X Windows GUI, I couldn't understand why anyone would develop it that way. I should have used some of my first piece of advice here! Instead I categorised functional programming under 'academia, not practical' in my mind and promptly devoted myself to learning object oriented programming using Java and C++.
I've been learning Clojure and trying out some other languages. The enjoyment is still there in spades. It feels so much more pleasant to be working with REPLs to play with code, and using more lightweight text editors than heavy IDEs. With some hindsight I should have stuck with development in this way as it's where my passion lies, but I suppose you have to feel some pain to know what pleasure is, right?
I first did a little bit of tutoring on the functional programming modules at university. It was a tricky topic and they asked some students who had done well to spend some time tutoring the next cohort. I really enjoyed it but didn't think much else about teaching for some years.
A friend of mine was teaching on an MA course at the University of Brighton. It sounded like good fun and I mentioned that I would like to do something like that at some point. Not thinking too much more of it, the tutor who took a module in web development left and my friend suggested to the course leader that I would be a good candidate to take over.
It's been the most rewarding thing I've done in my career, and has taught me all sorts of skills. One of the most valuable being the ability to stand up and talk in front of a group of strangers and not completely freeze!
Learning how to explain something is harder than you think. When I return to Brighton later in the year I hope to teach on the MA course again, but for now I'll use this blog as my way of practising that skill.
Consider all purchases
Or perhaps that should be 'transactions'. I read this advice somewhere as a way of saving money. The advice was to really think about whether you needed that new mug or book before buying it. It also said that most purchases come out of people being too busy to do what they want to do. That was true for me and my hobbies. I like reading books, but I kept buying them thinking I was going to read them only for them to sit on a shelf.
I say this should maybe be 'transactions' rather than 'purchases' because I think it applies to purchases we make with our time. Before signing up to that new mailing list or subscribing to that podcast, and giving myself another two hours of content to listen to each week, I now ask myself, "Do I really want to listen to two people like me drone on over Skype about the thing I'm interested in, or should I spend my time practising it myself?"
How we spend our time is probably more important than how we spend our money, but by really considering each new transaction I've been saving both, and finding enough time to spend on my hobbies again.
The advice from the cover of the Hitchhiker's Guide to the Galaxy, and something I always lead with when taking my first workshop with a new group of students.
There's always new things to learn and the industry is moving faster than ever. But, it's worked out well for the last 20 years, and I don't see why I can't still be doing this - if I want to of course! - for another 20.
So, younger me, just enjoy it and trust your gut. You've chosen a great industry to work in and you're going to love it!