the coding project that improved my skill the most (senior developer, no cs degree)

Phillip Choi
4 Sept 202418:51

Summary

TLDRIn this inspiring talk, a 30-year-old senior developer recounts their journey from a novice to a successful professional in just five years. They share insights from developing a mental health app, emphasizing the importance of features like authentication, chat, and profile management. The developer discusses their experience with Firebase, serverless architecture, and React Native, highlighting the value of modularizing features and the impact of clean coding practices on their career growth. They also reflect on the significance of starting and completing projects, offering encouragement and advice for aspiring developers.

Takeaways

  • 🚀 The speaker transitioned from having no career to becoming a senior developer with a six-figure salary in under 5 years.
  • 💡 The app discussed was pivotal in the speaker's learning journey, focusing on mental health and offering various features like chat, video chat, journaling, and mood tracking.
  • 🛠️ The speaker was tasked with redesigning and modularizing the app to cater to different client needs, which was a significant challenge early in their career.
  • 🔑 Key components identified as essential for most apps include authentication, profile management, and chat functionalities.
  • 💼 The speaker's role evolved from a sales and development position to leading the development of the app, showcasing their rapid growth.
  • 🌐 The app was designed to be versatile, allowing features to be turned on and off based on client requirements, demonstrating adaptability in software development.
  • 📚 The speaker learned about Firebase and serverless architecture during the app's development, which was a new experience and expanded their technical skills.
  • 🔗 The use of react Redux Firebase was highlighted as a time-saving tool that streamlined data management and state control within the app.
  • 📝 The importance of documentation and clean code organization was emphasized, which helped in maintaining and scaling the app effectively.
  • 🔄 The speaker's advice for others is to start and finish projects, learn from mistakes, and not be afraid to make big changes if the initial approach is flawed.

Q & A

  • What was the speaker's initial situation before becoming a senior developer?

    -The speaker was a 30-year-old with no career and no money in the bank.

  • How long did it take the speaker to transition from a beginner to a senior developer?

    -It took the speaker just under 5 years to become a senior developer.

  • What was the nature of the first app the speaker learned the most from?

    -The first app the speaker learned the most from was a mental health application.

  • What was the significant challenge the speaker faced while working on the mental health app?

    -The significant challenge was redesigning and rebuilding the entire app within 3 months to meet new requirements.

  • What key features did the speaker identify as common in most apps?

    -The speaker identified authentication, chat, and profile management as three key features common in most apps.

  • How did the speaker modularize the features of the mental health app?

    -The speaker modularized the features by refactoring the app to allow turning on and off different functionalities like chat, video chat, and journaling.

  • What was the name of the mental health app the speaker worked on?

    -The name of the mental health app was 'GB'.

  • What additional app did the speaker build using the knowledge gained from working on 'GB'?

    -The speaker built another app called 'Napa' using the knowledge and modular approach from 'GB'.

  • What technology stack was primarily used in the development of the mental health app?

    -The technology stack used included React Native, Node.js, Express, MySQL, Firebase, Firestore, and Cloud Functions.

  • What was the speaker's approach to organizing the codebase for the app?

    -The speaker organized the codebase by using a folder structure that included navigation, stacks, hooks, services, components, assets, and config folders.

  • What did the speaker learn about Firebase during the development of the app?

    -The speaker learned about Firebase's authentication, Firestore database, Cloud Functions, and how to integrate it with Redux using react-redux-firebase.

  • What advice does the speaker give to those looking to learn from their coding journey?

    -The speaker advises to start and finish projects, learn from mistakes, and not be afraid to start over if the initial approach is wrong.

Outlines

00:00

🚀 Journey from Novice to Senior Developer

The speaker recounts their personal growth from a 30-year-old with no career to becoming a senior developer with a six-figure salary in under five years. They discuss an early career challenge of leading the development of a mental health app, which involved a tight three-month deadline to redesign and fully develop the product. The speaker emphasizes the importance of core app functionalities like authentication, chat, and profile management, and how these can be modularized to create different app experiences. They also mention the creation of a company called GB, which started as a mental health app and evolved to offer a variety of services including journaling, video chatting, and B2B app development.

05:00

🛠️ Building a Modular App with Firebase and React Native

The speaker dives into the technical aspects of building the app, highlighting the use of React Native, Node.js, Express, and MySQL. They discuss the transition to Firebase for its ease of use and fast deployment, and how they integrated Firebase with Redux using the react-redux-firebase library. The speaker shares insights on organizing a React Native project, including folder structures, navigation, and service organization. They also talk about the importance of documentation and how it aids in project clarity and collaboration with other developers.

10:00

💡 Insights on Firebase and Efficient App Development

The speaker shares their experience with Firebase, detailing its various services such as Firestore, Cloud Functions, and Authentication. They discuss the benefits of Firebase for app development, including its ease of use and the powerful features it provides. The speaker also touches on the potential cost implications of Firebase at scale and the importance of efficient data handling to minimize expenses. They provide a practical demonstration of how to interact with Firestore within an app, emphasizing the importance of clean code and modular design for maintainability and scalability.

15:03

🌟 Embracing Mistakes and Encouraging Continuous Learning

In the final paragraph, the speaker reflects on the learning process, emphasizing the importance of starting and finishing projects to gain practical experience. They discuss the value of making mistakes and learning from them, suggesting that it's better to 'reset hard' and change direction if necessary. The speaker also announces an upcoming JavaScript course aimed at beginners and experienced developers alike, covering topics from basics to CRUD operations. They conclude with an inspirational message, encouraging the audience to believe in their ability to learn and succeed in software development.

Mindmap

Keywords

💡Senior Developer

A senior developer is an experienced software engineer who has typically progressed through various stages of software development, acquiring advanced skills in programming, system design, and project management. In the video, the speaker transitioned from having no career to becoming a senior developer, indicating a significant professional growth. This role often involves mentoring junior developers and taking on complex tasks within software projects.

💡Authentication

Authentication in the context of software development refers to the process of verifying the identity of a user or system. It's a critical component for securing applications, ensuring that only authorized users can access certain features or data. The speaker highlights the importance of authentication in app development, suggesting that it's one of the foundational elements required for almost every app, as it pertains to user security and data integrity.

💡Profile Management

Profile management involves the functionalities within an application that allow users to create, edit, and manage their personal information and settings. The speaker mentions profile management as a common feature in apps, which could include updating user details, changing preferences, or managing privacy settings. This is essential for personalization and user engagement within applications.

💡React Native

React Native is a popular framework developed by Facebook for building mobile applications using JavaScript and React. It allows developers to create native apps for iOS and Android platforms. The speaker used React Native in the development of the app discussed in the video, which exemplifies the use of cross-platform development tools to streamline the process of building apps for multiple operating systems.

💡Firebase

Firebase is a platform developed by Google that provides various backend services such as databases, authentication, hosting, and cloud functions. It is designed to help developers build, improve, and grow their apps. The speaker learned Firebase in the context of the app development, utilizing its services like Firestore for the database and Firebase Authentication for user verification, which underscores the reliance on robust backend services for modern app development.

💡Serverless Architecture

Serverless architecture is a cloud computing execution model where the cloud provider dynamically manages the allocation and provisioning of servers. The speaker mentions learning about serverless architecture, particularly in the context of using Firebase functions, which allows for writing code that runs in response to events without the complexity of building and maintaining a server.

💡Redux

Redux is a predictable state container for JavaScript applications, often used with React for managing the application's state in a more predictable and centralized way. The speaker discusses binding Firestore with Redux using a library called react-redux-firebase, which indicates the use of Redux for state management in the app, helping to streamline data flow and make the application more maintainable.

💡Modularization

Modularization in software development refers to the practice of breaking a system into smaller, independent, interchangeable modules. The speaker talks about modularizing features in the app, such as chat and journaling, to make it customizable for different clients. This approach enhances reusability and maintainability of code, allowing for more efficient development processes.

💡B2B (Business-to-Business)

B2B refers to transactions or relationships between businesses, rather than between businesses and individual consumers. The speaker mentions a B2B section in the app, indicating a part of the business model that involves providing services or products to other businesses, such as white-label applications or tech partnerships for mental health organizations.

💡TypeScript

TypeScript is a superset of JavaScript that adds optional static types to the language. It is often used in large-scale applications to improve developer productivity and code quality. The speaker learned TypeScript during the project, which suggests an adoption of a statically typed language to enhance the robustness and scalability of the app's codebase.

💡CRUD Operations

CRUD is an acronym for Create, Read, Update, and Delete, which are the four basic functions of persistent storage. The speaker implies that understanding CRUD operations is fundamental to app development, as most apps involve managing data through these operations. This is a common theme in software development, where the ability to manipulate data effectively is crucial for building functional applications.

Highlights

The speaker transitioned from having no career to becoming a senior developer with a six-figure salary in under 5 years.

The speaker discusses the most educational app they worked on early in their career.

The app was a mental health application that the speaker helped develop and later became the lead developer for.

The speaker had to redesign and rebuild the app within a 3-month timeframe.

The app was modularized to include features like chat, video chat, journaling, and profile management.

The speaker realized the importance of authentication, chat, and profile management in app development.

The app was expanded to offer services like video chatting with doctors and journaling to combat 'co blues' during the pandemic.

The company aimed to become a white label application company for mental health non-profits.

The speaker used Firebase and serverless architecture to streamline the app development process.

React Native, Node.js, Express, and MySQL were the initial tech stack used for the app's prototype.

The speaker learned about global state management with Redux and how to bind it with Firestore.

The speaker emphasizes the importance of code organization and documentation for collaborative projects.

The speaker created a boilerplate for serverless Firebase applications with React Native.

The speaker discusses the use of TypeScript in the project and how it helped in managing types.

Firebase's suite of tools, including authentication and Firestore, were utilized to build the app's backend.

The speaker shares insights on how to manage Firebase requests efficiently through global state management.

The speaker reflects on the importance of starting and finishing projects to learn and grow as a developer.

The speaker offers advice on not being afraid to make mistakes and learning from them in the development process.

The speaker announces an upcoming free JavaScript course for beginners and experienced developers.

The speaker concludes with an inspirational message, encouraging others that if they can do it, anyone can.

Transcripts

play00:00

you know my story i r from a 30-year-old

play00:02

with no career no money in the bank

play00:04

account to being a senior developer with

play00:05

multiple apps with many users for

play00:07

different companies earning a six

play00:08

figures annual salary in just under 5

play00:10

years today we're going to talk about

play00:12

the app that I learned the most from and

play00:15

it was early in my career maybe when

play00:16

after like 3 years I started programming

play00:18

I'll give you a little backstory of what

play00:20

the app was about so the story of the

play00:21

app was that I was working at a software

play00:23

development firm in sales and

play00:25

development one of my clients was this

play00:28

mental health application and so I set a

play00:30

meeting and long story short I closed it

play00:32

and I made the company some money right

play00:34

and I programmed it to next he invited

play00:36

me on to the team to be like the lead

play00:38

developer and I was only three or four

play00:40

years into my programming career so it

play00:42

was very hard it was a big step up we

play00:44

built the Prototype at the uh software

play00:46

firm and then now he needed a fully

play00:47

fledged working product and basically he

play00:50

decided to redesign the whole app and uh

play00:52

gave us 3 months to do it so it was uh

play00:55

it was a challenge I got to building we

play00:56

got the app done on time things were

play00:58

going great but the CEO saw on

play01:00

opportunity where we' build apps for

play01:01

other NOS they really liked our app I

play01:03

got to work and I started refactoring

play01:05

and rebuilding the entire app and

play01:07

separating all the features so I could

play01:08

turn on and off the features to kind of

play01:10

modularize the features to kind of make

play01:12

it work here like some with chat some

play01:15

without chat some with video chat some

play01:17

without video chat some with journaling

play01:19

some without journaling and you get the

play01:20

point so through building this app

play01:22

there's something that clicked in my

play01:23

mind every app needs authentication chat

play01:25

profile management these are like three

play01:27

very important things that almost every

play01:29

app does and and then it has some kind

play01:31

of secret sauce like whether it be

play01:32

journaling or video chatting or quizzes

play01:36

or whatever it is in the end you're

play01:37

always going to need authentication

play01:39

profile management most likely 90% of

play01:41

the time chat something clicked in my

play01:42

mind just make those things really well

play01:44

and then you can kind of get to the good

play01:45

parts really easy and uh have fun and uh

play01:48

so we built out an app and it had all

play01:50

the features and I'll just show you the

play01:51

website here uh called GB basically we

play01:53

started out as a mental health company

play01:55

during Co there was this thing going

play01:57

around called the co blues and uh he

play02:00

kind of like figured you know why don't

play02:01

we make a journaling app where we can

play02:03

and we'll have like this video chatting

play02:04

with a doctor and it would be good but

play02:06

then we had about us like wellness

play02:08

Workshop that was like the video

play02:09

chatting software Services community and

play02:12

then he added this B2B section he wanted

play02:14

this B2B section to build out apps for

play02:16

other people he wanted to be like this

play02:18

white label application company so an

play02:20

all-in-one Tech partner for mental

play02:22

health NOS so basically we built out all

play02:24

these features show you down here uh

play02:26

login so like authentication bio rhythm

play02:29

tracking online video chatting uh text

play02:31

chatting and chatbot online Journal mood

play02:33

tracker self assessment test and uh GPS

play02:35

enabled search and we kind of wanted to

play02:38

use that not every app is going to need

play02:39

all these right they could just choose

play02:41

like five of these or three of these and

play02:43

then make a whole app out of it there's

play02:44

a little video of the app I'll just

play02:46

share my screen we can look at the app

play02:48

together this is the first app right

play02:49

here it has like some scheduling

play02:51

journaling mood tracking and you could

play02:53

kind of see your weekly moods and

play02:56

calendar and chatting and some kind of

play02:58

chat bot and profile man management and

play03:00

a whole bunch of just stuff that every

play03:02

app is going to need it is in the App

play03:04

Store I don't think you guys should

play03:05

download it though I don't work there

play03:06

anymore and with that app we did build

play03:08

another app for this company called Napa

play03:10

and basically we use that app to build

play03:12

this app and it's in the App Store so

play03:14

you see that it has a mood Journal

play03:16

interactive dashboard and video chat and

play03:19

um prompting cues M Journal so it's a

play03:21

basically the same app just repackaged

play03:23

with different logos different colors

play03:25

and new design that's what I did and

play03:27

I'll kind of show you how I did it

play03:29

basically we went through the app you

play03:30

know so what language stack and how did

play03:32

I code it right we used uh react native

play03:34

Community CLI and this was in like 2020

play03:37

2021 and it was around 3 years or 3 or

play03:39

four years into my uh career so when I

play03:41

first built the Prototype at the

play03:43

software development firm I was talking

play03:44

about we just used react native nodejs

play03:47

Express and MySQL that was it but uh

play03:49

this is how I did it the first time but

play03:52

having to redo it in the 3 months with

play03:53

the new redesign uh I learned about

play03:55

Firebase and serverless architecture so

play03:57

I learned Firebase fire store fire based

play04:00

Cloud functions and it was easy to use

play04:02

and fast to deploy it was done in

play04:03

node.js uh with Lambda functions and

play04:05

react native and a big thing I'll show

play04:08

you guys the code and the big thing I

play04:09

learned was how to bind the fire store

play04:11

with Redux with this Library called

play04:12

react Redux Firebase it was really good

play04:15

it saved me a lot of time and I think it

play04:17

could add value to you guys I don't know

play04:18

if people use it cuz people don't really

play04:20

use Redux recently I had a good time and

play04:22

it made very comfortable to use Redux I

play04:25

just used this for the library it it

play04:27

loaded up all the things into my fire

play04:29

store from Redux that I needed I didn't

play04:32

need to keep making calls and uh people

play04:33

always talk about kind of like the uh

play04:35

price of making requests over and over

play04:37

again to fire store but you don't really

play04:38

need to do that if you have a global

play04:40

State Management there's like some code

play04:41

to initialize the app and the user

play04:43

profile cuz like you're not going to

play04:45

keep asking for the profile over and

play04:46

over again from fire store because

play04:48

that's how you build up these requests

play04:49

so you just stick that in your Redux and

play04:51

if there's any changes you updated in

play04:52

your Redux as it goes so that's kind of

play04:55

what we did and I'll kind of show you

play04:57

guys the code so this was the V1 we're

play05:00

using storybook so we had a folder

play05:02

structure like um and it taught me like

play05:04

this code kind of like taught me a lot

play05:06

about organization and how to set up

play05:08

react native project you have like your

play05:10

navigation you have your Stacks hooks

play05:13

Services where your API calls go it was

play05:16

uh it was very fun it was um interesting

play05:19

and I had a big learning experience um

play05:21

kind of working with uh other developers

play05:24

trying to get this thing done it was

play05:26

really good this was the first version

play05:28

and I have something similar with like

play05:31

the boiler plate that I wrote to make

play05:33

like the other apps like I just showed

play05:34

you with like Napa and everything else

play05:37

I'll share the GitHub link with you guys

play05:39

it isn't exactly the boiler plate that I

play05:41

created at the company because it's not

play05:43

my company it's not mine and but I use a

play05:45

lot of that influence to build my own

play05:47

kind of boiler plate like serverless

play05:49

Firebase serverless architecture like um

play05:51

fire store boiler plate with react

play05:52

native that I used on my project for a

play05:54

while I'll go to github.com I think it's

play05:58

called react native burner in mind

play06:01

here's like the folder structure so I

play06:03

think you know a big thing about code

play06:04

and when I was tasked to kind of redo

play06:06

the app in a very you know lighter and

play06:09

turn things off I learned about you know

play06:11

how to organize my read me how to kind

play06:14

of like organize everything in the

play06:16

documentation so other people could help

play06:18

me so I kind of wrote this documentation

play06:20

you have the SRC folder I have my uh

play06:23

assets and then I I would have my images

play06:26

fonts and then um components and the

play06:29

components would hold like the index.

play06:31

TSX which would hold all my code that I

play06:33

would import or export from there and

play06:35

then if it had its own assets I put it

play06:37

in there if I had something specific to

play06:40

the Android or specific to the iOS I

play06:41

would keep in those folders and then I

play06:43

had my config and then the config of my

play06:45

app like app config like uh server URL

play06:48

language and all that kind of stuff and

play06:51

uh it just showed me how to organize it

play06:53

you guys can take a look I'll share the

play06:54

link with you guys how I structured this

play06:56

app it's not how I do it anymore but um

play06:59

it was was uh it was a good one I

play07:01

thought it was easy to use so a big part

play07:03

of this right in the app config when you

play07:05

go to SRC and you go to the config

play07:08

folder in the app config I put all the

play07:11

features right I put there's a pay mode

play07:14

there's a language of the app and then

play07:16

there's a story book if I wanted the

play07:18

practice screen on or not uh if I wanted

play07:22

chat in the app or not I could just pass

play07:24

true or false and it would take away the

play07:26

tab but button on the bottom Journal

play07:29

true or or false and then chat extras

play07:31

that I want to be able to let them

play07:32

upload images or videos uh and I just

play07:35

have to turn it true or false and then

play07:37

the video I'll have to remove that if I

play07:39

wanted video chat in there I'll just Pat

play07:40

true or false and then I'd put some end

play07:42

points in here this code helped me learn

play07:44

a lot as in like um you could hide

play07:46

things cuz on IOS and Android apps you

play07:49

can't really look at the inspector or

play07:50

anything so you can kind of just hide

play07:52

things and people can't really see it so

play07:54

I have my kind of index. TSX in The

play07:57

Navigators and I would in the rout I

play08:00

have my index. TSX and then I kind of

play08:03

just uh hid stuff like if the config do

play08:05

chat feature was on then then I would

play08:08

show that this chat was in the app right

play08:11

if uh the config dojour feature on I

play08:13

would be able to kind of control you

play08:15

know if the tabs were shown in the app

play08:18

and kind of separate the logic so then

play08:20

it was like its own app within the app

play08:23

it really uh opened my eyes to kind of

play08:25

like how to code clean and all that kind

play08:27

of stuff so I did use Firebase in this

play08:30

right so if you look at the package.json

play08:32

of the app you'll see that I use a lot

play08:34

of libraries in react native and uh

play08:36

especially in the readme I kind of put

play08:38

notes on how to install all the um

play08:40

packages I was using so a big thing was

play08:43

I kept on looking about it it's called

play08:44

react Redux Firebase but maybe you know

play08:46

what react is maybe you know what Redux

play08:48

is but uh Firebase is a big one right

play08:50

and it kind of ties it all in together

play08:52

kind of um make the app have its own um

play08:55

back end as a service or like

play08:56

authentication so Firebase is a huge

play08:59

huge SDK so software development kit

play09:02

built by Google for authentication for

play09:05

their nosql database for push

play09:07

notifications for a bunch of things in

play09:09

their in their Suite let's say right so

play09:11

make your app uh the best it can be with

play09:14

Firebase and generative AI this is just

play09:16

added because they added some kind of

play09:18

thing called Gemini but basically they

play09:21

have a bunch of things like you can

play09:22

deploy apps on here you can um do some a

play09:26

lot of things right um You can do um and

play09:29

it's used by a lot of big companies so

play09:31

I'll just show you what it looks like in

play09:33

the console so you got a Firebase

play09:35

console and basically you can just turn

play09:38

on um I'll just go to this react or the

play09:42

burner basically it has a bunch of

play09:45

products like app check app hosting

play09:48

authentication and well look an end

play09:49

to-end user identity solution under 10

play09:51

lines of code that's you know it's super

play09:55

powerful you have fire store it's almost

play09:57

like just no well it helps you

play10:00

store data and you can kind of um call

play10:02

the fire store directly from your app

play10:04

you have hosting you have functions like

play10:06

Lambda functions and um basically the

play10:08

only problem with it with it is that it

play10:10

can get quite expensive if you have

play10:12

thousands and thousands and thousands of

play10:13

requests you know it's not hard to get

play10:16

thousands thousands of requests if each

play10:18

person is going moving here moving here

play10:19

moving here and you have like a thousand

play10:21

users and they're making a bunch of

play10:22

actions on your app but basically you

play10:25

have a firestore

play10:27

database that you can kind of um

play10:30

you can see the data you get a uid it's

play10:34

very much like and you have like

play10:37

chat requests um chat rooms you can

play10:40

create your own

play10:41

Collections and then you have basically

play10:45

um

play10:47

authentication which you can have here

play10:50

and it stores uh authentication so you

play10:52

don't have to store passwords and you

play10:54

know create your o 2 uh strategies and

play10:59

uh it taught me a lot because reading

play11:01

through Google documentation Firebase

play11:03

documentation you kind of learn how

play11:05

software is supposed to be built you

play11:08

understand the patterns that need to

play11:10

happen within your um app to kind of

play11:12

follow some kind of a readable format

play11:15

and uh you know it helped me a lot

play11:18

trying to like understand and piece

play11:20

together you know react native and

play11:21

Firebase because there's a lot of

play11:22

documentation for it too it's not just

play11:24

like I built it it's not like uh many

play11:27

people use this deack and so maybe you

play11:28

want to use something obscure or

play11:30

whatever but you're not going to find as

play11:31

many uh documentation but react native

play11:34

Firebase uh Lambda functions you're

play11:37

going to find many resources and it's

play11:39

going to help you kind of um figure that

play11:42

out as well so uh that was really good

play11:45

for me because uh you got to see uh how

play11:48

to store data and I'll show you how you

play11:50

do that in the app right now I'll just

play11:52

press a dot in

play11:55

here I think that's a pretty cool

play11:57

feature you can just press uh period in

play11:58

the GitHub repository and it opens up

play12:00

the uh Visual Studio code in the browser

play12:04

that's a new feature from like four

play12:06

years ago four years is not a new

play12:08

feature but so basically you have like

play12:11

um these screens right and you have like

play12:13

uh so you maybe you'll have like a a

play12:16

request or pending request

play12:19

screen and you basically have these

play12:22

hooks called like use Firebase and use

play12:24

fir store and actually I never used

play12:27

typescript before this project so I

play12:28

learned how to use typescript during

play12:30

this project as well so I had this um

play12:34

component called chat

play12:36

request and uh I use typescript so

play12:38

extended Firebase instant extensive fir

play12:40

store instance and you can kind of

play12:43

see uh that it is a type from react

play12:48

Redux Firebase that gives you things

play12:49

like um fire Source set add and get and

play12:54

then from there I would um I would get I

play12:57

would say like add to this

play12:59

um collections chat requests the uh the

play13:04

empty requests of who it is and it would

play13:07

be and then a status of pending and then

play13:09

you'd kind of see that like pending

play13:11

requests the first thing I do is um I

play13:14

use State and then somewhere here I

play13:17

remember I say get all the pending

play13:19

requests from this person

play13:22

and so here I think it is so get

play13:26

firestore ref run transaction this was

play13:28

kind of like my counter transaction in

play13:30

case that something happened and I would

play13:33

roll back the uh transaction from the

play13:35

database and um you know it was it was

play13:39

quite an eye openening experience kind

play13:41

of getting to work on my own you know

play13:44

and honestly it's right when GitHub

play13:45

co-pilot came out so I was kind of

play13:47

playing around with that a lot and it

play13:49

was like a really fun pair programming

play13:51

with uh AI at the time and I was

play13:54

learning a lot and um oh here it was get

play13:57

pending request so here we are I have my

play14:01

get method from fir store so I say get

play14:04

request from collection um chat requests

play14:08

and I had my fire names here in my

play14:10

contant my uh so everything was like I

play14:13

was able to organize everything very

play14:15

interestingly and um how other people

play14:17

could read it and uh see right away and

play14:20

the reason why I put my uh strings in

play14:21

here where um I used to make a lot of

play14:23

typos when I type so if I have my

play14:26

variable names and auto completion it

play14:28

helped a lot and here was my uh chat

play14:31

request so I said basically

play14:35

um wa request oh pending request sorry I

play14:39

said get pending requests uh get

play14:41

requests a wait get on the collection

play14:44

chat requests where uh the key

play14:47

participant uh contains

play14:50

me and the key status equals pending so

play14:53

there is nobody uh there is nobody that

play14:55

touched like the accept or deny button

play14:58

yet and then and then you get the

play14:59

request pending so that are mine and

play15:03

then um yeah basically the code was done

play15:07

like in a very clean way as I thought at

play15:10

the time there's many different ways to

play15:12

do things but it was uh easy for me to

play15:14

read and easy for me to navigate through

play15:15

the code and um it was uh interesting

play15:18

for me I'm not going to show you much

play15:20

more code so this was something I

play15:22

learned a lot like how to modularize

play15:24

code how to separate things and how like

play15:27

actually like there's one big big app

play15:29

but then there's small apps within that

play15:31

app that you can kind of uh separate and

play15:33

kind of um use everywhere so like I

play15:35

always say create your little treasure

play15:37

test make things that you can keep

play15:39

reusing and reusing and reusing and uh

play15:41

it'll make your career like in software

play15:43

development much easier yeah that was

play15:45

something that was good one of the most

play15:46

uh important things right is I started

play15:49

and then I finished right so that

play15:51

meaning I got to start you know with

play15:53

there's nothing right well like I mean

play15:55

there are like libraries and packages

play15:56

but I have to kind of figure out how to

play15:57

do it and then um I learned and then I

play16:01

finished what I said I was going to

play16:02

finish and through that I learned many

play16:05

things right I learned how to um um you

play16:08

know think about a problem think about

play16:10

like the steps in order to like yes you

play16:12

can send a chat request but then from

play16:14

there what is going to happen and then

play16:16

you kind of think about all the things

play16:18

possibilities that are going to happen

play16:19

from there so yeah like a suggestion to

play16:22

the user or if you're you you watching

play16:25

you can actually um write out your plan

play16:28

and then actually not just start it but

play16:30

finish what you say you're going to

play16:31

start you know and you know I did make a

play16:34

lot of mistakes mistakes are going to

play16:36

happen and um don't be scared to like

play16:40

run like uh get reset hard maybe not too

play16:42

much you know like if you kind of get

play16:44

too deep into like some kind of once you

play16:46

understand the basics of JavaScript once

play16:48

you get there you kind of make errors in

play16:50

thinking right and if you start digging

play16:52

a hole it's not like a reason of like

play16:54

not knowing the language or not knowing

play16:55

how to do it it's more like I was

play16:56

thinking wrong let's roll it back and

play16:59

then let's uh let's go a different way

play17:01

cuz I always think about coding kind of

play17:03

like this like uh I see other people and

play17:05

they have like let's say I don't know

play17:07

like a small little pen or a small

play17:09

little pickaxe right uh trying to pick

play17:12

away at the problem pick away at the

play17:14

problem and you know you'll get the

play17:17

problem done in a long time but

play17:20

sometimes you need to go back in the

play17:21

toolbox and then just kind of get that

play17:22

sledgehammer and just break the wall

play17:24

down right and it's um that's the kind

play17:27

of thinking you have to have because

play17:29

don't worry like if you have the pickaxe

play17:31

in the beginning that's the wrong choice

play17:33

in the beginning just go back and make a

play17:35

better choice and uh fix the problem and

play17:38

it doesn't matter you were wrong as long

play17:39

as you fixed it that's that's like my

play17:42

best advice for you yeah so like that's

play17:44

it but uh you know like these are things

play17:46

you're going to learn like uh through

play17:47

projects and um there's a free

play17:49

Javascript course coming up that I'm

play17:51

going to uh teach and I think some PE a

play17:53

lot of people signed up and I'm very

play17:54

excited for it and um this is the uh

play17:57

kind of uh JavaScript course I kind of

play18:00

had it open on accident I didn't mean to

play18:02

do it but uh here we are you know it's

play18:05

going to be for beginners for kind of

play18:07

experienced people we're going to go

play18:08

through JavaScript HML CSS react basics

play18:11

of react basics of get um do some uh

play18:15

HTTP requests handling look through big

play18:18

Jason objects look through arrays and

play18:20

make some kind of crud uh create read

play18:23

update and delete and um you'll

play18:25

understand like every single app is a

play18:27

crud to be honest

play18:29

and um that meaning like like a Facebook

play18:32

post you post you create a post you can

play18:35

update a post you can delete a post you

play18:37

have to get the post later so that's

play18:39

something that I'm looking forward to it

play18:42

and see you guys there and uh just

play18:46

remember if I can do it you can do it

play18:49

too coding saves lives

Rate This

5.0 / 5 (0 votes)

الوسوم ذات الصلة
App DevelopmentCareer GrowthReact NativeFirebaseCoding JourneySoftware EngineeringTech TransformationWeb DevelopmentMental Health AppsRedux Integration
هل تحتاج إلى تلخيص باللغة الإنجليزية؟