August 25th, 2021 × #Beginner#Debugging#Advice
Advice for New Devs
Scott and Wes share tips and advice for new developers just starting out, covering topics like learning fundamentals, debugging, soft skills, struggles all developers face, and more.
- Code breaks often when editing
- Learn through repetition over time
- Read error messages carefully
- Take walks when stuck on bugs
- Write comments to outline code
- Struggling is normal for all devs
- Replicate designs pixel perfect
- Learn command line basics
- Soft skills are as important as coding
- Always be interviewing to practice
- Learn vanilla JavaScript deeply
- Understand tradeoffs of choices
- Build projects you are excited about
Transcript
Announcer
You're listening to Syntax, the podcast with the tastiest web development treats out there. Strap yourself in and get ready. Here is Scott Talinski and Wes Boss. Welcome
Soft skills are as important as coding
Wes Bos
to Syntax, the podcast with the tastiest web development treats out there. Today, we've got A show called Advice for New Devs.
Build projects you are excited about
Wes Bos
We're gonna go through both. Scott and I have our own opinions and advice for rid Someone who's trying to get into the game or someone that's trying to level up.
Wes Bos
And, also, we asked we put the bat signal out on Twitter and asked, rid Like, what is your advice? So we've got all kinds of stuff here, and Scott and I will sorta read through them and and give our thoughts as to if we think it's a good advice or not. Yeah. We are sponsored today by 3 awesome companies.
Wes Bos
1st 1 is Sanity structured content CMS. Second 1 is Sentry performance and error tracking, and third one is Cloudinary
Scott Tolinski
image hosting and transformation on the fly. I'll talk about all of them partway through the episode. How are you doing today, Scott? Doing good. Just, you know, keeping it up. We're going on our 1st vacation since the pandemic, so ready for that Next week. Wow. Yeah. Grandma and grandpa are coming to watch the kids for a little bit, and that's gonna be our 1st time away where we're both away from the kids for any any amount of time, really. Rid. So, scary.
Scott Tolinski
Definitely scary. But, same time, it's gonna be exciting and, you know, wonderful, hopefully.
Wes Bos
Yeah. Awesome. Cool. That's That's really exciting. Caitlin and I are gonna hopefully get away for 1 night with our with, somebody watching our kids ready. Once, once we do our anniversary in the summer, so we're stoked for that. That's nice. Yeah. That'd be nice just to get away. Yeah. Yeah.
Wes Bos
Alright. Well, let's get on into it. You wanna grab, the first little tidbit of advice again? These are this is advice from Scott and I, and then and later in the show, we'll get into rid Some of the community sent in suggestions.
Scott Tolinski
Yeah. So the first one, we have here is to get comfortable with your code Not working. We spend a lot of time writing code, and many of the time, it's under construction.
Scott Tolinski
It's got little guys hitting it with a hammer and a jack Jackhammer or whatever.
Scott Tolinski
Either way, this this code is under construction most of the time. And and when it's under construction, it's not going to be working, and it will hit bugs. You'll hit issues.
Scott Tolinski
Things will not work for periods of time, but you'll get through it. It's really just how it is. We we go back and forth between rid The code working and the code not working. And so you're gonna have to spend just as much time with the code not working if you're editing and then tweaking and learning new things, especially in the beginning. Next one we have here is compound learning and momentum is your biggest tool.
Wes Bos
I I have this quote on my JavaScript 30 course, which is There's no formation without repetition, and I think that is honestly the biggest tool for someone who is learning to code.
Wes Bos
I am not the smartest dev out there, but I feel like I have been pretty persistent over the years of continuing my learning.
Wes Bos
And now I look back at the, like, 15 years that I've been a dev, and I say, oh, wow. Like, I actually know a thing or 2, and there there was no, like, massive leap or bound. It was just that, like, every single day, I get a little bit better, and then you look back in years, and you're You're way, way ahead. So there's gonna be a lot of lows where you're thinking you're not making any progress and everything is frustrating and you're not even rid Sure. If you like development, there's gonna be a lot of highs where you're getting into some new tech, and you're super excited about it. And, Take those highs and lows as well, but just know that you're in this for the long game here, and having that momentum is is huge. Rid. Yeah. Absolutely.
Scott Tolinski
And and it is one of those things where you don't even notice it until you look back. The most common way that you hear this being expressed from developers is they'll say things like, rid. Oh, I looked at code I wrote a year ago, and what was I thinking? Yeah. And that's, like, such a common thing that you hear because that's just evidence that you are putting in that little time by time by time and just growing constantly.
Scott Tolinski
Next 1 is going to be to this is actually a huge one. In fact, this is one of those skills that rid me from a developer who was just getting into my 1st job to a comfortable developer who could solve my own problems without asking for help, And this is learning to read the error messages.
Scott Tolinski
The error messages, when things don't work, are really, really, really, really helpful. Let me tell you, that is the way you solve just about any issue. And when you're just getting started, you might not realize how to read them, And that's a skill in itself, but you also might not realize where to look. I remember, one time when I was maybe, like, rid. Just I didn't know what I was doing with with PHP at all or or a database. It was my 1st time working with a database. I was trying to get Magento working on some site with a cPanel, And I I broke a file because I didn't know what I was doing in PHP and the whole thing white screened. And all I would have had to do is look in the error log to figure out where the problem was. But instead, I was just like, well, I just I'm I'm gonna FTP. I'm gonna grab all the the local files and just start over. And that's what I did because I didn't know any better. Because I was like, well, I guess I I goofed something up. I don't even know. It's a white screen. That's it. That's it. Toast. Can't be fixed. Yeah. And there's always an error log, and that error log always gives you a road map to fix the problem no matter what it is.
Wes Bos
Yeah. I would say not always. Usually, sometimes it's pointing at something bizarre, but I've I've found that if you ask yourself questions, is this Error coming from my code. If so, then I goofed something up. Is it coming from a library? If it's coming from a library, rid. I initially would be like, well, the library is broken, but it's and more often than not, it's that you're not supplying the library with what is it it was expecting.
Wes Bos
Rid. And sometimes the libraries will check for that. Other times, they won't. Is this coming from the browser? I've had many issues where The error in the console was just totally unrelated to the thing that I was rid having trouble with, and there wasn't actually any error happening. And sometimes Chrome extensions can throw errors, or there's weird network errors or a big one I see is people are running privacy badger or the DuckDuckGo extension, and that's blocking something. And rid Just think about sorta take a step back and think about those types of things and learn to read a stack trace, as the stack trace will tell you rid. What function called what function called what function, and then it broke. So you can sort of step back, and more often than not, it's just dumped into your Your console or into your your terminal, and you're you're like, I've this is just gobbledygook to me. But if you can Learn to parse through it and throw out the pieces that are unnecessary. You can usually find a little bit of tidbit of information in there. Yeah. Totally.
Scott Tolinski
Rid And it is. It's always like you said, you have a that it's a treasure map. It it really is. It it often just leads you to where the issue could be. And and you're right. You know, it's so funny. I I'm on the some programming Reddit's just casually. Sometimes I I pop in to help, solve problems, and you wouldn't believe how many Just times the question is, I'm getting this bug.
Scott Tolinski
Can somebody help me fix it? And the bug is, like, can I read property of undefined? Know, can I read property ID of undefined? Yeah. And and the answers are just, well, why is this, this property undefined? I'm like, I don't know. We'll We'll figure it out. I mean, if that property is undefined, and you're trying to access a property of it, then, you know, that's it's going to throw an error. So figure out why your Object is coming in as undefined and then go from there. You know? It is funny because, like, everyone's yep. Your default can just be to, rid Well, I gotta ask for help. I don't know what to do for this, but the more and more you read it and just push on it, I think you can really make some progress. Yeah. I was talking to my wife the other day.
Wes Bos
Something wasn't working.
Wes Bos
I think I've told this story. Did I tell the story about the lamp? I don't know. I don't remember Lamp's story. Oh, I'll I'll tell it anyways. Anyways, we have a lamp that has a switch on it, and that lamp was plugged into a dimmer. And then that was plugged into a Wi Fi switch, which is plugged into the wall. And she just comes to me and says, the lamp's broken. And I was like, okay. Well, like, what part? Like, why is it not working? And she said, I don't know. It's just not working. Like, the lamp as a whole rid is broken. And, partially, that was just because she just wanted me to fix it and didn't want to deal with it. But I was just like like, figure out what at what point in the chain is the bulb? Is the switch? Rid. Is the dimmer? Is the Wi Fi switch or the power coming out of the wall? Is it isolated to one of those parts? And that will give you a much better idea of where it's at. And that sort of, like, debugging mindset is something that you can really once you have that sort of mindset, that applies, rid Like, literally everywhere in life, but you could just dig into things and say, okay. I understand the issue is coming from here.
Wes Bos
Now I have a little bit more clarity as to what could possibly be causing it. Yeah. And sometimes in some situations,
Scott Tolinski
like a lamp being broken, You just want the lamp fixed. Right? Hey. Lamp's broken. Fix the lamp, please. And then other times, when it's your career, like a programming, if you ready. Go to some other developer, an IRC or on Reddit or whatever, Slack, and you say, the lamp's broken. How do I fix it? Like, that's not helping you. Right? That's not helping you grow as a a developer. So if you're thinking about this for long term gains and growth, Then you definitely
Wes Bos
like, learning these, these debugging skills to help yourself solve these problems is an essential part of growing as a developer. Rid. Next one we have here is take time to learn the concepts that scare you. There are lots of things in programming rid that seem a lot scarier than they are. Hoisting, memoization, caching, there's a lot of these things where You're like, oh my gosh. I would never high order functions. These are all, like, scary words, and then you look up like, you look try to read a quick blog post that said, like, what is that? And then you're like, I don't understand what that is. But once you sorta get into it and realize what they are, you go, oh, rid That's not that complicated.
Wes Bos
That was being explained improperly, or it was just not the way that I liked it. So rid Take the time to dig into those specific things.
Wes Bos
At least learn the high level of what they are because as soon as you hit an issue,
Scott Tolinski
That thing will solve, then it will make very will be very, very clear. Totally. Totally. Totally. Next one is we all struggle. Rid. There are there are are points where, you know, I mentioned earlier when your your code's not working, but there are points where you really feel like I am too dumb to do this. I just cannot do this because, you know, you'll just spend hours on something and none of the solutions you try to fit re Worked at you know, nothing that you can do is getting you through this error, this bug, this situation. You cannot understand this one small concept that everybody else can understand. You've tried to learn Redux for the 8th time, and you don't understand why you need all this stuff.
Scott Tolinski
These are the types of things that everybody goes through all of the time. And as you're learning, the good indication that you're learning something is that you're hitting into things that seem like they're too hard for you and that you're struggling a little bit. If it's all easy all of the time, you're never gonna get there. So we all struggle. This stuff is hard. Give yourself a break in that regard. Just know that every single developer out there who's gotten to Anypoint has just put in the time to get past it. Now granted, there are some Naturally gifted people, but those people are few and far between. The majority of the industry has worked hard to get where they are.
Wes Bos
Totally. Yeah. There's you'll often see some of these YouTubers, or you'll see a 14 year old on Twitter who is just rid laying it and things like that, and that is not the norm. Most of us are just regular people where this stuff is hard for us, but we sort of kept at it, and it gets Gets a lot easier. I always tell people, like, you should be, like, pushing yourself, like, 6% more or rid. 12% more than you think you should because the struggle bus is where a lot of that learning will happen. And if you keep pushing yourself a little bit further, Very similar to working out or or, other things like that. You always need to be pushing yourself just a little bit further than you think you should be that's where the learning happens. Yeah. And working out is the perfect analogous
Scott Tolinski
because, like, if you think about it, you know, people wonder how people get To be in shape or, you know, really strong or any of that stuff, when in reality, all they're doing is showing up to the gym 4 days a week and putting in an hour. And, you know, that is really the the key to any sort of progress at all. It's just push through the hard stuff. Right? This next one is one of my favorite ones rid Taking a walk is good for solving bugs.
Scott Tolinski
You know, I used to work at an agency, and my boss and I used to just go for a walk around the block all the time. Be like, hey, man. I'm having a hard time with this bug. You wanna go for a walk? The point of the walk was not to talk about the bug and was not to, like, ruminate on it or or work on the The code itself. The point of the the walk was to get your head out of the code and get your head out of the current mindset that you're in And then get your brain just a little bit of time to relax.
Scott Tolinski
And when you do that, you come back to your code. You feel very different. And most of the time, You end up looking at it a totally different way or having another type of solution. This also works for, like, going to bed for the the night, you know, and then the solution when you wake up, it's a very common thing. This is one of the hardest things to do. It's like 11 o'clock, it's not working. It's 11:30, it's not working. And you're saying, I I just gonna fix this before I go to bed. It's 12. It's not working.
Scott Tolinski
Just go to bed. You're you're gonna solve it, like, first thing in the morning if you do or just rid. Go for a walk. If it's the afternoon, it it will help you every time. Yeah. That is a bit of a a bummer one because sometimes you just wanna sit there and push rid through and fix this darn bug. But
Wes Bos
often, I'll just walk away from it, have a shower, go for a walk, whatever, rid. And then or you come back to it and be like, oh, that was simple. How was I totally missing that? Next 1 is get comfortable with the command line. It's Weird that most of our tools as web developers are still on the command line and not like a a wicked gooey tool with drag and drop. And rid I remember what was I learning? I forget what I was learning early on, and I was just like, oh, like, that's it? Like, there's no rid app that I can, like, click settings and things like that where so that that's just the reality of of the tools that we use. They're so flexible that Building some sort of interface for the type of things would be would be too complicated and and not give you the full control over it. So Getting good at like, and not, like, being amazing at, like, bash scripting because, honestly, writing bash scripts is not rid A good skill as a web or not not necessarily bad skill, but it's not something that you need. You can write JavaScripts if you JavaScripts. You can write many JavaScripts if you want to, script something, but being able to traverse a directory, to create files, to move stuff, to SSH into a box and and just be comfortable with those commands as to what you're doing, and you're not just pasting in random stuff that Someone on Stack Overflow posted 9 years ago. Mhmm. That's a huge one. That's like a big tool as a web developer that is not code related.
Scott Tolinski
Yeah. I think just even being able to I think, like, the top 10 skills for well, I don't know about 10, but the top skills for command line is just being able to navigate, Move files, copy files, delete files, SSH. Yeah. Like, those types of things. You don't have to be, like, A command line master, but you you do need to know how to get around, run git commands, those types of things. It's not as hard as you're expecting it. Most of the time, it's just memorizing what to do, but also if you if you you know what CD is, change directory, then you're never going to forget that it's CD. Right? So just understanding what all the commands, the words are behind them, and what they are will will definitely get you at least into that zone.
Scott Tolinski
Now Let's actually take a break to talk about one of our sponsors today, which is Sanity. West, do you wanna talk about Sanity?
Wes Bos
I would love to.
Wes Bos
Rid. Sanity is a content platform that powers better digital experiences. So what does that mean? Essentially, what it is, they rid They do all kinds of stuff, but, essentially, what they do is they are a CMS that is extremely flexible and extremely powerful. I'm gonna talk about Sanity Studio, which is the actual UI that you use to interface with Sanity. Sanity is a hosted solution, rid. But the Sanity Studio is actually code that you can run on your computer, and you have full control over that code, which is really, really cool. It's like the best Sort of the the best balance of they handle all the hard stuff, which is the database and the hosting of it and the scaling of it, and then You still have full control over the UI. So Sanity Studios is a React app that is fully featured, but if you wanna be able to control it, to skin it, rid. To be able to create your own components for custom inputs, you have full control over, and you can also host that rid Sanity Studio wherever it is you want. So do you have a next website or a next app that you want to Power with Sanity. Go to sanity.ioforward/ syntax.
Wes Bos
That will get you double the free usage tier, which is rid 200,000 API requests, 1,000,000 API CDN requests, 10 gigs of asset storage, and 20 gigs of bandwidth. Plenty, plenty, plenty. Thank you, Sanity, for sponsoring.
Scott Tolinski
1,000,000,
Wes Bos
dollar. 1,000,000.
Scott Tolinski
Alright. So this next one is going to be important if you're working out with a lot of designs, which I know a lot of us are, especially if you're in the agency world where you're getting a new design, you know, all the This is such an extremely valuable skill. It's being able to replicate a design pixel perfect, As in the designer gives you something, and you give it back to them as a fluid working website with the spacing and everything working exactly rid How it should be. You would not believe how many interns or junior devs that I've worked with in agency worlds That they get a design, and they bring it back. And they say it's done. And you look at it, you say, it's done? What do you mean it's done? This is not done. This doesn't look at all like the design.
Scott Tolinski
Like, what what's up with this gray color is very clearly not the same hex value that's in the document.
Scott Tolinski
Use, like, 2 2 pixels for the lines here when they they only have 1 in the design. You have this spacing is weird. The spacing is off. These icons are wrong. Like, You name it. People will do it, and then they'll try to say it's done.
Scott Tolinski
This always takes more time. I always got my stuff done really early recreate the design as a website, it's going to be way less time on your part because, You know, if you think, oh, I gotta do all these little details or whatever, those details are gonna save you so much time because you're not gonna have to go back to it after the diner designer comes and says, You didn't do This Isn't Right. It's so funny to me because it was always a skill that I don't think I I thought about too much. It was just something that I expected out of, my work. Right? Yeah. But I think some people, they don't think about it as in, like, this needs to be the way the designer is asking for it. Do it that way, And, you know, go from there if things need to be changed, but do it pixel perfect. Just absolutely do it. Spend the time. Make it make it nice.
Wes Bos
Yeah. Like, that's such a good thing because you we always talk about, like, JavaScript skills and knowing libraries and things like that. And, rid those things are very helpful, but being able to cut a design into a fully functioning website that looks exactly like it and is WellCoded is, like, a big, big, big part of our job. So go and grab a design from rid. You can go online. You can find prebuilt designs and just cut that thing to HTML, CSS, and JavaScript and make it work and make it be pixel perfect. Rid That will really
Scott Tolinski
I keep saying level up, so you you have to pay me here, Scott. Yeah. That will really level up your skills. Cha ching. Wait. No. You you have to use me. That's my trade. That's I guess I don't have a trademark on that. But Isn't that Mario? Yeah. There's a trademark on that. No. Mario doesn't level up.
Scott Tolinski
Who who Mario who levels up? I think it's a it's a concept from from RPGs. I think it comes
Wes Bos
I always thought that was Mario when he gets the big he gets the mushroom, and he goes no.
Wes Bos
No? Oh, man. My world is rock. Yep. Just rocked it. Next one we have here, this is one Scott added. I I very agree with this. Re you are on a team. Don't get stuck in the us versus them mentality of internal company teams. I would even extend this for Working with a client in an agency or a freelance as there's often people are frustrated with the other devs, the other designers, the client, and rid They're just like you even hear, like, people give out advice as to, like, how do you deal with this client? And they're always like, well, put your foot down and rid Do this, and it's like, wow. That seems very aggressive a way a a very aggressive way to deal with an another designer, another dev, or a client. Like, You're on a team. You're working with them to solve their problems.
Scott Tolinski
I think you should do better than that. Yeah. To speak on, like, the team aspect side of things, I've been on dev teams where, like, you get into, like, a dev team meeting, and it's all like, did you see this done design I got? Or, like, this This designer doesn't know what they're doing or is so and so manager and ensure that's part of just, like, company interpersonal relationships where there are No. Everything isn't always amazing and whatever, but you are on a team with these people, and you are working to get these things to be the best there are. So If you you're working with a subpar design or whatever, it's not doing you any good to rip on it, to feel worse about it, rid hate on it in any sort of way, but it is also not good to build up some sort of a us first then type of deal where, you know, that's everybody's rid against each other. Like, yeah, you are 1 big team. I know that's, like, such a it's such a thing where where the developers, they can get, like, Kind of pompous about being able to create stuff, even new developers. Like, I made this website, and this dumb designer couldn't do it. Like, they couldn't write this code. Yeah. Well, you couldn't do their design.
Scott Tolinski
You know, you they're they're different skills. They're different jobs. And I think it it's important to keep all of that in mind that everybody's working together on rid You are all a team. These are all your people. Like,
Wes Bos
you should all you should all be lifting each other up. That's something I see a lot with New devs where they think that dumping on a technology or a library or a CMS or Another person's implementation, they think that that makes them look like they're good. Mhmm. You know? Like, oh, I hate we would see this all time in the boot camp. People would spend They'd be 4 weeks into being a web developer and be like, I hate WordPress. It's awful. Like, what a bad way to template out things. They're like, okay. You don't You don't know that much yet. Like, calm down.
Wes Bos
But by being opinionated about something doesn't make me think that you're good at what you're doing. It just rid me think that you're a bit of a jerk. Yep. Yeah. I hear you.
Scott Tolinski
Next one is going to be, you are not an expert, especially as a new person, and and this goes right along with what you're just saying. If you're new or even intermediate or even advanced, I would say to any state rid Within this this game of being a dev, you are not an expert. You won't be an expert. And even if you are an expert, you're probably at the very, very top of the field. Let's just say that. You're working in some agency or some whatever. You're not an you're not an expert. You might know things. You might know a lot of things, but there's always other things. You know, it it's too often that some developers get into a flow where they say it'll like you said, they'll they'll dump on a technology because they don't like it. There there's Endless posts on any of the social media, Reddits, whatever, where people are like, well, you might not like us older developers, but, You know, we know that you're you know, don't jump on the latest hype train or whatever. They're like, okay. We get it. You can write HTML and CSS. But There are very valid reasons why many companies are using certain specific technologies. Yeah. Those technologies exist, and they have users. They have validity.
Scott Tolinski
So, like, rid. Give them that validity. And and maybe instead of just putting your feet in the sand and saying, I'm not doing this. I mean, this is very common, especially when rid. Sass came out, and and and developers were like, I like writing CSS the real way with CSS. And it's like, well, I like not writing out vendor prefixes, And I like not duplicating my my class names with nesting, and and I like variables. You know? And I think those those concepts and those things often get lost because People put their feet, and they just plant them, and they say, I don't need this thing. And, I think that's important thing to keep in mind. You're always going to be learning. You're a student forever. Rid. And if you have the student forever mentality, you'll keep your brain a little bit open. It's so easy to fall into the trap of, like, you know, every single developer who uses Vue must be dumb. No. They're just they're just, bro, you know, they're very productive, and they're they're probably just looking at it a different way than rid You are with whatever tool you're using. Do you know what I mean? Yeah.
Wes Bos
Next 1 we have here is scaffold out with comments, rid Or I like to call this pseudo coding. So sometimes you'll say, like, okay. I I hear this from a lot of people. I know what I need to do, but I don't even know where to possibly start. Read. Into that, I say, like, you start writing pseudo code. So don't write the code. Write like, okay. I need to get an array of names. I need to filter them for names that start with w.
Wes Bos
And then for each name, I need to loop over it and send off a fetch request.
Wes Bos
And then once all of them are back, I need to loop over the results, render them to HTML, and then stick them into the DOM. And If you can write those all into comments with, like, 1, 2, 3, 4, 5 up beside each of them, then it's like, okay. Well, I can
Scott Tolinski
rid Instead of like, oh, this thing is overwhelming, I can focus on on, you know, on just the 1 piece of the pie that I'm trying to do right now. Paint by numbers. I even do this for HTML. If there's, like, a a grouping of, like, a header or something, I'll just have a comment and say header. And then that way, I, like, have a spot for it Whenever I come back to it. Whenever I want to work on the header, it has a spot. Yeah. I think scaffolding with comments is just a great way to organize your stuff and to get your Your stuff isn't outlined. It's the same thing as, like, writing an outline before you write a paper. It just helps helps every time your code ends up becoming more organized and probably less refactors rid along the way. But if you do refactor, Wes, you're probably gonna hit some bugs and some new bugs maybe. If you're using Woah. Using TypeScript, maybe not. Who knows? But With any of this stuff, you'll probably need an error and exception handling tool like Sentry.
Scott Tolinski
If you wanna head over to century.i0, use the coupon code Tasty treat, all lowercase, all one word. You will get 2 months for free of Sentri's amazing error and exception handling tools. Not only that, but you get performance tracking tools. You get, just so many new things every single month. I swear, every single time I I log on to Sentry, there's, like, Some new little widget or new tool that gives me access to some bit of data that I didn't have before, whether it is getting a better idea of what the error picture on our site really looks like Or getting a better picture of what that performance pie looks like on our site as well. So head on over to century@century.iocoupon code tasty treat, All lowercase, all one word, and you will get 2 months for free. Thank you so much for Century for sponsoring. Alright. Let's get into
Wes Bos
our Twitter advice. So I sent out a tweet It says, what is your advice for new developers? Scott Talinski and I are doing a syntax podcast on the topic and wanna hear your different opinions.
Wes Bos
Please include your background in the reply.
Wes Bos
And at the time of recording, this has 63 replies, so we're not gonna be able to get through them all. I would recommend That you take a little peruse through the replies because there's lots and lots of good nuggets in there, especially from devs. Rid That's the one thing nice thing about Twitter is that there's devs from all different backgrounds and experiences. And some people have been devs for for 2 months, and some of them have been 25 years. So it's kinda cool to see the different advice from people who have different amounts of experience because, also, like, someone who just came out of a boot camp, a 25 year old dev is not gonna have advice for somebody that rid Came out of a boot camp. Well, they they might, but it it's some really good advice if somebody has just gone through it themselves maybe a year before you. Word. Ben Newton says soft skills are as important as coding skills if you want to go far. Ben is
Scott Tolinski
And that's not that's like a real thing because the other devs were just rude to clients. They didn't have the understanding of how to talk about their projects in a way that People would understand because they wanted to get too much into the code stuff, too much into the specifics, not enough about the goals and and what the the big results are. So soft skills Yeah. How to work with clients, how to work with your fellow developers, how to work with a design team, or any of that stuff, rid. They will take you very far because when people like you, you get promoted. It that's a that turns out to be a thing. Yeah. Absolutely. I totally agree with this one as well. Rid. One of the later pieces of advice is always be interviewing
Wes Bos
even if you're not necessarily looking for a job. Those skills of going through an interview and talking to people rid. And going back and forth and talking about yourself are key.
Wes Bos
I find myself doing this a lot as sometimes I'll go into, like, a business. And, You know, sometimes when you you meet somebody who just loves to chitchat or or talk about their whatever project you're doing, whether it's like you're going into Home Depot or whatever, and The person just wants to talk your ear off. I find myself being like, yeah. I'm trying to get out of there as soon as possible because I'm like, I don't I don't feel like talking to you. Mhmm. But I always, like, push myself A little bit to be like, alright. Let's just, like, build up my, like, communication skills and try to ask 3 or 4 questions about what it is that they're they're talking about, And I find that that has helped build up my soft skills. Even at conferences as well, you're chit chatting with somebody, try to asking lots of questions, try to pull information out of them Because that builds up your conversational
Scott Tolinski
skills. Yeah. Hey. It's funny. I have a a friend who it can border a little bit on, like, Turning it into an interview sometimes, so it's, like, not always great, but he asks really great questions sometimes. And sometimes it's too much. Right? Like, sometimes it'll be like Yeah. Even just very simple questions.
Scott Tolinski
You know, we're let's say we're talking about cars. I say I like this car. What do you like about it? Okay. I like this and this and this.
Scott Tolinski
Okay. That's pretty cool. But even like that same question, what do you like about it? It's a good question that people just don't ask, believe it or not. Like, oh, I really like this podcast. Oh, tell me. What do you like about it? What's your favorite thing about this podcast? And, again, if you say, give me 5 things that you like most about this pod. I mean, that's a little bit different, but, you know, if you're asking those kind of questions rid actually show you you care to a deeper degree than just, like, oh, cool. That sounds like a fun podcast or something.
Wes Bos
You know, it it's engaging a little bit more. Rid Yeah. Kalyn and I have a friend that is like that. And every time we go home from, talking to that friend, we're like, we like that guy. He asked such good questions. He's always interested in what you're doing. Yeah. You know? And instead of just trying to talk about yourself and blah blah blah or have these really, like, rid. Shallow conversations, she just, like, knows what to ask. You know, like, damn, you're you're a good conversationalist.
Wes Bos
Mhmm. Ready. Yeah. Let's go. Next piece of advice is from Eric McCormack, Ed Moose on Twitter. Learn, observe, try. Don't be afraid to blog Or speak to push yourself beyond your comfort zone. Something we talked about earlier is push yourself. It's okay to hack on stuff in your free time, And it's okay not to. I think that that's a good one. We heard that from a bunch of people is that sometimes you're going to be super stoked about rid You wanna code every minute of all of your life. You wanna build things. You just the ideas are flying. And other times, you just don't wanna See a computer after work, and all you wanna do is go home and work on your pizza dough or whatever it is that you're working on. And rid Knowing that that is okay, I always was thinking we had another one from, Jason rid. Leggy says you don't have to code for fun. Many people don't. Some do, and some love it. Doesn't mean you're a bad dev. If you don't feel like it, you need to improve rid Your skills by studying and learning. Sure.
Wes Bos
But if you don't like doing it, don't worry about it. And I thought about replying as my re Plumber friend who likes to plumb for fun will disagree.
Scott Tolinski
Yes.
Wes Bos
Because it's one of the one of the few jobs where People, like, expect you to go home and do the same thing, and that is not just that some for some people, this is just a job, rid. And they are good at their job, but they're not doing it for fun on the side. I have a buddy who's a plumber, and he doesn't plumb for fun on the side, but he's constantly rid. Curious. He's always solving problems. He's always learning new things, trying out lots of, like, just random stuff in life. Like, he's grafting fruit rid trees right now, and I'm like, that's really cool. And I think, like, he just has lots of good life skills, which is problem solving, being curious, and That will make you a better dev in the long run, I believe, even if it's not necessarily just code related. Yeah. And we should say, though, I I think When you're starting out and if you need to, like,
Scott Tolinski
really cram for some stuff, like, I mean, in college Yeah. You would rid. Cram all night and work, you know, study, study, study. I think that there's a difference between that and coding for fun. I I Used to code a lot for fun, and it was legitimately for fun, but it was only ever on projects that I was going to use for something, Like creating tools for myself. And and I feel like that's different because that's not working necessarily.
Scott Tolinski
I'm not Creating something that's Yeah. Expected to make money or expected to be used by someone else. I'm making something, you know, just for myself. It's a you know, just an Expression in that way. And I think that can be maybe the better approach to coding for fun, so to say. You know? Yeah. Agree. Alright. Next one is from Andrew Nickerson. He says, start by building a project that's interesting to you. Don't worry about understanding all of the tools and methods off the bat. Just something that works. Depth of understanding can come after the joy of creation.
Scott Tolinski
And Andrew is dead on there. In fact, that's kind of exactly what I was just talking about for fun. It can be really fun if you just Really take on to something that is interesting to you and not just something that has goals that are monetary or something like that. Right? If you're creating something just rid for yourself just as something you're interested in, and it can really, really help you push forward into things. You know, I I think The large part of my understanding of JavaScript and JavaScript frameworks overall has come from projects like this where I'm just, rid I wonder if I can do this thing. In one of the things I was like, I wonder if I could, build a tool that randomly tells me a breakdancing move to do every 30 seconds Or every 5 seconds or something. So that way I could be dancing and then have it shout at moves to me. And then you start to get into text to speech APIs, and you know, you build the thing, and then it's fun. I mean, that's awesome. And then you've learned a whole bunch of new APIs. You've learned a whole bunch of new skills, and you got something out of it.
Wes Bos
Rid Totally agree is you can do what's called just in time learning is when you need to learn something, when you need need something, like The drag and drop API is probably a good example. I'd say most developers have not implemented the drag and drop API because they haven't had to. But if you need to, then you can just go ahead and and learn it at that time. You don't need to learn the drag and drop API and just sit there ready to get the next project because you might not ever have a project with that. But if you need that type of thing, then you go ahead and learn it just in time.
Wes Bos
Next one is from Michael Powers on Twitter. Ask questions, break things once in a while.
Wes Bos
I do that a lot more often than I'd like. Read. Learn vanilla everything even if it feels like a waste of time.
Wes Bos
Think about writing that function from scratch rather than importing a package. Rid Think about importing a package rather than writing it from scratch. That's that's a good question, and finish it off complete JavaScript thirty. I like that. Rid Just learn vanilla even if it feels like a waste of time. We see that from a lot of people right now. They just wanna get into whatever's gonna get them a job, but rid. Scott and I have been around long enough that we've seen a couple different frameworks come and go and libraries come and go. We know that just knowing rid. Vanilla JavaScript is going to be your core asset, and you'll be able to pick up whatever framework or library. Like, you've been listening to this podcast. Rid. Scott just completely rewrote his entire platform in a different framework.
Wes Bos
Why? Because he's good at JavaScript,
Scott Tolinski
And he was able to just pick it up really quickly and start to implement the type of thing. The whole idea of components and styles and scoping and Event listeners, they apply through any framework. Yeah. Those types of things they do. And if the browser APIs aren't going anywhere, so it's not like you're gonna be investing your time in learning something that might not be here next year, you know. So Yeah.
Scott Tolinski
You know, imagine if you would've spent A ton of time learning Backbone JS. I mean, I guess, the skills were definitely transferable to React, but they were, you know, specific skills.
Scott Tolinski
So you could always invest that time in the main stuff. And now I'm not saying that to dunk on backbone JS or anything. I'm just saying that it's not that widely used anymore. And Nowadays that people if you would have spent that time learning the foundations, well, maybe you you would be able to take a little bit more with you, and not that rid Backbone was that intensive. Maybe backbone was a bad example. Either way, you could replace the word backbone with anything here, and point still stands.
Wes Bos
Yeah. Literally, any framework library, as long as you have your your good fundamentals. Like, definitely go ahead and and learn that framework as well, because that's what you wanna use, and that's what's gonna get you the job. But don't neglect your your vanilla JavaScript or your fundamentals in whatever languages is you're learning because that's gonna That's gonna come with you wherever you go. Yeah. Next one is from Jason Lee.
Scott Tolinski
He says, dev for about 15 years. It doesn't matter how long you do this job. Most of the stuff rid. There will probably be unknown and confusing. There is just too much.
Scott Tolinski
Don't worry about it. Just learn what you need to learn to do to what you want to do for what you want to do. So, I mean, Jason's also well, he's right on. I mean, there is too much stuff, and that can be seen as a big plus for some people who like to learn a lot of things, then that could Seem like a big scary thing for people who, like, really structured.
Scott Tolinski
Like, learn this, then learn this, then learn this, then learn this. This is not like that. This is a rid. Spiderweb of many different impot you know, many different things, and it's impossible to know the entire spiderweb.
Wes Bos
Next one we have here is from re Don't be afraid of the documentation and reading other people's code. I've been coding since 10 years. Started with PHP, learned CSS, HTML JS and now totally into TypeScript and typed PHP.
Wes Bos
That'd be a kind of an interesting show, typed PHP.
Wes Bos
Read. I agree with this one.
Wes Bos
Learning to read documentation and go through it all is super key. And, like, I'm not just, like, rid Saying like, oh, like, search it and find it, but, like, literally take a couple hours to just parse the documentation so that you know what is in it And, like, sort of the what are the surface area of it is, and that you'll be able to understand the the library and jump into the parts that you need much quicker.
Wes Bos
Rid One other thing I'll say here is that when I was a new dev, reading other people's code made me more confused and more anxious.
Wes Bos
Rid. I would often, like, just, like, sit down and, like, start reading someone's code. I'm like, I have no clue what this is doing, especially if it was, like, very manicured, like, done by a really, really good dev. Sometimes that stuff is just way too abstract for me, and things were in too many places to to understand What was going on? So if you are very new to dev, don't feel like if you feel like reading other people code is getting you nowhere, maybe take a break on that for
Scott Tolinski
couple months and then come back to it and say, ah, now I understand what's what that's doing. Yeah. I didn't get good at reading other people's code until somewhat recently. I always thought it was, like, kind of rid. So, you know, reading it straight up, just somebody saying, hey. Read read the source isn't always going to be, you know, the best way, I think. Alright. Next one is from Max.
Scott Tolinski
Max says, know your trade offs. Every single choice you make has its upsides, rid. But also its downsides. If you're not sure of the downsides, it's almost always because you don't know about them, not because they don't exist. Figure them out. And this is a very interesting point, and this one might be a little bit better for the intermediates, I think. Because when you're first starting, I don't know if you have the brain capacity to really context upsides and downsides as much. But once you kind of know the lay of the land and getting past, like, the learning of the syntax of humps and stuff like that, It is important to know, like, okay, you know, CSS frameworks.
Scott Tolinski
Yes. They have upsides, and they have downsides.
Scott Tolinski
Why do some other people not use them? That's a good word to start with. So looking at something like that and saying, alright. What are the upsides and what are the downsides? And are the downsides big enough downsides for me to not implement something like this, or are they not are they important to me? Are they things that I will maybe eventually appreciate or not appreciate right now, but there is, like he says, upsides and downsides to everything.
Wes Bos
Yeah. I think that this one rid is really good advice, but maybe more like intermediate dev Mhmm. Advice. Because, like, if someone's like you're 6 months into being a dev, and you're like, alright. I'm gonna choose the database. Let's talk about the upsides and downsides of relational DB versus non relational DB. Like, you don't you don't know. Yep. Like, you're not gonna learn that stuff until you're rid Until you've actually done it and felt the pain. So I thought this was a really, really good advice, but maybe not for absolute beginners. Totally agree. Yeah.
Wes Bos
Next one we have here is from Pat Clark.
Wes Bos
Build a report with PMs and clients beyond rid Technical. Learn their business language, and they'll learn yours. Technical stuff becomes even easier with good relationships. Front end dev, rid CMS dev for 13 years. That's that's really important. So CMS dev probably working with all kinds of different businesses to Make those businesses money. And he probably has gone into tons of different industries and talk to different types of people, and he's trying to solve a business problem, And they're trying to solve a technical problem. So if you're on the same page and you can understand what happens, you're going to build something much better. I thought that was good advice.
Scott Tolinski
Totally. Alright. Another one is from Musa
Wes Bos
Bargazi.
Scott Tolinski
Bargazi.
Scott Tolinski
I wanted to throw an extra a in there, Barragazi. Musa Barragazi, He says that leave things better than you found them. And this is such a good one. It is such a good one because, yes, You know, a lot of times, we we hit files, and they're crap. And you say, oh, it's just crap. I gotta work it. And, yeah, It can be really, really easy to work in a crap file and leave it a crap file or not improve it in some sort of way. And sure enough, that That is the time to do that. But what you don't wanna do is you don't wanna continue the crap just because 0 is already crap there. You wanna at least rid Improve it in some way or move it in the correct direction by at least your contribution to this thing is not making it any worse.
Scott Tolinski
So leave things better than you found them. I think that's a a really nice thing, especially if you're working in a project with a team. You will probably get a good reputation as somebody who writes good code. Rid. Last 1 we have, build things that excite you from David Moore. Totally agree. If you are trying to improve your skills,
Wes Bos
Sitting there doing a to do app that doesn't make sense or building an app that has no relation to something that you're excited about, rid Just change that app to be something you are excited about. I see it all the time, and people who take my courses, they say, alright, Wes. I took your course, But Mhmm. I made this instead, and then they show me, like, whatever a little app it is that they built for, somebody the other day is a re Preschool teacher, and they sent me what they're doing. And they just took the slick slices from Gatsby and made it into it's, like, still has the same styles, which I thought was awesome, rid. But it just does something totally different for his specific use case, and that's the coolest thing to see because you're gonna go a lot further when you're excited and invested in the thing because it's solving a problem or excites you for what you're building. Yeah. Totally.
Scott Tolinski
Cool. Well, that is it for this advice. There are so much there I I think this might be one of the single most helpful episodes that we've done because there's so many tasty treats in this episode. It's nothing but tasty treats, and, we didn't have to bring them all. We got some help from the, you know, our our, I wanted to come up with some keyword for that, but I can't come up with anything. So Yeah. What are our syntax listeners called? Yeah. We don't have, rid Taxi heads. What? Curly brackets. Curly brackets. Oh. Wes, you're good at naming things. What's up with this? What are the let's Okay. Hold on. Let's think about this for a second. Yeah. Let's think they are,
Wes Bos
People that listen to syntax.
Scott Tolinski
I'm trying to think of something positive.
Scott Tolinski
Yeah.
Scott Tolinski
Their commits? They're committing to listen to the podcast?
Wes Bos
Yeah. That's Yeah. That's getting there. I think we need to throw this out to everybody listening. It's better than taxi heads. Yeah.
Wes Bos
Taxi heads. Not a good not a good one at all. Send us, Send us on Twitter at Sodex FM
Scott Tolinski
what you think Sodex listeners should be called. Yeah. Yeah. Yeah. Cool. Well, that's it. Now it's part of the show where we talk about sick picks, and sick picks are the things that, we think to be pretty sick. Rid It can be just about anything. I have a sick pick for you today, Wes, that I don't know if you're aware of, and I think this is the type of tool that is going to be right up your alley. This thing is gonna be right down Main Street for you. Alright. This is called raycast@raycast.com, And this thing is you could think of it as like Alfred. It's it takes the place of Alfred, so it's something that you would use instead of Alfred.
Scott Tolinski
But let me tell you, I'm impressed. I'm impressed very much so that I'm considering just using this instead of Alfred. It connects to a lot of tools, So GitHub or Google or Asana or just Mac stuff in general, you can script commands really easily. Not that you can't in Alfred, but, like, This thing is really neat. There's a lot of of really helpful tools in here for this. And one thing that I really liked about it I don't know if you've ever tried to In what was it? In in Alfred, let's say you have a number value with a comma in it, which typically happens if you're copying and pasting it from places And you're trying to add it up. Let's say you have a bunch of of, like, bank accounts and you're trying to add them all up, the values or whatever. If the Commas are in there. Alfred doesn't know what to do, so you have to go through and manually remove all the commas. Oh, that's a setting in Alfred. What? You just turn it off. Well, whatever. Rid. Raycast does it by default, so Raycast better. Yeah. It should be default. Yeah. Either way, I found this thing to have a lot more tools, and, it's really neat. I like it. So I have I've
Wes Bos
yeah. Sorry. Go ahead. No. No. I've just been running it for a little bit, and I think it's a I think it's a neat little tool. I'm excited about this because I've always found that scripting in Alfred to be a little bit tricky, and it stopped me from ready. Writing custom workflows,
Scott Tolinski
so it would be really cool. Like, can you write workflows in JavaScript with this thing? I don't know. I have not done that yet. I haven't had the time. It looks webby.
Scott Tolinski
It's in beta right now. You can install it via Homebrew even.
Scott Tolinski
Rid I'll see the scripting API. That's how you know it's legit. Yep. That's how you know it's legit. It's yeah. Missing something, build it yourself. Rid. By default. Learn why it's it's it's just neat, and I haven't had to configure it all so far. So, yeah, it looks it's it's nice. John Lindquist from Egghead
Wes Bos
Wrote a little tool for running short little scripts.
Wes Bos
And it's not like Alfred, but it's a little tool for running little scripts, and I thought rid That thing looks pretty cool. There's some neat tools coming out, and especially, like, is this this Raycast thing is looks like it's built
Scott Tolinski
in HTML CSS. I bet that is gonna work on Windows one day, and that will be amazing. There's a lot of neat things in here. What's nice about it is you can interact inside of applications a little bit better. You know, like, you wanna do anything and get, you can do that without installing an extension Or or those types of deals. You can give me my calendar. Just installed it. Yeah. Give me my calendar
Wes Bos
in a glance. It's got a things integration.
Wes Bos
Rid. Man, this looks amazing. I'm super excited. I've been a alpha user for probably 10 years, and I've been a huge fan of it. But rid. I've always felt like or not always, but, like, I feel like after 10 years, like, I kinda want
Scott Tolinski
a little bit more from this type of thing. You know? I would say there has not been a ton of change rid. From Alfred version 2 to Alfred version 4, it's just kinda been stagnant. So Yeah. Yeah. I agree.
Wes Bos
Especially if this works on Windows, how sick would that be? Because someone can rid. Finally, stop being like, oh, here's the, like, watered down version on Windows, you know, like, when you're recommending an app, and you have to, like, say, here's the Here's the kinda crappier version. This is Albert.
Scott Tolinski
Albert is the one on Linux. Oh, Albert.
Scott Tolinski
Oh, and what's the one on Windows called? No. I mean, that lit that is a literal thing. It actually exists.
Scott Tolinski
No no jokesies there. I don't know about Windows. Yeah. What would Windows be? What's a what's a gal and dork? Yeah. Like an Allen rid Or, no. Yeah. It's gotta be, yeah, like a butler kind of name. I don't know.
Scott Tolinski
Jeeves. Ask Jeeves.
Scott Tolinski
Start with an a. Ask Jeeves. That starts with an a.
Wes Bos
There you go. That's I think that's taken.
Wes Bos
Anyways, I got a sick pick for you today, and that is Amazon based battery and rid Screen replacements for your iPhone. So I have an iPhone 10 XS Max, and rid I get splashed all the time from my kids because they're splashing in the bathtub or if I'm in the boat, things like that.
Wes Bos
And, I know that it's supposed to be waterproof, but I think, finally, some water got into it. And there was a little strip of the phone rid That just stopped working. And I tried doing the whole putting in desiccant beads and and things like that, and it just didn't work. So I'm sitting here being like, alright. I'm a couple months out from the new ones coming out. This thing is 3 years old. So I I flipped back to my iPhone 7 plus, but the battery was awful on it. Like, I had to charge it 4 times a day. So for, like, the $25 Canadian, probably, like, 19 American, I got a brand new battery, And it was really easy to open up. It came with a new waterproof gasket that you could install. It came with all the tools, and It's like a brand new phone now that I have a a brand new battery in it.
Wes Bos
And then I was thinking, okay. That's cool. But could I fix my rid. Ten x s max because, like, the screen is gone on it. Like, it it did the whole touchscreen doesn't work or not the whole, but part of it. It's really annoying. I couldn't type e.
Wes Bos
So I went on Amazon, and then, like, Apple wants, like, 429 Canadian bucks to to replace the screen as in no way that's happening.
Wes Bos
So I went to Amazon. I found they have LCD versions of the display, which it's not rid as good as the OLED that comes on the phone, but it's pretty good. Wouldn't that mess with the phone if you were using, like, rid An LCD flat and then not an OLED? Like because doesn't the phone do optimizations for being OLED, or am I tripping on that? I think so. I think so. But The iPhone has this thing called True Tone, which it adjusts it based on, like, what's going on at the room. You don't get that, but It was like I would say it's 87% as good. So it's the colors are a little off, but face ID still works, Which is key if you wanna do things like pay with your phone, and it came with a waterproof gasket. It was a $100, and I was like, you know what? This This is money well spent. A $100 will get me through couple more months until I can get the the new phone, and then also, like, This phone is not getting thrown into a landfill. I can give it to a family or friend or something like that when it comes time. So they're very ready. Easy to install. A lot of people are like, you're electronics wizard. I was like, literally, anyone that can turn a screwdriver and plug things in could be able to rid this. So I would encourage anyone What if you're clumsy? I think you could do it. You just gotta be you have to be gentle because, I actually I didn't put enough heat I didn't put enough heat on my screen because I was in a rush, and I cracked the old screen, which is fine because it was garbage anyway. But You just gotta go slow with these types of things and watch a couple YouTube videos. Mhmm. K.
Wes Bos
Pewdie. Alright.
Wes Bos
Shameless plugs. What do you got for me today, Scott? Shameless
Scott Tolinski
plugs. I'm going to plug level up tutorials.com forward slash pro where we have a new tutorial series every single month. And let me tell you, this is August 25th.
Scott Tolinski
So the course that's coming out in August man, we are we are so far ahead of the recording on these. It's funny. I'm also ahead on recording the pod or they're recording the tutorial series. So the tutorial series that's coming out on August is going to be on web components, and it's basically going to be a web components 101. If you don't know a ton about them and you're curious, this is the perfect place to, start from scratch. And this, of course, is going to be for beginners. It's rid Going to be for people who hear the words web components and say, I know that kind of is something. I kinda get it, but I don't know what it is. So that's for you if this is a course rid you. The course that came out in July was from Kobe Fayock on Next JS and ecommerce. So it's awesome, awesome course from Kobe. He's the man. So check it out at level uptutorials.comforward/pro.
Scott Tolinski
Sign up for the year and save 25%.
Wes Bos
I'm going to shamelessly plug all my courses, west boss .comforward/courses.
Wes Bos
And if you use the coupon code syntax, you can get $10 off learning JavaScript, CSS, React, rid. You name it. You can learn at beginner javascript.com is a big popular one of mine, so use coupon code syntax. Currently on a summer sale, So grab them while those prices are sizzling.
Scott Tolinski
Summer sale. Cool. Nice. Nice. Nice. Awesome. Well, that's it for advice for new devs. Another piece of advice, Keep listening to the syntax.
Scott Tolinski
That's a good piece of advice right there. So thank you so much for listening. Wes, do you have anything else for today? That's it. Thanks for tuning in. Re Peace. Peace.
Scott Tolinski
Head on over to syntax.fm for a full archive of all of our shows. And don't forget to subscribe in your podcast player or drop a review if you like this show.