A Programming Skill You Don’t Practice, but SHOULD! | Examples

Travis Media
13 Aug 202310:58

Summary

TLDRIn this video, Travis from Travis Media addresses the common frustration developers face when learning new back-end technologies. He suggests using existing GitHub projects as a starting point to avoid the mental fatigue caused by repetitive front-end setup. Travis highlights the importance of learning to read and understand others' code, a skill crucial for onboarding to new projects in the professional world. He also emphasizes the benefits of gaining diverse coding perspectives by exploring different developers' approaches. Additionally, Travis promotes Brilliant.org for interactive learning in math, logic, and computer science, offering a discount for his audience.

Takeaways

  • 📚 Start with existing projects to avoid burnout from setting up the frontend before diving into the backend technology you want to learn.
  • 🔍 Use GitHub to find projects that already have the frontend code in place, allowing you to focus on the backend or specific technology you're interested in.
  • 🛠️ Practice reading and understanding code from others to develop a vital skill for a developer's career, especially for onboarding to existing applications.
  • 💡 Learn from different coding styles and approaches by examining projects from the community to broaden your coding 'personalities' and problem-solving techniques.
  • 🎓 Brilliant.org is promoted as a platform for interactive learning in math, logic, and computer science, offering lessons from basic to advanced topics.
  • 🚀 Enhance your coding skills or keep them sharp with Brilliant's practical approach, which can help in mastering big concepts in as little as 15 minutes a day.
  • 🌐 Explore a variety of project examples, such as to-do list apps in React or vanilla JavaScript, to find a suitable starting point for learning backend technologies.
  • 📈 For more advanced projects, consider dashboards or employee management apps that can be adapted to incorporate the technology or concepts you wish to learn.
  • 🔎 Use Google to find open-source projects or tutorials that include source code, which can serve as a foundation for learning without the need to build from scratch.
  • ⭐️ Look for projects with more stars on GitHub as an indicator of their quality and usefulness to the community, ensuring a solid base for your learning.
  • 👍 The video encourages viewers to engage with the content by giving it a thumbs up and subscribing to the channel for more helpful insights.

Q & A

  • What is the common issue Travis describes that learners face when starting a new course on a back-end technology?

    -The common issue is that learners often have to go through 25% of the course which is dedicated to setting up the front-end, including HTML and CSS, before they get to the back-end technology they are interested in. This can lead to mental fatigue and loss of interest before reaching the main topic.

  • What solution does Travis suggest to avoid the mental fatigue caused by front-end setup in courses?

    -Travis suggests finding projects on GitHub that already have the code in place, allowing learners to jump straight into the back-end technology they want to learn without having to deal with the front-end setup.

  • Why is it beneficial to use existing projects from GitHub as a starting point for learning a new technology?

    -Using existing projects helps learners to focus immediately on the new technology they wish to learn, saves time, and also helps them to practice reading and understanding code, which is a vital skill for a developer.

  • What is the second benefit Travis mentions about using projects from GitHub for learning?

    -The second benefit is that it helps in learning how to read and understand code from others, which is a crucial skill since most jobs will require onboarding to an existing application and understanding its codebase.

  • How does Travis suggest using GitHub projects to improve one's coding 'personality'?

    -By pulling down and examining projects from GitHub, one can learn different coding styles and approaches, which can broaden their own coding 'personality' and provide them with multiple ways to tackle coding challenges.

  • What is the role of the sponsor 'brilliant.org' in the context of this video?

    -Brilliant.org is presented as a platform to learn math, logic, and computer science interactively, offering lessons from basic to advanced topics, which can help in enhancing one's coding skills and logical thinking.

  • What kind of example does Travis provide to illustrate using a GitHub project for learning a back-end technology?

    -Travis provides the example of a simple to-do app in React, which can be used as a starting point to practice back-end data persistence with different technologies like an API, SQL database, or Firebase.

  • What are some of the other examples of projects Travis mentions that one could use to learn a new technology?

    -Travis mentions a to-do list app built in vanilla JavaScript, a bootstrap dashboard, and an employee management app as examples of projects that one could use to learn a new technology.

  • How does Travis recommend finding suitable GitHub projects for learning a new technology?

    -Travis suggests using Google to search for specific projects by typing in relevant keywords like 'GitHub employee management app JavaScript', and choosing projects with more stars, indicating they are well-received and likely well-structured.

  • What is the importance of learning to read and understand code from others according to Travis?

    -According to Travis, learning to read and understand code from others is important because it helps in onboarding to new jobs where one has to quickly understand an existing codebase, and it also exposes one to different coding styles and solutions.

  • What is the main point Travis makes about learning new technologies in the context of software development?

    -Travis' main point is that when learning something new in software development, it's best to get right to the point by using existing projects, which not only saves time but also helps in learning to read code and gaining insights into different coding approaches.

Outlines

00:00

📚 Effective Learning Strategies for Back-End Technologies

Travis introduces a common frustration among developers: investing time in learning a new back-end technology, only to lose interest due to the time spent setting up the front end. He suggests using existing projects on GitHub as a starting point to dive straight into the technology of interest, avoiding the mental fatigue associated with front-end setup. Travis demonstrates this with a simple React to-do app, emphasizing the importance of learning to read and understand others' code, a vital skill for onboarding to new projects and expanding one's coding 'personalities'.

05:00

🧠 Enhancing Coding Skills with Brilliant.org

The second paragraph focuses on the importance of learning computer science fundamentals and logic to enhance overall coding growth. Travis highlights 'Brilliant.org' as a sponsor, describing it as an interactive platform for learning math, logic, and computer science. He shares his personal experience with the platform, mentioning the benefits of its practical, engaging lessons that can be tackled in short daily sessions. Travis also provides a promotional link for a free trial and a discount on an annual plan for his audience.

10:00

🛠 Leveraging Existing Projects for Rapid Learning

In the final paragraph, Travis provides additional examples of how to use completed projects as a foundation for learning new technologies. He suggests looking for projects that are already set up with the front end complete, allowing learners to focus on the back end or other aspects they wish to master. Travis gives examples of different types of projects, such as a vanilla JavaScript to-do list app and a bootstrap dashboard, and advises on how to find suitable projects using Google. He emphasizes the value of learning to read and understand code from others, which is beneficial for career growth and adaptability in coding approaches.

Mindmap

Keywords

💡API

API stands for Application Programming Interface, which is a set of rules and protocols for building software applications. In the context of the video, the speaker discusses learning an API as part of back-end technology, suggesting it's a key component for developers to understand and work with. The video script mentions learning an API as one of the technologies that might be the focus of a learning project.

💡Udemy course

A Udemy course refers to an online learning program offered on the Udemy platform, which is one of the largest online course providers. The video script mentions purchasing a Udemy course as a common way for individuals to learn new technologies, such as back-end development or databases.

💡Front-end

The front-end of a software application or website refers to the user interface and user experience aspects that the end-user interacts with directly. In the script, the speaker talks about the common issue of having to set up the front-end, which includes HTML and CSS, before getting to the more complex back-end technologies that the learner is interested in.

💡Back-end

The back-end in software development refers to the server-side of an application, which includes databases, server logic, and APIs. The video's theme revolves around the challenges of learning back-end technologies, such as APIs and databases, and how to approach learning them efficiently.

💡GitHub

GitHub is a platform for version control and collaboration that allows developers to work on projects and contribute to open-source software. The speaker in the video suggests using GitHub to find existing projects as a way to jump-start learning new technologies without having to start from scratch.

💡CSS

CSS stands for Cascading Style Sheets, a language used for describing the presentation of a document written in HTML. The script mentions CSS as part of the front-end development process that can be tedious, especially when using complex frameworks like Tailwind, which can lead to mental fatigue for learners.

💡Mental fatigue

Mental fatigue refers to a state of exhaustion or tiredness in the mind, often resulting from prolonged mental effort. In the video script, the concept is used to describe the feeling of being overwhelmed and worn out from the repetitive and detailed work involved in setting up the front-end of a project.

💡React

React is a popular JavaScript library for building user interfaces, particularly single-page applications. The video provides examples of React apps that can be used as starting points for learning back-end technologies, emphasizing the efficiency of building on existing projects.

💡Code reading

Code reading, or code review, is the process of examining and understanding existing source code. The speaker highlights the importance of this skill for developers, as it is often required in professional settings to understand and contribute to existing code bases, which is practiced by working with projects from GitHub.

💡Onboarding

Onboarding in a professional context refers to the process of integrating a new employee into a company or team, often involving learning about the company's systems and workflows. The script mentions onboarding as a common scenario where developers need to quickly understand an existing application's code base.

💡Brilliant.org

Brilliant.org is an online platform offering interactive courses in math, science, and engineering. In the video, it is mentioned as a sponsor and recommended for learning computer science fundamentals and improving logical thinking, which are essential for enhancing one's coding skills.

Highlights

Travis discusses the common frustration of learning new back-end technologies by slogging through front-end setup before getting to the desired topic.

Suggests using existing projects on GitHub to bypass the initial setup and focus on the technology of interest.

Demonstrates using a simple to-do app in React as a starting point for learning back-end data persistence.

Advocates for the importance of learning to read and understand code from existing projects, a vital skill for developers.

Mentions that most jobs will involve onboarding to an existing application, emphasizing the need to quickly understand codebases.

Shares personal experience from a community challenge, highlighting the benefits of seeing different coding approaches.

Introduces Brilliant.org as a sponsor for learning math, logic, and computer science interactively.

Recommends Brilliant for sharpening skills in logic and computer science fundamentals.

Provides an example of a vanilla JavaScript to-do list app for learning back-end development.

Suggests using advanced examples like a bootstrap dashboard to learn and integrate back-end technologies.

Advises on finding projects on GitHub with more stars, indicating they are well-regarded and reliable.

Recommends searching for JavaScript projects with included source code to avoid unnecessary tutorials.

Encourages using Google to find specific project types, like 'GitHub employee management app JavaScript'.

Stresses the importance of learning by building upon existing projects to see different coding styles and structures.

Endorses the approach of skipping the familiar to focus on the new technology for efficient learning.

Asks viewers to give the video a thumbs up and subscribe if they found it helpful.

Transcripts

play00:00

what's up everybody it's Travis here

play00:01

from Travis dot media tell me if this

play00:03

has ever happened to you so you have

play00:05

this back-end technology you want to

play00:06

learn let's say it's an API maybe it's

play00:09

PHP maybe it's some kind of database

play00:11

maybe Firebase so you buy a udemy course

play00:13

or you buy some course or subscription

play00:15

somewhere and you get all excited about

play00:17

learning it and you open up the course

play00:19

and you start taking the course in the

play00:21

first 25 is setting up your front end

play00:25

and you have to work through that 25

play00:26

percent which is usually HTML and CSS

play00:29

making the front end look pretty before

play00:31

you even get to that technology that you

play00:34

want to learn and so what happens is you

play00:36

plod through it and by the time you get

play00:38

through it all and you finally get to

play00:39

that API or that database part you're

play00:42

done with the project you're sick of

play00:43

seeing it and you quit the course and

play00:45

you move on and you don't learn anything

play00:47

especially if the CSS is like Tailwind

play00:49

where it's a ton of classes and you

play00:52

don't have a lot of experience or you

play00:53

don't have a lot of that memorized and

play00:55

so you end up just typing classes typing

play00:57

classes you get this mental fatigue and

play00:59

you're just like you know what I'm worn

play01:01

out I'm not even gonna do this project I

play01:03

want to find something else to do if

play01:04

that's ever happened to you then be sure

play01:06

you listen up I'm going to give you a

play01:08

way to avoid all of that and then I'm

play01:10

going to give you why that way to avoid

play01:12

that is the best way to level up your

play01:15

software career it's going to be a fun

play01:17

video let's get started so first how do

play01:19

you work on that particular technology

play01:22

without getting in the Weeds on all the

play01:24

stuff you already feel comfortable with

play01:26

So my answer to this is to find projects

play01:29

on GitHub that already have that code in

play01:31

place let me show you an example so

play01:33

here's an app here's a simple to do app

play01:35

in react and I use this for my fast API

play01:37

example in my last YouTube video but any

play01:40

back end you want to put together this

play01:42

project would be a good starting point

play01:43

so you don't have to deal with the HTML

play01:45

and the CSS and the project looks good

play01:47

let me show you what it looks like real

play01:48

quick npm run start

play01:50

I just pulled this down ran yarn install

play01:53

and I'm running the app now so it's a

play01:55

very simple to-do app so walk the dog

play01:58

submit mow the lawn submit what you have

play02:01

here is a react app storing this data in

play02:04

a state so if I refresh it's all gone

play02:06

it's the perfect project to practice

play02:09

back-end data persistence with so you

play02:12

want to build an API you want to persist

play02:13

this data to a SQL database postgres

play02:16

database whatever you're working on

play02:17

Firebase just grab this app you have a

play02:20

starting point and then immediately get

play02:22

to the technology you want to learn

play02:24

don't go back to HTML and CSS don't

play02:27

start there every time trying to make

play02:28

something from scratch it's a waste of

play02:30

time now before I give you another

play02:32

couple of examples I have a couple of

play02:33

examples here for you before I do that I

play02:35

want to talk about the second point that

play02:37

I want to make and it's really the main

play02:38

reason of this video the second benefit

play02:40

to doing this is that when you get

play02:42

projects from someone else and by the

play02:45

way there's nothing wrong with that it's

play02:46

on the public web it's in GitHub people

play02:49

created it so that you would see it that

play02:50

you would start you can use it just

play02:52

don't use it for your app that you're

play02:53

going to grow your business with but the

play02:54

main reason of doing this is that you

play02:57

get to learn how to read code you have

play03:00

to open this up you have to see what's

play03:01

going on before you can do anything else

play03:04

to it and this is a vital skill as a

play03:06

developer here's why probably 90 of

play03:09

every job you're going to get in your

play03:11

career you're going to be onboarding to

play03:13

an application that already exists and a

play03:16

lot of times it's a pretty significant

play03:18

application and you're going to be given

play03:20

like a week to figure out the flow of

play03:22

the app to see how it works for yourself

play03:24

and to make a commit that's usually what

play03:27

they do when you get a new job read over

play03:28

the code base for a week figure out how

play03:30

it works and make your first commit and

play03:32

then you're off to the races so if you

play03:33

have practice pulling up apps from

play03:36

GitHub seeing how they work it's going

play03:38

to really help you out in your career in

play03:40

addition to that and this was a lesson

play03:41

that I learned this past week in the

play03:43

Travis media Community we did our weekly

play03:46

coding Challenge and another member

play03:47

submitted their final code and I looked

play03:50

at it and was like you know what I

play03:52

didn't even think to go that route so

play03:54

when I did my challenge I figured it out

play03:56

I wrote my code how I would do it this

play03:58

person submitted their code coming from

play04:00

a whole different angle that I didn't

play04:02

even think about I wouldn't have even

play04:03

thought about and to be honest it's not

play04:05

really my coding personality but that's

play04:08

a problem because I tend to approach

play04:10

things the same way with the same

play04:11

mindset but seeing his code results made

play04:15

me think oh there is this way to do it

play04:18

so when you're coding your apps your

play04:19

hobby apps or your apps for your

play04:21

portfolio you're going to code a certain

play04:23

way but when you pull down someone

play04:25

else's app to learn a technology with

play04:27

like we're just talking about you're

play04:28

going to see how they do it and you're

play04:30

going to learn something from it so that

play04:32

when you work on the next project you'll

play04:34

remember that and you'll have multiple

play04:36

personalities coding personalities to

play04:39

meet the challenge that's why I think

play04:40

it's so important to be pulling down

play04:42

GitHub repos and building on top of them

play04:45

now before we look at some other

play04:46

examples maybe it's not a back-end

play04:48

technology or a language that you're

play04:50

trying to learn maybe you're trying to

play04:52

learn computer science fundamentals or

play04:54

you're trying to get better at logic in

play04:55

general something generic that will help

play04:57

out your coding growth in your career in

play05:00

your thinking and keeping you sharp if

play05:02

that's the case then let me tell you

play05:03

about today's sponsor brilliant

play05:05

brilliant.org is a great way to learn

play05:07

Math logic and computer science

play05:09

interactively brilliant is fun practical

play05:12

and has thousands of lessons from basic

play05:14

to Advanced topics from computer science

play05:16

and programming algorithms python AI

play05:19

logic and other tools to help you level

play05:21

up your skills or keep those skills

play05:23

sharp and it's perfect for busy

play05:25

self-taught people like me and you

play05:27

making it easy to master big Concepts in

play05:29

as little as 15 minutes a day maybe

play05:32

you're having a hard time nailing down

play05:33

conditional statements Loops are linked

play05:35

lists brilliant will help you visualize

play05:37

and internalize these Concepts in an

play05:40

engaging interactive way today I

play05:42

switched things up and took an intro

play05:43

course on neural networks where I

play05:45

learned about designing a computer

play05:46

program that performs an image

play05:48

recognition task on a set of very small

play05:50

pixel images and like I said brilliant

play05:53

can help you digest new Concepts and

play05:56

solidify old ones that can apply across

play05:58

many different programming languages you

play06:00

can get started today for free for 30

play06:02

days and get 20 off an annual plan by

play06:06

using my link below that link is

play06:08

brilliant.org slash Travis media now

play06:11

back to the video so let me give you

play06:12

another example so this one here

play06:13

anything back in this is just a react

play06:15

app that's already finished that you can

play06:17

then build the back end into or

play06:19

reference from your backend here's

play06:21

another example this is a to-do list app

play06:23

built in vanilla JavaScript so you could

play06:26

use this for react say you want to learn

play06:28

react or you just want to learn backhand

play06:31

like we were just talking about this is

play06:32

a good project to do that with if you

play06:34

look at the live demo link here here's

play06:37

the to-do list add to your list mow the

play06:39

lawn there it is

play06:41

so from here I can check it off I can

play06:44

delete it I can clear all completed and

play06:47

I can edit it walk the cat that's not a

play06:50

thing by the way walk the cat so the

play06:52

whole front end is completed for you

play06:54

here and if you look at the code base

play06:55

you have to pull it down and dig into

play06:57

what they're doing and if you look at

play06:59

the source folder which is usually where

play07:01

you want to start

play07:02

you'll see some CSS you'll see an

play07:04

index.js some images and some modules so

play07:07

let's click on the modules and we'll see

play07:08

that they're using local storage they're

play07:10

just putting everything into local

play07:11

storage in the browser so if you want to

play07:13

update this to save to State and react

play07:15

you can refactor this to react you can

play07:18

leave it like this and work on the back

play07:19

end there's lots of options but you have

play07:21

things done for you already now if you

play07:23

want to more advanced example you could

play07:26

download this dashboard here so this is

play07:28

a bootstrap dashboard we have a preview

play07:31

here this would this is what it would

play07:32

look like you have charts you have a pie

play07:34

graph you have a lot of options over

play07:36

here

play07:37

kind of explaining the theme and stuff

play07:39

but everything here is just bootstrap so

play07:42

it's just CSS there's no data coming

play07:43

through this now it does say 49 here

play07:46

that's if you want the pro template but

play07:47

if you want the free one just click

play07:48

download from GitHub and you'll find the

play07:51

code here if you download that code you

play07:53

can see that it's not too complicated as

play07:55

a starter project so if you look at the

play07:57

package Json you'll see bootstrap

play07:58

chart.js perfect scroll bar and a bunch

play08:01

of gulp packages gulp is like a task

play08:04

Runner it's going to package up your CSS

play08:06

and do a bunch of stuff for you and then

play08:08

you'll see that there's a Pages folder

play08:09

and a partials folder so you have your

play08:12

sidebar your nav bar your footer so we

play08:14

have our nav bar here we have our

play08:15

taskbar we have our footer which is

play08:18

going to be down here and then all of

play08:19

this stuff is probably going to fall

play08:21

within the pages so there's charts chart

play08:23

JS this is probably the main content

play08:25

like all of this stuff here it's just no

play08:27

data and then forms basic forms icons

play08:30

samples a blank page login register

play08:33

basic table UI features buttons

play08:36

typography all of that so you could take

play08:39

this figure out how it's all laid out

play08:41

and just add it back into it persist the

play08:43

data send it data so that could be a

play08:45

more advanced project but my main point

play08:47

here is that when you learn something

play08:49

it's best to get right to the point

play08:51

don't start out doing things that you've

play08:53

already done that you're kind of bored

play08:55

of doing you want to learn this new

play08:56

technology just skip ahead and start

play08:58

there by using projects that are already

play09:00

built and as an advantage of doing that

play09:03

you learn to read code which will help

play09:06

you in every single job you have in your

play09:08

career and you get to see how other

play09:10

people put projects together how they

play09:13

code how they structure their data and

play09:15

that's beneficial as well other examples

play09:16

could include like an employee

play09:18

management app find a project where

play09:19

that's done in JavaScript it's

play09:21

persisting to the browser or the local

play09:23

storage and take it and add whatever

play09:25

technology you're trying to learn to it

play09:26

there's lots of examples out there and

play09:28

the way to find this is just go to

play09:31

Google and type in something like GitHub

play09:34

employee management app Javascript hit

play09:37

enter and you'll see a lot of examples

play09:39

so I can click this this this and you

play09:42

probably want to choose code bases that

play09:44

have more stars like this one has 70

play09:46

Stars which means a lot of people found

play09:48

it helpful and it's probably well put

play09:50

together this one has three stars three

play09:53

stars three stars and there's lots of

play09:55

options employee tracker employee info

play09:57

dashboard holiday tracker it's all in

play10:00

JavaScript vanilla JavaScript another

play10:02

thing you can do is just go to Google

play10:03

and type in JavaScript projects

play10:06

tutorials and you'll find stuff like

play10:08

this 21 easy JavaScript projects code

play10:11

included you want the code included

play10:13

three real-time JavaScript projects with

play10:15

source code and the point of looking

play10:17

this up is to get the source code you

play10:19

don't have to go through the whole

play10:20

tutorial and do all of the front end

play10:21

stuff you can read about it that'll give

play10:23

you an idea about the code base but just

play10:25

find a tutorial that at the end they say

play10:27

hey source code for this is that this

play10:29

GitHub address and if you like the

play10:31

layout if you like the UI you think it's

play10:32

something you want to build on then this

play10:35

would be a perfect approach to take and

play10:36

that's all I got today so if you found

play10:38

this video helpful give it a thumbs up

play10:40

and consider subscribing to the channel

play10:42

if you haven't see you later

Rate This

5.0 / 5 (0 votes)

Related Tags
Tech LearningGitHub ProjectsCode ReadingWeb DevelopmentAPI IntegrationDatabase TechReact AppsJavaScriptCSS FrameworksSoftware Career