Artwork

Content provided by Cathi Bosco. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Cathi Bosco or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Episode 17: Nick Davis and Workflow Wisdom

38:48
 
Share
 

Manage episode 188008931 series 1567421
Content provided by Cathi Bosco. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Cathi Bosco or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Photo credit: Yanko Peyankov on Unsplash

Workflow Wisdom

In this episode, I am chatting with Nick Davis about his own workflow journey and why he started GenesisWP.guide.

Nick Davis

Nick Davis

Nick’s been building websites for fun and profit since 1997, doing everything from working as one of the first online journalists at the BBC; managing the website of one of the UK’s largest airports; to running a large team of web developers and designers for a publishing company in Dubai.

Since going out on his own and discovering WordPress in 2010, he’s worked as a WordPress developer and consultant helping business owners and agencies launch better websites for their businesses or clients, obsessing about making everything on their websites as easy to manage as possible.


Listen to Episode 17


Where to find Nick:

I Am Nick Davis
@iamnickdavis on Twitter
GenesisWP Guide

Tools and Resources discussed:

KnowtheCode.io
Alain Schlesser – Reusable Code Series

Transcript

Jackie
Hey everybody, this is Jackie D’Elia with episode 17 of Rethink.fm and I have my very special guest, Nick Davis. Hey, Nick.

Nick
Hey, how you doing?

Jackie
I’m doing well. Thanks for being on. Most of the folks that listen to this podcast that might be in the genesis community may know you from your GenesisWP.guide site and the newsletter you send out, but you’ve also been, you also have your hands in lots of other things. Can you give us an update on what it is that you do, where you live and what you’re about?

Nick
Sure. Yeah. Too many things, I’ve been trying to slim it down but yeah probably people from Genesis, know me from GenesisWP.guide. Mainly I do the newsletter once a week, This Week in Genesis, a very creative title. I think a lot of people know me through that, we’ve got a few 100 subscribers from that so it’s going pretty well. I’m a WordPress developer, I live in Italy. Before that I was in Dubai, before that was in UK. Done lots of different, I guess you could say maybe side businesses. I’ve been in WordPress development, I was co-founder of Lean Themes, we did a couple of I like to think really nice themes for Genesis. One of them got picked up by StudioPress Kickstart, which we’re still getting inquiries and stuff about which is great. Did ThemeVale for a while which is setting up themes with people, doing that as like a business as well. Sort of trying lots of things, seeing what works. Really right now I’m super focused on my consulting and I just try to find a bit of time every week for the GenesisWP guide.

Jackie
Okay. GenesisWP guide, when did you start that? You recently just said you had a 100th newsletter that came out, the 100th edition. When did that start?

Nick
It was just over two years. I haven’t quite managed every week, but yeah it’s been, I think it was March 2 years ago so a little while.

Jackie
I think that’s a really nice way of keeping the Genesis in touch with each other and seeing what’s going on. I’m just curious, how do you curate all of that? I know you have something on your site where people can go and just contribute, put a link in, what it’s about and why you think it would be useful. Do you use that was a way or do you have other methods of gathering information to put into your weekly newsletter?

Nick
Sure. I put a thing on the site and that definitely helps so if you haven’t been there and you’re in Genesis, this is my call to action for you now, go to GenesisPW.guide. You do have to register because I don’t want anonymous contributions, but you don’t even have to register for the newsletter, you can just post something. It goes literally straight up on the homepage, so don’t post anything bad, you’ll get banned. Stuff goes up on there and I really did it, yeah, to help me create a newsletter and also because it’s long term and it’s going to be super long term cause I’ve been thinking about it so, so, so long, I’d love to turn it more into … Have you ever seen a Product Hunt or Nomad List, those kind of listing sites I think that would be great. That’s just really where I’d like to get it to. Right now, my time is just about enough to do the newsletter each week, but I think, hey, that’s okay. Every week another few people subscribe and so if and when I ever branch out and do stuff, there’s a ready made audience of people to use it.

To answer your question, people come, stuff comes through there. Some people do email me, some people tweet at me. Please don’t tweet at me, just post it on the site. It’s something horrible but I had someone the other day saying, “I can’t wait to see my XYZ in This Week in Genesis,” and I thought, that’s great but I’ll decide what goes in there, thanks. Mainly I look at a hashtag, I really to start with I looked in Facebook, I looked in Slack. I honestly don’t have the time at the moment. I do a big skim through, I’d probably look at, you know, Rockstar are going through that now and I can just look, see the people. These are good people, this is not such good quality stuff.

I guess the one thing I suppose that’s worth clarifying if you’re listening is for me, although it’s perhaps not the best name but This Week in Genesis, but for me I want it to be the best stuff. I don’t want it to be everything because there are frankly people putting stuff out there and I understand people are learning but people putting stuff out there that’s great, keep learning, keep improving. I like to share it. It’s just my opinion and obviously it’s just what I think is good, but I’ve had a few guest contributors and stuff along the way. That’s really the mission of it is just to put a spotlight on people in the community doing good stuff.

Jackie
I like the way that you break it up too. You have different sections in there for things that you’re showcasing, for themes and plugins and podcasts, lots of different things that are happening in the community and just kind of putting that together. It’s easy to skim down there and take a look and see what’s going on. I like the way that you put where things came from, like where you found them from, like Twitter cards that are there and things like that. I think it’s a really nice format and it’s easy to read and it’s helpful to everybody. It lets you know what’s going on that you might not be aware of, because we’re all busy during the week. It’s very hard to stay on top of things, even just in the Genesis community, nevermind the WordPress community or just development and design in general. There’s an awful lot going on that I miss every week.

Nick
Well thank you.

Jackie
Onto your WordPress development business that you’ve got. What is it that you typically, what type of work do you typically do and what’s your role in that process?

Nick
The type of work I typically do at the moment is really around supporting either agencies or companies in WordPress already. That’s really, it’s almost become a bit of a specialism in a way, it’s just how it’s worked out. I do, most of my work right now is with a couple of agencies. One of them I have some semi retainer agreement with, another one they just send me so much stuff I might as well have a retainer agreement and then I also do some stuff for a big hosting company in WordPress, I help them out with some stuff as well. For me, that’s really nice, I love working with different clients but at the same time became a dad three and a half years ago, you know, life changes, my wife works. It’s great to just have, “Here is some more work, get on with it. Here’s some more work, get on with it,” rather than 10 calls about how the site map is going to be and this and this and this and sort of walking the client through WordPress and stuff like that. I’ve got ready to go projects at any time, just almost become my specialism is being the guy to help out other teams.

Jackie
At what point in a project are you typically called in? It sounds like maybe they do the design and the discovery and the design process and then they pass it off to you for the build process?

Nick
Yeah, very much. I do do front-end stuff as well but I’ve also been doing a lot of back-end stuff. One of the agencies, they do the design and they do the front-end development and then I pick it up at that point. I’m really just focused on Genesis and WordPress development then, which is really nice. I don’t mind doing front-end development, I used to do it all the time. I started doing Photoshop for Genesis like a lot of us did, like Bill Erickson did who many of us look as like a role model for that. I do front-end stuff all the time but I do a lot of stuff focused on the back-end now, which I really enjoy.

Jackie
What kind of workflow tools do you use for your build process?

Nick
Different kinds. I’m working with different people and they don’t all … One in particular I’m really dictating what the workflow is because they see me as a specialist, it’s just me. Others to a greater or lesser degree I’m working with different teams with existing workflows, people that are probably not a lot more than me as well. A real mix, but just to give you an overview, my editor, I use PHPStorm which is about a year ago probably thanks to Tonya Mork maybe finally pushed me over the edge because I joined KnowtheCode and she uses PHPStorm so I thought, “If she’s using it, I’m going to use it.” Sometimes personally I usually setup things in terms of tasks, things like that, Gulp, the other company I worked with that used Grant, that’s fine. It’s especially been quite good because it means I’ve picked up lots of different things whereas I suppose if you stay in your own thing and you don’t really experiment and one day you get a project that uses Gulp and you’ve never used it before, you’ve got to figure out and learn it.

That said, I am very much, I don’t actually explore a lot of tools. I think a lot of it is frankly, and just wanting to give value on your podcast and useful answers, I frankly think a lot of it is a waste of time. I think people spend far, far, far too much time trying different tools. I have certainly seen in our community, and not to say that workflow is important, it’s obviously massively, massively, massively is but I think just use something when it’s ready to be used. I didn’t jump into Sass minute one, I didn’t jump into Gulp or Grunt minute one. I’m never stuck because of that and when I had to pick it up and learn it when it was a clear benefit, then I jumped in. I’m probably not the only person saying that in our community. I remember Bill Erickson and Jared Atchison saying pretty much the same on officehours.fm a couple of years ago. Obviously we’re further along since then, there’s more need for it I think now.

Jackie
I feel the same way. I was a little late to the party on Sass too, but definitely have found it to be very helpful for me. Are you using a starter theme when you build out a project or are sometimes you using maybe a Genesis StudioPress theme already or a third party theme?

Nick
Yeah, that’s a great question. Before the build tools and things like that, it was just Genesis sample theme, go. It’s smart of me to say it because I’ve got the perfect starter theme in my head but I never, every project I do I’m constantly … I learn something and I want to apply it to the starter theme but then I’m already on to the next project. Every project I do is kind of my starter theme because I’ve sort of built on the one. I do have a GitHub repo with a starter theme but it’s probably so far in a moment from where I’m at, the second I get more caught up with things I’m going to update it because I really want to pay it forward. I learned so much from so many other people that I want to do a starter theme. One opinion I have about that, it might sound contradictory, is I think you have to write your own starter theme. I think you can look at other peoples, and definitely while you’re getting started, I think you’ve got to completely own it. You’ve got to just own it.

I was talking to a friend of mine about this the other day, he was helping me with some code and he had the perfect solution but I said, “I can’t just use this, I need to understand it first.” You get in such a big mess if you’re just taking code you don’t fully understand. You’ve got to write your own starter theme.

Jackie
One of the things I learned a lot about was, especially from Tonya and Know the Code, is just how to be modular with a lot of things. I got out of the habit of dumping everything in my functions PHP file and I got into the habit of doing includes and breaking things out that had specific purposes, so just a place where, a PHP file that on enqueues all your scripts, another PHP file that does this and does this and then keep those separate. I think it makes it easier to have a modular starter theme where you can turn things on and turn things off and I agree.

I have struggled with the same thing you mentioned is I get a starter theme and then I get started on a project with it and then I have to start adapting things and making changes for that specific project and I’m thinking to myself, “This would be really good to roll this back into the starter theme,” but by then I’m behind on scheduling and the other things and I never get back to the starter theme to go and integrate that. I thought, wouldn’t it be great if that was a parent theme and I could just make my additions to that starter theme in the beginning and then use it with my current build. I haven’t quite solved that challenge as well, so my starter theme tends to lag where I’m currently at. Each client build I’m working on tends to be my latest version of the starter theme so I can sympathize with you on that.

Nick
Yeah, yeah. Two quick things on that is one you should go and read Alain Schlesser’s post on reusable code. I’ve been trying to get more and more into reusable code and I know what Tonya says about modularity, the way he really looks at it is really, really good. His examples on there, they’re actually all OOP so if you’re not running OOP it can be a bit whatever, but it still explains at such a general enough level that it’s still really, really useful. It’s just writing the code that’s just for the client and breaking out the reusable parts in a more organized way and once it clicks it’s just really, really beautiful moment. I think the second thing to think about based on that is that, you just do these leaps. As you say, you start doing everything with your theme in functions PHP and then you’re like, “I need to call a function, I have to plugin,” and then you think, “I probably need several plugins.”

Beyond that, I think what you really need is packages or libraries or whatever you want to call them, you need bits of code, modules that can live inside a plugin, live inside a theme, do a certain thing. I’m doing one at the moment for Advanced Custom Fields because I do the same thing over and over and over and over and first of all, I thought, “Okay, I’ll do it as a plugin,” but it might go into theme sometimes, it might go in three plugins sometimes. It needs to be even more abstract from that. The start of it’s on my GitHub if anyone wants to check it out, it’s really super beta at the moment, it’ll definitely be improved. That’s been a big time saver for me recently because I ended up doing Advanced Custom Fields related things over and over and over and over.

I think the final thing I would just say on that really quickly is Chris Coyier, you know, CSS Tricks, he was talking about CSS, he was considered one of the guys on CSS, but I always think of something he said on his blog which is basically, CSS, just try and do the best you can and he was really talking obviously about CSS can be quite maybe difficult and contradictory perhaps compared to something like PHP, but I think you can even apply that to any coding in general. If you have the right intention of not repeating yourself, of doing things in a modular way, don’t beat yourself up. You always want to go back and fix things. I had this, jus this month, I just couldn’t understand something, I spent like a week rewriting it. You get to a point where there has to be a clear benefit there, so I think just do the best you can, move on to the next project, do the best you can.

The thing where you can get some of that time back maybe is when you come to the project and you need that say Advanced Custom Fields thing again is, you can take what you did before and say, okay, it’s embedded in this plugin theme, it shouldn’t be, but can I pull it out, can I make it a module, where’s the 80-20, where’s the 80 client and the 20 reusable and put it into the next project and this time around do it as the package and keep going and keep going. Then one day you might come back to that other site and you might be able to put the module in and pull out the other code if you need to but if it’s working fine just leave it, but just do the best you can. Don’t kill yourself.

Jackie
Yeah. I’m working right now on a series of posts that I’m writing and the first one was about just the SVG icon system that’s in the 2017 theme. My next step was, and I’ve already done it in one build that I’ve done, is just take that code and adapt that to use in my Genesis starter theme and have one SVG icon folder that has all my individual SVG icons in there and then just a Gulp process to SVGO and put all of that together into an SVG sprite. Then from there be able to use that anywhere in the theme, whether I’m doing social media icons or I’m doing design elements that are part of the theme design and have everything called from that one SVG file. That kind of eliminates my whole need for Font Awesome and lots of other things and then there’s all the style sheets that load with those and all the extra code that loads and it’s much leaner and cleaner.

I really like the way that they did it in 2017 and I was thinking to myself as I looked at it, I was like, “Okay, how can I take all of this and adapt this to something that I can reuse everywhere with every theme I’m working on where I can just drop it in and say this is one thing?” I’ve written something very similar to theirs where they have an icons function PHP file that has all of that code in there and that you can just include into your project and now you have all of that available for you so you can code the SVGs to show up where you want or you can do like they did with the menu system and be able to assign it. I thought that was pretty slick actually the way that that worked was it reads the URL and then parses it out and says do we have a match and if we do then it switches the icon out for it. That’s much cleaner for an end user because if they want to build a social media menu all they have to do is go in and put in their links and put in the title and save the menu and there you go. They have all the SVG icons right there.

That’s one good example I guess of trying to find that 80-20 where you can say, let me adapt all of that, let me see if I can package that so that I can easily move it from project to project where it’s not tentacles, where it’s all interconnected everywhere and it’s going to be difficult to pull it out. That’s my challenge. I think the next post I’m going to do in that series will just be how I migrated that over to Genesis and how it’s something that you can just drop into any Genesis theme and start using.

Nick
Yeah, yeah. That’s the kind of thinking you need.

Jackie
I like it, number one, it’s lightweight. You don’t have all of that weight from loading Font Awesome. I get to just load the icons that I want, so you basically pick what you want to put in your build and then it just generates the sprite for you. It can be very lean, it might have 20 or 30 icons in that maybe the whole file that’s in there. I do like that the file is only loaded once per page and it’s typically down at the bottom above the body tag, closing, and it’s there and then you just use it with the xlink:href to call it wherever you need it on the page. You’re not having all of these extra HTTP requests to load all of these images or icons everywhere. I think it’s a pretty slick system so I’m in favor of it. I like the simple social icons plugin.

The only challenge with that one is it is not as user friendly for an end user to reorder things. You have to go in and do a filter and change the order of the array elements. That’s just not something somebody is going to be able to do on their own and the idea of being able to use it in a menu system where they can just drag and drop and reorder their menu items makes much more sense to me.

Nick
Yeah, yeah, absolutely.

Jackie
What else have you got your hands into? I did some reading on some things that you’ve done and you had, was it ThemeValet?

Nick
Yeah, that’s right.

Jackie
ThemeVale, you’ve Lean Themes. What was your reason for dabbling in a lot of these, I would call them more like passive income projects so that they’re not dollars for hours type activities?

Nick
Yeah. I think it was to try different things. Lean Themes, I bumped into a guy who’s a great designer, David Burkett, who used to live in Italy but he’s now in Barcelona so he’s having a nice time there. I just had a chance meeting with the guy and we stayed in touch, he had these amazing designs and I said, “I can put them in WordPress and there’s this great Genesis community and stuff,” and we just thought we’d give it a go and just see what happens. For us, I think it was really just strictly a side project. We probably never put the energy to take it to the next level, but that was fine, that was a hard decision. I was really proud of what we did do and when I got asked to do one of the themes on StudioPress for me I was very, very, very happy to have that on there. That was that.

Jackie
That was the Kickstarter Pro theme?

Nick
Yeah, Kickstart Pro theme, which is still on there. You can still grab it. If you’re a pro+ member or whatever you can download it and check it out. It’s something I’d probably like to do a version 12 at some point because I think at one stage it was quite popular, obviously time moves on and designs and tastes and things change but I still think it’s quite popular as a landing page. I think at the time we did it a lot of the Genesis are very sort of blog first, which is fine but we wanted to do more of like a landing page, I’ve got something to sell, I’ve got a product or a service and of course now there’s loads of themes like that on StudioPress.

Jackie
What about ThemeValet? What do you do with, that’s a service of setting up a theme for somebody?

Nick
Yeah. I was chatting to a friend of mine about how annoying it is to buy a theme and you install it and everyone expects it to look like the demo but it hardly ever does, most themes don’t do that out of the box. I know some themes have got one click import everything and it all looks great, so it was just to kind of test the premise of would people pay, would they find value in stuff, try some different price points, different service offerings, like tweaked it a lot. Definitely had some traction for a while. Right now I’m really not putting any effort into promoting it at all. I think it’s kind of run its course in terms of my energy I have at the moment, I’ve really, really tried in the last year to focus more on it. I don’t think it’s any coincidence that while none of these side projects have taken off, while I don’t have quote unquote passive income, the consulting side and the things I’m doing now have got to a much, much higher level. I’m working with sometimes people have to kind of pinch myself that I’m doing their stuff so I think there’s a lot to be said. It’s a balance, you have to find your focus but you still have to leave a little bit of room to experiment and try things.

Jackie
Are you finding that newer designs that are coming from agencies are creating more challenges on the development side? Just curious how things are evolving and changing and what opportunities that presents to try to solve things in a different way.

Nick
Yeah. I think it’s always a bit of an arms race. I remember … I sort of played around doing my first website back in, way back in like 97. That was just messing around, that wasn’t professionally, I sort of did my first popular website. It was actually for a charity but it was good enough I would’ve got paid for it if it wasn’t that in 2000. I remember a few years ago when it was an add on to have responsive design or a lot of people who was, you know, PSDs or WordPress 3000, 4000, all responsive like another 1000, of course now you can’t do that anymore, so people sort of, some developers grumbling but they have to do this and it used to be easier before. I think that still happens now with more and more Javascript and stuff getting involved, heavier animations and stuff I see, I see a lot of, I do a lot of things, connecting to different APIs and stuff now that perhaps clients didn’t expect before. At the same time, I think there’s new suites of tools, there’s always things to help you. There’s always, someone’s already written a framework or something like that. If you want there’s things like foundation for sites like front-end frameworks you can use as good bases now. Of course it’s always been normalized for just straightening out your CSS.

There’s things, I think the biggest thing you can do is just level up, like, I personally try to do an hour a day before I get into client stuff and that’s really hard, believe me. If you’re anything like me, you just want to get going. You feel almost terrible for your clients but you’re not doing them a favor if you’re not learning. I try to do like an hour before I get started if I’m not too buried to learn stuff. Just doing that, you will far out learn any demands you get. I think the other thing I’d say, the other tip, again, wanting to give people value, practical things they can take away is, sometimes before, if I get in a bind and too stuck on work, I would maybe, just think, “This bit of Javascript, can it be outsourced, this bit of CSS, can it be outsourced?” Obviously someone who’s a good level and is not going to let you down, I see it as a less complicated thing, but it’s going to take me too long and it’s not worth it and I know I can outsource that part and it won’t cost me much because at that point it’s a commodity almost, right?

One thing I’ve been doing about for the last six months or so is, I wasn’t quite having a mentor, I had to have a mentor, but I found someone. I won’t say their name because I don’t want them to get bombarded with people because I know this particular person is at capacity already but there’s lots of people in the community, go find someone. I found someone that I could, I almost call it up source. He earns far more money, you know, his per hour rate than me, he’s a super expert and if I am stuck on something, I know I can talk to him and he will bill me, which is good, I’m very happy about. One, it means I only ask him things carefully, and two, it means there’s another incentive to learn, to try and do an hour a day because you look at the bill at the end of the month and you think, “If I just learned that, if I knew that,” but I’m coming on leaps and bounds because of that because he’ll stop me going down a rabbit hole way, way, way early on. If I start doing down one, he’ll pull me back. I think you need that. Like I said, it’s not like a mentor because it’s not a structured thing, but if I hit a problem, that’s great.

I think you need, find someone, it might be someone you don’t have to pay, but I’m almost more happy paying because then I know it’s a fair exchange. I don’t feel like I’m leaning on someone too hard. If you don’t have the money for that right now, because if you’re starting out and absolutely every dollar counts, you’ve got to hold it back, and of course things like Genesis Slack and stuff like that, I just think sometimes you just need an answer and you need to jump on the phone with an absolute pro, you know, what would they do. I think find someone like that, it’s a real investment. I can’t recommend it enough and for a fact I know I’ve spent 1000s of dollars with him and it’s absolute, and there’ll be some people thinking, “Whoa,” but it’s so, so, so worth it. Obviously join KnowtheCode, that’s just a no-brainer, it’s 2, $300, but I think even something beyond that. It’s no coincidence that since I’ve did that and particularly since I started working with this guy, my workload has gone up, I’m booked, I’ve never been booked so far in advance because I work faster, I work more efficient. You were talking about how can we combat greater demands, well if you work fast, if you have reusable code, you can handle it. You’ll get better faster than the demands come if you stick with it.

Jackie
Yeah. It also gives you an opportunity to collaborate more too and take on larger projects when you start to lean on folks that have specific expertise that you don’t and you then, like you’re doing, you reach out to somebody and they might help you with this project. It also starts to develop a relationship with that person and they might have a project where they want to pull you in on. I’ve had several recently where I’ve done some collaborative projects where things I was good at was a benefit but there was some other people in the project that were way better than me in certain areas and together we were able to do a larger project that none of us would’ve been able to do on our own. I think that’s another opportunity.

Definitely improving your skills, I mean, when I started with KnowtheCode back … Gosh, I can’t even remember how long it was, but it definitely changed my whole focus about how I was building my sites and putting my code together and that has made me more efficient in what I’m doing today. I can spin up things a lot quicker. I can definitely adapt and change things easier where I’m not spending so much time reworking and rewriting things again. I agree with you on that, that’s one good way to go in and level up your skills. You should always be spending time on education every week at a minimum. I try to dedicate Fridays or a part of a Friday for making sure that I’m exploring something that I’m not comfortable with or familiar with yet and that helps, but whatever works for you. Whatever time you can carve out of your life to continuously learn every week is time well spent I think for sure. Especially if you want to improve and advance your career, make more money, have more free time, whatever it is, I think that really helps.

Nick
Yeah. I think that’s spot on. Particularly about working with other people as well because you can get stuck in that silo and way of doing something that might be, not only to leverage people with more specific skills, but you might also realize that you’ve been doing something horribly, horribly, horribly wrong. Not wrong wrong, but it could be done in a better way. This is a key thing actually I think for anyone listening, if you’re the person who takes the project and you’re always by far the only techy person on it, you have by far more knowledge than the client, that’s kind of great because it’s nice to feel that you have some knowledge and obviously appreciating the stuff but you need to … You won’t learn, you will learn but very, very, very slowly if you work with other people.

Just find any way of doing it, if it’s contributing to open source projects or whatever. You’ll be so embarrassed and so uncomfortable, it’ll be so awkward and you’ll ask so many silly, silly questions, but you’ll get better. You’ll also see things, even people way above you that probably do and you go, “Have you ever thought about doing it like that,” and they might also because they haven’t considered that, but if you get, it’s really dangerous if you’re stuck in a silo and you’re just working with clients who are not technical, you’re not going to learn as fast. It really hit me around the start of this year, late next year, you need to learn these things now. You need to get going because other things are coming along. How long are you going to wait? Do you know WordPress inside out? Do you know Genesis inside out?

Jackie
Yeah. Actually even do you know Git and being able to work with a team and make commits and push changes and pull changes. You read about it but when you actually have to do it the first couple of times it’s scary. You’re like, “Okay, so I’m on a GitHub project with somebody and I’ve got to push a commit,” you’re so afraid you’re going to do something wrong and overwrite something. It’s great to get in that type of an environment, even if it’s just an open source environment and just start collaborating and working together and getting comfortable with that. I think that’s very helpful. For me, that was very helpful in just starting to use Git everyday in all of my workflows and everything that I’m doing where I’m making regular commits and I’m organizing my process of what it is I’m building out, what it is I’m doing and separating things.

I think just getting in the habit of doing that can be very helpful in just your entire process. Also it can save you if you make a mistake or many times I think before I was comfortable doing that, I would want to experiment and maybe make a design change or a code change. I was so worried I wasn’t going to be able to put things back the way that they were when I was done and it was more trouble to make a whole copy of it all, but with branching and you start getting comfortable with doing that, you can realize, okay, I can go off on a branch and try some things, if I like it great, I can roll it in, and if I don’t, I can let it go and I haven’t lost anything. That’s really great for your creativity I think too, it’d give you a chance to experiment and learn.

Nick
Absolutely. Even if you’re not pushing and pulling with Git, I remember seeing, I think Mark Jaquith talk, it was for a WordPress series it was probably five or so years ago now, he said if you just take one thing away from this talk, just at least use version control locally, at least. Even if you’re not on branches and I agree branches are a fantastic way and really you should be using them, but even if you’re just committing on master branch, at least you’ve got that there-

Jackie
You can always roll it back. You can go back and check out a previous commit and undo what it is you’ve just done for sure. I think getting in the habit of that is working locally, I’ve met recently some folks that are still trying to work on servers, remote servers where their hosting plan is and don’t realize how slow that process can be so getting comfortable with working locally and pushing your changes up to a staging site for somebody to monitor say like a client, that can really your whole workflow and kind of speed things along. Then there’s lots of other things you can do along the way to even improve that. Little by little, the most important thing I think was just getting a handle on version control and understanding that. It’s actually very cool. Once you see it and you’re like, wow, this is great, I can just go back and check out one file that I need that I maybe did something to that I didn’t want to keep and it’s very easy and it just puts everything back to where you were.

Nick
Yeah. Yeah, yeah. That’s fantastic. Learning’s the key. I think I probably 10% of what I need to know right now, sitting here right now in June 2017 and that’s crazy but obviously I’m making a living from doing it but I think there’s just huge, huge, huge things I don’t know and every day there’s more things. I think you’ve got to be super aggressive about it. You absolutely have to find the time because you’ll try and find every excuse in the world not to do it if you’re busy or this and that, whatever, if you have to get up an hour early and do it. I’m not perfect, I go through times where I don’t do it, but you have to keep going. The other thing as well is because I think if you’re self-taught, it’s really, really dangerous that you miss something that could’ve really helped you.

That’s what Tonya is really good, KnowtheCode, because I deliberately go back and watch, I look at it almost, an hour ago I look at it and think, “I definitely know it. I know this, I know this, I know this,” but there’s also a bit in the back of my brain that’s like, “Yeah, but what if,” and every time she gets me. There was a PHP string building one the other day, like basics, and like, it’s almost laughable that I would sort of watch that in a way, not to sound big headed, whatever, and I watched it all and there was two, three things I didn’t know and that’s definitely going to help me in the next few days for sure. I think watch it on a faster speed if you have to until it gets to the point where you don’t know-

Jackie
That’s funny. I think I’ve watched the namespacing one several times just to get comfortable with using namespacing, especially if you’re doing a plugin or something that you’re going to distribute where you really want to avoid collisions and problems and it’s not common for people in the WordPress space to use that if you’re typically doing prefixing, which is fine until there’s a prefix that’s the same as the one that you’re using and then you have a collision and a problem. Namespacing is a great, but it does take some time though to get to comfortable with using it and using things from other PHP files and getting comfortable with how to put all of that together. I’ve had to watch that one several times and several others on there as well. I agree, it’s a great resource too, it really is.

Nick
Yeah.

Jackie
We’re wrapping up for this episode and I just wanted to ask you one final question. Is there anything that you’ve been rethinking that has got you kind of moving in a different direction?

Nick
I think the biggest thing specific to coding stuff or WordPress is just packages, libraries, whatever you want to call them, is separate modules, separate code, just trying to use those, I think that’s really helped me a lot. I think one thing, maybe one thing on the technical side and one thing maybe on the other side would be right now I’m trying to do something where because the flip side of trying to make everything reusable is you can really go in a rabbit hole of making the perfect reusable code and you’re not being a good developer, a professional developer and you’re not shipping stuff.

You’re saving time maybe in the future, but you’ve got to ship stuff now and it’s really easy to justify, “I haven’t shipped today because of this,” so now every single day unless I have something really, really major for one particular client, I am shipping one thing to that client Monday through Friday. Here’s one thing I pushed up today, here’s one … One they obviously feel more loved even though the reality is some days you’re really deep in one project and one in another but you get feedback faster which we forget, but it stops you going down the rabbit hole of trying to perfect everything. I’ve rethought I guess the conventional wisdom and I get that it is obviously a single thing and I am single tasking, I’m not doing three things at once, but it’s more efficient to just do a whole day on this and maybe a whole day on this.

Maybe it is, but I think there’s opposite arguments as well. If you’re doing multiple projects at once, you do the whole day Monday, Tuesday, Wednesday, you try to pick up a project on Thursday, no matter how good your notes are or how well organized your code is, you’ve forgotten half of it, you’ve got to pick it up again. There is that trade off of, I’m switching tasks too much but there’s also if you’re just touching something every day, you know exactly where to cut, you pick it up in five minutes and you’re running again and you’re shipping stuff. That’s a great antidote for not doing perfect code, because if you have to ship something to a client everyday it won’t always be perfect but at least you’ll be providing value. I think that’s it for me.

Jackie
That is very good advice, ship daily.

Nick
Definitely.

Jackie
All right, Nick. Thank you very much for joining me on the podcast. If folks want to get ahold of you and reach out to you, how can they find you?

Nick
I’m on Twitter @IAmNickDavis, website is IAmNickDavis, D-A-V-I-S. GitHub, just Nick Davis. I actually managed to grab my first name, last name on there. Just what I said about don’t hit me up with things for Genesis on Twitter, excuse me, please feel free to say hi.

Jackie
All right, Nick. Thank you very much and have a great week. Everybody else have a great week, and I’ll see you on the next episode.

Nick
Cheers. My pleasure.

  continue reading

39 episodes

Artwork

Episode 17: Nick Davis and Workflow Wisdom

rethink.fm

0-10 subscribers

published

iconShare
 
Manage episode 188008931 series 1567421
Content provided by Cathi Bosco. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Cathi Bosco or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Photo credit: Yanko Peyankov on Unsplash

Workflow Wisdom

In this episode, I am chatting with Nick Davis about his own workflow journey and why he started GenesisWP.guide.

Nick Davis

Nick Davis

Nick’s been building websites for fun and profit since 1997, doing everything from working as one of the first online journalists at the BBC; managing the website of one of the UK’s largest airports; to running a large team of web developers and designers for a publishing company in Dubai.

Since going out on his own and discovering WordPress in 2010, he’s worked as a WordPress developer and consultant helping business owners and agencies launch better websites for their businesses or clients, obsessing about making everything on their websites as easy to manage as possible.


Listen to Episode 17


Where to find Nick:

I Am Nick Davis
@iamnickdavis on Twitter
GenesisWP Guide

Tools and Resources discussed:

KnowtheCode.io
Alain Schlesser – Reusable Code Series

Transcript

Jackie
Hey everybody, this is Jackie D’Elia with episode 17 of Rethink.fm and I have my very special guest, Nick Davis. Hey, Nick.

Nick
Hey, how you doing?

Jackie
I’m doing well. Thanks for being on. Most of the folks that listen to this podcast that might be in the genesis community may know you from your GenesisWP.guide site and the newsletter you send out, but you’ve also been, you also have your hands in lots of other things. Can you give us an update on what it is that you do, where you live and what you’re about?

Nick
Sure. Yeah. Too many things, I’ve been trying to slim it down but yeah probably people from Genesis, know me from GenesisWP.guide. Mainly I do the newsletter once a week, This Week in Genesis, a very creative title. I think a lot of people know me through that, we’ve got a few 100 subscribers from that so it’s going pretty well. I’m a WordPress developer, I live in Italy. Before that I was in Dubai, before that was in UK. Done lots of different, I guess you could say maybe side businesses. I’ve been in WordPress development, I was co-founder of Lean Themes, we did a couple of I like to think really nice themes for Genesis. One of them got picked up by StudioPress Kickstart, which we’re still getting inquiries and stuff about which is great. Did ThemeVale for a while which is setting up themes with people, doing that as like a business as well. Sort of trying lots of things, seeing what works. Really right now I’m super focused on my consulting and I just try to find a bit of time every week for the GenesisWP guide.

Jackie
Okay. GenesisWP guide, when did you start that? You recently just said you had a 100th newsletter that came out, the 100th edition. When did that start?

Nick
It was just over two years. I haven’t quite managed every week, but yeah it’s been, I think it was March 2 years ago so a little while.

Jackie
I think that’s a really nice way of keeping the Genesis in touch with each other and seeing what’s going on. I’m just curious, how do you curate all of that? I know you have something on your site where people can go and just contribute, put a link in, what it’s about and why you think it would be useful. Do you use that was a way or do you have other methods of gathering information to put into your weekly newsletter?

Nick
Sure. I put a thing on the site and that definitely helps so if you haven’t been there and you’re in Genesis, this is my call to action for you now, go to GenesisPW.guide. You do have to register because I don’t want anonymous contributions, but you don’t even have to register for the newsletter, you can just post something. It goes literally straight up on the homepage, so don’t post anything bad, you’ll get banned. Stuff goes up on there and I really did it, yeah, to help me create a newsletter and also because it’s long term and it’s going to be super long term cause I’ve been thinking about it so, so, so long, I’d love to turn it more into … Have you ever seen a Product Hunt or Nomad List, those kind of listing sites I think that would be great. That’s just really where I’d like to get it to. Right now, my time is just about enough to do the newsletter each week, but I think, hey, that’s okay. Every week another few people subscribe and so if and when I ever branch out and do stuff, there’s a ready made audience of people to use it.

To answer your question, people come, stuff comes through there. Some people do email me, some people tweet at me. Please don’t tweet at me, just post it on the site. It’s something horrible but I had someone the other day saying, “I can’t wait to see my XYZ in This Week in Genesis,” and I thought, that’s great but I’ll decide what goes in there, thanks. Mainly I look at a hashtag, I really to start with I looked in Facebook, I looked in Slack. I honestly don’t have the time at the moment. I do a big skim through, I’d probably look at, you know, Rockstar are going through that now and I can just look, see the people. These are good people, this is not such good quality stuff.

I guess the one thing I suppose that’s worth clarifying if you’re listening is for me, although it’s perhaps not the best name but This Week in Genesis, but for me I want it to be the best stuff. I don’t want it to be everything because there are frankly people putting stuff out there and I understand people are learning but people putting stuff out there that’s great, keep learning, keep improving. I like to share it. It’s just my opinion and obviously it’s just what I think is good, but I’ve had a few guest contributors and stuff along the way. That’s really the mission of it is just to put a spotlight on people in the community doing good stuff.

Jackie
I like the way that you break it up too. You have different sections in there for things that you’re showcasing, for themes and plugins and podcasts, lots of different things that are happening in the community and just kind of putting that together. It’s easy to skim down there and take a look and see what’s going on. I like the way that you put where things came from, like where you found them from, like Twitter cards that are there and things like that. I think it’s a really nice format and it’s easy to read and it’s helpful to everybody. It lets you know what’s going on that you might not be aware of, because we’re all busy during the week. It’s very hard to stay on top of things, even just in the Genesis community, nevermind the WordPress community or just development and design in general. There’s an awful lot going on that I miss every week.

Nick
Well thank you.

Jackie
Onto your WordPress development business that you’ve got. What is it that you typically, what type of work do you typically do and what’s your role in that process?

Nick
The type of work I typically do at the moment is really around supporting either agencies or companies in WordPress already. That’s really, it’s almost become a bit of a specialism in a way, it’s just how it’s worked out. I do, most of my work right now is with a couple of agencies. One of them I have some semi retainer agreement with, another one they just send me so much stuff I might as well have a retainer agreement and then I also do some stuff for a big hosting company in WordPress, I help them out with some stuff as well. For me, that’s really nice, I love working with different clients but at the same time became a dad three and a half years ago, you know, life changes, my wife works. It’s great to just have, “Here is some more work, get on with it. Here’s some more work, get on with it,” rather than 10 calls about how the site map is going to be and this and this and this and sort of walking the client through WordPress and stuff like that. I’ve got ready to go projects at any time, just almost become my specialism is being the guy to help out other teams.

Jackie
At what point in a project are you typically called in? It sounds like maybe they do the design and the discovery and the design process and then they pass it off to you for the build process?

Nick
Yeah, very much. I do do front-end stuff as well but I’ve also been doing a lot of back-end stuff. One of the agencies, they do the design and they do the front-end development and then I pick it up at that point. I’m really just focused on Genesis and WordPress development then, which is really nice. I don’t mind doing front-end development, I used to do it all the time. I started doing Photoshop for Genesis like a lot of us did, like Bill Erickson did who many of us look as like a role model for that. I do front-end stuff all the time but I do a lot of stuff focused on the back-end now, which I really enjoy.

Jackie
What kind of workflow tools do you use for your build process?

Nick
Different kinds. I’m working with different people and they don’t all … One in particular I’m really dictating what the workflow is because they see me as a specialist, it’s just me. Others to a greater or lesser degree I’m working with different teams with existing workflows, people that are probably not a lot more than me as well. A real mix, but just to give you an overview, my editor, I use PHPStorm which is about a year ago probably thanks to Tonya Mork maybe finally pushed me over the edge because I joined KnowtheCode and she uses PHPStorm so I thought, “If she’s using it, I’m going to use it.” Sometimes personally I usually setup things in terms of tasks, things like that, Gulp, the other company I worked with that used Grant, that’s fine. It’s especially been quite good because it means I’ve picked up lots of different things whereas I suppose if you stay in your own thing and you don’t really experiment and one day you get a project that uses Gulp and you’ve never used it before, you’ve got to figure out and learn it.

That said, I am very much, I don’t actually explore a lot of tools. I think a lot of it is frankly, and just wanting to give value on your podcast and useful answers, I frankly think a lot of it is a waste of time. I think people spend far, far, far too much time trying different tools. I have certainly seen in our community, and not to say that workflow is important, it’s obviously massively, massively, massively is but I think just use something when it’s ready to be used. I didn’t jump into Sass minute one, I didn’t jump into Gulp or Grunt minute one. I’m never stuck because of that and when I had to pick it up and learn it when it was a clear benefit, then I jumped in. I’m probably not the only person saying that in our community. I remember Bill Erickson and Jared Atchison saying pretty much the same on officehours.fm a couple of years ago. Obviously we’re further along since then, there’s more need for it I think now.

Jackie
I feel the same way. I was a little late to the party on Sass too, but definitely have found it to be very helpful for me. Are you using a starter theme when you build out a project or are sometimes you using maybe a Genesis StudioPress theme already or a third party theme?

Nick
Yeah, that’s a great question. Before the build tools and things like that, it was just Genesis sample theme, go. It’s smart of me to say it because I’ve got the perfect starter theme in my head but I never, every project I do I’m constantly … I learn something and I want to apply it to the starter theme but then I’m already on to the next project. Every project I do is kind of my starter theme because I’ve sort of built on the one. I do have a GitHub repo with a starter theme but it’s probably so far in a moment from where I’m at, the second I get more caught up with things I’m going to update it because I really want to pay it forward. I learned so much from so many other people that I want to do a starter theme. One opinion I have about that, it might sound contradictory, is I think you have to write your own starter theme. I think you can look at other peoples, and definitely while you’re getting started, I think you’ve got to completely own it. You’ve got to just own it.

I was talking to a friend of mine about this the other day, he was helping me with some code and he had the perfect solution but I said, “I can’t just use this, I need to understand it first.” You get in such a big mess if you’re just taking code you don’t fully understand. You’ve got to write your own starter theme.

Jackie
One of the things I learned a lot about was, especially from Tonya and Know the Code, is just how to be modular with a lot of things. I got out of the habit of dumping everything in my functions PHP file and I got into the habit of doing includes and breaking things out that had specific purposes, so just a place where, a PHP file that on enqueues all your scripts, another PHP file that does this and does this and then keep those separate. I think it makes it easier to have a modular starter theme where you can turn things on and turn things off and I agree.

I have struggled with the same thing you mentioned is I get a starter theme and then I get started on a project with it and then I have to start adapting things and making changes for that specific project and I’m thinking to myself, “This would be really good to roll this back into the starter theme,” but by then I’m behind on scheduling and the other things and I never get back to the starter theme to go and integrate that. I thought, wouldn’t it be great if that was a parent theme and I could just make my additions to that starter theme in the beginning and then use it with my current build. I haven’t quite solved that challenge as well, so my starter theme tends to lag where I’m currently at. Each client build I’m working on tends to be my latest version of the starter theme so I can sympathize with you on that.

Nick
Yeah, yeah. Two quick things on that is one you should go and read Alain Schlesser’s post on reusable code. I’ve been trying to get more and more into reusable code and I know what Tonya says about modularity, the way he really looks at it is really, really good. His examples on there, they’re actually all OOP so if you’re not running OOP it can be a bit whatever, but it still explains at such a general enough level that it’s still really, really useful. It’s just writing the code that’s just for the client and breaking out the reusable parts in a more organized way and once it clicks it’s just really, really beautiful moment. I think the second thing to think about based on that is that, you just do these leaps. As you say, you start doing everything with your theme in functions PHP and then you’re like, “I need to call a function, I have to plugin,” and then you think, “I probably need several plugins.”

Beyond that, I think what you really need is packages or libraries or whatever you want to call them, you need bits of code, modules that can live inside a plugin, live inside a theme, do a certain thing. I’m doing one at the moment for Advanced Custom Fields because I do the same thing over and over and over and over and first of all, I thought, “Okay, I’ll do it as a plugin,” but it might go into theme sometimes, it might go in three plugins sometimes. It needs to be even more abstract from that. The start of it’s on my GitHub if anyone wants to check it out, it’s really super beta at the moment, it’ll definitely be improved. That’s been a big time saver for me recently because I ended up doing Advanced Custom Fields related things over and over and over and over.

I think the final thing I would just say on that really quickly is Chris Coyier, you know, CSS Tricks, he was talking about CSS, he was considered one of the guys on CSS, but I always think of something he said on his blog which is basically, CSS, just try and do the best you can and he was really talking obviously about CSS can be quite maybe difficult and contradictory perhaps compared to something like PHP, but I think you can even apply that to any coding in general. If you have the right intention of not repeating yourself, of doing things in a modular way, don’t beat yourself up. You always want to go back and fix things. I had this, jus this month, I just couldn’t understand something, I spent like a week rewriting it. You get to a point where there has to be a clear benefit there, so I think just do the best you can, move on to the next project, do the best you can.

The thing where you can get some of that time back maybe is when you come to the project and you need that say Advanced Custom Fields thing again is, you can take what you did before and say, okay, it’s embedded in this plugin theme, it shouldn’t be, but can I pull it out, can I make it a module, where’s the 80-20, where’s the 80 client and the 20 reusable and put it into the next project and this time around do it as the package and keep going and keep going. Then one day you might come back to that other site and you might be able to put the module in and pull out the other code if you need to but if it’s working fine just leave it, but just do the best you can. Don’t kill yourself.

Jackie
Yeah. I’m working right now on a series of posts that I’m writing and the first one was about just the SVG icon system that’s in the 2017 theme. My next step was, and I’ve already done it in one build that I’ve done, is just take that code and adapt that to use in my Genesis starter theme and have one SVG icon folder that has all my individual SVG icons in there and then just a Gulp process to SVGO and put all of that together into an SVG sprite. Then from there be able to use that anywhere in the theme, whether I’m doing social media icons or I’m doing design elements that are part of the theme design and have everything called from that one SVG file. That kind of eliminates my whole need for Font Awesome and lots of other things and then there’s all the style sheets that load with those and all the extra code that loads and it’s much leaner and cleaner.

I really like the way that they did it in 2017 and I was thinking to myself as I looked at it, I was like, “Okay, how can I take all of this and adapt this to something that I can reuse everywhere with every theme I’m working on where I can just drop it in and say this is one thing?” I’ve written something very similar to theirs where they have an icons function PHP file that has all of that code in there and that you can just include into your project and now you have all of that available for you so you can code the SVGs to show up where you want or you can do like they did with the menu system and be able to assign it. I thought that was pretty slick actually the way that that worked was it reads the URL and then parses it out and says do we have a match and if we do then it switches the icon out for it. That’s much cleaner for an end user because if they want to build a social media menu all they have to do is go in and put in their links and put in the title and save the menu and there you go. They have all the SVG icons right there.

That’s one good example I guess of trying to find that 80-20 where you can say, let me adapt all of that, let me see if I can package that so that I can easily move it from project to project where it’s not tentacles, where it’s all interconnected everywhere and it’s going to be difficult to pull it out. That’s my challenge. I think the next post I’m going to do in that series will just be how I migrated that over to Genesis and how it’s something that you can just drop into any Genesis theme and start using.

Nick
Yeah, yeah. That’s the kind of thinking you need.

Jackie
I like it, number one, it’s lightweight. You don’t have all of that weight from loading Font Awesome. I get to just load the icons that I want, so you basically pick what you want to put in your build and then it just generates the sprite for you. It can be very lean, it might have 20 or 30 icons in that maybe the whole file that’s in there. I do like that the file is only loaded once per page and it’s typically down at the bottom above the body tag, closing, and it’s there and then you just use it with the xlink:href to call it wherever you need it on the page. You’re not having all of these extra HTTP requests to load all of these images or icons everywhere. I think it’s a pretty slick system so I’m in favor of it. I like the simple social icons plugin.

The only challenge with that one is it is not as user friendly for an end user to reorder things. You have to go in and do a filter and change the order of the array elements. That’s just not something somebody is going to be able to do on their own and the idea of being able to use it in a menu system where they can just drag and drop and reorder their menu items makes much more sense to me.

Nick
Yeah, yeah, absolutely.

Jackie
What else have you got your hands into? I did some reading on some things that you’ve done and you had, was it ThemeValet?

Nick
Yeah, that’s right.

Jackie
ThemeVale, you’ve Lean Themes. What was your reason for dabbling in a lot of these, I would call them more like passive income projects so that they’re not dollars for hours type activities?

Nick
Yeah. I think it was to try different things. Lean Themes, I bumped into a guy who’s a great designer, David Burkett, who used to live in Italy but he’s now in Barcelona so he’s having a nice time there. I just had a chance meeting with the guy and we stayed in touch, he had these amazing designs and I said, “I can put them in WordPress and there’s this great Genesis community and stuff,” and we just thought we’d give it a go and just see what happens. For us, I think it was really just strictly a side project. We probably never put the energy to take it to the next level, but that was fine, that was a hard decision. I was really proud of what we did do and when I got asked to do one of the themes on StudioPress for me I was very, very, very happy to have that on there. That was that.

Jackie
That was the Kickstarter Pro theme?

Nick
Yeah, Kickstart Pro theme, which is still on there. You can still grab it. If you’re a pro+ member or whatever you can download it and check it out. It’s something I’d probably like to do a version 12 at some point because I think at one stage it was quite popular, obviously time moves on and designs and tastes and things change but I still think it’s quite popular as a landing page. I think at the time we did it a lot of the Genesis are very sort of blog first, which is fine but we wanted to do more of like a landing page, I’ve got something to sell, I’ve got a product or a service and of course now there’s loads of themes like that on StudioPress.

Jackie
What about ThemeValet? What do you do with, that’s a service of setting up a theme for somebody?

Nick
Yeah. I was chatting to a friend of mine about how annoying it is to buy a theme and you install it and everyone expects it to look like the demo but it hardly ever does, most themes don’t do that out of the box. I know some themes have got one click import everything and it all looks great, so it was just to kind of test the premise of would people pay, would they find value in stuff, try some different price points, different service offerings, like tweaked it a lot. Definitely had some traction for a while. Right now I’m really not putting any effort into promoting it at all. I think it’s kind of run its course in terms of my energy I have at the moment, I’ve really, really tried in the last year to focus more on it. I don’t think it’s any coincidence that while none of these side projects have taken off, while I don’t have quote unquote passive income, the consulting side and the things I’m doing now have got to a much, much higher level. I’m working with sometimes people have to kind of pinch myself that I’m doing their stuff so I think there’s a lot to be said. It’s a balance, you have to find your focus but you still have to leave a little bit of room to experiment and try things.

Jackie
Are you finding that newer designs that are coming from agencies are creating more challenges on the development side? Just curious how things are evolving and changing and what opportunities that presents to try to solve things in a different way.

Nick
Yeah. I think it’s always a bit of an arms race. I remember … I sort of played around doing my first website back in, way back in like 97. That was just messing around, that wasn’t professionally, I sort of did my first popular website. It was actually for a charity but it was good enough I would’ve got paid for it if it wasn’t that in 2000. I remember a few years ago when it was an add on to have responsive design or a lot of people who was, you know, PSDs or WordPress 3000, 4000, all responsive like another 1000, of course now you can’t do that anymore, so people sort of, some developers grumbling but they have to do this and it used to be easier before. I think that still happens now with more and more Javascript and stuff getting involved, heavier animations and stuff I see, I see a lot of, I do a lot of things, connecting to different APIs and stuff now that perhaps clients didn’t expect before. At the same time, I think there’s new suites of tools, there’s always things to help you. There’s always, someone’s already written a framework or something like that. If you want there’s things like foundation for sites like front-end frameworks you can use as good bases now. Of course it’s always been normalized for just straightening out your CSS.

There’s things, I think the biggest thing you can do is just level up, like, I personally try to do an hour a day before I get into client stuff and that’s really hard, believe me. If you’re anything like me, you just want to get going. You feel almost terrible for your clients but you’re not doing them a favor if you’re not learning. I try to do like an hour before I get started if I’m not too buried to learn stuff. Just doing that, you will far out learn any demands you get. I think the other thing I’d say, the other tip, again, wanting to give people value, practical things they can take away is, sometimes before, if I get in a bind and too stuck on work, I would maybe, just think, “This bit of Javascript, can it be outsourced, this bit of CSS, can it be outsourced?” Obviously someone who’s a good level and is not going to let you down, I see it as a less complicated thing, but it’s going to take me too long and it’s not worth it and I know I can outsource that part and it won’t cost me much because at that point it’s a commodity almost, right?

One thing I’ve been doing about for the last six months or so is, I wasn’t quite having a mentor, I had to have a mentor, but I found someone. I won’t say their name because I don’t want them to get bombarded with people because I know this particular person is at capacity already but there’s lots of people in the community, go find someone. I found someone that I could, I almost call it up source. He earns far more money, you know, his per hour rate than me, he’s a super expert and if I am stuck on something, I know I can talk to him and he will bill me, which is good, I’m very happy about. One, it means I only ask him things carefully, and two, it means there’s another incentive to learn, to try and do an hour a day because you look at the bill at the end of the month and you think, “If I just learned that, if I knew that,” but I’m coming on leaps and bounds because of that because he’ll stop me going down a rabbit hole way, way, way early on. If I start doing down one, he’ll pull me back. I think you need that. Like I said, it’s not like a mentor because it’s not a structured thing, but if I hit a problem, that’s great.

I think you need, find someone, it might be someone you don’t have to pay, but I’m almost more happy paying because then I know it’s a fair exchange. I don’t feel like I’m leaning on someone too hard. If you don’t have the money for that right now, because if you’re starting out and absolutely every dollar counts, you’ve got to hold it back, and of course things like Genesis Slack and stuff like that, I just think sometimes you just need an answer and you need to jump on the phone with an absolute pro, you know, what would they do. I think find someone like that, it’s a real investment. I can’t recommend it enough and for a fact I know I’ve spent 1000s of dollars with him and it’s absolute, and there’ll be some people thinking, “Whoa,” but it’s so, so, so worth it. Obviously join KnowtheCode, that’s just a no-brainer, it’s 2, $300, but I think even something beyond that. It’s no coincidence that since I’ve did that and particularly since I started working with this guy, my workload has gone up, I’m booked, I’ve never been booked so far in advance because I work faster, I work more efficient. You were talking about how can we combat greater demands, well if you work fast, if you have reusable code, you can handle it. You’ll get better faster than the demands come if you stick with it.

Jackie
Yeah. It also gives you an opportunity to collaborate more too and take on larger projects when you start to lean on folks that have specific expertise that you don’t and you then, like you’re doing, you reach out to somebody and they might help you with this project. It also starts to develop a relationship with that person and they might have a project where they want to pull you in on. I’ve had several recently where I’ve done some collaborative projects where things I was good at was a benefit but there was some other people in the project that were way better than me in certain areas and together we were able to do a larger project that none of us would’ve been able to do on our own. I think that’s another opportunity.

Definitely improving your skills, I mean, when I started with KnowtheCode back … Gosh, I can’t even remember how long it was, but it definitely changed my whole focus about how I was building my sites and putting my code together and that has made me more efficient in what I’m doing today. I can spin up things a lot quicker. I can definitely adapt and change things easier where I’m not spending so much time reworking and rewriting things again. I agree with you on that, that’s one good way to go in and level up your skills. You should always be spending time on education every week at a minimum. I try to dedicate Fridays or a part of a Friday for making sure that I’m exploring something that I’m not comfortable with or familiar with yet and that helps, but whatever works for you. Whatever time you can carve out of your life to continuously learn every week is time well spent I think for sure. Especially if you want to improve and advance your career, make more money, have more free time, whatever it is, I think that really helps.

Nick
Yeah. I think that’s spot on. Particularly about working with other people as well because you can get stuck in that silo and way of doing something that might be, not only to leverage people with more specific skills, but you might also realize that you’ve been doing something horribly, horribly, horribly wrong. Not wrong wrong, but it could be done in a better way. This is a key thing actually I think for anyone listening, if you’re the person who takes the project and you’re always by far the only techy person on it, you have by far more knowledge than the client, that’s kind of great because it’s nice to feel that you have some knowledge and obviously appreciating the stuff but you need to … You won’t learn, you will learn but very, very, very slowly if you work with other people.

Just find any way of doing it, if it’s contributing to open source projects or whatever. You’ll be so embarrassed and so uncomfortable, it’ll be so awkward and you’ll ask so many silly, silly questions, but you’ll get better. You’ll also see things, even people way above you that probably do and you go, “Have you ever thought about doing it like that,” and they might also because they haven’t considered that, but if you get, it’s really dangerous if you’re stuck in a silo and you’re just working with clients who are not technical, you’re not going to learn as fast. It really hit me around the start of this year, late next year, you need to learn these things now. You need to get going because other things are coming along. How long are you going to wait? Do you know WordPress inside out? Do you know Genesis inside out?

Jackie
Yeah. Actually even do you know Git and being able to work with a team and make commits and push changes and pull changes. You read about it but when you actually have to do it the first couple of times it’s scary. You’re like, “Okay, so I’m on a GitHub project with somebody and I’ve got to push a commit,” you’re so afraid you’re going to do something wrong and overwrite something. It’s great to get in that type of an environment, even if it’s just an open source environment and just start collaborating and working together and getting comfortable with that. I think that’s very helpful. For me, that was very helpful in just starting to use Git everyday in all of my workflows and everything that I’m doing where I’m making regular commits and I’m organizing my process of what it is I’m building out, what it is I’m doing and separating things.

I think just getting in the habit of doing that can be very helpful in just your entire process. Also it can save you if you make a mistake or many times I think before I was comfortable doing that, I would want to experiment and maybe make a design change or a code change. I was so worried I wasn’t going to be able to put things back the way that they were when I was done and it was more trouble to make a whole copy of it all, but with branching and you start getting comfortable with doing that, you can realize, okay, I can go off on a branch and try some things, if I like it great, I can roll it in, and if I don’t, I can let it go and I haven’t lost anything. That’s really great for your creativity I think too, it’d give you a chance to experiment and learn.

Nick
Absolutely. Even if you’re not pushing and pulling with Git, I remember seeing, I think Mark Jaquith talk, it was for a WordPress series it was probably five or so years ago now, he said if you just take one thing away from this talk, just at least use version control locally, at least. Even if you’re not on branches and I agree branches are a fantastic way and really you should be using them, but even if you’re just committing on master branch, at least you’ve got that there-

Jackie
You can always roll it back. You can go back and check out a previous commit and undo what it is you’ve just done for sure. I think getting in the habit of that is working locally, I’ve met recently some folks that are still trying to work on servers, remote servers where their hosting plan is and don’t realize how slow that process can be so getting comfortable with working locally and pushing your changes up to a staging site for somebody to monitor say like a client, that can really your whole workflow and kind of speed things along. Then there’s lots of other things you can do along the way to even improve that. Little by little, the most important thing I think was just getting a handle on version control and understanding that. It’s actually very cool. Once you see it and you’re like, wow, this is great, I can just go back and check out one file that I need that I maybe did something to that I didn’t want to keep and it’s very easy and it just puts everything back to where you were.

Nick
Yeah. Yeah, yeah. That’s fantastic. Learning’s the key. I think I probably 10% of what I need to know right now, sitting here right now in June 2017 and that’s crazy but obviously I’m making a living from doing it but I think there’s just huge, huge, huge things I don’t know and every day there’s more things. I think you’ve got to be super aggressive about it. You absolutely have to find the time because you’ll try and find every excuse in the world not to do it if you’re busy or this and that, whatever, if you have to get up an hour early and do it. I’m not perfect, I go through times where I don’t do it, but you have to keep going. The other thing as well is because I think if you’re self-taught, it’s really, really dangerous that you miss something that could’ve really helped you.

That’s what Tonya is really good, KnowtheCode, because I deliberately go back and watch, I look at it almost, an hour ago I look at it and think, “I definitely know it. I know this, I know this, I know this,” but there’s also a bit in the back of my brain that’s like, “Yeah, but what if,” and every time she gets me. There was a PHP string building one the other day, like basics, and like, it’s almost laughable that I would sort of watch that in a way, not to sound big headed, whatever, and I watched it all and there was two, three things I didn’t know and that’s definitely going to help me in the next few days for sure. I think watch it on a faster speed if you have to until it gets to the point where you don’t know-

Jackie
That’s funny. I think I’ve watched the namespacing one several times just to get comfortable with using namespacing, especially if you’re doing a plugin or something that you’re going to distribute where you really want to avoid collisions and problems and it’s not common for people in the WordPress space to use that if you’re typically doing prefixing, which is fine until there’s a prefix that’s the same as the one that you’re using and then you have a collision and a problem. Namespacing is a great, but it does take some time though to get to comfortable with using it and using things from other PHP files and getting comfortable with how to put all of that together. I’ve had to watch that one several times and several others on there as well. I agree, it’s a great resource too, it really is.

Nick
Yeah.

Jackie
We’re wrapping up for this episode and I just wanted to ask you one final question. Is there anything that you’ve been rethinking that has got you kind of moving in a different direction?

Nick
I think the biggest thing specific to coding stuff or WordPress is just packages, libraries, whatever you want to call them, is separate modules, separate code, just trying to use those, I think that’s really helped me a lot. I think one thing, maybe one thing on the technical side and one thing maybe on the other side would be right now I’m trying to do something where because the flip side of trying to make everything reusable is you can really go in a rabbit hole of making the perfect reusable code and you’re not being a good developer, a professional developer and you’re not shipping stuff.

You’re saving time maybe in the future, but you’ve got to ship stuff now and it’s really easy to justify, “I haven’t shipped today because of this,” so now every single day unless I have something really, really major for one particular client, I am shipping one thing to that client Monday through Friday. Here’s one thing I pushed up today, here’s one … One they obviously feel more loved even though the reality is some days you’re really deep in one project and one in another but you get feedback faster which we forget, but it stops you going down the rabbit hole of trying to perfect everything. I’ve rethought I guess the conventional wisdom and I get that it is obviously a single thing and I am single tasking, I’m not doing three things at once, but it’s more efficient to just do a whole day on this and maybe a whole day on this.

Maybe it is, but I think there’s opposite arguments as well. If you’re doing multiple projects at once, you do the whole day Monday, Tuesday, Wednesday, you try to pick up a project on Thursday, no matter how good your notes are or how well organized your code is, you’ve forgotten half of it, you’ve got to pick it up again. There is that trade off of, I’m switching tasks too much but there’s also if you’re just touching something every day, you know exactly where to cut, you pick it up in five minutes and you’re running again and you’re shipping stuff. That’s a great antidote for not doing perfect code, because if you have to ship something to a client everyday it won’t always be perfect but at least you’ll be providing value. I think that’s it for me.

Jackie
That is very good advice, ship daily.

Nick
Definitely.

Jackie
All right, Nick. Thank you very much for joining me on the podcast. If folks want to get ahold of you and reach out to you, how can they find you?

Nick
I’m on Twitter @IAmNickDavis, website is IAmNickDavis, D-A-V-I-S. GitHub, just Nick Davis. I actually managed to grab my first name, last name on there. Just what I said about don’t hit me up with things for Genesis on Twitter, excuse me, please feel free to say hi.

Jackie
All right, Nick. Thank you very much and have a great week. Everybody else have a great week, and I’ll see you on the next episode.

Nick
Cheers. My pleasure.

  continue reading

39 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide