Understanding the basics, with Jonathan Snook
Jonathan is the creator of the influential SMACSS methodology for writing scalable and modular C-S-S. He has worked his magic at Xero, Yahoo!, and Shopify, and has appeared on stage at conferences such as Generate, CSSConf, and the Smashing Conference. With 3 highly-acclaimed books, Jonathan has - a - knack for influencing devs around the world and earning the respect of the top people in the industry.
Time Stamped Show Notes
1:56 – Everything feels like an evolution of what came before. Jonathan loves the creativity and design of his work, rather than all the new things that will inevitably come out.
4:48 – Recognising when you’re not behaving ok is the beginning of how to create an environment where everyone can do the best work they can do.
6:04 – Jonathan loves Vim. He mentions that there are editors like Atom or Microsoft’s Visual Studio Code that bring a lot to the table, but Vim is his comfort zone. Likewise, when it comes to using Git, he is most comfortable with the command line.
7:20 – Jonathan likes the ease of use that tools like MAMP being, where running an installer will set up your environment, and there’s very little configuration after that.
8:02 – Procrastination or “busy work” gets in the way of getting work done. Blocking out social media using the Self Control app helps Jonathan to focus and get into a state of flow.
10:03 – Larry mentions that he uses a Chrome extension, Kill News Feed, that blocks his Facebook feed.
10:10 – Jonathan has started reading Deep Work by Cal Newport.
10:49 – Jonathan has written a blog post in which he describes his approach to learning.
First level: just take everything in
Second level: implement an idea that you’ve discovered during a project. If you don’t get the opportunity to try something out on a project, come up with your own project and test out your ideas
Last phase: teach people what you’ve learnt.
Check out the full post here
12:46 – To get to an implementation stage Jonathan will come up with his own projects that take a few hours that allow him to test out one idea and understand things better.
14:44 – Jonathan explains the importance of understanding the basics. Because of all the libraries and frameworks available, people tend to jump into things at a higher abstraction level. Because he learnt to code before those things existed, he was forced to learn the underlying concepts first. He believes he is a better developer for it.
15:05 – Jonathan contrasts his learning experience with devs who start with Rails and the built in ORM – he learned by writing SQL queries directly. Jonathan feels the need to understand datasets, joins, and the underlying concepts about how things are done.
16:09 – Having the underlying knowledge allows Jonathan to write better code
17:16 – Best advice about programming
Understand the basics.
17:29 – Habits for writing better code
Good sleep and proper rest help you write better code.
17:52 – Book
Scalable and Modular Architecture for CSS
Design Patterns: Elements of Reusable Object-Oriented Software by The Gang of Four
18:52 – Inspiring devs
Chris Coyier. Not only is he a genuinely nice guy, but he also does a lot of great work and pumps out great content.
19:41 – How to learn code from scratch
Jonathan says that the best way for him to learn is to have a project. If he had to learn to program from scratch, he would pick up a project and start with the basics.
20:55 – How to work smart
Stay focused, whether it’s by blocking out social media or using time management tools like the Pomodoro technique.