Why I'm a Better Developer than You

  Рет қаралды 322,116

Ben Awad

Ben Awad

Күн бұрын

Пікірлер: 603
@jlai383
@jlai383 5 жыл бұрын
3 Tips: 1. Using vim to boost how fast you can code. 2. Knowing data structure and algorithms. 3. Sleep more to keep a clean mind.
@boratsagdiyev1586
@boratsagdiyev1586 4 жыл бұрын
Can you explain nr2
@yanivgk
@yanivgk 4 жыл бұрын
9 minutes saved, thanks :)
@mikeCavalle
@mikeCavalle 4 жыл бұрын
keep note pad next to bed to write ideas down when you wake with them.
@dakrontu
@dakrontu 4 жыл бұрын
@@mikeCavalle problem is when you have the best ideas in the shower
@mikeCavalle
@mikeCavalle 4 жыл бұрын
@@dakrontu in the shower you have a whole foggy glass door to write notes on. :-)
@Lambdaphile
@Lambdaphile 4 жыл бұрын
Point Three: Sleep-Oriented-Programming (SOP)
@alwinvillero4404
@alwinvillero4404 3 жыл бұрын
SOP - Semicolon is OP
@viktorkrepak
@viktorkrepak 3 жыл бұрын
SOAP - sleep-oriented-advanced-programmer :D
@kuldipmaharjan
@kuldipmaharjan 3 жыл бұрын
aka tinder developer :D
@itsgalaxy2407
@itsgalaxy2407 3 жыл бұрын
REST
@fluffigverbimmelt
@fluffigverbimmelt 2 жыл бұрын
Getting enough sleep should be Standard Operating Procedure (SOP)
@opkp
@opkp 3 жыл бұрын
why he's better : 1 . he uses vim. 2. he knows alot of algorithms and data structures. 3.he sleeps atleast 9hrs a day
@shubhampatrick
@shubhampatrick 2 жыл бұрын
Night
@russpalermo
@russpalermo 5 жыл бұрын
ctrl+c / ctrl+v IMO the most important for productivity is to intuitively search and scan stack-overflow for questions/answers/solutions.
@thedeveloper4207
@thedeveloper4207 5 жыл бұрын
You Sir, are a true developer !...Just like me
@CapeSkill
@CapeSkill 4 жыл бұрын
@Yog Sothothologist that's incorrect, I also never had any uses of algorithms. If you're a web developer or SE algorithms/data structures won't be much of use for you. You don't need to know the language syntax inside and out that's what documentation is for. You just need to know how to apply the knowledge itself and when to use what where.
@CapeSkill
@CapeSkill 4 жыл бұрын
@Yog Sothothologist SE means software engineering. github.com/Serenity1337 here's my github.
@nicholasmaniccia1005
@nicholasmaniccia1005 4 жыл бұрын
@Yog Sothothologist hey man I can answer some questions for you if you want my Reddit username is Heavy_Hole, pm me there
@sorcdk2880
@sorcdk2880 4 жыл бұрын
​@@CapeSkill There are tons of work for people that can only do basic programming, where you do not need any real knowledge of algorithms and datastructures. That work also tend to be low level work that you can hire just about anyone for that has spent some time with the specific technology you want to have them programming for, which means those jobs would tend to be entry level jobs. If you need to solve some bit harder problems, then you will have a hard time finding an elegant solution or even a solution at all. If you want to transition from writing "meh" or "okay" code to "good" or "great" code, then you need to understand a good deal of algorithms, have a good understanding of the underlaying systems, get familiar with the many different ways to write code and practise enough to know when to apply each of those tools. How do I know this? My work includes rewriting code written by decent programmers, who have their focus on the real life problems their programs are about, and are less focused on the higher end of programming, and getting it to run much faster is not unusal, heck I have even had a 100000 times speedup before.
@peterm.souzajr.2112
@peterm.souzajr.2112 5 жыл бұрын
i like your new Stephen Hawking video setup
@naineshrathod2392
@naineshrathod2392 3 жыл бұрын
lol he kinda looks like him tho 😂😂
@shivang.tripathi
@shivang.tripathi 3 жыл бұрын
ROFL
@keshavnemeli
@keshavnemeli 4 жыл бұрын
Wait I honestly thought this was satire untill he talked about algorithms.
@macurvello
@macurvello 3 жыл бұрын
Ctrl+home and ctrl+end work on literally any text editor (even Microsoft Word)
@macurvello
@macurvello 3 жыл бұрын
@Gabriel Beauchemin he showcased some equivalent Vim shortcuts. My point is you can do that in any text editor without any setup required.
@macurvello
@macurvello 3 жыл бұрын
That's why I mentioned these two shortcuts SPECIFICALLY. Ofc there are many others that are not so common and readily available, I just thought it weird to mention something that is everywhere else as a Vim perk.
@abujessica
@abujessica 3 жыл бұрын
@@macurvello nah vim shortcuts are just op stop comparing them to these shitty cuts
@shaunakkulkarni4679
@shaunakkulkarni4679 3 жыл бұрын
@@macurvello obviously vim can do a lot more
@tolstoise
@tolstoise 5 жыл бұрын
This feels like satire, unfortunately, it's not 😂
@tabziz
@tabziz 5 жыл бұрын
this is a satire even if it wasnt meant to be one. I had so many great attributes of you in mind only from watching your videos, but you chose two poorly argumented and one obvious advantages and putting them in a click baity title made this the worst video about programming I've seen this year
@ricardospear922
@ricardospear922 5 жыл бұрын
i agree. but those are really important to enjoy programing.
@JonnyBeoulve
@JonnyBeoulve 4 жыл бұрын
I'm fast with a mouse. Fuck Vim.
@bratezoran2102
@bratezoran2102 4 жыл бұрын
@@JonnyBeoulve not.badass.dude
@danilo2735
@danilo2735 3 жыл бұрын
It really depends on what you are building
@samuelschwager
@samuelschwager 4 жыл бұрын
I feel like competitive programming usually encourages you to do stuff that would not scale well to larger applications or would not pass a thorough code review.
@0x6e95
@0x6e95 4 жыл бұрын
Could you elaborate?
@samuelschwager
@samuelschwager 4 жыл бұрын
@@0x6e95 Some examples: 1) proper variable names that are understandable without comments 2) modularization, aka separating it out into multiple files/namespaces etc. 3) write stuff so that it is testable, e.g interfaces, dependency injection etc. 4) exception handling; TLDR: writing something fast encourages you to take shortcuts
@0x6e95
@0x6e95 4 жыл бұрын
@@samuelschwager Those are all valid points but I sincerely doubt any developer worth their salt would ever code in a competitive programming style for production software. You would usually only delve into CP after you've dealt with writing good production ready code so I don't really see how CP would encourage you to employ lazy coding practices for writing prod ready software. I can see that being a problem if a beginner's first foray into code was through CP but that's rarely the case.
@samuelschwager
@samuelschwager 4 жыл бұрын
@@0x6e95 It depends. The exercises in CP are usually quite small compared to large legacy production software. So I guess there are people that get started in CP (the easier problems) and might get hired into a 1 person team with no one who reviews their code ;)
@NoorquackerInd
@NoorquackerInd 4 жыл бұрын
@@0x6e95 Can we call it competitive programming and not CP...
@MrEnsiferum77
@MrEnsiferum77 5 жыл бұрын
Actually when i was younger I was thinking the same that keyboard shortcuts are that u are expert, but today, I thinking good developers are those who can name variables very well, reuse existing code, and write their code like writing a poem, without bothering with too much comments. About the data structures course, I will add also S.O.LI.D principles and some of the Design Patterns, but this is not problem to who is better developer and who is not. Developers are poisoned with frameworks for frontend and backend and they can't understand the true power of datastructures. But if some developers can go with basic structures like queue, hash, binary tree thats ok for me. Today I respect someone if can do the S.O.L.I.D principles and refactor some code with design patterns. Third thing i like to point for enterprise software is DDD and those who knows this very well are plenty really rare and small. In this time of career I can say that DDD, S.O.LI.D and design patterns is the backbone for quality code together with unit + integration test, but when u merge multiple developers they just do the procedural development, enhanced with high order functional functions. Just to finish if I found someone who can model the problem in DDD way that is the hero for me. And yes one more thing, thinking with tests in mind, this will make u more better and valuable developer, all other things will came into place.
@ThePC007
@ThePC007 4 жыл бұрын
"Actually when i was younger I was thinking the same that keyboard shortcuts are that u are expert, but today, I thinking good developers are those who can name variables very well, reuse existing code, and write their code like writing a poem, without bothering with too much comments." Both are important. And yeah, comments should never be used to explain what the code does, only why it does it. Function names are there to explain what is being done, so use those. "And yes one more thing, thinking with tests in mind, this will make u more better and valuable developer, all other things will came into place." Make sure to write your unit tests *BEFORE* you write your code. It will make you think about all the different edge cases that need to be covered and allow you to streamline your development process, as you'll always know what you are working towards.
@philsburydoboy
@philsburydoboy 4 жыл бұрын
Although I am very young, I agree or even think you have understated a lot. I think SOLID and designing maintainable codebases are far more important the data structures or algorithms, and that's coming from someone applying for DS/Algo centric PhD programs and jobs. Most code has zero need for novelty and should be built to be easy to understand and extend, rather than to be efficient or elegant. I used to do carpentry and this is somewhat akin to my observations there, 99% of the cuts and joints made on a job are simple, and should be done consistently and accessibly. For the 1% of complex work, you can have a reliable person who knows how to do that perfectly. In CS this seems to be akin to just about any library vs the work built from the library. I recently ran into problems with this in an open source lab product that I am building. Every student I attempt to incorporate has a fantastic understanding of algorithms and data structures, but no idea how to name things, organize code for reusability, or work with version control with large projects. TDD would be a huge plus if my peers could even stick to SOLID and a basic project architecture (what is a model and what is a view? - good luck finding a kid who can answer that). In this project about 600 LOC rely on things learned from data structures or algos, around 10,000 rely on SOLID and a basic, easy to understand architecture.
@stamtso
@stamtso 5 жыл бұрын
I got skeptical when you start talking about VIM, which is a good advice btw, but you got my "thumbs up" with algorithms and sleep. Especially for JS developers it's so easy to get caught in the fancy lights with libraries upon libraries struggling for your attention and forget the basics. Coming from a coding boot camp I realized that what made feel insecure about my code and scared of technical interviews was the lack of knowledge in algorithms. I am dedicating some of my free time and work with it and it has helped me greatly. I cannot tell if it really gives me a competitive advantage but it has improved my perception and confidence overall
@fh404
@fh404 4 жыл бұрын
"I'm not religous about vim" Of course not, you're using in inside VScode :p
@slimestoneexpert9804
@slimestoneexpert9804 3 жыл бұрын
IdeaVim is way better IMO
@danilo2735
@danilo2735 3 жыл бұрын
@@slimestoneexpert9804 but that's for jetbrains ides
@defunct1373
@defunct1373 3 жыл бұрын
just use the terminal :\
@diamantisufi7938
@diamantisufi7938 5 жыл бұрын
Dude, I watched this video yesterday while at work and I took the 3rd tip, I feel like a different person today, it's crazy what lack of sleep does to you, cheers!
@MCTVARG
@MCTVARG 4 жыл бұрын
lol
@Daniel-tx2vt
@Daniel-tx2vt 4 жыл бұрын
LMFAO
@DoubleM55
@DoubleM55 4 жыл бұрын
In my opinion "the speed of typing code" has very little to do with overall productivity. Sometimes I think for minutes or even hours, mybe not even sitting in fornt of the PC, and then when I have a solution in my head i sit and dump it into code. Most important feature of IDE is quickly navigating different files and code, like "go to declaration of a method", or "find usages". Just typing the code is the least important part. It's not a race, but a highly planned and careful process.
@DoubleM55
@DoubleM55 4 жыл бұрын
@Dave B Well I agree with that for most common problems you just apply existing patterns. What I was refering to is the design of a completely new solution (Service, application, system, whatever). Most of the time I think about architecture, how to split into modules and components, which interactions will I need between them, how will my DB schema look like. Once I have this figured out, writing out code is not an issue. My point is, when developing a solution, writing code is like 1/3 of my time. And I have almost 7 years of professional job experience as a software engineer. I'm not refering to simple things like add another endpoint to some REST API to fetch some entity from DB, this is almost trivial in most cases. I was refering to designing and implementing a new piece of software, a complete solution from scratch. I have never found that the speed of typing code is the limiting factor, at all. For example, recently I had to implement MVP solution at my company, I spent 4 hours in front of a whiteboard, together with my teammates, brainstorming about design. Once we had all figured out, I coded entire service including flyway schema management, dockerized database for testing, full business logic in 20+ components with all relevant entities available over REST API CRUD. All of this in about 2h of coding. It's the least of my problems. I'm using Intellij Idea for my job, I'm programming backend apps in Java. If you were wondering.
@DoubleM55
@DoubleM55 4 жыл бұрын
@Dave B Not what to build, but how to design it. When you have a system with hundreds of microservices in a giant platform, most important part of the job is to figure out how this piece of a puzzle fits into the bigger picture. I only speak for myself I can't give you any numbers how other dev teams inside my company are doing. But me persoanlly I can give you 2 scenarios: 1.) New feature (small), optimization, bugfix, dependency upgrade: 10% thinking, 90% coding, but overall it's not a lot of time. 2.) Designing a new system/service/product: 60% planning, brainstorming, gathering data, meetings, rough design overview, and maybe 40% actually implementing it. In any case, speed of typing code is not a big factor, most of the time I spend testing my code, waiting for test to be done while thinking about the next case (TDD). I have never felt that my IDE is the bottleneck. That is my personal experience and honest opinion.
@bruhdabones
@bruhdabones 3 жыл бұрын
@@janklatka1967 you realize that Vim is by no means the only editor with those abilities, right? I can do all that in VS and more from the keyboard
@hamoodrex
@hamoodrex 2 жыл бұрын
I agree and disagree. Speed is not the most important criteria to look for in a programmer. However, if a programmer can't keep up with a certain project in a competitive environment it might not be good, also certain projects have a short deadline. After all this depends on where and what you are working for.
@DoubleM55
@DoubleM55 2 жыл бұрын
@@hamoodrex But what do you mean by speed? I agree that programmer must be fast in finishing projects, and IMHO 90% of that is thinking without writing anything, then 10% writing the actual code, tests, docs, etc... And also, when you need to debug something or refactor, there is nothing that can beat heavy IDE. Yes, they are slow and often bloated, take a long time to start and index files... But If I had to refactor a 1k+ files java project using VIM, I would rather drink poison.
@kristupasantanavicius9093
@kristupasantanavicius9093 4 жыл бұрын
Programmers spend only 10% of their time actually typing code.
@Asiro-S
@Asiro-S 4 жыл бұрын
yup, other 90% of time we watch videos on youtube :)
@jason_v12345
@jason_v12345 4 жыл бұрын
Yeah. Vim is fun and all, but it is _definitely_ not a significant contributor to developer performance. Lol. Only a beginner would think that.
@kristupasantanavicius9093
@kristupasantanavicius9093 4 жыл бұрын
@@jason_v12345 Yeap :) I remember watching some amateur reviewing some kind and one of his points was that writing bool==false instead of !bool is a sign of bad programmer. This Vim argument is on the same level :D
@mubba1992
@mubba1992 4 жыл бұрын
Then how to solve a problem in 30 minutes in an interview?
@Asiro-S
@Asiro-S 4 жыл бұрын
@@mubba1992 solve problems, more you solve, faster you do it.
@Jacob-ABCXYZ
@Jacob-ABCXYZ 3 жыл бұрын
Here's an idea. Next up or down open line/space
@NobleSteed00
@NobleSteed00 4 жыл бұрын
If this is what you think gives you a competitive edge, you're in for a rude awakening, son.
@blasttrash
@blasttrash 4 жыл бұрын
lets hear your advantages then. I am really curious.
@arnobchowdhury9641
@arnobchowdhury9641 5 жыл бұрын
Thank you sir. Specially for talking about how important sleep is. That is the most underrated advice ever.
@jackfarricker7546
@jackfarricker7546 4 жыл бұрын
It’s “Course-Era” how do you not know this..
@GauravKalyan
@GauravKalyan 4 жыл бұрын
I would like to add the following: 1. Design Patterns 2. Architectures Will save you a lot of trouble solving real-life problems.
@larrycoleman8149
@larrycoleman8149 4 жыл бұрын
How does design pattern help when you code in JS?
@animatedzombie64
@animatedzombie64 2 жыл бұрын
@@larrycoleman8149 go study software engineering dude.
@gentlechaos9190
@gentlechaos9190 4 жыл бұрын
3 things that gives me a competitive advantage over other developers: 1) I use emacs. It allows me to be faster than vim 2) I know Motorola 68k (This makes me better) 3) I don't sleep, I drink kombucha. The first one isn't troll.
@bskur6834
@bskur6834 4 жыл бұрын
kombucha dissolve my organs
@blasttrash
@blasttrash 4 жыл бұрын
what the heck is motorola 68k?
@h3ftymouse
@h3ftymouse 4 жыл бұрын
@@blasttrash they probably mean motorola 68k assembly idk
@Jombo1
@Jombo1 4 жыл бұрын
Vim is great. Once you get used to the keys typing becomes really efficient and satisfying.
@DoubleM55
@DoubleM55 4 жыл бұрын
This applies to any IDE or editor. I't like saying VSCode is great because: "Once you get used to the keys typing becomes really efficient and satisfying.". Pick your favorite, it's not that important. The best IDE is the one *you* know the best.
@aeronwolfe7072
@aeronwolfe7072 Жыл бұрын
i have used vim for years. but after i started using vscode, i find that the normal keybinds in vscode work just as well. also, in my case more often than not, i am limited by the speed of my BRAIN not my typing. lol
@dakrontu
@dakrontu 5 жыл бұрын
When I was young and single at the start of my programming career I could get 9.5 h sleep a night. And yeah I could code fast too and was proud of it. 10 years on I was a single parent raising 3 young children and with a high-pressure job in a startup with deadlines to meet. You have yet to be tested. But you will be. You will be forced to choose between competing priorities. You will discover what a premium it is to be young and in good health. You can review your progress in 10 or 20 or 30 years as real life catches up with you. Good luck.
@PROFjavi
@PROFjavi 5 жыл бұрын
possible solution: don't have kids, screen out positions that do not prioritize your life?
@omar9987
@omar9987 4 жыл бұрын
So don't have kids then.
@daonlyowner6631
@daonlyowner6631 4 жыл бұрын
@@omar9987 thats a stupid solution, kids are our future. A better solution is: staying at home and raising your children right while the man provides.
@omar9987
@omar9987 4 жыл бұрын
@@daonlyowner6631 The future is the sun devouring the earth.
@How2walkthroughsAB
@How2walkthroughsAB 4 жыл бұрын
@@omar9987 Oh thats settled then. Feel free to lead by example and take yourself out.
@badcookie2975
@badcookie2975 4 жыл бұрын
Better title: How to become a better developer.
@ablanchi
@ablanchi 5 жыл бұрын
You seem like the kind of person that would love tiling window managers like i3 for linux, or Amethyst for mac. Any experience with them?
@bawad
@bawad 5 жыл бұрын
I haven't gotten into them yet, but I agree I'll probably love them
@LukePighetti
@LukePighetti 4 жыл бұрын
You get the lions share of VIM productivity in VSCode by using command-x (nothing selected) to delete entire lines, command-v (nothing selected) to paste entire lines, and option+up/down to move code up and down lines. Then add the command palette for git and some other things and you've arrived.
@AonghasAnderson
@AonghasAnderson 4 жыл бұрын
Is it bad that I'm watching this at 2:30am? The last point cut me deep 😔
@warpspace7871
@warpspace7871 3 жыл бұрын
Same. But I woke up at 2 am. Went to sleep at 6pm.
@smithj
@smithj 3 жыл бұрын
just sleep until 11:30 :)
@pavelh756
@pavelh756 3 жыл бұрын
Showing people you can use Vim is the ultimate alpha power move.
@gustavotaveira317
@gustavotaveira317 3 жыл бұрын
Some world changing features that are not present in every editor.
@AustinDoesDesign
@AustinDoesDesign 8 ай бұрын
"Why I'm a Better Developer than You" uses VAR.... LOL
@petrubirzu174
@petrubirzu174 4 жыл бұрын
Nice tips, Ben. I recommend the book Why We Sleep by Matthew Walker for anyone who wants to learn about the inner workings of sleep. It's striking to find out just how crucial sleep is for all cognitive and motor functions, and the terrible (often overlooked) effects that sleep deprivation has.
@Sibearian_
@Sibearian_ 3 жыл бұрын
I was watching this late at night till 8:00 now bye bye
@centurion8158
@centurion8158 4 жыл бұрын
I use vim myself and i don't see how spending a huge amount of time getting used to the shocuts can make you better
@itsfarookmayne
@itsfarookmayne 3 жыл бұрын
I agree and It is fun and satisfying to use. that's about it
@bld86
@bld86 3 жыл бұрын
for me i just hate using the mouse for anything
@TheJeffybarrondo
@TheJeffybarrondo 3 жыл бұрын
Pro-tip: The home key goes to the top of a page, the end key goes to the bottom. We also got pageup and pagedown buttons. All sorts of things the keyboard does!
@FunctionGermany
@FunctionGermany 3 жыл бұрын
and there's Ctrl + Left/Right arrow to move between spaces in a line
@mikeCavalle
@mikeCavalle 4 жыл бұрын
nice to see vi still being used -- I started with vi in the late 70's -- there was an emacs war back then.
@jyothish5194
@jyothish5194 3 жыл бұрын
The war's not over yet
@ScottMaday
@ScottMaday 4 жыл бұрын
Tip #4. I got some ballin music that gets me in the zone when I code
@NotTechLead
@NotTechLead 5 жыл бұрын
VIM is okay; have been using it for quite some time now. TBH, I feel it hasn't made me any faster (maybe just a tad), or a better developer. I would definitely not prioritize learning VIM over learning more core concepts. Its a nice to have, and thats it.
@arturfil
@arturfil 4 жыл бұрын
solid tips in my opinion, I would learn vim in general just to know that you can still program in a server without the use of a GUI rather than for speed solely, I believe vscode itself has good shortcuts too. Either way, good stuff.
@kotel94
@kotel94 5 жыл бұрын
Hey Ben, cool. Would it be too much trouble to show the keys you are pressing when coding for the next few videos? I think many people would appreciate that since it would be easier to learn vim by going slowly through the video. Thanks for the consideration!
@overra
@overra 5 жыл бұрын
VSCode has a feature built in to show keypresses. Cmd+Shift+P > Developer: Toggle Screencast Mode
@bawad
@bawad 5 жыл бұрын
tomorrows video is for you!
@david.kizivat
@david.kizivat 4 жыл бұрын
I never got into vim. I guess that's because when I started programming professionally after the university I already knew my way around system's default shortcuts for text editing pretty well. Like all the stuff you shown I can do just by using some Ctrl/alt/meta/shift/fn/home/end... combinations without ever getting out of what vim would call "edit" mode. However I know there are some bindings vim has that I cannot find way to do without it and I would like to get used to vim because of that, but I just don't see it being worth the initial slow down.
@blasttrash
@blasttrash 4 жыл бұрын
yeah I recently got into vim and its so amazing. Say you are working on HTML or XML or whatever and you are in middle of div tag and you want to change that tag to section tag or something, you just press a shortcut and boom it changes. You don't even have to move your cursor. And ctrl+alt+shift selection is what I used to use a lot before getting into vim, but that's one extra step. Like if you want to select entire line, you press home key and then press shift+end key and then you can cut, copy, delete etc. But with vim, you just press dd or yy or cc to delete or copy or change the entire line altogether. Vim also has a ton of awesome plugins that allow you to change things like snakeCase to camelCase etc. I use it a lot while writing JPA code in java. And the best thing is that vim is ubiquitous. I can take these shortcuts with me everywhere. Today I might be programming in java using Intellij. 2mrw I might get a new job where I need to work with python using Pycharm or use react with vscode or C# with Visual Studio etc. But I don't have to relearn ide specific shortcuts, as long as I have vim(or vim extensions in those IDEs). And regular expressions are also very productive. I sometimes have to take DDL and create POJO(java classes) out of it. And some of these DDLs have 100-200 columns. If I had to type it would take a long time. With regex find and replace it takes less than 5 minutes. I can convert between DDL to Pojo and vice-versa very easily.
@jeffreylin1527
@jeffreylin1527 4 жыл бұрын
Keep Learning Ben, you're still a Jr developer but at least you drive to improve! In a few years you'll look back see how far you've grown. Keep it up!
@PaulSebastianM
@PaulSebastianM 4 жыл бұрын
Most of these VIM features are already key bindings and shortcuts in other IDEs. I use IntelliJ and find it way more productive than VSCode with plugins, which quickly becomes just like VIM, super hard to configure and get right and you have to keep various sets of settings for different languages... (EDIT: I used to use vim but gave up after I tried vscode and found it way more productive)
@PaulSebastianM
@PaulSebastianM 2 жыл бұрын
@Dr1ver key maps can be changed... 😑
@agimcomas
@agimcomas 3 жыл бұрын
‘The reason is because my class was actually really bad’ LOL I couldn’t be worse than my class.
@Furniez
@Furniez 3 жыл бұрын
Have you heard of keys called: "Home", "End", Page Up" and "Page Down"?
@_Iam777_
@_Iam777_ 3 жыл бұрын
I think you meant to say "I am a better developer than the average out there". You still have thousands of miles ahead to become an excellent one or even a NINJA.
@zayxhex6006
@zayxhex6006 4 жыл бұрын
Every programmer Guru on internet: So you summoned me?
@arturoordonez-hernandez8750
@arturoordonez-hernandez8750 2 жыл бұрын
I agree 100% that Vim keybindings are helpful. I tried Vimtutor, and I even came across an online RPG that teaches you Vim, but what helped me the most was just practicing with it a little bit every day. I would practice with one Vim keybinding at a time, until I mastered it. I'm definitely not a Vim pro either, but I'm to the point where I have to install a Vim extension right after installing an editor or it just feels weird to me.
@deidara_8598
@deidara_8598 4 жыл бұрын
Lol that meme at the end. I find it astonishing that most modern education in the industrial world still have kids wake up early in the morning and have them stay in school for 7 hours a day, when study after study show that your ability to pick up information is severely impeded by lack of sleep and after 30 minutes of doing the same thing. Taking regular breaks and getting enough sleep is key to being productive.
@longtran12345678
@longtran12345678 5 жыл бұрын
Thanks for your advice, I will go back to learn the 2nd item from now. The two others have them in good state at the moment.
@EduardKaresli
@EduardKaresli 5 жыл бұрын
Are you sure vim-knowledge is necessary? Have you studied VS Code's shortcuts and felt they are inferior to those that vim offers? I have printed lately a cheat sheet for VS Code and it seems it is very powerful by itself. I completely agree with you on points 2 and 3, I still need to improve my skills on algorithms (although I have a degree in math, but retaining information long-term is an issue). Sleep deprivation is killing me, I feel my IQ is 70% lower than it should be. I guess probably it's due to blue light coming from all those displays and mobile phone screen, I have ordered a special eyeglasses today, maybe that will help. Thanks for your video, all the best!
@ruhnet
@ruhnet 4 жыл бұрын
Vim knowledge is not "necessary," but neither is a color display or a comfortable keyboard. But vim knowledge will probably make you much more productive. Vim keybindings are not "shortcuts," it is ita own language of interfacing with a text editor.
@doctormanhattan7408
@doctormanhattan7408 2 жыл бұрын
@@ruhnet Vim is not to vscode what a color display is to a black and white display, that's a gross exaggeration. You can do almost everything without vim. That means you don't have to spend the time it takes to learn vim and still be super productive
@ruhnet
@ruhnet 2 жыл бұрын
​@@doctormanhattan7408 You can be "productive" with Notepad or Nano. Vim, properly configured and used, is more efficient than any other editor that I know of (including VSCode). VSCode is of course extremely capable, and so are many other editors (Emacs blows anything out of the water though), but VSCode is bloated and not fast (comparatively of course--in most situations it's "fast enough"). So yes, while you can do anything with VSCode, (some things better than Vim) it's just not the best or most productive/efficient editor. And if you read my comment again, you can see I didn't pick color/bw display as an exact strict proportional representation lol (I also mentioned "comfortable keyboard"); it was just an analogy. So relax... and use VSCode if you want to haha :-D
@bilastend
@bilastend 4 жыл бұрын
What do you guys think is it important to use HJKL instead of the arrow keys in VIM?
@aedd3307
@aedd3307 4 жыл бұрын
YES, It's the vim way to do it. Never leave the homerow.
@codeman99-dev
@codeman99-dev 3 жыл бұрын
My personal #1: Actually knowing management tools of the domain I'm in. Especially true for anything with command line management.
@anantgupta7916
@anantgupta7916 3 жыл бұрын
Imagine Linux Torvalds is watching the video & seeing the title
@dr_davinci
@dr_davinci 3 жыл бұрын
Used the 3rd tip today feeling like a charm.
@yvonh
@yvonh 4 жыл бұрын
I may add that you should sleep after lunch around 20 minutes, I always do that even at work
@arafatzahan3697
@arafatzahan3697 4 жыл бұрын
Tried that a few times and every time woke up 4 hours later with a headache xD
@sdlfjkskfjkfjskldjfsdfj5233
@sdlfjkskfjkfjskldjfsdfj5233 4 жыл бұрын
1. Being fast at writing code does not make you a good programmer, being able to think critically and problem solve is what makes you a good programmer. 2. 90 percent of what you learn in data structures and algorithm is not used in the real world (aside from job interviews but that is another story) understanding runtime complexity is important but memorizing bfs/dfs backtracking dp etc does not make you a better programmer 3. Duh Overall these advices are terrible
@YoriDj
@YoriDj 4 жыл бұрын
I agree with what you say about 1 On 2 I am extremely confused, this is a guy who has worked in the industry, made cool side projects and definitely knows what its like working on real applications, but when he tells you to learn algos I don't see the link to that at all. If it would be "so you can pass interviews" I could agree, but him saying it makes you a better developer seems to directly contradict his newer video "Coding Interviews are Broken"
@Jestrath
@Jestrath 4 жыл бұрын
I'm glad I wasn't the only who thought this. In my experience all of what you said is true. I've almost never had to directly apply algorithms and data structure knowledge outside of classes in college. Being too quick can cause problems if you don't think your designs through enough.
@LPFan33
@LPFan33 4 жыл бұрын
Don't underestimate the power of going fast.. the faster you go, the shorter your cycletime, the faster you iterate, the faster you learn..
@LPFan33
@LPFan33 4 жыл бұрын
@@MuhammadHosny0nice argument
@jefrie7144
@jefrie7144 3 жыл бұрын
Im watching this with an hour of sleep
@sampleee
@sampleee 4 жыл бұрын
When I heard the keyboard slam at the beginning of the video I thought it was going to be a joke video
@rokonzamann
@rokonzamann 4 жыл бұрын
I completely agree with the sleeping fact and algorithms but the code you showed is not what a Better Developer will write
@strangesense3196
@strangesense3196 4 жыл бұрын
That's the whole point of this vid, there's an easily readable irony... Like watching TechLead but actually funny.
@DeRepear
@DeRepear 4 жыл бұрын
You can use Ctrl + End to go straight to the bottom of the file and Ctrl + Home to go up to the top in Sublime Text and I think VSCode as well (it works in my VSCode app though that may be because I have the Sublime Text key bindings extension installed).
@warpspace7871
@warpspace7871 3 жыл бұрын
True. I love vim but it's for some reason easier with sublime keybinding
@pavle649
@pavle649 5 жыл бұрын
idk why, but this video motivated me a lot
@juananjimenez7139
@juananjimenez7139 4 жыл бұрын
You calling yourself a better developer because you use a plugin, and still declaring public `var` instead const/let? I reckon there is more factors involved, that makes you better dev.
@Jestrath
@Jestrath 4 жыл бұрын
Indeed. Probably shouldn't just declare everything as var.
@MisterFusion113
@MisterFusion113 3 жыл бұрын
Two ways to learn well via school: 1. A very good teacher. 2. A very bad teacher.
@VulnixVox
@VulnixVox 2 жыл бұрын
A yes. thats the thing I wanna see from a video title.
@DioArsya
@DioArsya 3 жыл бұрын
after 10 mins of searching in ur videos list and watch the wrong video, finally I know how to change updateOrder to changeOrder quickly in min 2, I always see that stuff in ur video. Thank you! I use vim in my Alpine, but never use it extensively for coding. Now I'll definitely use it.
@GenusvProgramming
@GenusvProgramming 4 жыл бұрын
I agree. But being more generic and in order of importance: 1. You need to get enough sleep! It is more important than you think! 2. Learn and use your IDE shortcuts. 3. Review Data Structures and Algorithms. (And practice!)
@greatchinonso9582
@greatchinonso9582 5 жыл бұрын
Thank you Ben for this, this was really helpful
@mvargasmoran
@mvargasmoran 4 жыл бұрын
I do agree with the VIM in the aspect of learning the tools. Huge diference between someone that knows he's webserver, his message queue, his rdbms, his language, and yes his editor, and in that case, VIM/EMACS force you to learn. don't tell you haven't cringe and wait for a guy to press left arrow 127 times to change a parameter in console, emacs/vim command bleed into the terminal also, even here in youtube CTRL+A/E get's you to the stArt/End of the line, and most of the time deal with how guys avoid learning.
@ChetBABY
@ChetBABY 5 жыл бұрын
sleeeeeep! yes, def. as an aside, the lack of sleep also encourages a dependency on caffeine which will double-time the path to zombiedom. I agree that bypassing non-meaningful mistakes will aid your learning tremendously. Use a linter, use a code-formatter, use find & replace, breadcrumbs, etc. Then the bulk of your time is spent analyzing your logic or exploring refactoring solutions instead of hunting down spelling errors, which is made worse by the fact that you can't navigate your editor fluently. I also use the vim keybindings for vscode but don't call myself a "vim user" anymore since I've watched some of the vim channels on youtube. Those guys are usually running some linux distro and doing EVERYTHING through vim. lol :D
@securitephile8284
@securitephile8284 3 жыл бұрын
Hey Ben what is the bind key of change you do in 1:52
@grimmersnee
@grimmersnee 5 жыл бұрын
i have tried learning vim a few times, but i find i can do everything in vscode just using the out-of-the-box short cuts and integrated terminal, also without the mouse. I agree though vim would offer more, but the time to learn vs the extra benefit i can't really see at this point. my view will probably change sooner or later
@thecurious926
@thecurious926 Жыл бұрын
How do you lint in vim? Do you run a separate program in the terminal?
@keltrm
@keltrm 3 жыл бұрын
If you take a look at the beginning, he has a function to generate a random color, but I could shorten it down to 2 lines in JavaScript let randColor = Math.floor(Math.random() * 16777215) //The only reason for it to be 16777215 is that is FFFFFF converted from hex to decimal let randColorHex = randColor.toString(16) I ran this code to test it and it output this color "fab172" Who's the better developer now?
@Ovicron
@Ovicron 3 жыл бұрын
That proves nothing lol. Also the code shown in the video seems like a older code base/project. One thing it does prove is that you have a huge ego. 🤓
@keltrm
@keltrm 3 жыл бұрын
@@Ovicron This comment was made purely as a joke and was intended to prove nothing
@Ovicron
@Ovicron 3 жыл бұрын
@@keltrm Okay, I am sorry
@jackwright7014
@jackwright7014 4 жыл бұрын
I used to sleep 7 hrs a day and I bumped that to 8.5. My work quality is far greater at work and programming because of it.
@ezwalduzumaki3161
@ezwalduzumaki3161 4 жыл бұрын
currently sleep around 9h. solving problems have been amazing lately and the clear thinking.
@ricardospear922
@ricardospear922 5 жыл бұрын
something that blew my mind, writting node, is conditional break points. where lets say there is a loop or are parsing a file and you identified one record that breaks so you put a breakpoing and press play until you get to the one you want, but you can right click and set a conditional break point such as "whatever = 'the one you want'"
@doctormanhattan7408
@doctormanhattan7408 2 жыл бұрын
What's the difference between that and just putting a debugger inside an if statement?
@ricardospear922
@ricardospear922 2 жыл бұрын
@@doctormanhattan7408 there is none, except that you can do it in runtime.
@MicahJohns
@MicahJohns 4 жыл бұрын
peak chad developer
@lars2299
@lars2299 3 жыл бұрын
This video sealed the deal. Subscribed
@AssemblyWizard
@AssemblyWizard 4 жыл бұрын
1:01 So what you're saying is that to move an import it's faster to do Shift+V K K K K D P instead of Shift+(Up Up Up Up Up) Alt+Down? So that's 8 keypresses with vim vs 8 keypresses with VSCode. Seems faster indeed. (yes you can do '4 K' instead but that means thinking before you execute the commands, which slows you down even more. (yes I am aware of relnum))
@tabotkevin8116
@tabotkevin8116 3 жыл бұрын
Hello Ben, please I have an important question, which vim key bindings did you use to move the chunk of code up and down in the video at 1:48.
@sabitrap
@sabitrap 3 жыл бұрын
The key binding is ctrl +curly braces. Also you can use ctrl+f and ctrl+b.
@vidafuku
@vidafuku 4 жыл бұрын
can you make a video of like the top shortcuts you use in vim? I feel like we can do most of the stuff you showed us using regular vscode keybindings
@bawad
@bawad 4 жыл бұрын
benawad.com/vim
@kokokok7171
@kokokok7171 3 жыл бұрын
@@bawad which coursera course is best for learning algorithms? My college teaches me nothing or I just forgot them right after my tests, please tell me, thank you so much
@marloelefant7500
@marloelefant7500 4 жыл бұрын
I'm working in a Tech company in China and all of my colleagues sleep for an hour during noon and no one drinks coffee. In my home country, meeting a programmer who doesn't drink a ton of coffee every day is unbelievable, but here, it's just normal. But on the other side, during the week in the Chinese Tech industry, you don't do anything else but working and sleeping and still get a comparatively small salary - just for the prospect of richness in the future.
@mr.mystiks9968
@mr.mystiks9968 4 жыл бұрын
Apparently an editor is an advantage. His coworkers can’t keep up, not even competitive programmers can keep up. Vim is his secret weapon. This is the nerdiest vid I’ve ever seen.
@Dash-mio
@Dash-mio 3 жыл бұрын
imagine if someone like mark zuckerberg just saw the title and had a big smile on his face
@prettyprinted
@prettyprinted 5 жыл бұрын
I haven't used Vim full-time in years but this video makes me want to get back to using it.
@editotech7531
@editotech7531 5 жыл бұрын
Big fan brother
@someone-lx8mg
@someone-lx8mg 4 жыл бұрын
I would add: - TESTING - DOMAIN KNOWLEDGE and SEARCHING
@-DMD-
@-DMD- 3 жыл бұрын
Number 3 is just good health tho, so exercises, good food, good sleep all help with that. Mens sana in corpore sano. Your body's like the PC, a more performant, newer, with clean cooling system will work better than an old PC that's never been taken care of.
@vinisaveg
@vinisaveg 4 жыл бұрын
The advantage of sleeping is also an disadvantage... because your are asleep. you can't code while asleep.
@Gazunklenut
@Gazunklenut 5 жыл бұрын
Not only sleep, exercise! Get your blood flowing, get your brain working and drink plenty water!
@bawad
@bawad 5 жыл бұрын
💪
@coolemur976
@coolemur976 4 жыл бұрын
Sleeping. Oh yez. I have this advantage too, Sir.
@surafeltefera7664
@surafeltefera7664 4 жыл бұрын
Such valuable tips, thank you, bro!
@MyBinaryLife
@MyBinaryLife 3 жыл бұрын
So I’ve never used VIM but it seems to me all these keyboard shortcuts are in IntelliJ IDEA too, so why do I need vim?
@NotePortal
@NotePortal 3 жыл бұрын
This man is a revolutionary.
@johnornelas
@johnornelas 5 жыл бұрын
In my totally non-scientific anecdotal experience, every dev that uses VIM has been one of the weaker and less-productive devs on the team.
@juliansoto2651
@juliansoto2651 5 жыл бұрын
Can I ask why?
@natesh1
@natesh1 5 жыл бұрын
What? Please explain how?
@TheKataan
@TheKataan 5 жыл бұрын
I have worked with people using vim (this is from the perspective of working in a team) - Too twitchy. You want to think something through but they are constantly jumping around in code. - Pain to pair program with. Constantly turning vim plugin on/off. - Too many changes. The pull requests were always more verbose. In general, developers that think more and type less are better in my experience. Every change you make needs to be reviewed, tested and is potentially a new bug. People that type a lot are also more likely to just hack around until something works. If you work in a team, use what works best in that context. Don't concentrate to much on the tool you are using. That would be my advise for people working in a company.
@tuananhdo1870
@tuananhdo1870 5 жыл бұрын
@@TheKataan Use whatever make you fell convinient
@mallusrgreat
@mallusrgreat 3 жыл бұрын
when you already know it
@GeraldIrsiegler
@GeraldIrsiegler 2 жыл бұрын
vim is the dwarf fortress of text-editors
@warpspace7871
@warpspace7871 3 жыл бұрын
I am not sure I need faster. It maybe waste of time also to adapt. I have tabnine and it's really fast. I switch alot from VS code to other windows. Sometimes when I am working I don't even code. I love when I can get focused 8-10 hours coding only but I have lots of legacy code. It works with react, but not with other tech I use.... And I love vim but use sublime shortcuts.
@Nerketur
@Nerketur 3 жыл бұрын
As much as I agree with the sleep aspect, I still don't do it enough. I wholeheartedly disagree with #1, but wholeheartedly agree that keybinds are great. Ctrl-home and ctrl-end on windows goes to the beginning and end of a document, respectively. I'm not bashing on the people that swear by Vim, but I personally still dislike it. Keybinds though are a huge time-saver. Recently I used ctrl+alt+down to select a lot of lines, made two newlines, pasted comments for each line, made them into tsdoc/jsdoc. All in under 10 seconds per file. Had I tried to do this without multi-line select it would have taken me hours.
@juancarlosjaraloayza8658
@juancarlosjaraloayza8658 5 жыл бұрын
Awesome I'm also a vim user, but when using VSCode I could not find how to navigate to the file tree with keybinding and all that file stuff(create a node, move, delete) are there any new updated on the plugin that allows doing that now? Also, do you have your settings vscode file anywhere?
@bawad
@bawad 5 жыл бұрын
I use cmd+p to navigate files gist.github.com/benawad/1e9dd01994f78489306fbfd6f7b01cd3
@TinySpaceCowboy
@TinySpaceCowboy 3 жыл бұрын
Is this a vim plug in for VS code? Need answers. :(
@iagod6660
@iagod6660 3 жыл бұрын
for the normal human beings that don't use vim like us, you can also use ctrl + Home (as gg) and ctrl + End (as G) for the going back to start or end of file if you didn't knew, just study more shortcuts. and for vim users that wanna up your game: learn regex
@romangeneral23
@romangeneral23 3 жыл бұрын
When im working on a large C++ project for my job. I find that VIM is the absolute greatest piece of software to waste my time and fall behind in schedule.
@afnman83
@afnman83 3 жыл бұрын
Well, dude..its not the VIM it self...but the key bindings that makes you fast.
FizzBuzz - You Suck at Coding [0]
12:35
Ben Awad
Рет қаралды 406 М.
Как быстро освоить Vim / Neovim?
23:31
PurpleSchool | Anton Larichev
Рет қаралды 65 М.
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 16 МЛН
路飞做的坏事被拆穿了 #路飞#海贼王
00:41
路飞与唐舞桐
Рет қаралды 25 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 53 МЛН
Technologies I used to Code My Backendless App
10:57
Ben Awad
Рет қаралды 148 М.
Why I Switched From NEOVIM To VSCODE
13:45
Anthony GG
Рет қаралды 26 М.
7 Years of Software Engineering Advice in 18 Minutes
18:32
Trying Vue.js for the First Time
11:59
Ben Awad
Рет қаралды 312 М.
I loved solving this junior react interview challenge
26:02
Web Dev Cody
Рет қаралды 155 М.
So, you want to be a programmer?
20:43
ForrestKnight
Рет қаралды 426 М.
Vim Tips I Wish I Knew Earlier
23:00
Sebastian Daschner
Рет қаралды 81 М.
Why I Cant Stand IDE's After Using VIM | Prime Reacts
17:51
ThePrimeTime
Рет қаралды 393 М.
The Value of Source Code
17:46
Philomatics
Рет қаралды 212 М.
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 16 МЛН