Harry Roberts
Pragmatism and fundamentals, with Harry Roberts
Harry Roberts is a heavy-weight in the world of front-end architecture. While working at Sky, Harry began developing approaches to writing manageable and scalable CSS, revolutionising the way people think about front-ends. Harry now consults for a long list of companies like Google, The UN, The BBC, and Deloitte.
Time Stamped Show Notes
1:55 – Harry loves anything to do with the outdoors. He enjoys hiking, mountaineering, mountain biking, and cycling.
2:36 – About ten years ago Harry and his best friend started a graphic design company. When building their company site, he realised he was way better at code than he would ever be at design. That’s when he decided to get into front-end development.
3:43 – In 2011, Harry started working as a senior developer at Sky, a broadcasting and multimedia company in the UK and Europe. This was where he got into large-scale performance architecture. He then got a job building the UI’s for highly-trafficked websites making hundreds of millions of Pounds a year. From there, he moved on to do the same for other companies. For the last three and a half years or so, he has been working for himself.
10:33 – Harry explains that he doesn’t really use many tools. He says that he’s good at prioritising things, and tools or not, he gets things done. Harry runs his life on a “just in time” basis. He only completes tasks right before they are needed as a way not to frontload too much information. This technique prevents him from having to memorise things for too long.
12:19 – Because he travels so much and is often in different time zones, Harry says that it’s difficult for him to develop a routine. Although he has known for a couple of years that he needs to address this, he isn’t sure how to go about it.
12:51 – Harry admits that he’s bad with email. He knows he could fix this by implementing a routine, but he hasn’t yet. Also, he still uses Gmail even though he has heard that Inbox is better as it allows you to treat your email like a todo list.
14:23 – Harry says that he doesn’t really use frameworks. He gets more excited about standard specifications. Service Worker is revolutionising everything.
15:00 – Harry uses Web Components. He thinks they will allow developers to start moving things out of frameworks and into standardised specs.
15:13 – “I really want the web to win so I’m just quite excited about the platform in general at the moment. I’m not working with a particular library or framework specifically at the moment – I’m quite agnostic in that regard.”
15:48 – Harry says that he’s lucky to get invited to a lot of conferences. Last year he went to thirty! Even though it is work for him, conferences are also great opportunities for him to learn. He is constantly surrounded by people doing interesting new things and who are demystifying complex concepts.
16:40 – Harry admits that he is genuinely in love with his industry. He is fascinated by what developers are doing, and browses Hacker News or Twitter whenever he gets the chance. He is constantly immersed in what developers are doing, but he doesn’t learn these things inside out. He just keeps a broad view of the industry. “You can just watch a 40 minute talk and think, “I understand enough about that to know that I don’t need it yet and when I do need it, I know where to start Googling”.
18:58 – Encapsulation has had the biggest impact on how Harry thinks about code. In his experience, when a client’s CSS is in a mess, it’s usually because they’ve made it too complex.
19:35 – “The first time you ever do anything you will probably get it wrong.” Understanding this, you should make sure that everything is undoable and encapsulated enough that you can decommission discrete sections of your code rather than having to rewrite everything.
Quickfire Questions
20:55 – Best advice about programming
Oliver Reichenstein once told Harry, “never do it for money, but never do it for no money”. Developers tend to love what they do to the point that they will do it for free. This often leads to open source burnout.
22:02 – Habits for writing better code
Pragmatism and laziness. Not trying to write perfect code the first time you are faced with a problem.
23:09 – Book
High Performance Browser Networking by Ilya Grigorik. It has made Harry a fundamentally better developer because, after reading it, he understands how the internet actually works.
23:49 – Inspiring devs
Anyone on the Google Developer relations team. He mentions Alex Russell and, specifically, Jake Archibald, because he’s doing a lot of work with Service Worker. He also mentions Paul Lewis for his render performance work, and Nicolas Gallagher who made big waves at Twitter.
25:29 – How to learn code from scratch
When asked how he would go about learning programming from scratch, Harry jokes that he he might not want to, and that his dream job is to be a park ranger in a national park somewhere. He would like to “wake up and check that the eagles are ok and maybe release a deer trapped in a fence”.
25:45 – If he had to learn programming again, Harry says he would probably take a similar approach to what he did the first time. He would reverse engineer things and pick them apart. However, this time he’d start with the fundamentals about the internet. After reading Ilya’s book, he learnt that you can learn all the HTML, CSS and JavaScript in the world, but if you don’t understand how it’s getting transported to users, then you’re probably making incorrect decisions.
26:42 – Another inspiring dev
Harry mentions Jeremy Keith as another developer who inspires him. Jeremy focuses on the fundamentals.
26:56 – How to work smart
Harry’s programming tip is not to memorise stuff you don’t have to. He believes that working smart is to devise a plan of attack, take a pragmatic approach to things, and become good at prioritising. Learn how to ask for help, and surround yourself with people who know more than you do.
Books, Tools, and Tips Mentioned
Contact Harry
twitter: @csswizardry