 I get a lot of DMs and emails from people asking me how I got so good at CSS and what path I took to get here so they can replicate it and get really good at it as well. So I'm going to share my story with you in this video, but before we get around to that, I just want to say that it might not be the most useful story for you to hear if it comes to like the path you want to follow because it was the least straightforward path possible to get to where I am today. So if you want a long meandering path and sure follow along with me, but if you do want, you know, how can I get as good at something as possible? I definitely will have some advice on that topic as we go through this. But my how I managed to get here is probably not the path that you want to choose. And one of the reasons that my path might not help you out too much is because it started in the late 90s when I was making websites for fun. And back then the web was a very different place than it is today. And it was a lot of Photoshop mock ups. You know, I was in high school back then I was just mucking around. I'd make something in Photoshop, slice it up, bring it into the somehow at one point I was using Dreamweaver. But even before that, I don't know, I don't remember how I was doing it, but I'd open up the code, fix some stuff up, get it working, get a page out there. And it was whenever I just had like a project that I was working on that I wanted to sort of muck around with and make something for it because it was fun and I like mucking around in Photoshop and I like doing that. And I did that on and off for years, where you know, I might come back six months later and do something else and then not touch it for a really long time. And it was a sort of, it was an interest of mine, but nothing that I took very seriously and I dabbled with it and then let it go. Now eventually, I actually went to start going to school and pure and applied sciences because I was very good at math and stuff like that in high school. And then out of nowhere, I made a switch into film instead because I wasn't really enjoying the sciences and thought it would be fun to go into that. And that really, that side of things really interested me. So I took a dive into that. So I have a degree in film studies. Then after that, I wasn't really sure what to do with that. So I ended up going to university and getting a BA in urban planning. So another year off, another completely different direction. And then I ended up with a BA in urban planning and I didn't really want to get my masters in it. I wasn't really sure what to do. I was working, not, you know, I was just doing menial work and I wanted to do something else. And my now wife, at the time we were just dating, she encouraged me to maybe go back to school, but I wanted to find something that would get me a job relatively quickly because I didn't want, you know, I'd been in school long enough, I needed to get an actual job and start being an adult. And I sort of circled back to that early stuff from high school where I'd been playing around Photoshop and making websites that Photoshop was sort of the thing that I was more drawn to. I loved mucking around in Photoshop and just doing different stuff in there. And so I found a vocational school that did design stuff, basically, you know, get into graphic design and all of that. It was only an 18 month learning program, which sounded really good. And so I did that. And it ended up becoming a bit of an interesting period because while they did cover Photoshop and doing stuff with that, it was mostly about page layout and a lot of stuff for print. And so I went into the world of print and learned a lot about it and making print design and all the technical side and stuff that has to go with that. But of course, there was they dabble a little bit in the website too. And that really rekindled that sort of something I really like doing. I started making a couple more websites and playing around with stuff. And that was right around the CSS three becoming a thing. So there was all this new really good stuff to play around with and to experiment with and to have fun with. And so I really took it. I just started really absorbing that side of things. And I really liked it, but I was in school not for that. So I didn't it was still this little side hobby that I had a fast forward. I ended up graduating. I got a job where I did my internship, which was really cool. And I worked at that it was a very small little design agency, which was really good in the sense that I managed to from early on had a lot of responsibility. I would take I was talking directly with clients. I was working on things from the beginning to the end, seeing how the company was run. There was a lot of very big positives with it. But it was also the pay was terrible. The fun of working at a small company, or often working at a small company. And because the pay was terrible, at one point, I needed to start doing or finding other sources of income. So I decided to start looking for freelance clients and stuff. And what I did there was most of the work I was finding online. And most of it was for UI design for websites, or you design the website and then hand it off and then someone would build it. But of course, I've been playing around with making websites for years. And I said, Well, if people are going to pay me to make the design for the website, they'd probably pay me more money if I was actually going to turn that website into an actual project. And so that actually ended up getting me into the world of WordPress. And that actually more directly related to what I do now than I would have ever expected. I only realized it recently, actually, the influence this had on me. And as a fun little aside, I actually thought about starting a WordPress YouTube channel. And just because I saw so much struggles with it, when it came into getting into like, just doing anything, basically, the amount of struggles I saw people having, I was like, Oh, I could do a channel that's based on that. But what I ended up doing instead was clearly not that, but I did record and edit and upload a series of videos. I think I had like five or six videos that are still uploaded on YouTube today that were never published. And that would have been interesting. If I had published those who knows what would have happened and what direction everything would have gone in. If I had decided to go down that route, but I left them on publish because I wasn't super happy with them. And but anyway, that's going off topic a little bit there. But I was making these websites and I was using WordPress. And when I first started doing it, I wanted to make custom themes because I had these custom layouts that I'd created. And so I'm like, well, I'm going to go full on custom theme because, you know, let's do it. And that's a lot of work. I'm making something from scratch. And when you're working a full time job, and then doing that in your evenings, and then I had a kid at the time, it was a bit, it was a lot. So what I decided to do then was to look into child themes. And if you're not used to or don't know WordPress, if you have a theme, there's like in their panels and stuff, you can do some custom CSS, but you don't want to do it. That's for tweaks. It's for little things. If you have your own CSS file, you can use that as well. But the problem is, if you attach your own CSS file to a theme, and then you update that theme, your CSS file gets nuked along the way, because it's basically like you're replacing that with this new thing. And the CSS is part of that. But what you can do is do a child theme. And the child theme is where you're using the core functionality of the theme, but you're adding a layer on top. So if you update the theme for the security updates, and all the other things that come along, you're updating that bottom layer, but your top layer still sitting there on top, and that doesn't get changed. And so that's what I started doing with the Genesis framework. And that's the part that really, I think, got me deep into the world of CSS, because what I would effectively do is just delete their CSS file, I would create a look based on my design. I didn't really have a lot of control over the structure. And so it was almost like a CSS Zen garden or the style stage of today, where you just you have the HTML there, and you're just coming in with a blank slate and writing CSS. And then I do it again with a completely different look. And then again, with a completely different look. And I really enjoyed that it was really like that was fun to do for me. And over time, I started realizing that I actually like that better than the designing side of things as well. And but that wasn't what encouraged me to make my channel. It wasn't what encouraged me to get deep into the world of CSS or anything like that. Where things took a big change is after about five years, the school that I'd gone to the for design and all of that, they were looking for new teachers, they had a they were growing, they had a lot of new students, and they needed new teachers. And one of my previous teachers gave me a call and asked me if I'd be interested in teaching. And it was never something that I thought that I'd actually want to do. But, you know, I was underpaid, I was working one and a half jobs, I was working in evenings and stuff like that. And being a teacher paid a little bit better. So I was like, you know what, why not? Let's try it out. And I ended up loving it. It was a really, really good decision. But also what happened with that is you had this school that was primarily about printing out these teachers that have been there for years teaching page layout, but also the technical side of print design and all of this other stuff. And the government had just recently changed the curriculum to include a lot more web classes. And so they found out me and there was another new hire, just after me, we both had experience with web, or at least more than the teachers that were there. So the two of us pretty much got all of the intro to web classes that were coming around and just over and over and over, I got to teach it. And I really liked it. Though that first class I'll never forget like that was, you sort of get through the real basics, right? Like here's you can open and close tags and stuff like that. And that's easy. And then you get into like, here's how a selector works. And those are really fun days. That's really good. But then you get into like the next little part, where you're like, we're going to start doing some layout stuff and getting stuff to go next to each other and all of that. And that's where I figured out that I didn't really know what I was doing. Because I'd start, this is how we do it. And then they're like, okay, but why? Or like, how does that work? Or what if I want to do this instead? And I was just like, holy moly, I have no idea what's going on. But I did learn a lot. And what I also realized is like, yeah, I was just following the same patterns all the time when I was making websites because they worked, but that was it. That was as far as I could go. And by teaching it, I was actually having to learn a lot about how this works and why that works. And so I'd be spending, I was saying I wanted to start teaching so I didn't have to freelance as much and get my evenings free. But my evenings were spent like reading the docs, right, like the actual spec or on MDM and trying to figure things out. And the problem there was also learning about how to like explain that because you'd read some of it and go, okay, I sort of get it. But like, how do you explain how that works? And that's where I came across the channel dev tips by Travis Nielsen, which I just loved. It was everything about like that side of web development that I really enjoyed. It was a lot of CSS. They was doing SAS, he was doing some other fun stuff. And it was really like it helped me a lot in how he would explain things, because it would give me sort of a base that I could build off of and it would explain things. Yes, that's exactly that makes so much sense. And then I could explain it to my students. So Travis really helped me out in the classroom a lot. But even when he was doing things that I wasn't talking about in the classroom, I was watching his channel all the time. And at one point he stopped making videos. And that was sad. And there wasn't really another channel that was like it around. And that sort of left a little bit of a void for me, because at the same time, I was teaching intro to HTML and CSS over and over and over again. And so like you really get stuck in this like, the beginner phase, right, you're at the very, very beginner over and over and over again. And don't get me wrong, teaching the same thing over and over and over again is fantastic as a teacher, because you get much better at what you're doing, right? You can start anticipating the questions, you're reworking your stuff to make it better and better based on what went wrong, you're understanding the content so much more. And so like for me and learning the fundamentals of everything and being better and better and better at teaching it, that was the best. But at one point, it gets a little bit boring. So that's why I wanted to start my channel. And as I said, at one point, I was going to do it for WordPress. And I was still doing freelance stuff then and still working with WordPress. And I was seeing the struggles my clients would have if they'd never used WordPress before and going through the dashboard and then, you know, customizing it to and there was a lot of stuff that I had ideas for. But it just didn't feel like the right fit. So I put that aside and said, you know what, maybe starting a YouTube channel is not the best thing right now. And then eventually, I sort of got the itch again and decided instead of doing that, I was going to look at some of the common problems my students were having and come up with videos on that. So I'm like, if my students are having these problems, I'm sure other people will too. And it really, I'd started at 100% as a hobby project. It was like, I'm going to do this, it'd be fun to make some of these videos, maybe I can help a few people out along the way. I never really anticipated the channel growing. Very big. It was very niche topic. It was an excuse for me to continue sort of doing CSS stuff, because Travis had stopped making videos, like I said before. And that had left that void that I mentioned. So I sort of needed to fill that with something else. And WordPress wasn't as fun as writing the CSS with WordPress. So that's the side I really wanted to focus on. And to keep having fun with that, because that is something I really enjoyed. And I've always enjoyed sort of that puzzle side of things and figuring out how to make a layout happen. And so I wanted to do that through my channel and sort of give, as I said, give myself an excuse to keep writing stuff and not just be doing the intro content over and over and over again. And that sort of leads to how I got good at CSS is I've been doing it for a long time. If you just ignore, and I mean, not starting at the 90s, I don't really think that counts, though I've been dabbling a little bit with it, but I've been using it on a regular basis and doing stuff for clients and building stuff for probably going on like 15 to 20 years. I've been teaching it for over 10 years. And I've been doing it every day for that long. That's how I got good at CSS and how I got really good at it was by teaching it. And you don't have to make a YouTube channel. You don't have to become a teacher in the classroom like I did. But when you do teach something or help people with their problems, and you have to explain something, that is the absolute best way to learn something. Because even though you knew it, right, I've been making websites, I've been making layouts. And then when the students were like, but why are you had to like, even if they weren't saying, but why I'd be going, well, now we're going to use this. And this is why it works. So this is how it works. These are things you never had to do before. You just did it because it worked. And then when you have to talk out loud to explain that decision making process, the connections you make, like I distinctly remember being in front of the classroom talking and explaining something and a light bulb going off and going, holy crap, I get it now. Or it might have even been for something tangentially related like, Oh, that's why that other thing worked that I did three weeks ago. I get it now. Even though like I'm sitting in front of a class talking about this, like the connections that get made as you vocalize things and as you talk about things, it's incredible. So I always recommend people do teach. It doesn't have to be teaching out loud. It can just be writing down your thoughts to yourself. You're documenting your own learning, but you're explaining to yourself what you're learning. So it could be through a notion document. I'd also encourage teaching, you know, making all of that stuff public. So having a blog where you're just writing about the stuff that you're learning, because there you have to explain how it's working. And then if you learn something from it, someone else 100% could benefit from that. So by making it public, that's always a benefit. Another thing is you can join Discord where people are asking questions and you can help people. And sometimes even if you're a beginner, there's always someone who's more of a beginner than you. And the right question will come along and you'll be like, I know the answer to that. And you can explain it. And when you do that, you're going to deepen your own understanding of what you're explaining. And it's, as far as I'm concerned, I say this all the time, it's a cheat code for learning is teaching something. It's just insane. And it also forces you, because sometimes you're trying to explain it and you can't explain it properly. So then you start researching a little bit and you're in the doc. So you're in in DM or you're, you know, the official spec, whatever it is. And then you end up learning, like you see links to other things and you go down these little rabbit holes. That's how I learned everything. And then you practice it and you do it. And I've also been in a very lucky position where I've been able to focus basically on CSS for decades, right? Like at least like a decade, decade and a half, where my main focus has basically been CSS. And most people don't have that privilege, right? So how do you get really good at it? You do it a lot and you do it for a really long time and you're going to get better at it. And it's the same with anything, right? There's, I forget who said it, but there's like how to become an expert or how to become good at anything. You have to put 10,000 hours into it. And so that's just what it is. And all these like boot camps or these blog articles or these other courses, anything it is that you see, it's like, learn this fast, become an expert at this fast. You can't become an expert at anything quickly. It just doesn't work that way. You can learn about that thing. You can understand how it works, but you're not going to be an expert at it. There's so many connections and so much experience you need with something before you're really getting really good at it. And there's so many people that are much better than me still. I'm just in this privileged position where I get to talk about it all the time. So I become like this face that people are familiar with. And so they may, you know, people relate CSS to me, but there's a lot of people I'm constantly learning from. And I'm going to include a ton of links down below for other people you should be following that post really amazing stuff that always blows me away. And then I get, you know, I get to tell people about it too as I'm learning it. And but, you know, I didn't get here easy way. I sort of lucked my way into this. But the end of the road is just put in the time, put in the effort. And I, there's nothing else to it really. But yeah, that's how I got here. That's sort of the advice I have for learning stuff, which is probably not the advice you wanted. You know, it's when it says like do something for 20 years, and then you'll be good at it. It's a little bit disheartening sometimes. But it also means like people will be three months into their learning and they're really frustrated because they feel like they're not making progress. If you're in that stage now, even if it's been six months, nine months, two years, whatever it is, you're not going to be an expert at anything in that time frame. And if you're three months in or six months in, and you're feeling like you're not making any progress, look at where you started. And I guarantee you, you've made tons of progress. And it's just in like, you're getting stuck on things that you might have been stuck on before. That's so normal. It's insanely normal. It takes lots and lots and lots of practice and lots of doing it before these things start sinking in becoming normal. And then there's other stuff you're going to get stuck on instead. It's, you're always learning, you're always moving forward. There's no like pinnacle, like I'm, I'm here, I'm good now, right? It's just constantly changing, especially with the web that's always evolving as well. So we have to keep up with it. So yeah, don't, if you have been learning and you were hoping to find some sort of shortcut or something, I don't think they exist other than putting in the work and getting lots and lots of practice with whatever you're trying to do. And yeah, don't feel like you're not making progress because I guarantee you you are, even though in the moment it feels like you might not be in the long run, it's going to add up, you're going to get there. But it can take a while and it's just the nature of the beast really. So yeah, I hope you enjoyed my story. It's been been meaning to share it for a while. So there it is. And that's about it. So with that, I'd like to thank my neighbors of awesome, Bailey, Andrew, James, Michael, Simon, Tim, and Johnny, as well as all my other patrons for their monthly support. And of course, until next time, don't forget to make your corner the internet just a little bit more awesome.