Episode #19 - Rob Kendal AMA Q&A - Your favourite developer questions answered
Rob Kendal is a freelance Shopify partner developer, WordPress dev and front end engineer. He's answering some of your most popular questions on this special Q&A episode.
In this Episode
In this penultimate season 2 episode, I'm answering some of your most popular questions such as: What's better, React or Vue? Do I ever write dirty code to finish sooner? How do I start blogging and creating content? How do I start freelancing? And loads more....
Want to sponsor the show? Head on over to the sponsorship page to take advantage of early sponsorship!
We mention a few different resources in the show and you can find them here:
[00:00:00] Rob Kendal: [00:00:00] welcome to the season two penultimate episode, which is going to feature just me. Just me, Rob Kendall. for a kind of special Q and a episode that I do once a season. So these are some questions I've, I've run kind of ask me anythings and those kinds of things on sites like dev to and on and on Twitter.
[00:00:20] Just to see what the kind of, I don't know what questions are out there, what burning questions people have and we'll, we'll try and answer some of those. So we have 17 questions, I think are some of the most popular ones. So we'll go through those and see, see what answers we get. So question one, how do I start learning to code?
[00:00:39] Yeah, a very common one amongst aspiring devs and people who want to get into code and start learning. I think it depends obviously on what area of code you want to get into. For example, if you want to get into backend code, you're gonna want, obviously you want a different direction than if you want to go into front end code, right? I'm going to deal with front end code. This is the front end. I'm a front end developer.
[00:01:01] That's where most of my experience is. I think. my two bits of advice would be, or three bits of advice would be focus on the fundamentals first. So you might see a lot of people talking about Vue or react or angular or Svelte or some kind of shiny framework. And even me like, Oh, WordPress is a headless CMS for next js. Right?
[00:01:23] but you know, you need the fundamentals to do that all these kinds of low-level basics that the support the advanced knowledge that you then go on to learn outside of that. So how do you start learning to code front end?
[00:01:35] I would limit your scope of influence. So it's very easy to see black Friday deals for like is 10 courses on Udemy to be a front end developer and to go nuts. I would probably ignore that to start with and focus on something like Khan Academy or free code camp, especially if you're looking for a low barrier to entry in terms of costs, I'd have a look at free code camp.
[00:02:40] Question two, do I need a LinkedIn profile? Absolutely. Yes. Is the short answer. Next question. No, I'm I think, yes. If you want to get on, especially if you want to get on and learn code and then ultimately land a development job. If you are in a development job, you want to get another job. You need a LinkedIn profile, right? Yes you do. And what I would list on that is very, objective things that you've achieved. You know, everyone starts off with I'm a goal oriented, focused, whatever I'm a developer I'm hardworking, you know, explain what you've done and why in the ethos behind it.
[00:03:19] if you look on mine, yes. It says something about I'm a very driven developer who leads from the front and some of that, which is arguably a bit generic, but I talk about thing achievements I've done as well. I have the same thing on my CV, which LinkedIn sort of mirrors a little bit, but you know, I talk about results. I drove 600% uplift in lead generation for a company: that's more important than I did a landing page and it was great.
[00:03:42] In terms of what to do with it, Danny Thompson should follow him on Twitter anyway, great guy, again, loads of valuable content for free that he does alongside a quote unquote, proper job that he has nine to five. Right. But he has a course on LinkedIn and he will tell you how to just, you know, sky rocket, your LinkedIn profile. Yes get one, have a look at Danny Thompson's
[00:04:04] you know, sharp video course on kind of improving it.
[00:04:07] What needs to be on my CV? How do I structure it? I for me, this is similar to the LinkedIn profile. I think, there are a lot of other people out there who will give you some great advice on a CV. firstly, in a shameless plug, I'm going to go and talk about my own book. From aspire to hired. It's free. It's the pinned tweet on my Twitter profile, at kendalmintcode, if you're not already a fan.
[00:05:42] That's what you need to get good at is thinking about your achievements and how to describe them in a more salesy way.
[00:05:49] Should I learn react or vue. Oh, I'm going to keep this one simple because you know, I'm not going to get into a, into a battle of the, of the frameworks or the libraries. To be honest, that it's such a far reaching question with. So, and it's a loaded question as well, right?
[00:06:06] I I'm going to recommend people learn, react, because if they want to learn react, I can help them because I'm very knowledgeable with react. I love react. It's great. It doesn't mean I dislike vue. Also I use react day to day in my job I have in my current job I have in my previous job. So it's easier for me to assimilate into a role that uses react. It's not that I couldn't flop on to using vue, but, that would be a more difficult transition because I just don't have the experience with it.
[00:06:33] Have a look at the jobs in your area, that's probably something that should dictate it. You know, rightly or wrongly, if you live in Birmingham, or you live in I don't know, Alabama in the States and you have a look round and everyone's hiring vue developers, it doesn't make sense to go and spend your time learning react. If you want to get a job in the local industry where you live. Right. But it really learn whatever sort of speaks to you. What, whatever kind of makes sense. There's no right or wrong answer.
[00:07:37] but it depends again on you. how you learn, where you've learned it, how much you've managed to learn. If your, a family man or a single mother, and you've got like kids to look after and you've got, you know, another couple of jobs, even if you're just running it alongside your normal job on an evening, it's going to take you arguably longer to learn that than if you are someone who's in a position where you go, yeah, I can just spend, you know, two or three full days a week. Cause I do part-time work or maybe I'm, I'm doing a college course in something.
[00:08:39] I'm thinking of changing jobs, but I'm unsure. How will I know it's the right time? that's a really difficult question because again, and I hate answering a lot of questions with 'it depends', but it is so personal. I think if you are not fulfilled by your job, and I think the skill here is becoming
[00:09:03] acutely aware of the difference between, things are just a bit shit at the minute, you know, I'm not having a good time. It's been particularly stressful.
[00:09:12] I've just gone through a really stressful period at work where we had like a really suddenly, surprisingly compressed deadline. And we have to do a lot of work that we weren't planning to do for several months later, crumbed into like a really short period of time. Everyone was kind of a bit stressed. We were all getting a little bit burnt out. We then add some other complications and some family stuff going on and you're like,
[00:09:35] Yeah, that was not a pleasant period. It really wasn't. But that doesn't mean I don't like what I'm doing and it's time I changed jobs. So I think if you wake up every morning, just completely sort of unfilled. If there's no challenge there for you, you know, you get up and it's just kind of you just going through the motions.
[00:09:54] You know, maybe that's time to start looking for something because maybe, you know, cause you need to be challenged. I think not all the time or, you know, so intensively, but I think if you're waking up and you just, it's not, it's not pushing the buttons for you, you're not growing. You're not progressing. Again, you don't have to be progressing like constant progression, but if you're not, if you're not growing and challenging yourself on a regular basis, then you know, you're just stagnating.
[00:10:22] and there's nothing wrong with that, but if you're not happy with that, maybe that's the right time to look for something else.
[00:10:28] Ah, question seven. How do I start blogging or creating content? The shortest possible answer for this is you just start. Write about what, you know, what you've learned and just start. Do you know what I did when I started this podcast, I just started it.
[00:10:46] I have no experience of running a podcast or what was involved? I learnt a lot of lessons, but I just asked people, I went out and went, hey, do you want to be a guest? And I've had some pretty impressive people on here and that's that's you know, nothing. I'm not saying that with any ego behind me of like we are, so I've managed to get people on arent I cool? but it's just purely through going out and asking people and then taking an interest in what they're interested in and I'm genuinely interested in their stories and that's worked out well, but you know what? I just started. And I'm sure if you go back and listen to the first couple they were you know, I didn't have as good equipment as I do now. And I'm still learning, you know, I hopefully this I've put some tweaks in for this very episode on the, on the audio, based on some feedback. So hopefully this will be better than the previous one. And I think what puts people off is this fear of, I don't know what I'm doing and yeah, you might not, but guess what? We all don't know what we're doing when we start and you have to start somewhere.
[00:11:43] Very few people are fortunate enough to have either. Someone, you know, above them going, hey, just do this; this is exactly how you do it. You've all got to ultimately take a punt. When it comes to blogging, I think that's a really simple thing for people to start with because it's very valuable. There are some great communities out there. Like the, the Dev on Dev.to or Hashnode.
[00:12:10] Even like WeStryve there's there's loads of places like this that are very welcoming, very friendly, very transparent and open and honest and welcoming of, of people who are just starting. But, you know, what should I blog about? Well, again, if you learnin to Code, you've got lots of fodder for there, for content. Write about what you've learned.
[00:12:28] You've got to have a look at my blog posts and you'll find that one of the most popular ones I have is about solving a react hooks warning. It's a really obscure warning, and that doesn't relate to what the actual problem is. I got stuck with that. And I had to figure out myself and I wrote that because there was zero other resources out there that answered my question.
[00:13:18] And you've just got to start with it, you know? And the thing is when you start out, you're not going to have a big audience. So any worry about, Oh, well, you know, what, if people don't like it, I'll spoiler alert: not many people are gonna see it when they start, you know, and it's something that you get better at it and you grow over time. So just start doing it.
[00:13:37] Question eight. What am I thoughts on Kubernetes and Docker? well, I ended up kind of calling Kubernetes 'Kuberneetos' or something strange like that for a while. So I think that tells you everything about my experience with it. I genuinely don't have any thoughts.
[00:13:53] I've not used them professionally. I think to be quite honest, there are very complicated solutions that people use in situations that they do not need to use them for. I wouldn't say they're over engineered. I think they have a purpose, but I think the market that they are aimed at is not always the market, which consumes them. And they end up being very complicated over engineered solutions to things that could be done a lot simpler.
[00:14:24] Question nine, what do I do when I'm not coding? Oh, Thinking about coding, right? I have a, I have a rich, full life. No, I do. a lot of things. So some of it is, is creating content. I kind of do this podcast. I'm working on a react course at the minute. I play a lot of guitar. Sometimes I record bits. Sometimes it's just literally noodling at the top of the stairs because I find that a great way to relax. I love video games being a gamer since an early age, like right in the kind of the NES era. the mega drive and NES kind of era that's that's when I really got into games and like really early on, you know, it was like slightly beyond sort of Gallaga and space invaders, but right at the, the kind of early conception of, of modern, mass market video games. I got on board there and I've always been a gamer. So I play a lot of video games. And then outside of that, I have a family. I spent a lot of time with them and that pretty much covers in the, fills in the blanks between coding.
[00:15:17] Question 10. How do you get into freelancing? there, there is an element that is similar to kind of question seven with how do I start blogging? And I think some of it is you've just got to do it. again, I I've done a lot of freelancing over a lot of years. I had a small marketing agency that did pretty well.
[00:15:36] and I think it, it it's tough. Right. But I think it starts with decide what you want to freelance in. And I would say we've all done it. I've done it, but I'd say. You don't have to have an absolutely weird single niche that you're in, but I would definitely find something that is, is fairly focused. If you're going to do web design and focus on, you know, really good web design and a build. I wouldn't then tack on a bunch of stuff just because you're, you've got a fear of missing out on someone; oh someone came to me and they kind of wanted a website, but they're mainly wanted SEO. And you know, if you're not experienced at that and you're not good at it, don't do it.
[00:16:14] It doesn't mean you can't learn, you can't do it in the future, but I think the big thing people get stuck on with freelancing is they're trying to do too much to too many people. And there's there is that old axiom that is, you know, worryingly quite true. If you kind of appeal to everyone, you appeal to no one.
[00:16:30] but there's tons of people out there, that are really good to follow for freelancing who do a much better job than I do. Tom Hirst, my, my buddy, he actually lives near me just over in, just over in past Leeds, in Yorkshire. So have a follow of Tom Hurst. I think he's just TomHirst on Twitter, but he's got a freelancing book. Kelly as well, Kelly Vaughn, who runs The Taproom. She's like a tech Twitter celebrity. I'm sure if she doesn't think of herself like that, but she, you know, she is she has loads of great advice and very kind of genuine. She's got a great freelancing book on Start Freelancing Today, I think it's called go and read them, they will give you much better advice than I would.
[00:17:06] Question 11. How do you balance a full-time job with a part-time business? Carefully is the honest answer. I think this is a good route into freelancing full time for a lot of people, not many people are fortunate enough to just go day one, normal job; day two freelancing, happy days, and they all lived happily ever after.
[00:17:30] I think you've got to set yourself a schedule a bit like you'd have for work. So, you know, you work between eight and four, nine til five, carve out some time regularly to work on that business or to work on the freelance work. And then, you know, right I've got five hours a week that I'm going to spend freelancing.
[00:17:50] You know, 75% of that is actual time that you can work on projects and maybe of the 25% is doing social media and doing something else. Right. Then I would then look at projects that you can take on that will fit into that. So ones that are either, maybe not huge projects for many months, that you can spread out a little bit and you get people and you sat their expectations. and then you take on a little bit more.
[00:18:16] Oh, you take on a little bit more after that and you kinda just work out how much you can take on, but I think carving out regular time for yourself to do that, even if it's like something small, like three hours a week. And sort of build it up, but that is my freelancing time. That's what I'm going to do rather than kind of haphazardly doing it.
[00:18:34] Question 12. Could you give advice on projects for newbies? So I think this is the kind of question that comes, that really wants to know, I suppose about building a portfolio. So, if you want to build a portfolio, I'd find something that is a bit more realistic. it's hard to build things like that without it ended up being contrived right?
[00:18:56] But I think if you can find something that is a bit more interesting than like a, to do list and may be a bit realistic. So I always talk about, I have a mentee student he had a kind of lyrics finder app. So it wasn't a Netflix clone and it wasn't a Spotify clone, but it was. I mean, those projects have value, but it was a standalone lyric searching app where you could search for, an artist or an album or a bit of music, and it would show you some kind of lyrics. And then you could find other songs by the same artist. And I thought that was a really interesting project because it covers a lot.
[00:19:30] You know, there's, there's lots of different areas of the app and different features and functionality and things that you can build on. Like you can start on it and then build on it as you go. I thought that was really interesting thing to do.
[00:19:41] And it also involves an API. So I think that was a great kind of project. But clones, I suppose, as cliche as some of them become, if you can maybe try and ape or clone your favorite app that you use, or some, or some simplified version of it, like Trello is a very simple kind of looking app, but it's very complex if you sit and really think about it, but you can build a very simple version of it. So that's a good thing to look at. You know, something like Asana, like a project management tool, or Basecamp. Basecamp again, very complex under the hood, but looks quite simple, which is one of the biggest selling points of it. Something like that. You. But I think you want something complete, not just, You know, single form on a webpage that does something, you know, try and find something that is small and achievable, but is an end to end complete thing that can be hosted in its own right. And just kind of works.
[00:20:37] question 13. As a junior front end dev, what is the main thing I need to focus on when wanting to improve and graduate to a senior level?
[00:20:47] I think, firstly, I wouldn't rush to be kind of labeled as a senior because I mean the titles ultimately don't mean much. That's very easy for someone to say who is already like, you know, arguably a senior level. I think you want to just really focus on being better than you were before.
[00:23:08] But it has hundreds, if not thousands and thousands of templates. So go on that themeforest.net. browse for one that you like, and if it's a less complicated theme than I would do all of it, like as a one page, if it's a more complicated theme, I would choose parts of it.
[00:23:28] And just try and replicate it. This isn't about stealing it and copying it and charging people money. But in terms of just literally ripping it off locally for practice, I think that's fine. So find it, you know, even if it's a couple of sections that you like, have a look. You know, right click and inspect element and see how they're kind of doing it. Try and recreate that yourself with the CSS that you know, get as close as you can. And then maybe have a look at how it does work peak, under the covers. And then understand that a bit more. So it's using a box shadow to make some really fancy shadows around things. That's really cool. I didn't know about that. I can go away and learn it. Deepen my knowledge. Oh, that's using like background gradients and things like this. I didn't know that existed. Go and learn about that. And then the more you use them in the more practice you get, the easier that becomes and you learn a whole host of other subtle things that you wouldn't have thought about. For instance, a space in between elements or line heights and font choices and things, and all this kind of information goes in and it swims around in that it kind of comes out subconsciously. So that's the best way I think to get comfortable with it and to learn, and it's just to do more of it.
[00:24:35] Question 15. How would you suggest to approach a new role when you don't have all the skills required, but you want to have the chance to learn new things? So my approach with this has always been to Richard Branson it, so I like him or hate him, he's been cited with this, with this kind of phrase that I now refer to it as Bransoning It. Where you get a good opportunity. And you say yes, and then you worry about the details and working out later. And that served me pretty well thus far. And I think a lot of successful people owe their success to being very open to opportunities, not just necessarily this kind of lottery winning condition that people just assume, Oh, well, they've just had stuff, you know, dropped in their laps and it's complete happenstance and luck, and it's like, you need a little bit of the right place right time. But a lot of it is just recognizing opportunities when they come about and being open to them.
[00:25:28] And then saying yes.
[00:25:30] A lot of companies and recruiters as well, they will take a job and they will stuff it full of keywords and things. And they don't always break down like this is a must, this is a nice to have, this is just complete frippery that I've put in there.
[00:25:43] So if you, if it sounds interesting, you like the look of the job, you like the sound of the company, the recruit is pretty good. You know, you've talked to someone in the company. That's okay. If it seems interesting, I'd just say, go for it because the absolute worst that will happen is you get a no.
[00:26:00] And then you can put that on your pile of feed back and go, well, maybe it wasn't the right thing for me. I mean, you've got to be realistic. I don't know Python. I'm sure I could look at some of it and go, I can see what it's doing because it's a fairly high level well-written, near to English language, but I don't Python. If you went write me this in Python, I'd struggle. So I probably wouldn't go for like a Python job, but you know, if you're, as long as you're realistic and honest with yourself, I just say, go for it. You know, the worst that happened is they say no. And like that's as good as a yes, because then you go, okay, next.
[00:26:31] Question. 16. Do you ever write dirty code only to finish small projects faster? Oh, that's a oh dangerous question. Yes. in the nicest possible way I try and write the best corner cutting code sometimes to finish small projects.
[00:26:51] You've got to be realistic again, if you have to write X amount of code in, Y amount of days. And then suddenly there is, Y divided by two, you can't possibly write the same amount of code. Unless you're willing to introduce some level of hackery, our corner cutting, or just errors. Right. So I think the first thing to do is have that realistic expectation of like things aren't going to be exactly the same. They're just not, you can't fit it in. that said sometimes it does come down to the wire. And I think for me, it's about making choices of what can we trim off to keep that quality? even if it's for like a few days and when we can go back in and bolt this on or work, on it, an expand it.
[00:27:38] there's quick and dirty code that works but could be optimized and then you can go back and so long as there is a plan in place to go back into test it and to clean it up and things within the post launch. The coming days after post launch, I think that's fine. So I think on it, on the surface of the question alone, no, but yes, with an explanation.
[00:28:01] And finally question 17, do you push to production on a Friday? No, I try not to. and in fact, I would insist upon it. In fact, the company where I am at the minute we, we do not push on a Friday and we don't even push on a Monday. I think mainly the Monday things, mainly because everyone's come off two days, you could have written some blinding code on a Friday, then completely forgotten it by Saturday morning. And so I think on a Monday we'd like to gain the swing of where we are getting the lay of the land and then boom, we launch it. but for me, yeah, this, this pushing on a Friday, I have worked in so many places where we have pushed stuff live on a Friday and it is just an absolute catastrophe. some of this is just the universe. We call it sod's law in Britain. but I think it's that, is it Murphy's law? Kind of, you know, something bad will happen. It's going to happen in those circumstances where you absolutely don't want, want it to happen. You know?
[00:28:58] and I see this a lot. People make a joke of it in the tech scene. Like, Whoa, I don't push to production on a Friday or even the kind of reverse where it's like, I'm a rebel I like to live dangerously. I'm going to push to production on a Friday. And then you get some kind of people coming along who like to go, well, if you using things like Docker and Kubernetes, all you've just got a really solid production pipeline and dev ops kind of structure. You should be confident to push 24 hours a day. And I think those people aren't living in the real world.
[00:29:29] Because you can have the absolute best well-tested production pipeline framework set up infrastructure in the world. But you push that button and the law of computers comes into effect. And the problem that I think people miss with this Friday thing is Friday's just an arbitrary day. Of course it is. And it is no more statistically likely to break on a Friday than it is on a Thursday.
[00:29:58] But the difference people miss is that if it goes wrong, everyone's chuffed off for the weekend normally, so you push it and something goes wrong. Then you're into people coming in, emergency on-call things. It's more money. It's more time. It's more stressful.
[00:30:17] And there's, there's fewer people there with the safety net. So you can have the, you could be the most confident person possible in your team and your infrastructure and your code. And it's tested within a bullet-proof edge of its life. Something will go wrong. And if it does. I even not even, it will go wrong if it does. No one is there to pick up the pieces all over the weekend. That's why people don't like doing it because it can create this more stressful environment and situation, and I think people are quite naive if they're assume that they have just suddenly set up some magical tool that means that this risk is mitigated. And I don't mean to kind of pull the, while I've worked in tech for close to 20 years. But I have, and I've never worked anywhere where this kind of thing doesn't occasionally happen. And I think it is more easily avoidable by saying, look, why don't we, instead of just being very cocky and cavalier with our, with our approach to deploying on a Friday, why don't we just wait until the Monday? I'd be happy with Monday. We just wait til Monday, do it properly, get it all monitored. Happy days.
[00:31:32] so that that's my 2 cents on it, you know? and that's all my questions. If you've got any more, always send me them. My DMS are always open on just about every channel I'm on, especially Twitter. You can email me at my email address is just email@example.com.
[00:31:48] I don't have anything to plug because I'm talking as myself on my own podcasts. I think we're, we're all good for plugs. This is normally at that point in the podcast where I'd ask my guests if they had anything to talk about, but we're good. We've got a really good episode planned for the season two finale episode 10, which will be the very next episode. we've got a great chap on who is, not only a react JS, subreddit moderator is one of the biggest, react reddit's there is, he's also run and founded a kind of games, community that has hundreds and hundreds of thousands of members throughout the the globe. So I'm very interested to talk to him.
[00:32:26] That's coming up next on episode 10. It'll be the final episode in season two, while we have a little break over the holidays. thank you all for listening as always hope you enjoyed it and I'll see you all in episode 10.