A Letter To My Younger Self

Emily Sherwin
Skills Matter
Published in
5 min readSep 17, 2019

To celebrate National Coding Week, Skills Matter’s CTO Dylan Beattie, reflects on his career and gives some advice to his past self.

Hey Dylan,

OK, now, don’t freak out. This is an email from the future. (No, we don’t have time travel yet. But turns out they invent it in 2245, so I just got a message from MY future asking me to write this, stick it in an S3 bucket, and then they’ll send it to you… or something. I wouldn’t think about it too hard or you’ll go cross-eyed.) But hey, it’s National Coding Week so future me figured it might be fun for present me (i.e. *me*) to send some career advice to past me (i.e. *you*) — and here we are.

So, what does the next 20 years have in store? Well, the biggest thing you’re going to learn is just how much you don’t know. Right now you’re walking around with a stack of business cards in your pocket that say ‘Senior Developer’ on them — and sure, you know your way around the web stack, you know how databases work, and you’ve actually delivered a bunch of successful projects. You’ve already figured out that impressing your boss and your clients is a good way to get recognition and promotion… but what you’re going to find out, slowly, over a long period, is that when it comes to actually building high-quality software, your boss and your customers really aren’t the people you need to worry about it. They want it shiny, they want it cheap, and they want it launched yesterday. Those little 6-week projects you’re churning out in PHP and classic ASP? Most of them will last a year or two and then either get replaced, or the companies building them will just give up and shut down. But a handful of them are gonna run for way longer than you ever expected — 5, 10, 15 years later, there’s still gonna be code floating around that you hacked together in JScript one Friday afternoon because your customer wanted something to go live before the weekend.

You’re going to learn that running software is actually way more expensive and complicated than building it… I know it doesn’t feel like from where you’re sitting, but you’re still in the glory days of the dotcom boom, every project you’re doing is a greenfield website for a company who haven’t really done anything online before, and most of them are paying generously for folks like you to crank out little data-driven websites. Give it a year or two, you’ll start getting the maintenance jobs. The upgrades, the sites that turned out to be so successful they struggled to cope with the amount of traffic. I’d suggest you start reading up now about load balancers and HTTP cache headers and database indexes — because trust me: learning that stuff the hard way, in production, when you’ve already got a failing website and a bunch of angry customers? It really isn’t much fun.

You’re going to see a whole bunch of frameworks and libraries and trends come and go, and they’re all going to advance the state of the art, a bit — but most of them will bring in a whole bunch of cargo-culting and dogma and daft ideas. You’re going to watch the industry go from standalone webpages, to data-driven sites, to templating systems and content management platforms, to something we call ‘microservices’, and ’single page applications’ — basically an entire website but done entirely with JavaScript. We call them SPAs, and they’re really popular for a while until folks start talking about ‘microSPAs’ and you realise that they’ve really just come full circle and we’re talking about webpages again.

But here’s the good part. You know that buzz, that thrill you get when you’ve spent hours trying to figure something out and it just clicks? That’s never gonna go away. Whether you’re learning the latest shiny new JavaScript framework or trying to resurrect some decades-old PHP code that you didn’t even realise existed until it suddenly stopped working, the joy of working through a problem, step by step, until finally you get a green test, a working page, a running script — that never stops. Sure, it’s frustrating — we haven’t invented the silver bullet yet that can magically fix bugs, optimise databases and patch all your security vulnerabilities — but it’s also satisfying.

Keep learning new stuff… but don’t confuse novelty with value. There’s going to be points in your career where you pick the wrong technology because it looked like it would be fun to work with… I could warn you off those, but I suspect you wouldn’t listen (and besides, they were fun to play with… even when they didn’t result in any actual working code.) But you’re going to encounter a lot of situations where the other people in the meeting are talking about really complex solutions — document databases, distributed caches — and you’re thinking ‘hang on, can’t we do this with static HTML? Or a simple .NET library?’ Trust your gut — you’ll be right more often than you think. Keep it simple. Talk to your users, find out what works for them, ask how you can make their jobs easier and their lives better. Remember that they’re not ‘doing it wrong’ — folks are gonna try and make sense of the tools you’ve built for them, and you can learn a lot more about building good systems by listening and watching than you’ll ever learn by shouting and swearing.

Oh, and two final thoughts. First — you’ll never get around to learning Flash, but that’s OK. A few years from now Apple’s gonna be cool again, they’re gonna bring out a touchscreen phone that completely changes the game for the entire tech industry, and it’ll basically kill Flash stone dead by refusing to ever support it.

And second, in 2010 you’re going to spend a rainy weekend playing around with something called ‘bitcoin mining’… when you’re done, take a copy of that hard drive. Y’know. Just in case it turns out to be worth something… ;)

Happy coding, and don’t worry too much. We’ve got a bit of politics to sort out but, generally, life here in the future is pretty awesome.

Kind regards,

Future Dylan

PS: In 2018, your house has 75Gb broadband internet. And it STILL isn’t fast enough.

--

--