Gotta Start Somewhere
If only I could go back in time and talk to my 20 year old self. What wise advice and beneficial hindsight I could bring! Mine Bitcoin! Take that 200-1 bet on Jeremy Corbyn becoming Labour Party leader! Don't try and run a hotel business and a web agency; let alone simultaneously!
One of them would have been to keep a blog; rather than trying to write software that makes blogs. If I worked out how many hours I've wasted in various incarnatinons of this website hosted on dangarland.co.uk, I probably spent hundreds of hours making blogging sites in Rails, leaving just enough mental energy to write one article (in raw SQL of course), which promised to be succeeded but never was. While I undoubtedly learned a heap about web development, I was and continue to be distracted by the technology, and took my eye off the goal.
I hope that this article does not suffer the same fate. Instead, after spending fifteen years helping to make little parts of the world wide web, I'm going to spin a bit of my own.
Probably the biggest lesson I would take back with me in the time machine, and probably underpins some of the other advice, is don't listen to your inner cynic. That voice that said "Blogs are just trendy names for a webpage you update often!", "Don't use Wordpress - it's PHP and that's rubbish!", or "JavaScript was never built to run server side!" would often turn its fire on myself, on my projects and aspirations. "No-one cares about what you have to say", "You're not a good enough coder". And so on.
Having met this feeling throughout my life, and in the careers of many a terrific coder (and creative people in general), I see how this inner cynic has probably spared me many an expense; but has also stifled many endeavours that might have turned into something useful. In a small way, I want this blog to be a statement that will silence that critic, and allow provide the space to exercise my creative side once more. If it can help others learn a thing or two about coding, so much the better.
And as for learning to code itself, my advice to myself might be to not expect too much. In coding, you never really finish; you are always becoming. This is what makes it one of the best occupations around - the constant revival and evolution of our art. Right now, I'm a beginner at Go and Solidity programming, whereas I'm pretty expert at JavaScript, Ruby, HTML and CSS. Even then, there are always CSS rules or weird behaviour in JavaScript that I don't know about, or forgot, and learning how to accept that and get started in some capacity is possibly the hardest thing to grasp.
So perhaps to sum it all up - my hindsight might just be as simple as seize the day and get started. Somewhere. Anywhere. The merest creative spark that gets you out of the starting blocks is often the hardest to find but ultimately the most beneficial.