Why I'm a Better Developer than You

  Рет қаралды 321,046

Ben Awad

Ben Awad

5 жыл бұрын

3 things that give me a competitive advantage over other developers that you can start using.

----
Follow me online: voidpet.com/benawad
#benawad

Пікірлер: 605
@Lambdaphile
@Lambdaphile 3 жыл бұрын
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 2 жыл бұрын
REST
@fluffigverbimmelt
@fluffigverbimmelt 2 жыл бұрын
Getting enough sleep should be Standard Operating Procedure (SOP)
@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
@yanivgoldstein3875
@yanivgoldstein3875 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 3 жыл бұрын
@@mikeCavalle problem is when you have the best ideas in the shower
@mikeCavalle
@mikeCavalle 3 жыл бұрын
@@dakrontu in the shower you have a whole foggy glass door to write notes on. :-)
@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 Жыл бұрын
Night
@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
@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 4 жыл бұрын
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
@tolstoise
@tolstoise 5 жыл бұрын
This feels like satire, unfortunately, it's not 😂
@tabziz
@tabziz 4 жыл бұрын
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 4 жыл бұрын
i agree. but those are really important to enjoy programing.
@JonnyBeoulve
@JonnyBeoulve 4 жыл бұрын
I'm fast with a mouse. Fuck Vim.
@bratezoran2102
@bratezoran2102 3 жыл бұрын
@@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 3 жыл бұрын
@@0x6e95 Can we call it competitive programming and not CP...
@stamtso
@stamtso 4 жыл бұрын
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
@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.
@diamantisufi7938
@diamantisufi7938 4 жыл бұрын
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
@kristupasantanavicius9093
@kristupasantanavicius9093 4 жыл бұрын
Programmers spend only 10% of their time actually typing code.
@user-jn1px7rp3h
@user-jn1px7rp3h 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?
@user-jn1px7rp3h
@user-jn1px7rp3h 4 жыл бұрын
@@mubba1992 solve problems, more you solve, faster you do it.
@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 2 жыл бұрын
@@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.
@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 :\
@jackfarricker7546
@jackfarricker7546 4 жыл бұрын
It’s “Course-Era” how do you not know this..
@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.
@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
@arnobchowdhury9641
@arnobchowdhury9641 5 жыл бұрын
Thank you sir. Specially for talking about how important sleep is. That is the most underrated advice ever.
@longtran12345678
@longtran12345678 4 жыл бұрын
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.
@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.
@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.
@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.
@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.
@ScottMaday
@ScottMaday 3 жыл бұрын
Tip #4. I got some ballin music that gets me in the zone when I code
@arturoordonez-hernandez8750
@arturoordonez-hernandez8750 Жыл бұрын
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.
@NotTechLead
@NotTechLead 4 жыл бұрын
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.
@DavidKizivat1
@DavidKizivat1 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.
@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... 😑
@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
@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!
@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
@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 3 жыл бұрын
@@blasttrash they probably mean motorola 68k assembly idk
@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 :)
@ConorBailey
@ConorBailey 4 жыл бұрын
Awesome video Ben. Thanks for sharing the knowledge. Going to check out VIM 👍
@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
@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.
@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?
@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
@surafeltefera7664
@surafeltefera7664 4 жыл бұрын
Such valuable tips, thank you, bro!
@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 4 жыл бұрын
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.
@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
@thecurious926
@thecurious926 Жыл бұрын
How do you lint in vim? Do you run a separate program in the terminal?
@pipertripp
@pipertripp 5 жыл бұрын
Nail on the head with the last one. Sleep dep kills your ability to do anything. Total false economy working really long hours.
@TinySpaceCowboy
@TinySpaceCowboy 2 жыл бұрын
Is this a vim plug in for VS code? Need answers. :(
@badcookie2975
@badcookie2975 4 жыл бұрын
Better title: How to become a better developer.
@askaraskar3665
@askaraskar3665 5 жыл бұрын
Hi ,Ben!I have a question, currently i am starting algorithms and data structures and it gets really hard.Are there any math topics or specific knowledge shall i cover before it? Thanks!
@bawad
@bawad 5 жыл бұрын
no, just dive into algos
@MasayoMusic
@MasayoMusic 5 жыл бұрын
Is Vim really that useful? I find myself thinking more than typing. Also think the mini breaks with the mouse are good for the hands to prevent some RSI.
@bawad
@bawad 5 жыл бұрын
Yes, I take breaks and think a lot too but when I'm manipulating and refactoring code vim is great
@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
@andrienpecson6530
@andrienpecson6530 5 жыл бұрын
Another great video Ben. Thank you.
@eukaluptoss2399
@eukaluptoss2399 4 жыл бұрын
zombies all around you. Just for that subscribed & liked. Keep up the good content. You have the right mentality for SW. I agree with your points 100%, especially 2 & 3.
@JosephHerreraLeon
@JosephHerreraLeon 3 жыл бұрын
How did he open vimtutor on vscode? I'm on Windows 10.
@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.
@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.
@ricardospear922
@ricardospear922 4 жыл бұрын
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.
@greatchinonso9582
@greatchinonso9582 5 жыл бұрын
Thank you Ben for this, this was really helpful
@PyroManZII
@PyroManZII 3 жыл бұрын
What is the big bonus about Vim? When as programmers are we fighting for every single second of spare time just to write more code?
@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.
@RasTaIARI
@RasTaIARI 3 жыл бұрын
I agree with the premise, that you need to be proficient with tools. But all examples you mentioned as an example appear to be possible without vim or emacs in any jetbrain IDE (maybe except macros? not sure about that).
@AssemblyWizard
@AssemblyWizard 3 жыл бұрын
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))
@pavle649
@pavle649 4 жыл бұрын
idk why, but this video motivated me a lot
@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.
@mruduladdipalli5417
@mruduladdipalli5417 4 жыл бұрын
can any one help me with usefull data structure ( array , stack , queue , linked list , tree ) and algo ( linear search , binary search , bubble, heap , merge , radix quick sorts , bfs and dfs ) , any other useful dsa?
@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 2 жыл бұрын
@@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
@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
@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
@zayxhex6006
@zayxhex6006 4 жыл бұрын
Every programmer Guru on internet: So you summoned me?
@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.
@evans8245
@evans8245 4 жыл бұрын
its been 6months since i to neovim on linux, dude i love it.
@dr_davinci
@dr_davinci 3 жыл бұрын
Used the 3rd tip today feeling like a charm.
@codecontinue
@codecontinue 5 жыл бұрын
Is that IKEA chair? I was thinking of getting one of those... are they any good?
@bawad
@bawad 5 жыл бұрын
yeah it's a markus, I like it
@securitephile8284
@securitephile8284 3 жыл бұрын
Hey Ben what is the bind key of change you do in 1:52
@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.
@abintanilanil563
@abintanilanil563 2 жыл бұрын
Hey bro how many fingers do you use for typing
@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.
@gregorynovikov1450
@gregorynovikov1450 3 жыл бұрын
Is Leetcode good practice for data structures and algorithms?
@Jacob-ABCXYZ
@Jacob-ABCXYZ 3 жыл бұрын
Here's an idea. Next up or down open line/space
@evgena_
@evgena_ 3 жыл бұрын
Why don't you use relative numbers in vim ?
@mateusztocha9260
@mateusztocha9260 4 жыл бұрын
You definitly should try a spacemacs or doom Emacs ,they also using vim keybiding , org mode , magit all manipulation with keyboard. Check zaiste programing KZfaq series.
@botondhetyey159
@botondhetyey159 4 жыл бұрын
I've been learning and trying to use vim for months now, but I swear it is barely faster then using VS Code for me. The big advantage to it (for me) is that it's readily available everywhere, I can debug straight from the console if I need to run something on the university server. I also plan out my code before writing it down, so actually writing code is maybe 10-20% of my time working on a project. I'm only a CS student, not an industry pro, so take my opinion with a grain of salt, but that's my 2 cents. Vim is not the holy grail for programming, tho it does have it's advantages.
@Megalcristo2
@Megalcristo2 2 жыл бұрын
That is normal, you have to concentrate in what you think that makes you slow and find a solution, maybe creating some commands or installing plugins. For example I found vertical jumping to be very slow until I found plugins like easymotion or lights peed if you use neovim. Other personal example is creating directories. it was as slow as with a GUI editor, and even tough there are plugins for this, my personal solution was to use the terminal. Find what bother you and change it, Atom motto is "the hackable text edito for the 21th century" I believe they put "...for the 21th century" because of emacs and vim, these are very customizable editors
@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
@fosspointer
@fosspointer Жыл бұрын
Do you even use emacs evil mode on arch?
@jeffreylin1527
@jeffreylin1527 3 жыл бұрын
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!
@MagnusAnand
@MagnusAnand 4 жыл бұрын
Well... I think that using Vim shortcuts in VS Code is not the same as using pure Vim, but good tip anyway
@aj35lightning
@aj35lightning 5 жыл бұрын
for me learning tmux did a lot, but it really depends on the kind of programming youre doing if it's even worth looking at
@bawad
@bawad 5 жыл бұрын
tmux is great
@LPFan33
@LPFan33 4 жыл бұрын
copy-mode-vi for life
@brianhogg358
@brianhogg358 4 жыл бұрын
Is your first advantage meant to be satire? "Vim is the text editor I use" followed with "I code in Visual Studio", then conflating using key bindings with using a text editor, then showing text editing that's no different in terms of speed than the stock Visual Studio experience makes me think it's a satire. If so, well done! BUT based on a bunch of the other comments here, it might not be a satire?
@Sarge92
@Sarge92 3 жыл бұрын
the double g thing to go from the top to the bottom of a page if vs code works like most other apps then thats what the home and end keys are for
@_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.
@someone-lx8mg
@someone-lx8mg 4 жыл бұрын
I would add: - TESTING - DOMAIN KNOWLEDGE and SEARCHING
@charlesoconor
@charlesoconor 3 жыл бұрын
You have to use vim or neovim any other editor will slow you down. It's easier at first but doing the builds, test and linting your self is much better since you will understand what is happening.
@FunctionGermany
@FunctionGermany 3 жыл бұрын
I'd be missing a ton of features that i have in VSCode or with it's extensions that are either kinda hard or clunky to get working, or just don't exist like LiveShare for example.
@davidromao4609
@davidromao4609 4 жыл бұрын
Do you also use the VS Code shortcuts to navigate the code or just stick to the vim shortcuts?
@bawad
@bawad 4 жыл бұрын
kzfaq.info/get/bejne/qp-bhrea1s65lps.html
@marshchawki1912
@marshchawki1912 5 жыл бұрын
Please share, How and what resources you used to learn new technologies?
@bawad
@bawad 5 жыл бұрын
docs
@pr749
@pr749 2 жыл бұрын
Thanks for the sleep suggestions, something I am really bad at.
@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
@r0mankon
@r0mankon 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 3 жыл бұрын
That's the whole point of this vid, there's an easily readable irony... Like watching TechLead but actually funny.
@Furniez
@Furniez 2 жыл бұрын
Have you heard of keys called: "Home", "End", Page Up" and "Page Down"?
@danielpedersen1688
@danielpedersen1688 3 жыл бұрын
Guys what font is he using? If someone knows please let me know I want it for my code editor
@danielpedersen1688
@danielpedersen1688 3 жыл бұрын
@Blaxer XO alright thanks! Yea I have consolas already I use that everyday it looks so nice and clean to look at!
@thepaulcraft957
@thepaulcraft957 2 жыл бұрын
I think u shouldn't use some vim extension cuz only pure (neo)vim can give u the freedom and customizability u need to master it
@kmecu
@kmecu 4 жыл бұрын
Would you say learning design patterns is less important than data structures and algorithms?
@philsburydoboy
@philsburydoboy 4 жыл бұрын
kmecu Depends on the type of work you want to do. If you want to build big systems quickly with existing tools or with a team, design patterns. If you want to build new systems and products, DS/Algo. I personally put both of these things in an architectural knowledge category along with memory management and process optimization. Knowing all of these things is "important", but they don't necessarily make you a better programmer. Knowing good programming practices like SOLID is probably more important than any architectural knowledge, as you will be a good programmer by default in any language or architecture. It will help you implement big projects that you are proud to show off a lot more than algos or patterns.
@JesusMurF
@JesusMurF 5 жыл бұрын
I would like to know what keyboard do you use 😊
@bawad
@bawad 5 жыл бұрын
das keyboard
@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.
FizzBuzz - You Suck at Coding [0]
12:35
Ben Awad
Рет қаралды 404 М.
How to Roll Your Own Auth
13:05
Ben Awad
Рет қаралды 64 М.
EVOLUTION OF ICE CREAM 😱 #shorts
00:11
Savage Vlogs
Рет қаралды 7 МЛН
Llegó al techo 😱
00:37
Juan De Dios Pantoja
Рет қаралды 56 МЛН
Why I Cant Stand IDE's After Using VIM | Prime Reacts
17:51
ThePrimeTime
Рет қаралды 283 М.
Coding Interview with Dan Abramov
58:20
Ben Awad
Рет қаралды 641 М.
Turning down FAANG to be a chad software engineer with Ben Awad  @bawad
1:08:37
Rational VC Podcast - Timeless Wisdom
Рет қаралды 31 М.
Nature's Incredible ROTATING MOTOR (It’s Electric!) - Smarter Every Day 300
29:37
Easy Google Coding Interview With Ben Awad
28:00
Clément Mihailescu
Рет қаралды 1 МЛН
Trying Vue.js for the First Time
11:59
Ben Awad
Рет қаралды 312 М.
Harpoon : Vim Conference 2021
17:08
ThePrimeagen
Рет қаралды 107 М.
Why use Type and not Interface in TypeScript
14:12
ByteGrad
Рет қаралды 198 М.
The Story of Next.js
12:13
uidotdev
Рет қаралды 558 М.
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,9 МЛН
КРУТОЙ ТЕЛЕФОН
0:16
KINO KAIF
Рет қаралды 6 МЛН
Лазер против камеры смартфона
1:01
Newtonlabs
Рет қаралды 725 М.
#samsung #retrophone #nostalgia #x100
0:14
mobijunk
Рет қаралды 11 МЛН
iPhone socket cleaning #Fixit
0:30
Tamar DB (mt)
Рет қаралды 17 МЛН
Новые iPhone 16 и 16 Pro Max
0:42
Romancev768
Рет қаралды 2,1 МЛН