00:00 - 00:03

yo I've been coding for nearly 8 years

00:02 - 00:05

now and the times where I've been most

00:03 - 00:06

consistent are when I'm having fun

00:05 - 00:08

working on the apps I'm building a lot

00:06 - 00:10

of people especially in the beginning

00:08 - 00:12

can think that coding isn't for them and

00:10 - 00:14

it's just fun for other people in

00:12 - 00:16

today's video I want to share my

00:14 - 00:18

step-by-step process that I used to keep

00:16 - 00:20

coding fun over the long term despite

00:18 - 00:22

being a computer science student and

00:20 - 00:23

having a software engineering internship

00:22 - 00:26

I'm still constantly finding ways to

00:23 - 00:28

have fun and be excited to code on my

00:26 - 00:30

projects so I hope this video will be

00:28 - 00:32

valuable the first step to make coding

00:30 - 00:34

more fun is to treat it like a video

00:32 - 00:35

game in a lot of ways it kind of is you

00:34 - 00:37

have different technologies that you

00:35 - 00:39

learn that are each its own level with

00:37 - 00:42

rules you have to follow and then

00:39 - 00:44

winning becomes building a feature that

00:42 - 00:45

does something cool or solves a problem

00:44 - 00:47

the most actionable advice I can give

00:45 - 00:49

you on this is when you're thinking of

00:47 - 00:51

starting a new project break it down

00:49 - 00:53

into the smallest chunks possible so

00:51 - 00:54

that you can have regular wins instead

00:53 - 00:56

of saying you want to build a tool to

00:54 - 00:58

schedule your Twitter posts you can

00:56 - 01:00

break that up into integrating login and

00:58 - 01:02

adding an input form creating a day

01:00 - 01:04

picker implementing the scheduling

01:02 - 01:06

feature and so on the idea is to split

01:04 - 01:08

up the vague description you have into

01:06 - 01:10

much more manageable and easy to

01:08 - 01:12

understand Parts getting to cross those

01:10 - 01:14

items off and see the progress you're

01:12 - 01:16

making is also a huge motivator a

01:14 - 01:17

similar tactic to breaking up the tasks

01:16 - 01:19

is to have a log of what you've done

01:17 - 01:20

this could be as simple as having a

01:19 - 01:22

notion page where at the end of each

01:20 - 01:24

session you write down what you got done

01:22 - 01:25

and outline your next steps this is

01:24 - 01:27

helpful so that when you sit back down

01:25 - 01:29

to code you don't have to waste 15

01:27 - 01:31

minutes just trying to remember where

01:29 - 01:33

you left off off now almost all of us

01:31 - 01:34

use git or some other version control

01:33 - 01:37

system and if you don't please set that

01:34 - 01:38

up right now because when you inevitably

01:37 - 01:40

something up you'll want the

01:38 - 01:42

ability to revert it if you're using

01:40 - 01:44

GitHub the contribution graph is another

01:42 - 01:46

small game you can play trying to fill

01:44 - 01:47

it up it's kind of a meme in the dev

01:46 - 01:50

space that if you have a filled graph

01:47 - 01:51

you're probably unemployed but for me I

01:50 - 01:53

love trying to fill it almost every day

01:51 - 01:54

it only counts commits that are on the

01:53 - 01:56

default branch of the repo so it

01:54 - 01:58

incentivizes you to actually get

01:56 - 02:00

features out or just push straight to

01:58 - 02:02

main I guess now aside from gamifying a

02:00 - 02:04

process if you can tap into a flow State

02:02 - 02:06

wall coding this is where you can get a

02:04 - 02:08

ton of work done and deeply enjoy it if

02:06 - 02:09

you're unfamiliar with the concept of a

02:08 - 02:11

flow State it's essentially where the

02:09 - 02:13

work feels effortless and you're

02:11 - 02:15

completely focused for me I'm able to

02:13 - 02:17

enter these states most effectively when

02:15 - 02:19

I block out a specific amount of time

02:17 - 02:21

where I eliminate all distractions this

02:19 - 02:23

means throwing on some low-fi music

02:21 - 02:25

putting my phone on do not disturb and

02:23 - 02:27

removing everything off my desk I do

02:25 - 02:29

think having a clean workspace helps a

02:27 - 02:31

ton for this because being comfortable

02:29 - 02:32

at your desk is a part of getting into

02:31 - 02:34

the mood though that doesn't mean you

02:32 - 02:36

have to have anything fancy now while

02:34 - 02:38

flow states are great they don't last

02:36 - 02:40

forever so in between and before them

02:38 - 02:42

what you should do is warm yourself up

02:40 - 02:44

like I mentioned with logging your work

02:42 - 02:46

you should take time to review how your

02:44 - 02:47

previous session went and set clear

02:46 - 02:49

goals for the upcoming one like I

02:47 - 02:50

mentioned with logging your work you

02:49 - 02:52

should take time to review how your

02:50 - 02:54

previous session went and set clear

02:52 - 02:56

goals for the next one in a similar vein

02:54 - 02:58

to flow States knowing how to get good

02:56 - 03:01

dopamine from coding is a great way to

02:58 - 03:02

stay focused and mo motivated by far the

03:01 - 03:04

easiest way to do this is limiting

03:02 - 03:06

screen time on your phone I use an app

03:04 - 03:08

called opal for it to block all social

03:06 - 03:10

media apps from 4:30 when I get up up

03:08 - 03:12

until 7:00 p.m. and because I PID 20

03:10 - 03:14

bucks a month for it I literally cannot

03:12 - 03:16

end the sessions and that has already

03:14 - 03:19

saved me hours every week that's paid

03:16 - 03:20

for itself 100 fold now I mentioned

03:19 - 03:23

getting up at 4:30 and that's not a

03:20 - 03:25

prescription or requirement by any means

03:23 - 03:27

it's just the time of day I found I can

03:25 - 03:28

be really productive before all my

03:27 - 03:30

meetings for the day start if you're

03:28 - 03:32

able to get up relatively early to spend

03:30 - 03:34

your first hour or so of being awake

03:32 - 03:36

coding it is almost certainly the

03:34 - 03:37

easiest way to access the Flow State

03:36 - 03:39

ideally you want to start working as

03:37 - 03:41

quickly as you can so that you're

03:39 - 03:43

beginning to wake up as you're working

03:41 - 03:44

which helps facilitate this Focus next

03:43 - 03:46

something that you shouldn't neglect is

03:44 - 03:48

your mindset around coding some people

03:46 - 03:50

just look at it as a way to make money

03:48 - 03:52

and hey full respect go get your bag but

03:50 - 03:53

I will say that when you approach it as

03:52 - 03:55

a way to build interesting things that

03:53 - 03:57

will serve you and others it gives you a

03:55 - 03:59

more inspirational footing you have to

03:57 - 04:00

remember that programming is supposed to

03:59 - 04:02

be hard and that's what makes it a

04:00 - 04:04

valuable skill the satisfaction you feel

04:02 - 04:07

After figuring out why a piece of code

04:04 - 04:08

wasn't working is Indescribable my

04:07 - 04:10

favorite way to tackle hard problems is

04:08 - 04:13

the rubber ducky method where I talk out

04:10 - 04:15

loud and try to explain the problem

04:13 - 04:16

along with what potential Solutions I

04:15 - 04:18

could write thinking out loud is a very

04:16 - 04:20

helpful way to get a better

04:18 - 04:21

understanding of your options and

04:20 - 04:22

navigating the work as you're solving

04:21 - 04:25

these problems though you want to

04:22 - 04:26

remember that progress is more important

04:25 - 04:28

than Perfection I know that especially

04:26 - 04:30

as a beginner you worry that your code

04:28 - 04:32

isn't optimal and it's not the right way

04:30 - 04:35

to do it but the way that you learn is

04:32 - 04:37

by writing a large volume of code a lot

04:35 - 04:39

of which is going to be shitty in the

04:37 - 04:40

last year or so that I've been more

04:39 - 04:42

intensely coding I've not put much

04:40 - 04:44

thought into how good is this solution

04:42 - 04:46

because I know that over time it's going

04:44 - 04:48

to naturally get better looking back at

04:46 - 04:49

my projects from even just a couple of

04:48 - 04:51

months ago makes me realize just how

04:49 - 04:54

much I've learned now today's sponsor is

04:51 - 04:55

lumos by charge who we've worked with on

04:54 - 04:58

the channel before and they're creating

04:55 - 05:00

AI glasses for daily wear they have a

04:58 - 05:02

Timeless design perfect for everyday

05:00 - 05:05

wear they look just like ordinary

05:02 - 05:06

glasses and seamlessly fit into your

05:05 - 05:08

daily life without bringing a lot of

05:06 - 05:10

attention the adjustable nose pads in

05:08 - 05:13

ergonomic shape fit a variety of face

05:10 - 05:15

types for a comfortable fit they have a

05:13 - 05:17

16 megapixel Sony camera that you can

05:15 - 05:20

use to effortlessly capture 4K high-res

05:17 - 05:22

images completely hands-free this is

05:20 - 05:24

great to capture first-person photos to

05:22 - 05:27

send to friends or family you can also

05:24 - 05:30

record 1080p 30fps video and use the

05:27 - 05:32

triple aray microphone for clear stereo

05:30 - 05:35

audio to create immersive videos the

05:32 - 05:37

coolest part is access to the lumos AI

05:35 - 05:39

assistant powered by GPT 40 it lets you

05:37 - 05:41

ask anything about your day whether it

05:39 - 05:43

be a landmark you're looking at or the

05:41 - 05:45

weather you can also snap meeting slides

05:43 - 05:47

and lectures directly from the glasses

05:45 - 05:49

and gets summarized their privacy

05:47 - 05:51

focused using local storage and

05:49 - 05:52

encrypted Cloud access when required if

05:51 - 05:55

you're interested in checking out the

05:52 - 05:57

lumo's AI glasses head to the link in

05:55 - 05:59

the description and thanks to lumos for

05:57 - 06:01

sponsoring this video as you go through

05:59 - 06:03

that educ UC ation process though there

06:01 - 06:05

are some things you want to prevent that

06:03 - 06:07

can drain the Fawn out of coding the

06:05 - 06:09

first is to the extent you can stop

06:07 - 06:11

writing boiler plate what I mean by this

06:09 - 06:13

is not constantly writing basic API end

06:11 - 06:15

points that don't have much specific

06:13 - 06:17

business logic I say this as I've been

06:15 - 06:20

building sidebar my SAS dashboard boiler

06:17 - 06:22

plate that has been very valuable for me

06:20 - 06:25

but I've gotten to a point with it that

06:22 - 06:26

just working on generic features is

06:25 - 06:28

boring the best way I'm finding to write

06:26 - 06:30

code is in a more modular way this means

06:28 - 06:32

that as much as possible you try to make

06:30 - 06:34

things generic enough that with minimal

06:32 - 06:36

effort it can be pulled out and used in

06:34 - 06:37

another project this is incredibly

06:36 - 06:40

important as a solo Dev when you're

06:37 - 06:42

working on several apps so that you can

06:40 - 06:43

focus on just building the features that

06:42 - 06:45

are specific to each one and not

06:43 - 06:48

rewriting auth or your stripe

06:45 - 06:49

integration over and over thinking about

06:48 - 06:51

this modularity does cost an additional

06:49 - 06:53

time investment in the beginning but

06:51 - 06:55

over time you have to write less and

06:53 - 06:56

less of this and it makes the process

06:55 - 06:58

more fun as proof of this I'm working on

06:56 - 07:00

the MVP for my first startup right now

06:58 - 07:02

which I'll talk more about in the next

07:00 - 07:05

week or two but not having to rebuild

07:02 - 07:07

authentication or my dashboard has been

07:05 - 07:08

super clutch now when you're building

07:07 - 07:10

projects especially if you have the goal

07:08 - 07:12

of monetizing them it's very easy to

07:10 - 07:14

fall into the Trap that you have to move

07:12 - 07:16

as fast as possible don't get me wrong

07:14 - 07:18

there's definitely value in shipping

07:16 - 07:19

fast and if you've never launched a

07:18 - 07:21

product you need to do that but in the

07:19 - 07:23

long term taking things a little slower

07:21 - 07:26

to have fun while you code is how it

07:23 - 07:28

remains that way over months and years

07:26 - 07:30

great software takes time to build so

07:28 - 07:31

don't feel bad spending that extra time

07:30 - 07:33

to make that button look a little bit

07:31 - 07:35

better when I'm coding I use various

07:33 - 07:37

different Technologies and in the tech

07:35 - 07:39

World things do move fast so you

07:37 - 07:41

constantly have to learn new things that

07:39 - 07:43

said especially in the JavaScript

07:41 - 07:45

ecosystem there's a ton of shiny object

07:43 - 07:47

syndrome with new Frameworks dropping

07:45 - 07:49

every week that you just don't need to

07:47 - 07:51

learn the best advice I can give to a

07:49 - 07:53

younger version of myself is to just

07:51 - 07:54

pick the stack that you like and stick

07:53 - 07:56

with it you can try different tools

07:54 - 07:58

along the way but at your core knowing

07:56 - 08:00

one or two languages for your front end

07:58 - 08:02

and back end is key understanding your

08:00 - 08:04

tools at a deeper level will make you

08:02 - 08:06

more efficient and just like in a video

08:04 - 08:07

game as you level up you unlock new

08:06 - 08:09

abilities and weapons that make things

08:07 - 08:11

more fun now what some of you might be

08:09 - 08:13

thinking is that all this is great coal

08:11 - 08:15

but I don't know what to build and what

08:13 - 08:17

I can tell you is to not over complicate

08:15 - 08:19

things I wasted years of building no

08:17 - 08:22

products because I wanted the perfect

08:19 - 08:23

idea it just doesn't exist every idea is

08:22 - 08:25

going to have its own problem so the

08:23 - 08:27

only thing you should focus on is

08:25 - 08:28

building a painkiller not a vitamin this

08:27 - 08:31

means building something that solves a

08:28 - 08:33

real burning problem not just a nice to

08:31 - 08:34

have tool the easiest way I found to

08:33 - 08:36

come up with these ideas is to have a

08:34 - 08:38

bank of them in notion I'm in the habit

08:36 - 08:40

of every night forcing myself to write

08:38 - 08:42

something down here and whenever I

08:40 - 08:43

experience a problem coming up with a

08:42 - 08:45

potential solution and writing it down

08:43 - 08:46

once you start to build out these ideas

08:45 - 08:49

I recommend checking out sites like

08:46 - 08:51

mobin nicely done or other UI

08:49 - 08:53

inspiration sites to get your creative

08:51 - 08:55

juices flowing about what the various

08:53 - 08:56

flows and uis could look like now let's

08:55 - 08:58

fast forward a bit and assume that

08:56 - 09:00

you've locked in an idea you want to

08:58 - 09:02

work on to make sure you're both having

09:00 - 09:04

fun and actually stick with it you need

09:02 - 09:05

to lower your time to action assuming

09:04 - 09:07

you don't have 10 things you're working

09:05 - 09:09

on at once you should start to work on

09:07 - 09:11

your new project ideas as soon as you

09:09 - 09:13

get one you like I've allowed myself

09:11 - 09:15

recently to build small tools I think

09:13 - 09:17

would be cool just to keep myself in

09:15 - 09:18

that building mindset as an example just

09:17 - 09:20

the other day I had the recording of a

09:18 - 09:22

90-minute call and wanted to get a

09:20 - 09:24

transcript so I could summarize and ask

09:22 - 09:26

questions about it with Claud I looked

09:24 - 09:28

all over but couldn't find an easy way

09:26 - 09:30

to transcribe such a long clip what I

09:28 - 09:33

ended up doing was writing a go program

09:30 - 09:35

that turns that mp4 file into an MP3

09:33 - 09:37

sends it up to AWS transcribe and I get

09:35 - 09:39

back the transcript that I want now the

09:37 - 09:41

final thought I want to leave you with

09:39 - 09:42

is about overthinking specifically to do

09:41 - 09:44

with building and launching your

09:42 - 09:46

projects the best way I found for

09:44 - 09:47

dealing with these thoughts is setting a

09:46 - 09:49

hard deadline for when you want to

09:47 - 09:52

release it this forces you to keep the

09:49 - 09:53

scope small and actually form a plan of

09:52 - 09:55

action announcing a day publicly is

09:53 - 09:56

another way to have that accountability

09:55 - 09:58

the most important piece is that you

09:56 - 10:00

shouldn't be worrying about building

09:58 - 10:02

every feature but just getting a single

10:00 - 10:03

user who cares about what you're

10:02 - 10:05

building I hope you guys found this

10:03 - 10:06

video helpful and if you did you might

10:05 - 10:08

want to subscribe to My Weekly

10:06 - 10:10

Newsletter that I send out every Sunday

10:08 - 10:12

morning I document the process of

10:10 - 10:14

building my projects and share valuable

10:12 - 10:15

resources that I come across by the way

10:14 - 10:17

if you're sick at editing videos I'm

10:15 - 10:19

looking to bring someone part-time on

10:17 - 10:21

the channel and in the future this could

10:19 - 10:22

be an in-person role where we're just

10:21 - 10:25

working documenting the process of

10:22 - 10:27

building really cool so if that

10:25 - 10:28

sounds at all interesting to you please

10:27 - 10:31

go to the page on my website I'll have

10:28 - 10:34

more information about this all of that

10:31 - 10:34

linked down below

How to Have Fun Coding Over the Long Term: A Step-by-Step Guide

Coding can sometimes feel like a chore, especially for beginners. However, it doesn't have to be that way! In this article, I will share my step-by-step process to keep coding enjoyable and exciting based on nearly eight years of experience. By treating coding like a game and implementing practical strategies, you can maintain long-term interest in your projects, whether you are a computer science student or an experienced developer.

Gamifying Your Coding Experience

The first and most effective step to make coding fun is to treat it like a video game. Just as in a game, you face different levels of challenges and earn points for your victories. When starting a new project, break it down into smaller, manageable tasks. For instance, instead of saying, "I want to build a Twitter scheduling tool," break it into smaller goals: integrate login, add an input form, create a date picker, and so on.

Working through these bite-sized tasks allows you to celebrate small victories, which can be a huge motivator. Also, maintain a log of your progress. Whether it’s a Notion page or a simple checklist, jotting down what you accomplish at the end of each coding session allows you to see your progress and set clear goals for the upcoming session—making your coding journey feel more like a game, complete with achievements.

Entering the Flow State

Another essential concept to explore is the flow state. When you’re in a flow state, you’ll feel more focused and productive while coding. To achieve this state, block out distractions. Use ambient music, silence notifications, and ensure your workspace is clear of clutter.

Starting your coding sessions early can also help you tap into the flow state more easily. It’s common to find that early mornings are the most productive for many developers. Begin coding soon after you wake up, which facilitates a smoother transition into work without the disruptions of daily responsibilities.

Mindset Matters

The mindset you adopt towards coding can significantly influence your long-term engagement. Avoid viewing coding merely as a means of making money. Instead, approach it as a way to build innovative technologies that serve real purposes—whether for yourself or others.

While coding is inherently challenging, the satisfaction of overcoming difficulties presents its rewards. Remember that progress is more important than perfection. Don’t fall into the trap of overthinking your code or worrying that it isn’t optimal—what matters is you’re continually learning and evolving.

Streamlining Development Practices

To maintain enjoyment in coding, minimize monotonous tasks such as boilerplate code. As a solo developer, strive for modular coding practices which allow you to reuse components across projects instead of rewriting them. This approach streamlines your development process, freeing you to focus on more interesting work.

As you refine your coding skills, remember that building great software takes time. Don’t rush the creative process; sometimes, taking a step back to polish your work can lead to more satisfying results.

Identify What to Build

Often developers struggle with the "what to build" question. To avoid falling into this trap, simplify your thought process. Look for pain points rather than perfect ideas. Keep a running list of ideas in a document or app. Whenever you face problems, jot down potential solutions. Building projects that address real issues will keep your work relevant and engaging.

Tackle Overthinking

When it comes to launching projects, overcoming overthinking is essential. Set hard deadlines to prevent excessive contemplation. Limiting project scope can also help you keep your excitement alive; the focus should be on getting a single user who cares about what you've created.

Finally, avoid the shiny object syndrome that arises from the fast-paced nature of tech trends. Pick a tech stack that suits your needs and stick with it; mastering a few languages rather than jumping onto every new fad will pay off in the long run.

Conclusion: Keep the Excitement Alive

Coding can be an exhilarating journey if approached correctly. By gamifying tasks, fostering a productive mindset, streamlining development, and steadily working on meaningful projects, you can ensure that your passion for coding remains strong over the years.

The most important thing is to remember: every coder goes through challenges, and it’s perfectly normal. Enjoy the process of learning and experimenting, and soon you will find yourself creating more complex and inspiring projects. So, ready to dive back into your projects and make coding fun again? Don't forget to take a moment, celebrate your small wins, and enjoy the ride!