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 Make Coding Fun: Unlock Your Inner Developer

In the ever-evolving landscape of technology, coding can sometimes feel daunting, particularly for newcomers. However, cultivating a sense of enjoyment in coding is pivotal to sustained growth and creativity. This article elaborates on practical steps on how to keep coding fun while enhancing your skills along the way. By treating your coding journey like a video game and embracing a growth mindset, you can unlock greater motivation and productivity.

Treat Coding Like a Game

The first step to making coding more enjoyable is treating it as a video game. Just as you level up through challenges in games, coding offers a series of technologies and developments to conquer. Each project acts as a new level with rules and objectives that need to be followed.

Break Down Your Projects

When approaching a new project, break it down into smaller, manageable tasks instead of viewing it as an overwhelming whole. For instance, if you aim to develop a tool for scheduling Twitter posts, decompose the task into integrating user login, creating an input form, adding a date picker, and implementing the scheduling feature. Each completed task represents a victory, boosting your motivation when you can check them off your list.

Maintain a Work Log

Keep a record of your achievements and outline next steps after each coding session. A simple Notion page can suffice—documenting what you accomplished prevents confusion when you return and helps maintain momentum. This log serves to remind you of your progress, motivating you to keep moving forward.

Embrace Version Control

Utilizing a version control system like Git is essential for any developer. In moments of struggle, having the ability to revert your code provides safety and reassurance. Additionally, using GitHub’s contribution graph can gamify your efforts—aim to fill up your graph as a personal challenge that encourages regular coding.

Flow States: The Coding High

One of the keys to enjoying coding is entering what is known as a "flow state." This is a state of deep focus where work feels effortless. To achieve this state:

  • Block out distractions: Use low-fi music and mute notifications to maintain focus.
  • Clean your workspace: A tidy environment removes unnecessary psychological barriers to productivity.

The more you can facilitate the flow state, the more seamless and enjoyable your coding sessions will become.

Setting Goals and Reviewing Progress

Before diving into your coding session, take time to review your previous work and set clear objectives for the current session. This not only helps to enter the flow state but ensures focused progress.

Optimize Your Mindset

Cultivating a positive mindset towards coding is equally crucial. Instead of viewing programming merely as a job, see it as an opportunity to create interesting solutions to real problems. Embrace the challenges, as they often lead to immense satisfaction upon overcoming them.

The Rubber Duck Debugging Method

In problem-solving scenarios, try the "rubber ducky" method—explain your thought process out loud to clarify your understanding and explore potential solutions. This technique can often shed light on pathways you hadn’t previously considered.

Progress Over Perfection

Especially for newcomers, worrying about code perfection can stifle creativity. Embrace the idea that writing a higher volume of code—even if it’s not optimal—is essential to improving over time. Some of your "not-so-great" coding experiences will eventually convert into valuable learning moments.

Invest in Modular Code

In your projects, strive to minimize boilerplate code by developing more modular solutions. This reduces redundancy, enabling you to focus on unique functionalities instead of rewriting basic code elements. While it may require an upfront investment of time, it significantly enhances the coding experience.

Enjoy the Process: Don’t Rush

Avoid falling into the trap of rapid development, which can diminish the enjoyment of coding. Instead, prioritize taking the time needed to produce quality work. This approach transforms coding from a mere task into an enjoyable journey of creation.

Create from Inspiration

If you're ever unsure about what to build, don’t overthink. Instead of searching for the perfect idea, focus on creating solutions to real problems. Maintain an idea bank on Notion to cultivate potential projects from everyday challenges you encounter.

Lower Your Time to Action

When you lock in a project idea, act quickly. Start building as soon as you have an idea, even if it’s just a small tool. This keeps your creative juices flowing and allows you to maintain that building mindset.

Combatting Overthinking

Combat overthinking about project launches by setting hard deadlines for yourself. This assists in keeping your project scope manageable and helps you stick to a plan of action. You could even announce your deadlines publicly for added accountability.

Final Thoughts

While programming can be tough, the satisfaction of building something valuable is immensely rewarding. Focus on building "painkillers"—solutions that tackle real problems rather than "vitamins" that serve only as nice-to-have features. To stay engaged and excited about your coding projects, keep experimenting, gamifying your processes, and nurturing your growth mindset. Remember, it’s all about making coding a fun, enriching experience!


Feel free to share your thoughts or any insights gained from this journey, and let’s continue to celebrate our coding adventures together!