Stef's Top 10 Programming Rules - MUST LEARN!!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey guys Steph here Steph's top 10 rules of development by top 10 rules now I've discussed these things over the last couple years over hundreds of YouTube videos I touched off on somebody's saying so I decided in this video I was gonna put it all together the top ten rules so you have an easy reference if this video is popular I get a lot of views all may go into more detail so I'm just gonna do a quick overview in this video rule number one concentrate on the fundamentals when you're first learning constrain your fundamentals because you're gonna get there much more quickly meaning you and become more you're gonna get to becoming a professional developer much more quickly if you constrain your fundamentals or programming and coding etc and if you want to become a better developer learn your fundamentals well you will become a better developer number two learn on a need-to-know basis this simple rule here there's a lot in there basically as a real-world developer you're not going to know everything and what you can find in your career especially the first three to five years you're gonna do a lot of learning so you have to understand that there's so many things out there no js' Python Django View jeaious react etc that I could go on for half an hour talking about all the technologies that are out there and it can be overwhelming for a lot of people say well what do I need to know do I need to know all this no you don't you need to know your fundamentals and then you jump into the real world you start doing jobs and if you need to build a no SQL database then you build a no SQL database for that project if you need to use PHP laravel and you learn laravel etc etcetera now when you're learning your fundamentals you're gonna have to pick a particular concentration you may decide I'm gonna be a web stack guy with PHP are gonna be web stack guy with Python and then from there you branch out but understand me - nerd it basically means as a developer you don't know how you don't know you don't have to know everything but you have to expect that you're gonna learn as you go which is normal and as long as you got your fundamentals this is easy number three faster right time is more important and faster run time faster right time meaning languages that are faster to write with meaning languages that are nimble JavaScript Python PHP Ruby etc these languages even though they don't run as fast to say C++ or Java but because there's so much easier to write so much faster to write they're gonna win now don't get me wrong Java is huge but because computers are getting so much faster because these languages like PHP and Python are becoming optimized or slowly getting faster and faster but more because the hardware is just getting so powerful the difference between the faster to write languages that run slower versus the slower to write languages like Java or C++ or run much faster the faster the right language is and tools will win for example with regards to mobile development I have been telling people for a while now that non-native hybrid or a web base mobile apps are going to beat overall native development even though native has more power runs faster etc etc in most cases flutter maybe the exception there faster writing languages or frameworks are gonna win because they're faster because speed at runtime is coming less and less important in most situations because of hardware and because of library and language optimization so favour faster write time languages and technologies number for open is better than closed with regards to all tech when you're looking at text ax you don't want to get into proprietary stuff so for example let's the recent example of clothes getting killed versus open well let's look at databases now a sequel server Microsoft sequel server is very powerful SQL based database vs. MySQL MySQL is by far more dominant why those open those free free typically wins and same thing with IDs etc etc etcetera so I tend to favor open versus close this is not always the case but in there's different ways of looking at open versus closed for example windows became dominant because Microsoft just made developing for Windows super cheap and easy versus what Apple was doing at the time I think Apple has since woken up but they basically they being Microsoft opened up windows to be an easier to work with platform that's one of the main reasons why they dominated so so well anyway I can go on forever with number four but I'll stop number five market forces are always greater than tech / nerd advantages I've talked about this in recent videos when you're looking at technology you have to you know which ones are concentrate on look at the market forces you may think that Delphi is the greatest language ever but nobody uses Delphi you may think object to C is better than Swift for iOS development but everybody uses Swift why because it's easier yeah well it's easier but also a whatever reasons may be back up whatever reasons a technology has gained popularity doesn't matter all that matters is what the market tells you because that's where the jobs are gonna be that's where the demand is going to be so PHP for whatever reasons became the dominant server-side programming language even though a lot of people's think that Python is better for better overall nonetheless for every Python web job there's probably 10,000 PHP web jobs I don't know what the real ratio is could be a thousand to one it could be 500 one I don't know point is when you're choosing a technology don't get caught up necessarily on the technical advantages that you see because these days by the way frameworks languages with some exceptions they're all pretty good nowadays that the technology field the IT technology fields really matured over the last twenty years they're all pretty good and so pay attention to market forces they're more important than some technique advantage you may perceive in a particular language or framework or some exceptions its job dependent but I'm just talking overall all right number six don't jump on first generation technology for production projects yeah early adopters usually get mmm they get they take out on the chin I never jump with the latest libraries or the latest technology because there's always gonna be problems there's always gonna be problems for example when we were rebuilding suitable for start about a year and a half ago at the time Noah was still having problems with its package management it's still a bit of a mess but it's still a bit of a Wild West I'm sure it's since cleaned up and matured but compared to stable PHP laravel I decided you know what no looks cool no came in it second place where I was about to do node but then I looked at it was still in flux because it's still very new technology relatively speaking so I said you know what we're gonna do with PHP I don't jump in first generation tech typically there are some exceptions especially for production projects if you're experimenting and so forth a why not you know but in the early stages of any new tech there's gonna be issue so be prepared to have to handle those issues I never do it personally about just a word of warning they're number seven simple code is superior code when you're writing code you want to strive to keep your code as simple as possible as simple as possible the best developers write simple easy-to-understand code but even your cat can understand if your cat can read your code and understand what's going on then you are the world's best coder so keep it code simple and people will appreciate that you appreciate that when you go back six months later and you have simple easy to understand code as opposed to some complex stuff that nobody can understand you know okay number eight code should be self describing this is related to number seven of course when you read code the name variable names the method names the function names etc etc should be self describing I've talked about I talked about this in my basic web stack course but self describing code is very important long winded variable and function names should tell you something about what the function is doing you use comments in your code Cerie comments are just little notes that developers leave behind but you shouldn't have to leave too many comments if you have well-structured simplified self-describing code okay number nine code should be fine-grained again it goes to simplicity instead of having instead of having a function but does five different things a function should do one thing instead of having a method or excuse me an object that does ten different things it should do one thing fine-grain just means very specialised chunks of code that are easy to understand you don't have code that does okay if this happened that doesn't dis this and then the code will do this in order of pizza and then so you get a microphone you know you don't want to do that you want a very simple fine grain fine fi any grain code that's a way to have cool code but people are gonna love you for all right number ten don't marry a language or framework there we go don't marry a language or framework you have to be ready to dump a technology to change a framework to go to a different language depending on the needs of the job or the deeds of the marketplace you may think that VB is fantastic I love VB but nobody cares about VB anymore it's all about the web now you may think that Objective C is the best programming language ever but everybody has moved on to Swift when it comes to iOS development move on to Swift don't marry tech what you're gonna find now especially at this stage I'm recording this in summer 2019 all these technologies are pretty good these days yeah you'll find that Swift is better here you know PhoneGap might be better there etc or whatever so they're very neck-and-neck all these technologies so you don't want to get too caught up and you know in camps technology camps like people now see I like Android and iOS sucks and vice-versa and this and that whatever whatever whatever works things change I've gone from being a pure Windows user done Linux I've went over to I liked Windows 10 I went to move for I didn't go to Windows 8 but I went to Windows with Windows 7 well from windows 7 excuse me to 10 and now most of the time I'm on Mac OS blah blah blah blah blah I switched from different camera systems whatever works don't marry technology try to be as objective as possible and choose the best technology at that time or for the needs of the project I hope that makes sense there you'll my top 10 rules of development I just covered them let me know what you think below and if you like this like the video if you don't like it give me two thumbs down show me how much you hate my stuff and let me know if you want me to do more detailed breakdown of these these ten rules bye bye
Info
Channel: Stefan Mischook
Views: 97,816
Rating: 4.9592667 out of 5
Keywords: developerrules, developertips, programmertips
Id: muSNl2AB46s
Channel Id: undefined
Length: 12min 0sec (720 seconds)
Published: Fri May 24 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.