Singapore-based freelance web designer and developer Zell Liew shares everything he's learned about frontend development on his blog, so that others can benefit from him banging his head against the wall. It's no wonder his easy-to-follow tutorials and confidence-boosting articles are immensely popular.
We caught up with him for a chat ahead of his Generate London talk and workshop on building scalable responsive components. Here, Liew tells us a little about being self-taught, time management, and what to expect from his Generate sessions.
Favourite frontend skills
I don't have one thing that I'm most passionate about. I'm passionate about all of these topics, which is why I've dug into them and learned as much as possible myself. Once I've learned enough, I step out of my comfort zone and begin teaching them.
Advantages of teaching yourself
There’s a lot of talk in the web industry about whether you need a degree. What lessons have you learned from teaching yourself?
ZL: A degree certainly helps, but you can learn well even without a degree. The number of experts without degrees in our industry suggests that degrees aren't prerequisites to becoming good at coding.
The most important lesson I've learned about not having a degree is to believe in yourself when you're learning. I've had many instances where I don't, and that slowed me down drastically.
The second thing is that not having a degree may actually be an advantage. Since you got to learn everything yourself, you need to think deep about processes and theories to internalise them. Eventually, it'll lead to remembering the things you've learned and being able to think creatively when you face problems.
On your site you say that you constantly reinvent your techniques as new technology appears. How do you do that, and how do you decide what to learn?
ZL: I watch out for what people are saying, especially the experts in the web field. Then, whenever I begin a new project, I tweak my processes to include what I've learned from these people. When I do so, I always make it a point to modify the techniques to suit my style.
Sometimes, my modifications were horrible. But sometimes, I think that helps me even more. The key thing here is that by modifying what I've learned, I effectively made it my own, which helps me gain a deeper understanding of the original knowledge.
As for deciding what to learn, I go with what I feel most inclined to at the moment. When I first started, it was Photoshop because I wanted to learn how to design. Then, it became HTML and CSS because I wanted to show my creations. Then, it became Wordpress because I wanted to build a blog. (Wow, that was four years ago!). I still follow the same method now.
You’re incredibly prolific and juggle writing articles (and books) for your blog and other publishers, creating courses and free libraries, as well as consulting. How do you manage your time?
ZL: I can't remember where I heard this, but there's a saying that goes 'it's not about time management; it's about energy management.'
Why do I bring this up? Well, there was a time when I tried to work from the minute I woke up to the minute I slept, resulting in 14-hour work days. It was horrible. I felt so drained that I couldn't get anything done. I was also perpetually stressed and pissed off. Don't be like me then.
Now, I manage my time and energy a little better. I work for 1.5 hours and take a 30-minute break between each work session. This allows me to recover from the intensity I put in when I work.
If you want to become more productive with the same amount of time spent, I suggest you read these two books:
First, Deep Work by Cal Newport. This book suggests you should break up your schedule into "deep hours" where you focus hard on getting things done, and "shallow hours", where you tackle emails and other tasks that require a lot of context switching. I find this approach helps me manage my mind space.
Second, The War of Art by Steven Pressfield. In this book, Steven shows you how to tackle the resistance and dread you feel when you try doing work that's important to you. Although he talks about writing, you don't need to be a writer to benefit from it.
Once you're done with these books, get to work. Plan a schedule and keep to it.
Building scalable website components
What’s the biggest challenge of building maintainable and scalable websites?
ZL: Most people would think the biggest challenge is to write scalable HTML and CSS code. While good frontend code has its challenges, I believe the hardest part is communication between stakeholders, designers and developers.
Everyone has to work together in a team to pull off a scalable and maintainable website. It's not just the job of the frontend person.
What can people expect to take away from your talk and workshop at Generate London?
ZL: The focus for my talk and workshop at Generate is about building responsive scalable components – the key to good frontend code. You'll walk away with know-how on the following:
1. You'll know how to name your components
2. You'll know what architecture to use
3. You'll understand the difference between modularity and scalability and how to code them up
4. You'll know how to write mobile-first responsive code that's easy to maintain.
Other Generate London workshops on 20 September feature Steve Fisher on running design and content sprints, Anton & Irene on idea generation and the selling of the idea, and Jaime Levy on user experience strategy. The conference will also cover adaptive interfaces, web animations, performance, accessibility, prototyping, chatbots, better teamwork, and much more.
During Generate London's 24-hour flash sale tomorrow (10 August) you can save almost £300 per ticket! But hurry – tickets are limited and will be available at the special price from midnight tonight (BST).
Also, don't miss issue 298 of net magazine, which will feature an in-depth interview with Zell Liew.