This is the best advise/idea I could have received now. I was confused, frustrated and trying too hard learn things that I don't need in a very short amount of time. Now, I know I need to learn what is required at my own pace starting by breaking down things into simple things. Thank you so much for this.
21:00 that's me trying to fix a bug. I used to spend 12-15 hours continuously trying to fix a bug. I recently started taking breaks as you suggested which helped me in looking the problem in a different way and then finding the solutuion.
Bugs: TEST. Unit tests, integration tests, any kind of tests. Write tests. Just do it. Seriously, write tests. And if you don't want to: do it anyway. these days you can use docker to simulate entire client-server setups. Do it. Reason: 1. It makes you write better code. It just does, trust me on this. 2. Use code-coverage. Not because you should get 100% coverage, but because you want to see if your tests have actualy run the code you wanted to test. 3. Tests check that your code does what it is supposed to do when everything is ok, but... see point 3 4. Tests ALSO check that your code fails in a sensible way when something is wrong. Why: see point 2; if your exception handling is not covered then your test is seriously incomplete. How does this help debugging: 1. You can check te bugreport against the tests you run. The problem is most likely in that one bit of the report that the user did that your test did not. 2. The thing that the user did to experience the bug is probably already a scenario in your test, or at least very close to it. You can copy/paste the most suitable test and modify it to what the user described. Then you can run it as often as you need to without having to click around, enter data etc etc. and making mistakes while doing it, which may make the bug not show up.
"Then you can run it as often as you need to without having to click around, enter data etc etc. and making mistakes while doing it, which may make the bug not show up." good point!
Excellent video! I once spent a week trying to fix a bug which occured with my application calling from C# into a C library and the output (1 value out of a couple hundred values) was different from what I expected. The resolution was to tell C# that this value is supposed to be represented as ASCII number and not as the underlying byte value. I eventually boiled it down to the C library using ASCII values here and the underlying byte value there, so we had to look into the C code together with the guys who wrote the C code to get my C# representations right. Sometimes bug fixing takes up all your time and you get stuck in a certain mindset that won't cut it for the specific problem. But that's normal and we're all humans making mistakes like this all the time.
Most annoying bug: A loadbalancer, a miscommunication and a burnout. I was entering a burnout during a project (but didn't notice, as few people do until it's too late) and while preparing to put the project live I discussed with the managed hoster that I wanted round-robin on the loadbalancer, but with sticky sessions. New connections to one of two webservers , but every clients stays on the same server untill a timeout of some hours of inactivity. I did this specifically because of Python sessions. So we went live and I uploaded the code and it worked! Yay! And then I made a change to the javascriptcode, recompiled, uploaded and it broke. Called the hoster to confirm tht all servers where up and yes they were. It remained broken for a few hours and magically started working again. Being half-dead from the burnout I blamed browsercache. Two days later a bugfix required a recompile,uploaded to both webservers and boom; website dead. A quick check confirmed that all code was correct and in place, but for some reason the loadbalancer was still serving an index.html that did not match the accompanying app.js. So I reverted the changes (this is why you should always upgrade by swapping directories, never overwrite files!) and everything worked again. Wut? So I called the hoster to confirm that the loadbalancer was set to round-robin. Yes it was set to round-robin, sticky sessions etc. This problem persisted no matter what strategy I used to upload the new version of the code. I started doing upgrades only in the middle of the night just so I would not disrupt product when when it would inevitable fail. And then I noticed something; The updates would work if there where pretty much no users on the servers. And then a little bell when *DING* in my sleepy brain and I wrote down "loadbalancer cache not per-session". I talkedto the hoster the next day and demanded that I get to talk to pretty much everybody who could spell the word "loadbalancer"untill Igot a guy on the phone who opened up the admin and said something along the lines of "that's odd" and I asked "what?" anda he said "Well you have two servers and the loadbalander caches per url so that would cause serious problems if somebody would press F5 while you are upgrading and one server has the new version of the code and the other has the old version." Yes it turned out that the loadbalancer would cache all requested URL's and serve them to everybody, even though the balancing itself was round-robin with sticky sessions. So when I updated one server and somebody would press F5, they would get index.html from one server and app.js from the other. The loadbalancer wuld just cache "index.html" and "app.js" regardless of the client andbackend it came from. And so every user got a bad combination of the two, for the many hour that the cache woud be active. I left that job soon after, just typing "build" still makes me nervous today.
Day 4 🔥 I really had a tough day today at work. Was being little upset but at the moment you said 13:15 take it easy, try to relax. I felt so good after that. Amazing content. Each day I am trying to rush toward completing my current course Zerotomastery nodejs course just to start with database engineering course from you. Really exited about that 🎉
Hey man, just wanted to thank you for making these videos. I am beginning my career in software engineering and the reminder and reinforcement of first principles are always great and needed!
I studied a at paint jobs as hobby. One day I read about guy in Arizona that sun burned his cars paint. After carwash water drops acted as tiny magnifine glass burned his clear coat. Clear coat layer that protects paint. Thicker layer helps buff scratches. Swirl marks on car are dirt sand in buffing pad.
This all is so true. In most cases where i had the problem with the bug I couldn't fix, it boiled down to the first part of the speech - I didn't fully understand how this thing works. After I spent some time to envestigate it, try to draw the diagram, maybe even refactor the code - it all become obvious.
Just to contribute to your awesome content: If you, my young friend, don't understand a text, a video, etc. just stop there, and remember that this is not your fault. You don't understand, because you don't have the enough knowledge, prerequisites, or the required foundation to digest it on the spot. So, take the preliminary steps, fill in the gaps, learn what those acronyms correspond to, etc. then resume from where you've stopped. This effort will take, say, an hour or two; but will save you years...
Assalam o Alaikum, My firm is forcing me to shift to Fullstack entirely, but backend and dev ops have a special part in my heart. And you have helped me a lot with it. You are a lifesaver Hussaien.
Honestly we have similar thinking.... Usually geeks and nerds just try to go for a technology or architecture just because it’s the trend and other people think it’s cool..... without thinking if it’s actually needed or why it should be used
One of the most interesting bugs I faced was time-dependent bug, that I could reproduce only in a specific hour of the day. So what I do in such an interesting case? I'm trying to hear my intuition and colleagues. And it helps. So the product owner said, that we have different hours and countries. So I thought maybe if a bug can't be found, maybe that's not me stupid, maybe I just searching the wrong place? But no. The place is correct (code module with the only single responsibility, no ambiguity). So, maybe I'm searching the wrong... time? And it was correct. I listened to the product owner, his ideas were like a sign of fate. That's why I'm in love with software engineering and debugging. I'm feeling like Sherlock Holmes and my tasks are mysteries. That's awesome! If you are stacked with the bug. Take it easy, relax. And stop. Your brain is searching. Just look at the problem from scratch. Your brain like a machine learning system will prevent you from going to the wrong places where you already traveled. More on that. Wrong places are part of right places! Errors are your friends, they are part of success.
Can you make a playlist series where you talk about the standards you know? Maybe keep it to one topic per video e.g. something like your websocket video it helped me understand why they exist and how they work. Thank you!
I love how you speak the truth about people in this industry using buzzwords without knowing what they are talking about. The overuse of EF comes to my mind for instance 😂
I know there is no way we can predict the future or silver bullet in our area, but one simple question how to pick up better tech. like for front end there is react but after 7-8 year there could be another framework, should we try every new thing, which I think is lot overwhelming sometimes.
My advice: 1. Learn things you already like. Don't try to force yourself to learn react just because it's popular. If you don't like how react works, you're never going to have fun working with it, and why waste your life doing something you don't like? 2. Don't follow the hype. Most new techs ar here for a day and gone tomorrow. 3. Accept that nothing is for ever, both because languages simply "die out" (PHP was huge a few years back, now Python is much more popular) and because you learn and grow. We all thought MySQL was an excellent database back when we did not know what transactions where, or PLPython or GIST, PITR, binary replication. Once we learned that we moved to a proper database like PostgreSQL:-) 4.Job availability. I get asked to apply for JAVA jobs a lot. It pays 100k a year and I get a Tesla (and a macbook pro, asif that means something...) but I don't speak JAVA at all. Now, if I wanted that job, I could learn Java and get to work for a company that cannot read linkedin profiles. But I'd rather work with a company that is willing to teach me Rust an is willing to invest in my personal development, even if I have to take a bus to work. In the end, it's about learning somthing that you like, so you will be good at it and have fun doing it. It is *ALWAYS* good to look at new technologies just so you know what it is about and if you like it;go for it. But if you are like me and you like Vue and not react, then just forget React and look for a vue job. If you go for a job in something you don't like,you'll never be happy.
I suggest follow Yan Chui he is the goto guy when it comes to serverless, I think he has a course too medium.com/theburningmonk-com/all-my-posts-on-serverless-aws-lambda-43c17a147f91
Hey Hussein, how to go about learning these first principles. Should I just pick something and browse through the internet to find more information about it or are there any books that you recommend to explore these principles. Can you help me with how to go about learning these.
Hi Hussein! I am a network engineer coming into software development. I chose Backend development because of my background as a Network engineer. any advice pls.
I think it is a great transition, focus on communication protocols and how to build scalable backend communication with TCP/ UDP or HTTP, gRPC since you are a network engineer your skills will prove very useful in this path Watch my backend video to learn more
As a junior-med Backend Developer. you mentioned that anyone should learn the basics of the fundamentals. how can i do that? what are the topics? what are the resources?
hussien you have inspired me to become a software engineer and i'm planning to major in it, the problem is that i dont like math at all ,,any advice for me?
Thank you very much for this video. Very informative and guiding. What is your specialty and what to you do exactly in your job ? I am specialised in systems and networks can I change to do what you do ? I want to learn all the stuff that you know.
انته معلم I wanted to ask you, you seem to be passionate about the field, which is a rarity, Do you think one can get into the industry on pure hobbyist projects ?
I acutely copied that but it's helpful while learning and dubging . When learning, your mind will consistently switch between focus mode and diffuse mode. Focus mode occurs when you are consciously focusing on learning, reading, watching videos, or working on a project. Diffuse mode occurs subconsciously, at times when you are not actively learning, such as when you’re doing the dishes, exercising, or sleeping. In this state, your mind goes about the business of connecting what you have been learning to the other things you know. This is where breakthroughs happen. All article in section growth mindset www.theodinproject.com/courses/web-development-101/lessons/gearing-up
The hammer is Vulcane an HTTP/2 REST API with push and white rabbit is Varnish a reverse proxy caching layer, and the one below rabbitMQ is HAProxy which is a proxy
is it too much to ask for a new series covering those few fundamentalls you talked about in the vidoe? I know you already have begginer, intermediate and advacnced playlists, but I'm not sure what are those fundamentals, even though I'm almost finishing my CS degree.......
Hussein, you're the person who made me fall in love with backend engineering.
for real
same here
Same here :)
@@tarekali7064 ###s#EES
@@Chris-gy7nm ???
This is the best advise/idea I could have received now. I was confused, frustrated and trying too hard learn things that I don't need in a very short amount of time. Now, I know I need to learn what is required at my own pace starting by breaking down things into simple things. Thank you so much for this.
21:00 that's me trying to fix a bug. I used to spend 12-15 hours continuously trying to fix a bug. I recently started taking breaks as you suggested which helped me in looking the problem in a different way and then finding the solutuion.
Brother, you're an inspiration. Thank you for these videos
Bugs: TEST. Unit tests, integration tests, any kind of tests. Write tests. Just do it. Seriously, write tests. And if you don't want to: do it anyway.
these days you can use docker to simulate entire client-server setups. Do it.
Reason:
1. It makes you write better code. It just does, trust me on this.
2. Use code-coverage. Not because you should get 100% coverage, but because you want to see if your tests have actualy run the code you wanted to test.
3. Tests check that your code does what it is supposed to do when everything is ok, but... see point 3
4. Tests ALSO check that your code fails in a sensible way when something is wrong. Why: see point 2; if your exception handling is not covered then your test is seriously incomplete.
How does this help debugging:
1. You can check te bugreport against the tests you run. The problem is most likely in that one bit of the report that the user did that your test did not.
2. The thing that the user did to experience the bug is probably already a scenario in your test, or at least very close to it. You can copy/paste the most suitable test and modify it to what the user described. Then you can run it as often as you need to without having to click around, enter data etc etc. and making mistakes while doing it, which may make the bug not show up.
"Then you can run it as often as you need to without having to click around, enter data etc etc. and making mistakes while doing it, which may make the bug not show up."
good point!
I’ve been searching for a channel just like this for a while now. Just pure backend, I’m so glad I found this.
Welcome to the community
Excellent video! I once spent a week trying to fix a bug which occured with my application calling from C# into a C library and the output (1 value out of a couple hundred values) was different from what I expected. The resolution was to tell C# that this value is supposed to be represented as ASCII number and not as the underlying byte value. I eventually boiled it down to the C library using ASCII values here and the underlying byte value there, so we had to look into the C code together with the guys who wrote the C code to get my C# representations right. Sometimes bug fixing takes up all your time and you get stuck in a certain mindset that won't cut it for the specific problem. But that's normal and we're all humans making mistakes like this all the time.
Most annoying bug: A loadbalancer, a miscommunication and a burnout.
I was entering a burnout during a project (but didn't notice, as few people do until it's too late) and while preparing to put the project live I discussed with the managed hoster that I wanted round-robin on the loadbalancer, but with sticky sessions. New connections to one of two webservers , but every clients stays on the same server untill a timeout of some hours of inactivity. I did this specifically because of Python sessions.
So we went live and I uploaded the code and it worked! Yay! And then I made a change to the javascriptcode, recompiled, uploaded and it broke. Called the hoster to confirm tht all servers where up and yes they were. It remained broken for a few hours and magically started working again. Being half-dead from the burnout I blamed browsercache.
Two days later a bugfix required a recompile,uploaded to both webservers and boom; website dead. A quick check confirmed that all code was correct and in place, but for some reason the loadbalancer was still serving an index.html that did not match the accompanying app.js. So I reverted the changes (this is why you should always upgrade by swapping directories, never overwrite files!) and everything worked again.
Wut?
So I called the hoster to confirm that the loadbalancer was set to round-robin. Yes it was set to round-robin, sticky sessions etc.
This problem persisted no matter what strategy I used to upload the new version of the code. I started doing upgrades only in the middle of the night just so I would not disrupt product when when it would inevitable fail. And then I noticed something; The updates would work if there where pretty much no users on the servers.
And then a little bell when *DING* in my sleepy brain and I wrote down "loadbalancer cache not per-session". I talkedto the hoster the next day and demanded that I get to talk to pretty much everybody who could spell the word "loadbalancer"untill Igot a guy on the phone who opened up the admin and said something along the lines of "that's odd" and I asked "what?" anda he said "Well you have two servers and the loadbalander caches per url so that would cause serious problems if somebody would press F5 while you are upgrading and one server has the new version of the code and the other has the old version."
Yes it turned out that the loadbalancer would cache all requested URL's and serve them to everybody, even though the balancing itself was round-robin with sticky sessions. So when I updated one server and somebody would press F5, they would get index.html from one server and app.js from the other. The loadbalancer wuld just cache "index.html" and "app.js" regardless of the client andbackend it came from. And so every user got a bad combination of the two, for the many hour that the cache woud be active.
I left that job soon after, just typing "build" still makes me nervous today.
Yikes! That is nasty! What is worse than Caching , is caching that the app decides to do without your knowledge in your case the LB
Whoo, I didn't know LB messes up this much. Really great insight to a bug
Hi, Hussein could you do a video on how to become a software architect?
Day 4 🔥
I really had a tough day today at work. Was being little upset but at the moment you said 13:15 take it easy, try to relax. I felt so good after that. Amazing content. Each day I am trying to rush toward completing my current course Zerotomastery nodejs course just to start with database engineering course from you. Really exited about that 🎉
Hey man, just wanted to thank you for making these videos. I am beginning my career in software engineering and the reminder and reinforcement of first principles are always great and needed!
All the best ❤️ stay hungry ! Thanks for your message
7:01 : wow hussein nasser Sir is a gem of an actor!!!!
I studied a at paint jobs as hobby. One day I read about guy in Arizona that sun burned his cars paint. After carwash water drops acted as tiny magnifine glass burned his clear coat. Clear coat layer that protects paint. Thicker layer helps buff scratches. Swirl marks on car are dirt sand in buffing pad.
This all is so true. In most cases where i had the problem with the bug I couldn't fix, it boiled down to the first part of the speech - I didn't fully understand how this thing works. After I spent some time to envestigate it, try to draw the diagram, maybe even refactor the code - it all become obvious.
Just to contribute to your awesome content: If you, my young friend, don't understand a text, a video, etc. just stop there, and remember that this is not your fault. You don't understand, because you don't have the enough knowledge, prerequisites, or the required foundation to digest it on the spot. So, take the preliminary steps, fill in the gaps, learn what those acronyms correspond to, etc. then resume from where you've stopped. This effort will take, say, an hour or two; but will save you years...
Oh boy, I am so happy that I found your channel! Thank you for all the great amazing content =)
When building software you are also limited by rules (or laws) of mathematics. For example, you cannot sort an array in faster than linear time.
Can you give us a list of major first principles in software engineering that we should focus on?
Assalam o Alaikum, My firm is forcing me to shift to Fullstack entirely, but backend and dev ops have a special part in my heart. And you have helped me a lot with it. You are a lifesaver Hussaien.
Just drop all the payload that you have in your mind on us. You are amazing and I am loving to be educated by you!
Honestly we have similar thinking.... Usually geeks and nerds just try to go for a technology or architecture just because it’s the trend and other people think it’s cool..... without thinking if it’s actually needed or why it should be used
Loved the whole video. Thanks a lot Hussein!
Great content as usual. I love you anti-buzzwords rants while also keeping an eye on what is valuable. Keep it coming Hussein.
You’re exactly correct! I hate reading some documentation because it’s all fluff
So many truths condense in one video... KUDOS! 👏🧐
One of the most interesting bugs I faced was time-dependent bug, that I could reproduce only in a specific hour of the day. So what I do in such an interesting case? I'm trying to hear my intuition and colleagues. And it helps. So the product owner said, that we have different hours and countries. So I thought maybe if a bug can't be found, maybe that's not me stupid, maybe I just searching the wrong place? But no. The place is correct (code module with the only single responsibility, no ambiguity). So, maybe I'm searching the wrong... time? And it was correct. I listened to the product owner, his ideas were like a sign of fate. That's why I'm in love with software engineering and debugging. I'm feeling like Sherlock Holmes and my tasks are mysteries. That's awesome!
If you are stacked with the bug. Take it easy, relax. And stop. Your brain is searching. Just look at the problem from scratch. Your brain like a machine learning system will prevent you from going to the wrong places where you already traveled. More on that. Wrong places are part of right places! Errors are your friends, they are part of success.
Remek videó! Taps: 400 Ft 👏
Thank you 🙏
great video, it's really hard get to know the fundamentals, but it's a must do
Man, This was literally what I was thinking one minute ago
I think this everyday lol
Not sure if UA-cam is listening to my mind. This is the exact video I needed this morning.
Your videos are so clear and helpful, keep up with the awesome work! Thanks
I love the way you explain it, Hussein! Thank you!
The realest dev youtuber out there
Can you make a playlist series where you talk about the standards you know? Maybe keep it to one topic per video e.g. something like your websocket video it helped me understand why they exist and how they work. Thank you!
Thanks eng Hussein, yours from egypt
Great talk.
So all it starts with a "Why"
Beautiful video man! Much love
You are the man! thank you for all the knolege that you hsare with us!
I love how you speak the truth about people in this industry using buzzwords without knowing what they are talking about. The overuse of EF comes to my mind for instance 😂
tnx for the book i had trouble with finding a resource to learn design patterns
love you sir
Mannnn You are awesome, It's really hard to get a guide like you!
wow, that screen saver tidbit, never would have crossed my mind :D
As always, awesome video. It is an damn overwhelming this to get into. Thanks.
I know there is no way we can predict the future or silver bullet in our area, but one simple question how to pick up better tech. like for front end there is react but after 7-8 year there could be another framework, should we try every new thing, which I think is lot overwhelming sometimes.
Same question for me
My advice:
1. Learn things you already like. Don't try to force yourself to learn react just because it's popular. If you don't like how react works, you're never going to have fun working with it, and why waste your life doing something you don't like?
2. Don't follow the hype. Most new techs ar here for a day and gone tomorrow.
3. Accept that nothing is for ever, both because languages simply "die out" (PHP was huge a few years back, now Python is much more popular) and because you learn and grow. We all thought MySQL was an excellent database back when we did not know what transactions where, or PLPython or GIST, PITR, binary replication. Once we learned that we moved to a proper database like PostgreSQL:-)
4.Job availability. I get asked to apply for JAVA jobs a lot. It pays 100k a year and I get a Tesla (and a macbook pro, asif that means something...) but I don't speak JAVA at all. Now, if I wanted that job, I could learn Java and get to work for a company that cannot read linkedin profiles. But I'd rather work with a company that is willing to teach me Rust an is willing to invest in my personal development, even if I have to take a bus to work.
In the end, it's about learning somthing that you like, so you will be good at it and have fun doing it.
It is *ALWAYS* good to look at new technologies just so you know what it is about and if you like it;go for it. But if you are like me and you like Vue and not react, then just forget React and look for a vue job. If you go for a job in something you don't like,you'll never be happy.
You mentioned serverless in your talk, can you suggest some good course or book which explain fundamentals not just lamda functions, Thanks !
I suggest follow Yan Chui he is the goto guy when it comes to serverless, I think he has a course too
medium.com/theburningmonk-com/all-my-posts-on-serverless-aws-lambda-43c17a147f91
You are star 💫 ⭐️ Hussain
جانا سخن از زبان ما میگویی ❤️
It is a persian poem
from HAFEZ
Means:
My dear, you speak on my tongue
You nailed it, Period.
Hey Hussein, how to go about learning these first principles. Should I just pick something and browse through the internet to find more information about it or are there any books that you recommend to explore these principles.
Can you help me with how to go about learning these.
My big takeaway is here: "Technology is not going anywhere! it's gonna be there to morrow and then. Learn one thing at time, just take it easy."
Hi Hussein! I am a network engineer coming into software development. I chose Backend development because of my background as a Network engineer. any advice pls.
I think it is a great transition, focus on communication protocols and how to build scalable backend communication with TCP/ UDP or HTTP, gRPC since you are a network engineer your skills will prove very useful in this path
Watch my backend video to learn more
do you have any course on system design? if not please make one lol, you explain things very well
I have a playlist with all my system design videos check it out
ua-cam.com/play/PLQnljOFTspQXSevtRqvMNycWfHM7cXc3d.html
Love ur content 💕💕
You are so true!
As a junior-med Backend Developer.
you mentioned that anyone should learn the basics of the fundamentals.
how can i do that?
what are the topics?
what are the resources?
This video might help ua-cam.com/video/V3ZPPPKEipA/v-deo.html
Also backend.husseinnasser.com for more resources
hussien you have inspired me to become a software engineer and i'm planning to major in it, the problem is that i dont like math at all ,,any advice for me?
Thank you very much for this video. Very informative and guiding. What is your specialty and what to you do exactly in your job ? I am specialised in systems and networks can I change to do what you do ? I want to learn all the stuff that you know.
I fixed my bugs after 14 days
Take it easy.
Why do you choose backend vs front end
Make videos on ur speciality GIS i dont know a thing about it
Thank you sir 🙏💪
Take it easy. You too man.You forgot one thing. Humility.
انته معلم
I wanted to ask you, you seem to be passionate about the field, which is a rarity,
Do you think one can get into the industry on pure hobbyist projects ?
Yes I am sure of it, of you are truly passionate you will just do it for fun instead of looking at it as a job that you have to do.
Nice explanation. Love it.
Great content 🔥🔥
❤️
Atlast found a real gem❤️💎🙃
Thank you so much!
Glad it helped!
you are right
Top class catchy explanation.. Well done
Many thanks!
you're a good guy
I acutely copied that but it's helpful while learning and dubging .
When learning, your mind will consistently switch between focus mode and diffuse mode. Focus mode occurs when you are consciously focusing on learning, reading, watching videos, or working on a project. Diffuse mode occurs subconsciously, at times when you are not actively learning, such as when you’re doing the dishes, exercising, or sleeping. In this state, your mind goes about the business of connecting what you have been learning to the other things you know. This is where breakthroughs happen.
All article in section growth mindset
www.theodinproject.com/courses/web-development-101/lessons/gearing-up
what a great video !!
What technologies do these logos represent in the thumbnail: white rabbit, hammer in fire and the one below rabbitmq
The hammer is Vulcane an HTTP/2 REST API with push and white rabbit is Varnish a reverse proxy caching layer, and the one below rabbitMQ is HAProxy which is a proxy
Thanks for this bro
Any time
Thanks
Hussain , can explain algorithms and data structure
is it too much to ask for a new series covering those few fundamentalls you talked about in the vidoe?
I know you already have begginer, intermediate and advacnced playlists, but I'm not sure what are those fundamentals, even though I'm almost finishing my CS degree.......
well said!
i wish i heared you saying laravel one time😢
You actually can apply all these rules to life, in general xD
Why people don’t put them back on the mic 🎙 the screws that make it look bold and Viril instead of bald and emasculated...
haha you do a great work sorry for my rants
How can i be as knowledgeable as you
..by taking it easy ( 17:48 )
Saif Ali Khan teaching backend engineering
Lol
hi
I just wanna smash this like btn
pssshhh, my 5G AI mixed reality cloud IoT computer vision OCR QR lector is so much more than just a scanner
Any students here?
"Software Engineering is Overwhelming"
Do you know Physics Engineering?