Software Engineering is Overwhelming

  Рет қаралды 31,633

Hussein Nasser

Hussein Nasser

Күн бұрын

Пікірлер: 118
@ankushbhardwxj
@ankushbhardwxj 4 жыл бұрын
Hussein, you're the person who made me fall in love with backend engineering.
@tarekali7064
@tarekali7064 4 жыл бұрын
for real
@dcn4lyf
@dcn4lyf 4 жыл бұрын
same here
@mhmdshaaban
@mhmdshaaban 4 жыл бұрын
Same here :)
@Chris-gy7nm
@Chris-gy7nm 4 жыл бұрын
@@tarekali7064 ###s#EES
@tarekali7064
@tarekali7064 4 жыл бұрын
@@Chris-gy7nm ???
@vigneshj
@vigneshj 4 жыл бұрын
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.
@jithin_zac
@jithin_zac 4 жыл бұрын
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.
@gwulfwud
@gwulfwud 4 жыл бұрын
Brother, you're an inspiration. Thank you for these videos
@hnasr
@hnasr 4 жыл бұрын
@vinny142
@vinny142 4 жыл бұрын
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.
@JordannGeorge
@JordannGeorge 4 жыл бұрын
"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!
@vinny142
@vinny142 4 жыл бұрын
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.
@hnasr
@hnasr 4 жыл бұрын
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
@patrickprakash8
@patrickprakash8 2 жыл бұрын
Whoo, I didn't know LB messes up this much. Really great insight to a bug
@richie5769
@richie5769 4 жыл бұрын
I’ve been searching for a channel just like this for a while now. Just pure backend, I’m so glad I found this.
@hnasr
@hnasr 4 жыл бұрын
Welcome to the community
@cheebadigga4092
@cheebadigga4092 2 жыл бұрын
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.
@mrcrazyenough007
@mrcrazyenough007 4 жыл бұрын
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.
@Some.real.human.
@Some.real.human. 4 жыл бұрын
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!
@hnasr
@hnasr 4 жыл бұрын
All the best ❤️ stay hungry ! Thanks for your message
@viputdBeast
@viputdBeast 2 жыл бұрын
7:01 : wow hussein nasser Sir is a gem of an actor!!!!
@javaprogramming7235
@javaprogramming7235 10 ай бұрын
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 🎉
@ahmetyasarozer
@ahmetyasarozer Жыл бұрын
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...
@joeyalfaro2323
@joeyalfaro2323 3 жыл бұрын
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.
@daisy17138
@daisy17138 2 жыл бұрын
Not sure if KZbin is listening to my mind. This is the exact video I needed this morning.
@ShinobiEngineer
@ShinobiEngineer 4 жыл бұрын
So many truths condense in one video... KUDOS! 👏🧐
@maximsemashko4232
@maximsemashko4232 3 жыл бұрын
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.
@utsavshankar7480
@utsavshankar7480 4 жыл бұрын
Man, This was literally what I was thinking one minute ago
@deshkarabhishek
@deshkarabhishek 4 жыл бұрын
I think this everyday lol
@owaisahmed8304
@owaisahmed8304 3 жыл бұрын
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!
@ponzicarlo2842
@ponzicarlo2842 4 жыл бұрын
Great content as usual. I love you anti-buzzwords rants while also keeping an eye on what is valuable. Keep it coming Hussein.
@sagarkanojia
@sagarkanojia 2 жыл бұрын
Loved the whole video. Thanks a lot Hussein!
@MrDecasept
@MrDecasept 4 жыл бұрын
Hi, Hussein could you do a video on how to become a software architect?
@ritas6971
@ritas6971 2 жыл бұрын
Oh boy, I am so happy that I found your channel! Thank you for all the great amazing content =)
@CodeCatProgramming
@CodeCatProgramming 4 жыл бұрын
You’re exactly correct! I hate reading some documentation because it’s all fluff
@amsterdenko9854
@amsterdenko9854 3 жыл бұрын
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.
@tobiowolawi5044
@tobiowolawi5044 4 жыл бұрын
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
@MrDaniloko23
@MrDaniloko23 4 жыл бұрын
Your videos are so clear and helpful, keep up with the awesome work! Thanks
@sapientum8
@sapientum8 3 жыл бұрын
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.
@abdullahAboelkhair
@abdullahAboelkhair 2 жыл бұрын
Thanks eng Hussein, yours from egypt
@hendersonfernandes7378
@hendersonfernandes7378 2 жыл бұрын
I love the way you explain it, Hussein! Thank you!
@yolotalkspodcast
@yolotalkspodcast Жыл бұрын
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 😂
@peterlacza995
@peterlacza995 3 жыл бұрын
Remek videó! Taps: 400 Ft 👏
@hnasr
@hnasr 3 жыл бұрын
Thank you 🙏
@nelsonbravo4076
@nelsonbravo4076 3 жыл бұрын
great video, it's really hard get to know the fundamentals, but it's a must do
@moolipit
@moolipit 4 жыл бұрын
The realest dev youtuber out there
@descartes3338
@descartes3338 3 жыл бұрын
Beautiful video man! Much love
@ayushagarwal4247
@ayushagarwal4247 4 жыл бұрын
Can you give us a list of major first principles in software engineering that we should focus on?
@davidsalleyezonme1283
@davidsalleyezonme1283 4 жыл бұрын
Great talk. So all it starts with a "Why"
@sharthakghosh970
@sharthakghosh970 4 жыл бұрын
wow, that screen saver tidbit, never would have crossed my mind :D
@benmoyal6107
@benmoyal6107 Жыл бұрын
You are the man! thank you for all the knolege that you hsare with us!
@veerabalajayaraj8037
@veerabalajayaraj8037 3 жыл бұрын
Mannnn You are awesome, It's really hard to get a guide like you!
@emonymph6911
@emonymph6911 4 жыл бұрын
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!
@muhammaddavatgar4973
@muhammaddavatgar4973 3 жыл бұрын
tnx for the book i had trouble with finding a resource to learn design patterns love you sir
@jacobusstrydom7017
@jacobusstrydom7017 4 жыл бұрын
As always, awesome video. It is an damn overwhelming this to get into. Thanks.
@samueln5506
@samueln5506 Жыл бұрын
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."
@akshayaghera8123
@akshayaghera8123 4 жыл бұрын
You mentioned serverless in your talk, can you suggest some good course or book which explain fundamentals not just lamda functions, Thanks !
@hnasr
@hnasr 4 жыл бұрын
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
@pouriaseyfi7287
@pouriaseyfi7287 4 жыл бұрын
جانا سخن از زبان ما میگویی ❤️ It is a persian poem from HAFEZ Means: My dear, you speak on my tongue
@ArunPanchareddy
@ArunPanchareddy 4 жыл бұрын
You are star 💫 ⭐️ Hussain
@dcn4lyf
@dcn4lyf 4 жыл бұрын
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.
@hnasr
@hnasr 4 жыл бұрын
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
@genuineprofile6400
@genuineprofile6400 4 жыл бұрын
Take it easy. You too man.You forgot one thing. Humility.
@AlaminIslam-hi8dl
@AlaminIslam-hi8dl Ай бұрын
I fixed my bugs after 14 days
@akshayaghera8123
@akshayaghera8123 4 жыл бұрын
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.
@rafatmunshi3572
@rafatmunshi3572 4 жыл бұрын
Same question for me
@vinny142
@vinny142 4 жыл бұрын
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.
@alirmaity1570
@alirmaity1570 4 жыл бұрын
Love ur content 💕💕
@tjalferes
@tjalferes 3 жыл бұрын
Take it easy.
@amarj5899
@amarj5899 4 жыл бұрын
You nailed it, Period.
@upendrasinghkarmiyal7684
@upendrasinghkarmiyal7684 4 жыл бұрын
Great content 🔥🔥
@hnasr
@hnasr 4 жыл бұрын
❤️
@dougcensorabner
@dougcensorabner 3 жыл бұрын
Why do you choose backend vs front end
@krishna.g9892
@krishna.g9892 3 жыл бұрын
Atlast found a real gem❤️💎🙃
@Çalhanoğluuuu
@Çalhanoğluuuu 4 жыл бұрын
Top class catchy explanation.. Well done
@hnasr
@hnasr 4 жыл бұрын
Many thanks!
@lpw8480
@lpw8480 4 жыл бұрын
do you have any course on system design? if not please make one lol, you explain things very well
@hnasr
@hnasr 4 жыл бұрын
I have a playlist with all my system design videos check it out kzbin.info/aero/PLQnljOFTspQXSevtRqvMNycWfHM7cXc3d
@kamranhossain6956
@kamranhossain6956 4 жыл бұрын
Nice explanation. Love it.
@upengan78
@upengan78 4 жыл бұрын
Thank you sir 🙏💪
@coolbuddy2405
@coolbuddy2405 3 жыл бұрын
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.
@ayasaher2653
@ayasaher2653 3 жыл бұрын
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?
@hnasr
@hnasr 3 жыл бұрын
This video might help kzbin.info/www/bejne/jGS9gYOGgKqcpqM Also backend.husseinnasser.com for more resources
@blitzer658
@blitzer658 4 жыл бұрын
انته معلم 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 ?
@hnasr
@hnasr 4 жыл бұрын
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.
@supersu6138
@supersu6138 3 жыл бұрын
Make videos on ur speciality GIS i dont know a thing about it
@moatazhamadi7308
@moatazhamadi7308 4 жыл бұрын
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?
@abdullahAboelkhair
@abdullahAboelkhair 2 жыл бұрын
i wish i heared you saying laravel one time😢
@mohameddiaa3037
@mohameddiaa3037 4 жыл бұрын
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
@shruh493
@shruh493 4 жыл бұрын
Thank you so much!
@hnasr
@hnasr 4 жыл бұрын
Glad it helped!
@abhishek-agarwal
@abhishek-agarwal 4 жыл бұрын
What technologies do these logos represent in the thumbnail: white rabbit, hammer in fire and the one below rabbitmq
@hnasr
@hnasr 4 жыл бұрын
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
@palaniappanrm6277
@palaniappanrm6277 4 жыл бұрын
Thanks for this bro
@hnasr
@hnasr 4 жыл бұрын
Any time
@elmehdisaniss2731
@elmehdisaniss2731 4 жыл бұрын
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.
@IgorRoztr
@IgorRoztr 2 жыл бұрын
You actually can apply all these rules to life, in general xD
@wassim5622
@wassim5622 4 жыл бұрын
what a great video !!
@Mohamedtarek-qz2zj
@Mohamedtarek-qz2zj 4 жыл бұрын
you're a good guy
@mabroorahmad2182
@mabroorahmad2182 3 жыл бұрын
You are so true!
@ahmedkhudhair8035
@ahmedkhudhair8035 4 жыл бұрын
Hussain , can explain algorithms and data structure
@andredias5061
@andredias5061 3 жыл бұрын
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.......
@elmokhliss4852
@elmokhliss4852 4 жыл бұрын
Thanks
@usamatahseenulhaque9125
@usamatahseenulhaque9125 4 жыл бұрын
How can i be as knowledgeable as you
@MartinsTalbergs
@MartinsTalbergs 4 жыл бұрын
..by taking it easy ( 17:48 )
@bhushanmulmule7885
@bhushanmulmule7885 4 жыл бұрын
well said!
@xivi644
@xivi644 4 жыл бұрын
you are right
@Luxcium
@Luxcium 3 жыл бұрын
Why people don’t put them back on the mic 🎙 the screws that make it look bold and Viril instead of bald and emasculated...
@Luxcium
@Luxcium 3 жыл бұрын
haha you do a great work sorry for my rants
@iqbalhonnur4451
@iqbalhonnur4451 4 жыл бұрын
Saif Ali Khan teaching backend engineering
@coder7078
@coder7078 8 ай бұрын
Lol
@abdelrahmanmostafa9489
@abdelrahmanmostafa9489 Жыл бұрын
hi
@highvis_supply
@highvis_supply 4 жыл бұрын
pssshhh, my 5G AI mixed reality cloud IoT computer vision OCR QR lector is so much more than just a scanner
@doublehelix_5674
@doublehelix_5674 4 жыл бұрын
I just wanna smash this like btn
@atharva1237
@atharva1237 3 жыл бұрын
Any students here?
@KangJangkrik
@KangJangkrik 4 жыл бұрын
"Software Engineering is Overwhelming" Do you know Physics Engineering?
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
My Process of Designing and Architecting Software
14:37
Hussein Nasser
Рет қаралды 46 М.
When should you shard your database?
21:20
Hussein Nasser
Рет қаралды 79 М.
How many kernel system calls do runtimes make?
19:18
Hussein Nasser
Рет қаралды 30 М.
Six stages of a good software engineer
37:12
Hussein Nasser
Рет қаралды 36 М.
Is there a Limit to Number of Connections a Backend can handle?
18:43
Hussein Nasser
Рет қаралды 34 М.
I ask this question to every Backend Engineer I interview
11:44
Hussein Nasser
Рет қаралды 394 М.
Frontend and Backends Timeouts
24:40
Hussein Nasser
Рет қаралды 13 М.
My Preferred Method of Learning Backend Engineering Technologies
11:40
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН