Pattern recognition is almost the last step to being an expert. And this applies to any discipline
@edwardmitchell65819 ай бұрын
For me, it's always been the first an only step. Discipline is the last step.
@darshandev17548 ай бұрын
@@edwardmitchell6581 cannot be the first step, its somewhere in the middle, how do you even find patterns if all you have worked with is python or html
@MaxPicAxe9 ай бұрын
"Patterns are pretty difficult to forget" great quote
@removed1078 ай бұрын
It hit me so hard... It's unbelievable that he's right about this.
@scapegoat0798 ай бұрын
as is a special woman....
@QuangNguyen-vf3nz8 ай бұрын
Basically all the variation of SQL commands in different SQL platforms, they may be worded differently but the principle behind each concept is still the same
@MaxPicAxe8 ай бұрын
@@scapegoat079 Yeah
@dasezo9 ай бұрын
7 years of SE explained in 7 minutes, thank you brother
@caiomucio92379 ай бұрын
What SE means?
@nwseooo9 ай бұрын
@@caiomucio9237 software engineering i think?
@caiomucio92379 ай бұрын
@@nwseooo thanks bro
@justcurious19409 ай бұрын
Ok.
@edwardmitchell65819 ай бұрын
He needs a 10-page book of cheat sheets. I'd pay $49 for it.
@@5958637 Garbage collection. Garbage collection basically manages the memory automatically.
@gousiatantray9 ай бұрын
This is pure gold. when you do look at things as concepts or patterns, a lot of things become very clear. Thank you
@ahmadhameed38798 ай бұрын
I agree 101%. I for the past two years have been trying to learn multiple languages C, C++, C#, JAVA, Javascript, HTML,CSS,Javascript, React, Angular, Vue, React Native, Flutter etc.... But what i found out is that i have just wasted my time trying to memorize the syntax. Syntax doesn't matter that much (of course it does but ....). Jumping from this lang to that lang did nothing but waste my time. I don't even the basic fundamentals building blocks of programming in general and I went to sticking syntax in my mind. You are a genius bro...!
@takeuchi57606 ай бұрын
why would you even try to learn C, C++, C#, JAVA, and React at the same time
@TobssonАй бұрын
@@takeuchi5760 os, abstraction layer API, server and to-do list to keep track of everything. Easy xd
@ragsbigfella9 ай бұрын
Wow.. need a detailed video on identifying each of these patterns.. thank you
@machoToni9 ай бұрын
I think he has a course on his website. Now I'm more tempted in actually buying lifetime access, since I want to get stronger in this and DSA. If anyones does have any videos out there drop the links, much appreciated.
@natescode9 ай бұрын
Just Google design patterns.
@johnsoto71129 ай бұрын
experience, same as leetcode
@ryiv18489 ай бұрын
there are also books about design patterns
@h0ph1p139 ай бұрын
@@natescode "seeing patterns" as he explains it is one thing. OOP design patterns are whole another valley. Just saying. Don't confuse the two things. OOP design patterns are just "some patterns" and definitely NOT the most important ones.
@sungjuyea46279 ай бұрын
I guess this channel becomes more like the primetime with less jokes but more infos - love it
@CaptTerrific8 ай бұрын
This was a moment of epiphany for me as well, and I can't point to exactly when I started thinking this way. However, in much the same way, there was a time when everything "clicked" yet again, and I began thinking about technologies which were better suited to the patterns I wanted to implement. This helped not only in tech selection, but in allowing me to more deeply understand the tech stack I was often stuck with for a given project, and work around those limitations. It's a continuous cycle of learning :)
@RamiroAsincrono9 ай бұрын
Please dive deeper into this video! A hour long video in this subject would be amazing!!
@headlights-go-up9 ай бұрын
love these types of videos! im a noob and have tried to make it a point to always prioritize patterns and fundamentals, the things I can take anywhere. Sometimes I'm a bit confused because I get lazy and wish there was some master list lol.
@natescode9 ай бұрын
Microsoft has a list of design patterns. Many many resources exist already. Just takes practice
@hellowill9 ай бұрын
Yeah it's cringe when people say they know 5 programming languages as if that's like learning a real language. Programming languages are just tools we use. Engineering is more about general problem solving. Writing code is the easy part. It's also why I say AI isn't a threat; it's just going to improve/speed up the writing code part.
@barry_wastaken2 ай бұрын
Hi there I'm from the future and I'm telling you, indeed AI appeared to be threat.
@muhwyndham9 ай бұрын
Finally someone can make what I observe into coherent words. I got this particular eyes open when I was forced to learn backend due to business circumstances and switch language and platform from Kotlin to Go. It opens my eyes because recognizing pattern is my only handholding when doing the switch. But now? Yeha I'm flying. I even have personal codebase that compiles into 1 portable binary but have 4 different language in it and use incredibly esoteric stack. But it still boils down to just MVC.
@OzzyTheGiant8 ай бұрын
Yep, with backend frameworks, they're all pretty similar: The app listens for requests, dispatches them to the appropriate request handler, runs some tasks for that request, then sends back a response. You might have additional services that need to be handled before or after the request is dispatched, so depending on your language and programming paradigm, this is handled either with middleware functions or dependency injection in OOP. That, and knowing the HTTP spec is pretty much all you need to know at a high level. Maybe you might need to learn concurrency using coroutines, threading, spawning processes for high performance tasks but there's not a lot to know at that level.
@mdk19839 ай бұрын
I love your passion and energy, and the willingness to convey this on KZbin. Well said.
@immanuelt6137 ай бұрын
I love how short and precise your videos are. Straight to the point, and full of wisdom.
@tiquortoo9 ай бұрын
This is why I push back on the "What's your stack?" question. It's fine if you're asking where your primary dev experience is, but it loses meaning as you gain experience.
@ScottzPlaylists8 ай бұрын
What your calling patterns which is so generic, you could call it similar concepts, Iike Features, Capabilities, etc. 👏 Similar concepts exist in many Technologies. Organize them into Tables, Trees, Mind Maps, etc. 💡 Data is beautiful. I like to gather and organize information as I learn 👍 Graph Knowledge Bases seem like the best way to make sense of it all, it gets so complicated. Nodes represents Named Entities (Languages, Databases, Paradigms, Features, etc) Edges (lines between the Notes) represent relationships. Ex: [Python]------>> has paradigm >>-----[OOP-Object oriented programming, Functional Programming, etc ] ❤
@codenamemoe93378 ай бұрын
Man, this was so needed. Thanks for breaking this down so simply.
@adamhaney94478 ай бұрын
Fantastic video. A key milestone of developmemt in any discipline is gaining enough fundamental knowledge that you can zoom out and consider the entirety of the problem, rather than being stuck at ground level in the implementation details.
@obelusstem1999 ай бұрын
Same goes for any programming language, when you undesrstand the problem pattern and you already know how to solve it, the rest is translating your thoughts to the progtamming language
@SimGunther9 ай бұрын
2:15 Even when you take away patterns from a language (programming or otherwise), you have a feeling that eventually can be expressed in a combination of other features used in a specific order. That's 1984 (and learning about software engineering) in a nutshell.
@mprasanth189 ай бұрын
Please make separate videos for each patters, it will help a lot.
@h0ph1p139 ай бұрын
Just learn two programming languages. You will start seeing the pattern.
@DhavalAhir108 ай бұрын
@@h0ph1p13Yes, I have 2 year experience in Python /Javascript. Now I am Learning Golang... I found it's pretty easy to switch once you know the patterns.
@tk_kushal9 ай бұрын
Incredible video man! I don't usually comment on videos but you deserved it, keep it up 👍
@UIEngineering1018 ай бұрын
One similar pattern that has helped me level up is declarative vs imperative programming. Declarative programming paradigms like SQL, CSS, HTML makes writing and reading code so much easier OR the reason why React has superior DX compared to other frameworks. Similarly, IOC or Inversion of Control principle. It took my so much time to realize why it is so fundamental and important. It has helped me design better APIs when I'm authoring a library.
@cryptonative9 ай бұрын
Now try Rust
@myxail09 ай бұрын
or haskell
@ajml_hnter9 ай бұрын
It introduces new concepts that's why Someone who know haskell finds rust easier or vice versa, coz there's some similarities and functional patterns in these languages
@cryptonative9 ай бұрын
@@ajml_hnter I’ve been working almost solely with Rust for about 2 years now and most hurdles didn’t come from functional patterns but from the ownership model. You can’t really not understand it in depth to work with the language. Maybe that’s just my experience and what I’ve work with before.
@ajml_hnter9 ай бұрын
@@cryptonative Yeah it's a pretty different model than other languages, most languages are garbage collected and rust brings a new way to think about things, there's a lot of other things that really different in rust. I think future programming languages will adopt the good concepts in rust and it will turn in to more of a pattern
@giovanni_rbn9 ай бұрын
Now try c
@moardub7 ай бұрын
I think this explains what I've been experiencing recently. I'll learn something new and be like "wait but isn't that just like x, but a little different" and its because of this exact scenario where patterns are repeating in different, but similar ways. Thanks for this video!
@amadzarak77468 ай бұрын
This is so true brother. Understanding these concepts has made me almost “language agnostic” in my career. Yes I have preferences. But if u locked me in a room, and said I could not leave until I finish an app in a programming language I’ve never written in, I would eventually make it out.
@aspiesoft9 ай бұрын
I see 2 patterns: 0 and 1 the thing that generally annoys me about people obsessing over strong vs dynamic types, is that at the end of the day, all that's being stored is 0s and 1s. The physical hard drive doesn't care about data types. While you can use prefixes to represent a data type in the hard drive, and it is helpful when programing to know what kind of data you are dealing with, it's still just being stored as 0s and 1s. It's also being sent over the internet as 0s and 1s. at the end of the day, the client using the website doesn't care whether I used javascript, python, or c++, as long as the content loads fast enough from their perspective and looks good. This is also why I'm starting to spend more time with learning front-end development, because that's what the user will actually see and care about. That and AI will probably have the advantage on taking back-end jobs, compared to front-end jobs where creative design has an advantage.
@calmhorizons9 ай бұрын
Is this bad satire?
@codebreaker478322 күн бұрын
Love this! I might also add that the ability to use different patters against each other, is what differentiates the good from the best. The ability to hold multiple patterns and architectural models in your mind, in addition to consider the future roadmap and then give a educated response is really difficult.
@nathanhedglin9317 ай бұрын
THIS! This is why I don't care if I don't know X technology. I can pick it up very quickly once I understand the fundamental concepts that tool uses.
@widrolo9 ай бұрын
2:45 personally, i too can look at C code and immediately see what they are trying to achieve. I feel like it kind of enabled me to program a whole lot faster, since i can just write C code like im speaking my ideas, instead of trying to figure out why i doesnt compile or whatever.
@GaryWarman9 ай бұрын
this is what I've been telling people for years. the more time you put into familiarizing yourself with software development, the more you identify first principles, the more you start to think in those primitives and variations thereof rather than higher level contexts like specific language details. at some point, you stop seeing code, and you start thinking in abstract units of computation, the patterns you speak of. it's like with language you start with coarse words and then learn to break them down to letters, and then you start to learn to process them as lexemes, morphemes, phonemes, and other grammatical units (even if only subconsciously). but that's the point of gaining understanding of a thing. you don't have to muck about in the inefficient and artificial high level idioms and "human friendly representations" and instead offload those to the subconscious so you can focus on the things you're actually trying to work on. programs are just machines after all. oh and proofs, a la the good ol' Curry-Howard Isomorphism. but the point of these structures is that they are continuously divisible down to their primitives, and at the end of the day all they are is just a whole bunch of those primitives stacked on each other in specific configurations (or shapes if you will) which interlink into even more specialized configurations until all interlinking is exhausted and what you have left is your beautiful piece of algorithmic machination yeah patterns are pretty lit. groups of primitives. the only thing I'd add is that it's really important that you have an exhaustive comprehension of those primitives, or at least as thorough as you can possibly manage. Just never let yourself believe that you've finally figured out everything there is to know about anything, and you'll never stop running out of things to know 😊
@victoiret63358 ай бұрын
A really helpful advice for someone who is "stacking" leetcode problems. Thanks!
@carpediemcotidiemАй бұрын
00:02 Focusing on patterns over technical details leads to new level of consciousness 01:02 Understanding type differences in programming languages 02:00 Seeing things in terms of patterns rather than technical details opens your third eye. 03:02 Focus on web hook pattern for intelligent communication 03:59 Patterns have similarities, like The Observer pattern and publisher subscriber pattern. 05:01 Focusing on patterns over technologies makes learning easier. 05:57 Static typing transcends just programming languages 06:57 Focusing on patterns helps in solving repeated problems efficiently. Crafted by Merlin AI.
@T1Oracle9 ай бұрын
In the MBTI this is intuitive vs sensing. Intuitive personalities zero in on patterns. Sensing personalities absorb and analyze details. The clash between the two can be frustrating. When I see the pattern, I don't want to go over every last detail. That's how I learned over 30 programming languages. I stopped worrying about the details and now I can make usable software in so many different technologies. Sure, a code review may have 1000 nitpicks (if it's something I'm less experienced with), but the end user is never going to care about those.
@Nonsense1169 ай бұрын
"A linter such as typescript" THANK YOU
@stevejobs40073 ай бұрын
make more videos like this! videos like this show what separates higher-level engineers from others.
@trailblazer5558 ай бұрын
well said...everything in this world is followed by patterns and inspiration
@erano015 ай бұрын
Best video i have ever seen about patterns in software.
@khadijaasehnoune3518 ай бұрын
An hour-long video on this subject would be great and a life saver for beginners in CS
@HumanoidTyphoon919 ай бұрын
This was a banger! ngl, I was worried it's gonna be another "1" + 2 video, but it really was great! You should do more design patterns, software architecture, system design videos, this video was gold and you explained things really well.
@anasouardini9 ай бұрын
IDK why, but I feel like static types are way effective at preventing me from silly mistakes than dynamic ones!
@calmhorizons9 ай бұрын
It's no coincidence. Strong, static typing means things have to be well defined when the program compiles - it is quite literally a barrier to many silly mistakes that human brains are prone to make. I write most of my code in C# or SQL for work, but occasionally I have to use Python. And much as I love its simplicity for a quick script, building anything large or complex in it is poison to me. So many silly bugs that you have no chance of spotting without a lot of tedious testing. Strongly Typed for life. :D
@The-Untitled-One9 ай бұрын
Your video is not long enough. Talk more about these patterns please. This literally opened my mind on what programming language should I use for a specific project and WHY I should use it. Also this video can be a "great divider" - to divide people into two categories: A Junior Software Developer/Networker/Engineer and a Senior Software Developer/Networker/Engineer.
@natescode9 ай бұрын
There are tons of blogs and resources on design patterns.
@sylvereleipertz9559 ай бұрын
You just described experience
@rudya.hernandez72383 ай бұрын
Would love an entire series from you just on patterns.
@yash115228 күн бұрын
0:19 what's difference in static-dynamic vs strong-weak typing? * static: hard coded types, right? * strong: unchangeable types, right? * does dynamic typed means inferred typing? * does weak typing means variable can change the type of stored value?
@СергейМакеев-ж2н28 күн бұрын
No, "inferred" is not "dynamic". Static means everything is decided *at compile-time,* with some types being explicit, and others being inferred. Dynamic means that types can only be decided at run-time. Weak means that a type mismatch (whether at compile-time or at run-time) *is not an error.* Instead, the language will try to auto-cast the variable to the type it needs to be.
@redleader22119 ай бұрын
Typescript propaganda confirmed.
@abdullahqureshi71652 ай бұрын
patterns are difficult to forget because each of them have a dedicated neural network in your brain, ready to be active while syntax gets stored in short term memory
@egor.okhterov9 ай бұрын
I dare you to make a video on one of the consensus algorithms 😅 For example, Paxos or Raft :) Then consistent hashing. Distributed transactions, 2-way, 3-way commits, saga pattern. Jitterred retry to avoid thundering herd problems. Rate limiting using token buckets. Short circuiting. ...
@PieterWigboldus9 ай бұрын
JavaScript, it is not a bug, it is a feature you have to know, then you can work with it. Knowing quirks of the language is the most important to prevent unexpected results
@isuckatthisgame9 ай бұрын
Every problem in computer science is always solved by these two things: 1. Indirection 2. Granulation
@cryptonative9 ай бұрын
Indirection is what programming is Granulation is what good programming is Then there is computabity and efficiency which is the rest of computer science
@hroman_codes8 ай бұрын
This was a much-needed video thank you. The computational thinking model has reference to pattern recognition as one of its 4 elements 👍
@towatch8 ай бұрын
Well done!. one of the most amazing and informative videos i watched.
@artemabharian81318 ай бұрын
Great premise and video!!! Although one thing needs to be corrected - you can set up schema on each collection in MongoDB (using jsonschema format) and it will automatically perform types validation. It will be much faster than validation on application side but there a possible downside - possible unnecessary roundtrips to db.
@brotherpeter0027 күн бұрын
The code we write is executed on some piece of hardware and the means by which that execution occurs is extremely important to understand. This is the only way that we can build systems that are performant, have conservative memory usage and are power conscious. Code that is too focused on patterns tends to be very slow and use a lot of memory and power. It is part of the reason that our software industry is in such a poor State and why programs of the past ran so much faster than they do today.
@zabsetu49648 ай бұрын
Loved this video as a cs undergrad 😊! Thanks @NeetCode. Can you possible list the themes you're mentioning in this video as I'd like to dig deeper and learn these patterns myself in my personal time please?
@ingmarbm8 ай бұрын
Awesome vid! Just learning OO design patterns and I'm hungry for more of what you just said
@Artofnatiee8 ай бұрын
Great video brother! Concise, informatuve & clear guidelines to becoming a software engineer. I look for ward someday to a fantastic conversation with you. Have a good one, cheers!
@bgill74759 ай бұрын
Never thought about it like this but it makes perfect sense. Thank you.
@calmhorizons9 ай бұрын
Sanity. Great video. Also, strong static typing is life. :D
@TheLummen.8 ай бұрын
You have done some recreational stuff... ! Opened that third eye. I trust you.
@nang889 ай бұрын
Too good Mr neet
@kunalprasad42154 ай бұрын
Really this was help full never thought of learning this way.
@mrdeadrim3109 ай бұрын
It work for biggener's, if you are working on advance language,you scratch your head especially if the code refracted.
@MelvinMichaelPimentel8 ай бұрын
This is golden knowledge. Thank you for sharing!
@pencilcheck9 ай бұрын
when you are tired of learning every new framework/language that come out... focus on pattern!! (jk, my college taught me to focus on patterns before I step into the job market, so I know this a long time already)
@nan57157 ай бұрын
Can’t memorize anything either but the big picture concepts help you find the way and you can google the crap out of syntax and tools.
@thad338 ай бұрын
You are a master in coding
@dimii277 ай бұрын
Plato's theory of ideas and allegory of the cave goes well with this video
@shs42939 ай бұрын
We really need something like this.
@roccociccone5978 ай бұрын
I’d say it’s still good to know the oddities of each language you use and also learn how to write the code according to the conventions. Don’t write Go as if it was Typescript and vice versa.
@aritzolaba8 ай бұрын
This is the best advise someone could give you relating web dev and also the most difficult one to achieve. Just let experience work for you: be patient and have this main idea always in mind and keep going. You won't get a third eye though :p
@guille____23 күн бұрын
would love an in-depth video about this
@vorant948 ай бұрын
I had the same thing with patterns, when I heard first time about event-driven micro-service architecture. for me as a front-end guy it was like "oh, back-enders invented redux, cool"
@shrirambm95279 ай бұрын
7:15 I agree with you bro
@flatmapper9 ай бұрын
What Neetcode Pro includes besides free content? I mind buying it but have no clue what’s inside it
@adrian333dev9 ай бұрын
Awesome courses! I had one year subscription, which recently ended, and It was definitely worth it.
@NeetCodeIO9 ай бұрын
All of the courses and pro coding problems. Will be adding at least 4 more courses this year and more coding problems this year.
@Felix-og7pd7 ай бұрын
webhook pattern gRPC(protobut) vs JSON | static vs dynamic
@dicegame1019 ай бұрын
As someone that has written code as a hobby for several years and learned (and forgotten) a few languages along the way I couldn't agree more.
@karthikgowda95309 ай бұрын
need more videos like this, I mean you could have kept going, but honestly my fundamental understanding of this stuff..... supper shaky!!!!, This helped a lot, Thanks bro
@chronyan2-er3mk8 ай бұрын
no matter how smart you are, this skill comes only with experience.
@mayanksaurabhmayanksaurabh92718 ай бұрын
Awesome video, thanks for sharing this
@Ari-pq4db9 ай бұрын
Thank you , keep em coming ❤
@RinatKinziabulatov8 ай бұрын
Thanks man, very informative 🎉
@antilopeian27658 ай бұрын
Where can I learn patterns? Any books?
@DarshanShakya-s4w8 ай бұрын
i need some info too.
@deecee22049 ай бұрын
You: "I could be here all day" Me: I could listen all day long of this wisdom
@kaitenague9 ай бұрын
I have this same exact philosophy about engineering and technology but I'm getting depressed that jobs now a days are looking for specialists in one thing more than generalists. It's like big companies and even startups don't want generalists like in the past, for the different opinions they might generate inside the organization and the disruption that might create. Like conpanies that use mostly python don't like proffesionals that comes from a C or Java background, for some reason, even though you might be familiarized with the python ideas from experience with linux scripting and scientific analisys. Conceptual knowledge is not that much apreciated any more. You just need to deliver fast and be perfectly aligned with the company's ideals.
@silviugherman74329 ай бұрын
Yeah, unfortunately that's the big missing piece when people talk about being a generalist/knowing things conceptually,I agree with the sentiment, but then I go to look at job requirements and most I see is very specific knowledge, it then makes sense to be a specialist in a language
@A.F.P8 ай бұрын
Couldn't agree more.
@yashdesai83728 ай бұрын
You can define schema in MongoDB as well
@egor.okhterov9 ай бұрын
If you know how to write "if", "loop" and function you already know a language :)
@compilejs1109 ай бұрын
Can you give more examples of pattern? I really like the way you explain webhooks.
@chaudiep82748 ай бұрын
i'm a fresher data analyst and just know SQL and Python. I solve coding problems by imagination and don't know if this method is seen as "pattern" that he said. I really want to understand what's exactly "pattern" but cannot get what he said since i have no idea of other programming languages.
@daviduzumaki9 ай бұрын
no and yes. a lot of the time the patterns you can use are determined by the tech you’re working with
@natescode9 ай бұрын
Yes put the rarely invent the pattern in the framework. I already knew MVC so learning Angular was easy.
When u learn the fundamentals, pro.Lang is just a piece of cake.
@MilenaMilosevic-n9t8 ай бұрын
Please make more videos like this one 🙏
@himanish45412 ай бұрын
Would love to hear _about_ the patterns as well. What interesting patterns have you seen in your experience that are not often taught?
@WebSurfingIsMyPastime8 ай бұрын
Great content bro!
@disidentehun8 ай бұрын
This was a great video. Thank you so much for that. I'm a junior developer and struggling to just keep learning new languages, but after watching this, I think I should focus on learning about patterns instead of new languages. Where can I find material about this? Can you help me?
@wahoobeans9 ай бұрын
Anyone else in the same boat after opening the third eye, and then have a bunch of junior developers create a mess of everything. And then forces you back to getting into the coding details? Feelsbadman.
@ffffffffffffff439 ай бұрын
This channel is the Kush After Hours of programming and software engineering
@kaanozk8 ай бұрын
a concept my adhd brain can take in without losing it after 2 minutes , ty sir