Комментарии •

  • @ciarancurley5482
    @ciarancurley5482 27 дней назад +543

    You learn a lot about dev just being a teenager determined not to pay for stuff.

    • @haleemhawkins8112
      @haleemhawkins8112 27 дней назад +53

      Golden take right here👏🏾. I’m convinced that my first psp jailbreak turned me into the software engineer I am today

    • @TomRaine
      @TomRaine 27 дней назад +12

      This is so true, our store POS sucks so now I’m thinking if I can build one.

    • @mkabilly
      @mkabilly 27 дней назад +18

      Oh god, definitely. PSP & Wii jailbreaking, hacks for some pay to win games, and constantly getting second hand tech definitely got me here.

    • @botobeni
      @botobeni 26 дней назад

      yoo true, happened to me

    • @kendlemintjed7571
      @kendlemintjed7571 26 дней назад +2

      story of my life

  • @TJChallstrom916-512
    @TJChallstrom916-512 27 дней назад +580

    Also, can we get a round of applause for the dude who willingly posted that he knew nothing so he could stop knowing nothing.

    • @Rudxain
      @Rudxain 15 дней назад +19

      The wisest people are the ones who are humble enough to admit ignorance

    • @johngagon
      @johngagon 9 дней назад +2

      * applauses in lisp *

    • @shlak
      @shlak 8 часов назад

      @@johngagon * applautheth with lithp *

  • @artrix909
    @artrix909 27 дней назад +532

    Wait... people get hired without knowing git?

    • @LiveType
      @LiveType 27 дней назад +68

      Nobody is getting hired without knowing version control. Not in the current day

    • @bentruyman5077
      @bentruyman5077 27 дней назад +43

      What's funny about this whole thing is the people disagreeing with Theo likely already know git, they're just complaining because *they* think knowing how a VCS works isn't table-stakes for a typical dev job, which it obviously is.

    • @emeraldbonsai
      @emeraldbonsai 27 дней назад +3

      @@LiveType Depends some schools essentially act as feeders for companies so like one place i was at i had to baby sit all the new people and get them up to speed. with how everything actually works and alot of times even teach them the actual language they are going to use. its not super common but ive been at a few companies that have like entire infrastructure and staff and its essentially built to get people trained up asap. Why im not sure my main guess is just cheap labour though in the end with stacks being so different company to company training a newbie and training some one several years in isnt always that diff in some ways its nicer cause you dont have to unteach things

    • @froxx93
      @froxx93 27 дней назад +15

      I actually did. But that was in 2016. Today I wouldn't hire anyone without it too

    • @mascot4950
      @mascot4950 27 дней назад +17

      @@LiveType Nobody will _stay_ hired without following the company's version control routines, but version control is so company specific that it's a training thing regardless, making it fairly irrelevant as a hiring guide.

  • @CaptainToadUK
    @CaptainToadUK 26 дней назад +120

    The reason, largely, that universities don't do the whole "submit your assignments using Git, this course uses Git" is because lecturers, by-and-large have not learned to use it and don't want to

    • @borstenpinsel
      @borstenpinsel 11 дней назад +12

      They wrote their own Programm in perl in 1993

    • @CaptainToadUK
      @CaptainToadUK 10 дней назад +2

      @@borstenpinsel yep. Nailed it! 😜

    • @user-bc7cb8uu7e
      @user-bc7cb8uu7e 3 дня назад +4

      At the University I attended, I took at least 2 classes that required submission of assignments through git.

    • @Fasteroid
      @Fasteroid 3 дня назад +1

      💀

    • @JCel
      @JCel 3 дня назад +4

      My university has a 4th semester module, Softwaretech, where everything in git. You won't even be able to access the darn lecture materials without it, much less submit your homework. The first few weeks are everything about git and then you need to be able to work with it.

  • @ericng8807
    @ericng8807 27 дней назад +611

    I hate how this was more controversial than your unit testing take

    • @leoaldamas
      @leoaldamas 27 дней назад +3

      🤣

    • @bentruyman5077
      @bentruyman5077 27 дней назад +33

      I disagree with a bunch of Theo's takes. I agree, this ain't one of them.

    • @SamOween
      @SamOween 27 дней назад +11

      Agree. This is one of the most solid Theo takes ever

    • @ravenecho2410
      @ravenecho2410 27 дней назад +4

      Knowing what a file is, a bit harder than he makes it sound, i nodes, pointers, pages, is a directory a dictionary or an array? Is all memory stored in a file, is it continuous? Whats a file encoding? Whats a binary, whats an exexutable? Complilation, sym links, elfs, exe, ... .vim...
      Is everything a file? Is terminal just a tail, is cli just a file which is being written?

    • @burger-se1er
      @burger-se1er 27 дней назад +13

      ​@@ravenecho2410 At 9:57 he was talking about `cd` and `ls`, not inodes and utf-16.

  • @tato-chip7612
    @tato-chip7612 27 дней назад +207

    Every time I say things to my friend like.
    "Bro you're about to finish uni. Learn how to use Git and all projects out there use git."
    He tells me to stop gatekeeping.
    My brother in Christ you can't just be running around with Google drive shares files!

    • @quinnherden
      @quinnherden 27 дней назад +17

      why do they think that's gatekeeping?

    • @sub-harmonik
      @sub-harmonik 26 дней назад +54

      'you need to learn programming to get a programming job'
      'bro stop gatekeeping'

    • @rogergalindo7318
      @rogergalindo7318 26 дней назад

      gold comment lol

    • @ImperiumLibertas
      @ImperiumLibertas 25 дней назад +14

      It's always comical when the "more than one way to solve a problem" argument is used to avoid having to learn a tool that is objectively more fit for the job.

    • @hevad
      @hevad 24 дня назад +3

      Google shared files is what kids use these days not to use source control? In my days we would email our files to each other

  • @LetterlessAlphabet
    @LetterlessAlphabet 27 дней назад +181

    Learn git in 2 seconds: init, add it, commit, push it, pull it, fetch it, merge it, rebase, harder, better, faster, stronger.

    • @darkwraithcovenantindustries
      @darkwraithcovenantindustries 27 дней назад +20

      git-o-logic

    • @kieranhosty
      @kieranhosty 25 дней назад +14

      git-o-logic

    • @ImperiumLibertas
      @ImperiumLibertas 25 дней назад +10

      Imao I was so lost reading "harder better faster stronger." I thought these were new elusive commands I was unaware of.
      You did forget bisect 😉

    • @LetterlessAlphabet
      @LetterlessAlphabet 23 дня назад +7

      @@ImperiumLibertas never needed it lol

    • @blarghblargh
      @blarghblargh 17 дней назад +4

      @@LetterlessAlphabet bisect is a good and important tool and you should learn how to use it. you may only use it once every year, but when it's the right tool for the job you'll be glad you had it. knowing the commit that introduced a bug can make some bugs absolutely trivial that'd otherwise stick around a lot longer.

  • @MichaelSchuerig
    @MichaelSchuerig 27 дней назад +91

    Learning the basics of git takes a day. Learning to write good commit messages takes a lifetime.

    • @kingxerjsaeg
      @kingxerjsaeg 16 дней назад +18

      "Update for today's work"

    • @v0id_d3m0n
      @v0id_d3m0n 14 дней назад +1

      See conventional commits

    • @yoyobeerman1289
      @yoyobeerman1289 14 дней назад +15

      "It doesn't compile anymore"
      "It compiles again"

    • @Trafulgoth
      @Trafulgoth 7 дней назад +9

      "Fixed bug in the code"

    • @ForayBN
      @ForayBN 3 дня назад +3

      git commit -m "idk"

  • @Sammysapphira
    @Sammysapphira 27 дней назад +176

    I've experienced collaborating with people that don't know git, let alone know git etiquette. It was utterly miserable. People think git is just committing and force merging; it's not... The amount of times I had to remind them to pull down updated code made my head spin. We would frequently get multiple-day-old pull requests with dozens and dozens and dozens of conflicts because they never pulled down main, essentially forcing us to copy paste their functions and modifications manually due to the sheer amount of multi-file dependency changes happening. Then, once main is all caught up, and we told them to pull it down locally, *they didn't*

    • @ronelm2000
      @ronelm2000 27 дней назад +32

      Maybe version control should be a curriculum module after all. Not git, but VCS in general, in the same vein as Operating Systems being a thing.

    • @dputra
      @dputra 27 дней назад +7

      I think we need to build an extension in vscode to give a bright big red box when they haven't pulled down git changes 😂

    • @ShootingUtah
      @ShootingUtah 27 дней назад +8

      How did someone go through the pain of multiple merge conflicts and NOT remember to pull the next time! I thought that was like burning your hand on a hot stove! You only do it once!

    • @Daniel_WR_Hart
      @Daniel_WR_Hart 27 дней назад +3

      It's also easier to see the history of the project when every commit message is short and perfectly describes what changed

    • @Renoistic
      @Renoistic 27 дней назад +3

      Git etiquette is the big one for me. You can teach people eventually but the road there is painful.

  • @boreddad420
    @boreddad420 27 дней назад +103

    0:42 "1 also Adobe is evil" from chatter is so based

    • @Turalcar
      @Turalcar 15 дней назад +1

      Adobe delenda est

  • @funkenjoyer
    @funkenjoyer 27 дней назад +56

    After using git for just few years im genuinely baffled how dafuq any1 gets anything done without vcs

    • @BittermanAndy
      @BittermanAndy 26 дней назад +3

      vcs != git.

    • @dloorkour1256
      @dloorkour1256 22 дня назад +13

      @@BittermanAndy I think a generic "version control system" was meant. I agree, it's a must have.

    • @diamondman4252
      @diamondman4252 7 дней назад

      Git is my vcs of choice, but there are valid use cases for other systems so I am not a purist.
      As to how people get things done without vcs... they don't really, they just think they do. Everyone else sees main_project_final_final_last_fixed_issues_2024_may_final.c and takes a deep breath.

  • @droid-droidsson
    @droid-droidsson 10 дней назад +13

    Theo: "git gud"
    git: "gud" is not a git command. See 'git --help'.

  • @MrDaAsif
    @MrDaAsif 27 дней назад +124

    "you know you're the exception why are you even part of this discussion"
    Man so many internet discourses always have the person who knows they're the exception lmao

    • @nctay
      @nctay 27 дней назад +4

      This whole git conversation is driven by attention seeking “exception”.

    • @ludamillion
      @ludamillion 26 дней назад +1

      Yup, they know they are the exception and they think that it makes them exceptional.

    • @thekwoka4707
      @thekwoka4707 26 дней назад +3

      @@nctay but none are actually exceptions

  • @danmerillat
    @danmerillat 24 дня назад +16

    I agree with everything except "knowing other version control isn't good enough". The basic git you're saying people should know is just "commit your files regularly and push" and it doesn't matter if you know CVS, RCS, Subversion or mercurial: you understand "commit files and share" and can use different commands/hotkeys for that.
    Knowing how to manage branch merges, rebasing, squashing... that's advanced version control and I've found very few people actually really understand that beyond "google snack overflow, cut & paste the commands you find there"

  • @lunalangton5776
    @lunalangton5776 27 дней назад +160

    Y'know part of the reason I dropped out is because my uni was a degree mill and everyone was there to "get a programming job", and the result was a constant dumbing down of the education to turn what was a respectable theoretical field into a very expensive coding bootcamp. I was there to actually advance the field. I wanted to actually study Computer Science.
    The fact that people are going to uni and NOT LEARNING COMPUTER SCIENCE is much more alarming than that they don't know git. They should know how to make git from first principles, and then it wouldn't take more than a moment to learn it.

    • @duven60
      @duven60 27 дней назад +15

      From first principles seems a little much, but I would expect an exam question on "what are the limitations and shortfalls of the current industry standard source control, and how would you architect an alternative that addresses those issues?".

    • @lunalangton5776
      @lunalangton5776 27 дней назад +42

      @@duven60 Sorry, maybe exaggerating a little. I don't mean they should actually go and re-implement git - I mean the way it works should be pretty obvious to someone who understands computer science.
      Also, I don't want to hear "industry" mentioned in the school I'm paying for, ever. Again, I'm not there for a coding bootcamp. Employers should be paying to educate worker drones if that's the goal. Seriously, why are we volunteering to PAY to be taught only how to be worker drones?
      I'm probably not Theo's main demographic, I'm actually not interested in writing the same program over and over for a different corporation with a different framework. I don't want to hear about some bullshit "development methodology" some suits have come up with to make developers seem like they're being more productive in a business environment. I actually gave a shit about *computer science*. "Industry" is a dumpster fire. Why Hapsburg your education like that, by encouraging people to do what is already done? We're supposed to build the future - but NOT for "industry" - for the world! I do acknowledge your question says to improve on things, but, again, I'm not a servant of industry. Love y'all tech workers btw, but hate the game you're playing.

    • @urisinger3412
      @urisinger3412 27 дней назад +13

      this is why i'm rethinking my choice to major in cs, cs classes are becoming glorified bootcamps. people need to distinguish between computer scientists and software engineers, just like we distinguish between electrical engineers and electricians.

    • @lunalangton5776
      @lunalangton5776 27 дней назад +14

      @@urisinger3412 Most importantly, our degrees should not just be gift wrap that WE pay for when OUR LIVES are gifted to "industry". When people say "university should prepare you for industry", put on your They Live glasses, they are really saying "employees should pay for their own training". No! We should be very fucking mad about it.

    • @lunalangton5776
      @lunalangton5776 27 дней назад +10

      After re-reading my own comment I just want to add on a little clarification here, in case anyone thinks my "dumbing down" thing is about software engineers being dumber than computer scientists. That's not what I meant at all. The reason they're dumbing things down is to pump out grads, regardless of competence, to drive down programmer wages. They call it "streamlining" what is taught - but what that means is, you still pay the same amount for your degree, but they put less useful information in your brain. We're being robbed in broad daylight. I'm not mad at anyone in this thread but I am really furious about this issue. The world is being made dumber just so that employers don't have to pay for training AND can pay lower wages. Then some of our own, ENCOURAGE THIS?! It boggles the mind. If "software engineer" should be a separate field, industry should be fully responsible for their training. Otherwise, uni should teach just PURE computer science, and force employers to provide employment training. Boycott any uni that's focused on "preparing for industry". In general, tech workers need to learn to organize their labour and force change against shit like this.

  • @xc13z829
    @xc13z829 27 дней назад +159

    As a former teacher, I can tell you: if there is something a student SHOULD know, you have to teach it to them. You can't HOPE they will, you can't make it optional. If students need it, they need to be taught it.

    • @KnumNegm
      @KnumNegm 27 дней назад +3

      That's sad man.

    • @SnowTheParrot
      @SnowTheParrot 27 дней назад +26

      for high school, totally.
      once you get into Uni though, (especially for CS), if youre not self learning, you probably wont make it far.

    • @flyingmadpakke
      @flyingmadpakke 27 дней назад +2

      Sounds like a cultural thing. I have been grateful for the "hands off" approach I have experienced throughout the educational institutions I went to. They even let me take an exam in quantum computing despite it not being part of the curriculum in any way.

    • @JakobRossner-qj1wo
      @JakobRossner-qj1wo 27 дней назад +3

      But if I can see that someone can learn by himselve than he is way more hireable for me.

    • @Echa37-H37
      @Echa37-H37 27 дней назад +5

      I'm currently working as a lecturer's assistant. College students would not look things up outside of those that are explicitly taught in class, minus a few outliers. There are times when I teach in class where I told them "there are a lot more to find out by looking at the documentation" and 9/10 they'll not open it.
      Git is mentioned in passing in class in hopes they'll go figure it out, but that's not how the college student's mind works at least here.

  • @mattilindstrom
    @mattilindstrom 27 дней назад +27

    I'm not a software engineer, I'm a f-ing physicist. I find a well set up git to be easy and stress free. If I ever got into a situation I couldn't get myself out of, all I had to do is ask from the people who know, and after a single command I was in the clear.

    • @diamondman4252
      @diamondman4252 7 дней назад

      If you are a physicist, I bet you have used LaTeX. I consider git substantially easier to get the hang of than LaTeX. That being said, if you don't use LaTeX, I highly recommend you do. I don't use it much, but my physicist friends refuse to use anything else for preparing documents.

  • @advertslaxxor
    @advertslaxxor 27 дней назад +36

    Here is my take:
    There is an abundance of people taking CS degrees *to get a job*. They have next to zero passion, and will not touch code outside of work/study.
    "Computer Science"/programming is one of the few professions where you gain real experience from having it as a hobby, too.

    • @elorrambasdo5233
      @elorrambasdo5233 26 дней назад +10

      I love programming. I spend hours every day after work working on my personal project. I talk about it all the time to everyone.
      I never used git in college.
      People don’t know what they are supposed to know, that’s why they go to get taught.
      If they don’t get taught something, how are they supposed to know to learn it?

    • @proosee
      @proosee 26 дней назад +7

      Higher education is not some elementary school - you can't have such approach not only in computer science but in any other field - imagine doctor that doesn't read about new studies and drugs and still use medical procedures from 1980 - that's insane.

    • @moonasha
      @moonasha 26 дней назад

      @@elorrambasdo5233 I found git outside of school specifically because I was working on a project. I didn't want to keep coding if I couldn't safely back it up and have the ability to undo changes. I think if you don't seek version control, you aren't coding something you find valuable. "If they don't get taught something how are they supposed to learn it" If you require a teacher to learn new things you are a useless person

    • @kingxerjsaeg
      @kingxerjsaeg 16 дней назад +1

      ​@@prooseeI think they meant one of higher education's absolutely inexorable purposes is to give you a framework of "to know what it is that you have to know". Not to fill your carts with all the knowledge, or to push/pull them for you, but to teach you which are the tracks of the field and how to tell them apart from the landscape of ignorance. Understandable?

    • @proosee
      @proosee 16 дней назад

      @@kingxerjsaeg that's my point - if someone is not showing any signs of exploring on his own then I don't hire such person, even if he has prestigious diploma. Period. But you can have your own rules.

  • @firstlast-tf3fq
    @firstlast-tf3fq 27 дней назад +66

    “You must submit this assignment in the form of a git repository”: then let them go work it out. University students should be expected to teach themselves simple stuff like this.
    Problem sorted.

    • @chris52000
      @chris52000 26 дней назад +1

      I also went to RPI like Theo and just graduated a year ago. We had a class where all of our assignments must be submitted by pushing to a git repo

    • @moonasha
      @moonasha 26 дней назад +6

      the amount of people who can't learn things on their own and seem to require constant hand holding is really disturbing. Our middle and highschools are failing to teach kids how to be self sufficient

    • @firstlast-tf3fq
      @firstlast-tf3fq 26 дней назад +5

      @@moonasha then they shouldn’t get a degree and shouldn’t be able to get through university. You don’t get taught at uni, you attend lectures: the actual learning is your responsibility

    • @dudaseifert
      @dudaseifert 17 дней назад +6

      I'm in favor of this, but it doesn't hurt to add a link "you can learn how to do this here".

    • @firstlast-tf3fq
      @firstlast-tf3fq 17 дней назад +1

      @@dudaseifert oh sure

  • @dyto2287
    @dyto2287 27 дней назад +42

    One year we took bunch of students from local university to teach them some practical skills one day per week at our company. My coworker who was in charge to teach them had a meltdown over their Git knowledge. We though we would offer internship or junior position for some of them but out of 20 of them noone was hirable.

    • @proosee
      @proosee 26 дней назад +2

      My colleague had similar experience - they were conducting some kind of internship/course for students from local university and numbers of rants I've heard about them unable to comprehend to use separate branches was over 9000

  • @turc1656
    @turc1656 27 дней назад +13

    Why would anyone use version control when they can just implement the full/final feature set correctly the first time?

    • @aaa-my5xy
      @aaa-my5xy 27 дней назад +5

      sounds like a skill issue to me

    • @NihongoWakannai
      @NihongoWakannai 22 дня назад +6

      This is why I ONLY hired developers who don't know git. Git is only for developers who make mistakes and I don't want any mistakes in my codebase.

    • @stevecarter8810
      @stevecarter8810 7 часов назад

      Oof 😂😂

  • @bentruyman5077
    @bentruyman5077 27 дней назад +36

    It is wild to me that programmers are even debating the utility of understanding version control. This is a good take, Theo.

    •  27 дней назад

      In my college we dont learn git, they're teaching us how to use FileZilla FTP instead. We also never used an IDE for coding, they have us use Notepad++ instead. My school grand valley state university is 20 years behind industry standard, we're using VB script as the main programming language... We're graduating without actually knowing how to use professional development programs, and people here are thinking this is how it's actually done...

    • @BittermanAndy
      @BittermanAndy 26 дней назад +3

      Version control != Git.

    • @BrooksMoses
      @BrooksMoses 14 дней назад +2

      @@BittermanAndy : Absolutely. I got several programming jobs without knowing git because git was not at all a thing when i was first hired, and was only barely a thing the second time around. But I was completely competent with SVN, which is what was the open-source industry standard at the time.

    • @paladin9876
      @paladin9876 3 дня назад +2

      @@BittermanAndy git is a version control system, what are you yapping about?

    • @BittermanAndy
      @BittermanAndy 3 дня назад +1

      @@paladin9876 but it's not the only version control system (nor even the best IMO). I thought this was obvious tbh.

  • @ivanfilhoz
    @ivanfilhoz 26 дней назад +15

    These guys be like: a hammer is just a tool, people don’t need to learn how to use a hammer to build stuff. They’ve learned basic physics, so they should be able to apply the same principles. There’s no need to teach that.

  • @gardnmi
    @gardnmi 27 дней назад +38

    I couldn't imagine working on a software project without a version control tool like git.

    • @user-in2cs1vp6o
      @user-in2cs1vp6o 27 дней назад +2

      I save all my projects in seperate and individual Google drive accounts

    • @user-nr4ju3qd9o
      @user-nr4ju3qd9o 27 дней назад

      @@user-in2cs1vp6o what the fuck is wrong with you

    • @nicejungle
      @nicejungle 27 дней назад

      Me neither. It's just insane

    • @JoshPeterson
      @JoshPeterson 27 дней назад +5

      I've lost track of amount of times git has saved my ass. Just being able to restore to previous versions that worked after fucking up your code beyond repair has been a life saver. I learned early on the hard way how much of a pain in the ass coding can be without it. Every time I start a new project, I immediately git init.

    • @moonasha
      @moonasha 26 дней назад +1

      @@JoshPeterson it doesn't just save your butt, it let's you experiment in ways you normally wouldn't. Let's you full send a refactor even if there's a chance you might fubar everything

  • @keffbarn
    @keffbarn 27 дней назад +38

    Git isnt that trivial to learn and has a bunch if concepts thats absolutley worthy of a CS class. There is a big difference knowing just a few commands to actually knowing it and what each operation does and how to apply them. If they teach sql and c++, then there is really no argument for not teaching git

    • @asagiai4965
      @asagiai4965 27 дней назад

      Technically they can. My question now is, if they have to teach you everything you need to know, how long will a cs degree be?

    • @mkabilly
      @mkabilly 27 дней назад +3

      I had multiple semesters on Graph-related things. I'm sure at least a couple classes from any of those courses could've gone a bit more in depth into Git.

    • @Salantor
      @Salantor 26 дней назад +8

      But you don't really need to know how Git works under the hood. Basic commands and a flow respected by the entire team should be more than enough.

    • @ludamillion
      @ludamillion 26 дней назад +10

      @@Salantor Exactly, the theory and internals behind Git are fascinating and could certainly fill multiple semesters. But I've been in the field for over a decade at this point and probably 95% of my git usage it made up of the basics that I learned on my own in my first 'serious' programming course so that I didn't have to worry about shooting myself in the foot.
      When people say 'learn git' they mean learn the basics of how to use the tool. They don't mean know how every last piece of it works and the CS theory behind it. I know how to drive a car. I know that it needs full, I know that it can't float, can't fly, and if I'm going fast it'll take longer to stop. Do I know how the engine works? Not really, a few fairly shallow concepts yes but not the details.

    • @morosis82
      @morosis82 26 дней назад +1

      ​@@ludamillionyes, taking students through creating a feature branch, making changes and merging it back to a repo with a CICD loop that will fail when they've neglected the tests would be a great way to start.
      Explain then all the issues and why they exist, then how to do it the right way.
      Doesn't need to be git, in fact it's probably best to try at least a couple so they can see different approaches (mercurial or even svn as while it's out of date I think there's still a bunch of stuff using it).

  • @RuySenpai
    @RuySenpai 27 дней назад +38

    In my freshman year of CS my school called everyone for a 2 week course of basic git and linux CLI, I rarely ever use more from git that wasn't seen on that course, it takes less than 2 weeks to learn and everyone should know how to use version control

    • @SahilP2648
      @SahilP2648 27 дней назад +7

      git takes less than a day to learn and use, but videos on YT are all crap. I should maybe create one which would be above anything else.

    • @paultapping9510
      @paultapping9510 27 дней назад

      ​@@SahilP2648for you and your 32 subs 😂

    • @quinnherden
      @quinnherden 27 дней назад

      ​@@paultapping9510Nobody starts with subs 🙄

    • @SahilP2648
      @SahilP2648 26 дней назад

      @@paultapping9510 if I do, it would be more for people on YT searching about git in the future, I won't be doing it for my subscribers genius. I just don't think my video would get popular since YT favors creators which are already well established.

  • @hatter1290
    @hatter1290 27 дней назад +67

    Git has some interesting internals. I feel like you could learn many useful things from that as part of a C.S. degree.

    • @nicejungle
      @nicejungle 27 дней назад +4

      agree. DAG for example

    • @luuc
      @luuc 27 дней назад +4

      I believe it would, for sure, be interesting as a case study as part of a larger course (e.g. software engineering class or a DSA course)

    • @hatter1290
      @hatter1290 27 дней назад +1

      @@nicejungle And specifically a Merkle DAG

    • @SJohnTrombley
      @SJohnTrombley 27 дней назад +4

      I think Prime's take on this is correct. There should be a class called "Version Control" where you learn about various version control tools and how they're implemented, then have to create your own version control tool as a final project.

    • @proosee
      @proosee 26 дней назад

      You can make argument like that about other software - that's somehow beyond the point of the video, because Git status in software engineering shouldn't be the reason to learn its internals as a part of CS degree (compared to other pieces of software).

  • @kspfan001
    @kspfan001 3 дня назад +4

    how the heck to people get through 4+ years of computer science and not at least *accidentally* stumble into something that requires spending 15 minutes figuring out how to clone something from a git repo?

    • @kanucks9
      @kanucks9 2 дня назад

      Super easily?
      As long as no course requires it, why would you stumble into anything?
      I wouldn't assume any student would do literally anything outside of classwork, related to the field

  • @elliottmarshall1424
    @elliottmarshall1424 27 дней назад +47

    Git should be how you submit assignments, Im shocked that this isn’t the norm

    • @duven60
      @duven60 27 дней назад +4

      @dstick14 for what the law currently is at least, every bill a pull request.

    • @TheKastellan
      @TheKastellan 27 дней назад +4

      This might be an America thing because I can guarantee at least in my university we use gitlab so this video confuses me to no end.

    • @urisinger3412
      @urisinger3412 27 дней назад

      Tracking issue for gay rights​@dstick14

    • @ludamillion
      @ludamillion 26 дней назад

      I went to a community college over a decade ago and this was how we did things in many of my classes. I've always assumed that it was because a lot of the professors there either still worked in the field as engineers or at least manager or had recently retired so they just kept using the cools for the courses they taught that they used at work all the time.
      There's no good excuse not to.

    • @briankarcher8338
      @briankarcher8338 23 дня назад

      Until you find the person who learned how to fork a branch.

  • @harrytsang1501
    @harrytsang1501 27 дней назад +25

    The sad thing is, version control is not extensively taught in university level CS major. Yes it is taught, but no you can totally pass the software engineering course without truly understanding it. Most students view it as hurdles rather than a useful tools.

    • @daven9536
      @daven9536 27 дней назад +6

      That's because it is. In a typical course assignment the scope is fairly limited and you only ever move forward and have very little use for version control.

    • @enginerdy
      @enginerdy 26 дней назад +3

      That’s many, many things though. You don’t get expertise with any undergrad degree, you get the foundation to acquire expertise.

    • @marcuss.abildskov7175
      @marcuss.abildskov7175 26 дней назад

      Why does something have to be taught? I swear students are fucking lazy. Go fucking learn it yourself

    • @avarise5607
      @avarise5607 24 дня назад

      I'm sorry but if writing git commit and git push is too much for you, I can assume you won't put any thought into actual problems

    • @daven9536
      @daven9536 23 дня назад

      @@avarise5607 If all you ever did was type git commit and git push, I can assume your empty repository didn't pass the course

  • @akam9919
    @akam9919 27 дней назад +34

    Theo: "If you don't know how to use an ide"
    that one guy with tmux+nano+and shit ton of terminal windows: "I'm offended!"

    • @MisterFaucker
      @MisterFaucker 27 дней назад +4

      Alacritty+tmux+editor is win

    • @lukeskywalker7029
      @lukeskywalker7029 27 дней назад +16

      tmux + nano ? Really people use that for development? Not NeoVim or Emacs? :D

    • @jahinzee
      @jahinzee 27 дней назад +5

      **neovim

    • @AndrewTSq
      @AndrewTSq 27 дней назад

      @@lukeskywalker7029 I could not be bothered with that yesterday, so I just added color highlighting to js-files in nano. You can also make scripts for jslint, but ofcourse its not as good as neovim or emacs lol, but its a small editor and easy to work with in those cases you only need to change a line.

    • @GreenJalapenjo
      @GreenJalapenjo 27 дней назад +5

      I mean he was pretty clear that he doesn't strictly mean "IDE" by how he uses VS Code as the example and Notepad as the counter-example. I think "IDE" is to be read as "decent development environment", not "Eclipse or Visual Studio".

  • @alexpyattaev
    @alexpyattaev 27 дней назад +10

    Students not willing to learn practical skills is the bane of education system...

    • @chriss3404
      @chriss3404 27 дней назад +2

      I think that the structure of classes really contributes to students not wanting to learn.
      Once you get behind in classes, there is rarely if ever a chance to catch up if you have other commitments outside of your classes.
      When I was in college I'd always start a semester/qtr ahead, pushing class projects past where they needed to be with documentation, additional features, testing, etc. but by the end of the quarter, I consistently had to be satisfied with hitting the bare requirements and learning absolutely nothing more.

    • @alexpyattaev
      @alexpyattaev 27 дней назад

      @@chriss3404 yes, the planning of the curriculum is quite problematic. For example, teaching network engineering, I was surprised one day to find out that many of the students saw the terminal for the first time in the networking lab course, as due to change in the study plans the unix basics stuff became optional. Naturally, this was a massive difficulty spike for the unprepared, and a total pain for us to resolve, as we could not just tell them to "get good".

  • @bryanenglish7841
    @bryanenglish7841 27 дней назад +19

    I've interviewed at plenty of companies and they've never asked me a single Git question, yet it's incredibly important to my day to day work. I have been asked plenty of nonsense algorithm questions that I never use. Perhaps there is a system of perverse incentives afoot?! HMMMM THEO?!?!

    • @henryvaneyk3769
      @henryvaneyk3769 27 дней назад +2

      When you apply for a job at our company you need to do a small project and supply the solution in a GIT repo.

    • @briankarcher8338
      @briankarcher8338 23 дня назад +1

      You're expected to know Git these days. It entered the "why ask?" territory years ago.

  • @themoderncoder
    @themoderncoder 27 дней назад +9

    This is basically the motivation behind most of the videos on my channel. As a former software engineer and people manager in tech, I’ve never seen a more important, yet under taught, daily skill than Git.

    • @theMadZakuPilot
      @theMadZakuPilot 27 дней назад +2

      I absolutely love your git videos. please keep making them

  • @Holobrine
    @Holobrine 27 дней назад +7

    Facebook uses Mercurial and it turns out the reason for that is the git team didn’t want to work with them when they ran into scaling issues, but the mercurial team was willing

    • @morosis82
      @morosis82 26 дней назад

      Mercurial isn't that fundamentally different to git from a usage perspective, if you know one the other is fairly familiar.
      If you don't know either or svn then it's a problem. Don't tell me you know clearcase or sourcesafe, you know nothing.

    • @stevecarter8810
      @stevecarter8810 6 часов назад

      We have large subversion and IBM ALM projects trying to get over to git and the answer to so many issues is "don't have that project to track, have a different project that suits git"

    • @morosis82
      @morosis82 2 часа назад

      @@stevecarter8810 I'd be surprised to see one that doesn't suit git. The one we migrated from Clearcase was a mix of COBOL, Java and Adobe Flex, and included CICD pipelines that transpiled the COBOL into a native Java stack using some library I can't remember on a Jenkins stack, with ephemeral Dev environments available per developer as well as the standard qa/stg/test all hosted in AWS EC2.
      It took a few stages to get there but my god was it worth moving off Clearcase.
      Atlassian has a decent article on moving from svn and the tooling there is much better (we had to write our own to import the history).

  • @EmperorFool
    @EmperorFool 27 дней назад +9

    I used a graphing calculator for my math classes. It would have been insane not to, but there were no courses on how to use one. You just LEARNED IT YOURSELF because it was so useful.
    There were also no Emacs or Vim courses for CS, but you're insane if you pursue a CS degree with Notepad. Git is another invaluable tool you should learn to be productive.

    • @NicolayGiraldo
      @NicolayGiraldo 27 дней назад +1

      I have installed a TI-89 emulator on my smartphone, and of course to use it properly it required two books and some YT videos. It helped considerably in many classes, mainly linear algebra and coding theory.

    • @EmperorFool
      @EmperorFool 27 дней назад

      @@NicolayGiraldo Nice! That's exactly what I used back in the day. It's how I learned RPN, and it got me thru many a math class.

  • @krank23
    @krank23 27 дней назад +8

    I'm a programming teacher for (roughly equivalent to) high school students, and I force my students to use git. They don't have to type the commands - using vs code's interface for initializing, adding gitignores and committing/pushing is fine. They need to know the basic vocabulary and concepts, and frequent git commits during projects is a requirements for higher grades (if nothing else because it discourages cheating). If they ever need to use raw git commands, they'll have the mental structure ready, and will just need to connect commands to concepts they already know.
    I don't always get into branching, pull requests etc, but… they're high school students mostly working on personal projects. If they ned more advanced concepts, they'll be able to learn them as they go.

    • @cirion66
      @cirion66 5 дней назад

      I am a GUI guy... I hate terminal commands with passion - even when I create micro-tools for myself - I create a minimalistic GUI, because I couldn't be brothered to remember command syntax, that I would set myself...
      I have been using GIT GUI in Jetbrains IDE for over ~7years now... The only moment I type "git fetch && git pull" is when the IDE is not running/updating

  • @br3nto
    @br3nto 27 дней назад +6

    1:37 students don’t just magically start using things. VSCs are one of the primary tools of our trade. At the very least, VCSs need to be introduce to students, and explained their purpose and why they are important. VCSs should be part of the 101 curriculum, and should then be extensively used throughout a degree. Students should be industry ready… it’s one of the primary reasons for higher education... standardised industry ready training.

  • @harshmpatil
    @harshmpatil 27 дней назад +7

    I wish I could control my life through version control.

  • @SamOween
    @SamOween 27 дней назад +21

    CS and Software Engineering are not the same and that is perfectly fine. CS is science and software engineering is closer to working in a car factory. Git is part of the software engineering discipline which is ultimately a trade like carpentry.

    • @SamOween
      @SamOween 27 дней назад +4

      I should elaborate that I think there is a gap between computer science and software engineering. If most CS graduates want to get a software engineering job, universities and higher education should focus on software engineering degrees.
      Unfortunately, computer science sounds more prestigious than software engineering.

    • @ShootingUtah
      @ShootingUtah 27 дней назад +1

      At my university the different between software engineering and a CS degree is literally 2 classes. Every other class or curriculum of classes can transfer or counts towards either degree. The only difference is in CS you are forced to code an assembler and a compiler as a capstone project. As someone who doesn't ever want to make my own compiler for basically any reason I wish I would have done software engineering.

    • @grokitall
      @grokitall 27 дней назад

      ​@@ShootingUtahthere is a reason why the compiler matters. most of the work in advancing programming in the last 50 years or so has shown that domain specific languages are key to problem solving. this is basically what you do when you create an api, you extend the language to be better able to talk about your problem.
      the compiler part gives you an idea of how your bad api's can make that solution harder to implement, and more importantly, why. as a side effect it also n3eds proficiency in so many other types of programming that you would be hard pressed to find an alternative which still gave a framework for teaching all of those other aspects.

    • @henryvaneyk3769
      @henryvaneyk3769 27 дней назад

      You are 100% wrong. From a guy that has been developing for 34 years. It is usually the CS types that are the most argumentative when they need to do the practical stuff to get the job done.

  • @dakdevs
    @dakdevs 27 дней назад +15

    How do you substitute git with WhatsApp? Can I use iMessage instead too? I don't really use WhatsApp so I'm for sure missing something.

    • @PanDiaxik
      @PanDiaxik 4 дня назад +2

      I have used a discord as a repository, you can use anything that allows sending files to group chats. The reason we didn't use git was that we were using lab computers running Windows without admin access for students and installing git would take too much of the limited time we had

    • @marcosdiogenes9380
      @marcosdiogenes9380 2 дня назад +3

      ​@@PanDiaxik no you cannot. Git allows you to spot the changes somebody else made to your files before they are applied. It allows you to look at all the changes you made throughout your development without needing to open the project back and forth to compare yourself, among a bunch of other things that these tools just don't provide.
      Git is not a place to store your files, it's a version control tool.

  • @jacobleslie8056
    @jacobleslie8056 27 дней назад +5

    omg. this is the such a mild take. it's the "lemon & herbs" of spicy takes.

  • @spuzzdawg
    @spuzzdawg 27 дней назад +4

    Im pretty sure that one of my intro to programming courses in my engineering degree spent about 1 lecture talking general concepts of various code repository tools, e.g. git, svn, mercurial etc. Thats probably all you need at the uni level.

  • @ambhaiji
    @ambhaiji 19 дней назад +1

    The people that say git is not must to learn are most likely the same people that say you cannot drink soup straight from the bowl.

  • @gentlemanbirdlake
    @gentlemanbirdlake 27 дней назад +3

    We are almost at a point where with copy on write filesystems the version control is inherent in the base FS and then you can just plop VCS tagging and branching abstrations upon it and call it a day. VCS all the time everywhere and tag it if you really want to keep the history archived.

  • @juliocorzo3241
    @juliocorzo3241 27 дней назад +3

    I remember turning in assignments via FTP because that's what the teacher wanted; I explicitly asked for us to use git, but the teacher had been teaching for like 30 years, and I really doubt he had ever used it.

  • @Rohinthas
    @Rohinthas 27 дней назад +2

    I am happy to report that my Software Engineering class had TWO whole lessons dedicated to version control and the homework for those lessons included initializing a git repo a performing a couple of the basic commands. Granted by that point I had been using git for a while but I was thoroughly shook when I met people from other schools that had never used it.

  • @Phaceial
    @Phaceial 27 дней назад +1

    How are assignments turned in? Starting my sophomore year I had to turn in projects with links to my github or I was managing them in a classroom org....

  • @echorises
    @echorises 27 дней назад +8

    All the degrees exists for the sake of the academia, it is employer's decision to decide whether or not they are applicable for getting jobs as well. Some industries rely more on the degree as the knowledge to attain for the job is not publicly available somewhere else. Programming is not one of those industries.
    In reality though, a university graduate will always be at least slightly more disciplined or open to to learn the rest of the required knowledge. If it is a CS degree, then you--as the employer-- know that they know at least some stuff. A CS graduate, fresh out of the school, will always be lacking in knowledge that is in the job description while being overly knowledgeable in stuff that are not in the job description.

    • @echorises
      @echorises 27 дней назад +4

      Also, academia is not "teaching what you have learned." Academics are not teachers. They are put into the position to teach simply because by default they have so much to teach and there need to be a way to keep them useful while they are not producing "knowledge" which is the actual description of what you do in academia. In any serious university, you will see that your professors use their right to go on sabbatical immediately when it is possible to finish up their real academic work.

    • @grokitall
      @grokitall 27 дней назад +2

      ​@@echorisesI would argue that while there is a component of tenure which is about generating new knowledge, if you are so dense that you cannot pass the surrounding context on to your students, you are not really competent to get tenure in the first place.
      it is also a well known and well documented fact that understanding a problem can be hard, but helping someone else understand it is even harder and more importantly a different skill set involved.

    • @echorises
      @echorises 27 дней назад

      @@grokitall I agree with you completely. But I tend to draw a line between the reality of the situation and what the characteristics of academia should dictate to begin with.
      Academia was started to be seen a "job factory" because industries preferred that if there was a job factory, it should be rooted in higher education. This, in turn, caused academia to be more like the industries (especially in capitalist countries where education is actually an industry). But the requirements of both differs from each other greatly. In the end, you end up with professors who are neither precise enough to be considered tenured nor knowledgeable or fast-adapting enough to be in the industry.
      After all, underlying idea of the university is still them being the place to generate knowledge while being surrounded by people who seek to generate knowledge, not converting students into good workers. It is the industries' responsibility to come up with solutions to address working discipline.
      That is why, if I really need to hire a CS graduate, I realize that it is MY RESPONSIBILITY to nudge them towards learning git, IDE, etc. I will even take this further, I would be very suspicious of recently graduated people who are in their early-20s with both a higher education and industry knowledge if they were not programmers before they enrolled in university. I would take the person who immersed themselves in the university life, instead of the people who closed themselves in their rooms and learned stuff that are specifically required in the industry.
      Saying all that, I don't think "git" is an industry-specific tool. I took all my class notes while using git and I wasn't even a CS major. Git should be used by everyone who uses computers to do stuff.

    • @grokitall
      @grokitall 27 дней назад

      @@echorises i agree version control is to important and useful to only be used for programming. i would much rather have a repository of useful txt files handled with version control, instead of having microsoft word trying to mishandle multiple copies of a binary word document which has been modified by multiple people. git is just the best version control client we have.
      unfortunately, higher education has little to do with generating new knowledge. it is mostly a certificate mill used to generate enough income to pay for teachers and administrators to have a job. even worse, in higher level education a certain amount of teaching is forced upon post doctoral students without them being g8ven any teacher training, while professors are jumping through hoops trying to get external funding to pay for a very limited amount of research, with most of the time being used with students and funding hunts. worse still, until you get tenure, and thus don't need to worry about having a job next year, your actual research wil be constrained by the university to those non controversial bits of the subject that will help you get tenure.
      only after getting tenure are you free within the funding constraints to actually do any research you want in what little free time you are given. with the possible exception of japan, no country has yet produced a system where there is a part of the university which takes the pure research, funds getting it to the point where it is usable by industry, and then licenses the technology to industry to generate revenue to fund the part which takes the pure research and develops it.
      at that point, your tenured professors would actually be being paid to do pure research combined with developing existing research into stuff usable by industry, while the untenured ones could use the university development fund to find research which would be funded by the university, would help towards tenure, and would be passing knowledge to students. the post doctoral students would still split the time doing work which the professors had got funded combined with teaching.
      i would say it should not be possible to get your degree without having to get a teaching qualification as part of it, as so much of the time of professors and post docs is forced to be spent on teaching.
      as to producing students fit for industry, that has never been part of the goals of universities. with the exception of Germany, no country has a system of general education which is not designed with the intent of filtering out those not fit for an academic career, and basicaly throwing away the rest. germany does actually have a second path, dealing with some vocational qualifications.
      however most education is designed to take those unsuitable for academia and turn them into nice quiet sheeple, which we just cannot afford any longer.

    • @NihongoWakannai
      @NihongoWakannai 22 дня назад

      "degrees exist for the sake of academia" is for rich people with money to waste. The average joe doesn't have money to spend on a degree without relying on it being an investment into getting a good salary to pay off their debt. In the modern day knowledge is incredibly free and open on the internet; A university is where you go to get a piece of paper to prove you got knowledge so you can get a job, if you just want knowledge then you don't need to pay all that money.

  • @colecoleman8135
    @colecoleman8135 27 дней назад +4

    You keep saying your channel isn't for beginners, but I would like to counter that. While you cover dense topics, I can say as a new programmer you have been incredibly helpful for me. I'm self taught and don't have anyone around to talk about programming with. While you talk about complicated subject matter, you give me tons of thing to look into. I use your subject matter as a guide to things I should learn about and it has made me much better. Unrelated, I know how to use git.

  • @elpupper_
    @elpupper_ 27 дней назад +9

    youtube not gonna do anything about these bots

  • @nicejungle
    @nicejungle 27 дней назад +2

    I cannot imagine coding now without git, it's just insane.
    How do you expect find regressions without git-bisect ?

  • @kuakilyissombroguwi
    @kuakilyissombroguwi 27 дней назад +3

    It's absolutely insane to me people are graduating from college with CS degrees who don't know git, and have never used libraries/frameworks/APIs...
    Are they still teaching mainframes, banking database systems and assembly language like it's 1999?

    • @piff57paff
      @piff57paff 6 дней назад +1

      I'm not sure if they have to teach frameworks, as depending which field you'll enter, there are different frameworks expected.
      Why don't students skim through job posts and check requirements and then learn on their own? Back then we were told that university isn't school and you'll have to learn on your own as well. All the good devs at university coded in their free time and/or took on a side job.
      TBH if I get the feeling during an interview, that a candidate is not able to figure out what they need to learn on their own, that would be concerning for me.

    • @kuakilyissombroguwi
      @kuakilyissombroguwi 6 дней назад

      @@piff57paff 100% this. With the added caveat that back when coding wasn't a "hot job" universities were teaching people cutting edge stuff. Let's not forget universities were the first to get access to the internet. Nowadays, they just can't seem to be capable of keeping up with the times.

  • @TazG2000
    @TazG2000 26 дней назад +3

    Can you effectively use tool x" is a far more important question than "did you happen to learn tool x while in school". If and when the industry moves to a replacement of git, knowing the old thing will be worthless compared to the ability to adapt on the spot.
    I understand being surprised at a lack of experience, but the leap to "these people are unhireable" for this specific reason seems pretty damn elitist.

  • @arcanernz
    @arcanernz 26 дней назад +1

    Git can be learned in a day if you’re learning very basic very surface level commands. I converted our entire codebase from csv to svn to git as well as taught our whole team git. It took me two weeks to learn the common commands and a month or two to internalize all the concepts. It is not intuitive and ppl who think git is easy most likely barely know git. But this was 15 years ago and it’s probably easier to learn git today but it’s still pretty complex.
    Knowing your tools well will make your job easier and make you a more capable developer.

  • @benmeehan1968
    @benmeehan1968 27 дней назад +2

    Git isn’t the issue, it’s a CS degree without including version control. If you learn the principals of VC, you know git, without even having to have touched it.

  • @SuperKavv
    @SuperKavv 27 дней назад +4

    Git is essential for software development, and schools should prepare you for the industry by teaching you the basic tools. Doesn't have to be more than an hour or anything.
    Regarding CLI vs. GUI, I prefer CLI, but there are things that GUIs are just great at. Please do point out my skill issues, so I can improve.
    - Quickly selecting specific files to add instead of tabbing through near identical file paths (I know interactive exists). I guess you can use wildcards, haven't done that in a long time.
    - Only adding specific line changes from a diff to a commit, e.g. you've made two changes to a single file and want to commit them separately. Sometimes you can sort it out with stash, but it always sucks. GUIs make that much easier.

    • @oyasumi_zim
      @oyasumi_zim 27 дней назад +2

      I like to use them both together the way you mentioned, the CLI is faster for most things but when making a large change I will review each line and optionally stage a hunk or line and make sure I am happy with what I am commiting which is easier to do in the GUI and kind of clunky when using interactive commit. If the change is fairly small then I'll just use the cli to run a diff and add the files and commit.

  • @yousafraza9347
    @yousafraza9347 27 дней назад +3

    any take on angular new direction?

    • @JeffGeerling
      @JeffGeerling 27 дней назад +10

      They're approaching things from a new angle.

  • @SaiKrishnaDubagunta
    @SaiKrishnaDubagunta 26 дней назад +2

    If Engineering degrees were to teach what's used in the jobs, there's going to be a new curriculum every 6 months. The job of engineering degrees, even with the most volatile engineering dept (CS) is to drill the fundamentals in, because the fundamentals don't change. The degrees are taught to develop a mindset to solve problems, NOT TO GET JOBS. You do what you want with the knowledge you have, that's where career counsellors come in.
    I wanna go to a college not to learn what I can already learn while working, but how to learn something new.

  • @-parrrate
    @-parrrate 27 дней назад +2

    fun fact: Git is 18 years older than 0b syntax for integer literals in C

  • @theoldknowledge6778
    @theoldknowledge6778 27 дней назад +2

    I’ve graduated in CS and I can confirm that. The graduation is more focused on algorithms, logic, math and data structures

    • @grokitall
      @grokitall 27 дней назад

      the point here is that there are a set of core technologies which are essential for being able to work on code in a modern context, most of which can e taught the basics of in less than an afternoon.
      structured programming used to be controversial, so was version control, and so is continuous integration. i would argue that you should not be able to graduate without being able to submit code, which implies knowing a language, producing a program, checking it into version control, and having it pass continuous integration.
      all of that can be taught in an afternoon using fizbuzz and the idea that you can spend four years learning advanced techniques without learning the basics of working in a modern high end environment should not be acceptable.

    • @ArgoIo
      @ArgoIo 26 дней назад

      So was mine. We still had to turn in our homework using git and docker for more complex tasks.

  • @thomassynths
    @thomassynths 27 дней назад +7

    Theo, where was the (deserved) shaming when the Pal World devs said they didnt use git? You applauded them.

    • @Z3rgatul
      @Z3rgatul 27 дней назад +2

      Lmao, good catch

    • @ciarancurley5482
      @ciarancurley5482 27 дней назад +4

      I'd add that to the 5%. Pal World dev is just wierd, but they obviously know what there doing with svn.

    • @SnowTheParrot
      @SnowTheParrot 27 дней назад +1

      again, the exception.
      they all know how, just chose not too

    • @thomassynths
      @thomassynths 27 дней назад +1

      @@ciarancurley5482 they claimed they used a bucket of usbs and no vcs at all

    • @NihongoWakannai
      @NihongoWakannai 22 дня назад +1

      @@SnowTheParrot lmao no, they're absolutely insane for using a physical container of storage drives instead of version control software. Just because their hacked together game was wildly successful doesn't mean we should justify their crazy development practices.

  • @lisamith
    @lisamith 25 дней назад +1

    I have so many thoughts about this. Even friends of mine who studied physics eventually learned about Git when they were working on lab stuff.
    How somebody who wants to work on software does not acquire at least some knowledge about Git is beyond me.
    At my university every CS and software engineering student starts almost every project by creating a Git repository. There are even classes in which the professor will create a GitLab project for each group. In others a Git diff has to be submitted. I could go on and on about this

  • @paulkohler8868
    @paulkohler8868 25 дней назад +1

    We had a very basic overview of what VCS is, and an in class exercise where we had to show that we committed the assigned exercise to SVN. They told us that Git, Mercurial, and other VCS exists and let us explore those on our own time. Took less than half a class session and was plenty of prep for the group projects we had later in the semester. IMO a great approach.

  • @Viviko
    @Viviko 27 дней назад +13

    Wtf… folks actually graduating without knowing GIT…
    I do t even understand how to use the Git GUI. I tried it once and I was like… bruh. The CLI is way faster lol

    • @musashi542
      @musashi542 27 дней назад +1

      i didnt even know such thing exists .

    • @franciscogonzalez1879
      @franciscogonzalez1879 27 дней назад

      wait is there more than git cmd?????

    • @SahilP2648
      @SahilP2648 27 дней назад

      git cmd sucks, not sure how people would use it. I use git in VSCode with gitlens/gitless, it's an amazing experience using it.

    • @FlorianWendelborn
      @FlorianWendelborn 27 дней назад

      @@franciscogonzalez1879 dude there’s a whole ecosystem of git clients. To name a few common ones: Tower, Fork, GitKraken

    • @user-qm4ev6jb7d
      @user-qm4ev6jb7d 27 дней назад +3

      Don't care for Git GUI, but the Visual Studio integration with Git is quite good, actually.

  • @NithinJune
    @NithinJune 27 дней назад +4

    bro what

  • @uberfuzzy
    @uberfuzzy 4 дня назад +1

    At my last job, I worked with the tech writers, and we stored our entire help document system in git. Storing everything under "content as code" doctrine. It taught the tech writers some great new git skill sets. They didnt need to do anything fancy like rebasing or cherry picking or bisecting, just simple branch concepts. Even if they only ever did use the UI tools, the fact that they could go back to ANY point in our 8 year history and see who wrote or changed a line of text in any file blew their minds (and the legal team loved that too)

  • @kingarth0r
    @kingarth0r 20 часов назад +1

    Im thankful that my classes require us to learn how to use developer tools on top of doing classes. We learn git, GCP, React, vim, linux, pytotch, and more. This is on top of the standard curriculum (algorithms, OS, intro computer engineering, computer architecture, compilers, networks).

    • @kingarth0r
      @kingarth0r 20 часов назад

      Also we are required to learn git freshman year during DSA

  • @0nepeop1e
    @0nepeop1e 27 дней назад +5

    i really dont understand why people are mad for this, git is something not being taught in school or university, so it is completely normal somebody graduate without knowing it, and why mad when somebody just point out the fact. it is such a great tool and almost every company is using it, so someone is recommending it, thats all.

    • @SahilP2648
      @SahilP2648 27 дней назад

      Well for a decent sized project, you absolutely need to use git. But the problem is that students need to be taught WHY git is necessary, WHY it was developed (Torvalds developed it because he hated using the VCS solutions of the past and wanted to address and solve the issues facing those softwares), and WHY having stuff like branches and merging branches etc. is necessary. And I also found out that there's not a single video on YT that does a proper job of telling you intuitively how git works, also not to mention the only way I found it useful is to work with VSCode and gitless/gitlens, without which I am seriously in bad shape for solving merge conflicts lol. I use git CLI only for commands.

    • @harrytsang1501
      @harrytsang1501 27 дней назад

      In my university, you would have used git at least once, without understanding it
      But you would not need to touch linux/unix cli, database management, network protocols or heard of RESTful API before graduating.

    • @torsten_dev
      @torsten_dev 27 дней назад

      Our university is teaching git along with basic ethics (fun stories of code that killed maimed or bankrupted). It's a required course prior to a collaborative coding project.

    • @anupambphoto
      @anupambphoto 6 дней назад

      Because the way to get traction in RUclips is say a sentence and put a lot of emphasis as if it is shocking and get a whole lot of camps for and against the topic. The next topic is peanut butter and jelly is good for sorting or not.

  • @stephenjames2951
    @stephenjames2951 27 дней назад +3

    Not using git is like a mechanic not knowing “righty tightly lefty loosy”

  • @mchisolm0
    @mchisolm0 27 дней назад +2

    Yeah, as a teacher, highlighting how the file system works for students learning git has been important. It feels this is a more important conversation than I realized because I would have thought this would be easy to get buy-in. Maybe not buy-in from universities, but still.

  • @johnhershberg5915
    @johnhershberg5915 26 дней назад +2

    I'm gonna play devil's advocate here and say Theo's take was a 2 not a 1.
    There are whole industries that don't use git out of necessity. The gaming industry only recently started switching to git, and only for small projects. Because you're dealing with assets that can be in the hundreds of megs per file git is not really appropriate. When I started in the gaming industry we literally just had a network drive we all copy/pasted files into. When we finally installed our own SVN server at our studio it was a blessed day. But it actually took a while to get used to it. We would deal with issues like the drive getting full. We'd have to find the largest files, which were often medium-sized files with many commits, and ask someone if we can remove the past revisions.
    I made the switch from gaming to web about 5 years ago and had to learn git. Yeah it took 5 minutes. But still I wouldn't say that it's so trivial as to be a lukewarm take. I had a huge advantage of already working in a team and understand team dynamics and I was able to adapt within a week. But if you're a grad? I wouldn't expect you to have these soft skills. Which brings me to the next point...
    Soft skills. Using version control comes with a whole culture. At my current job we insist on many small PRs for example. But wait, what's a PR? We didn't have PRs when we used SVN (or a dropbox, or a network drop). So now we have code reviews. And now you need to know that your code will be read by other people, which takes time, so you need to keep it concise. If you're a fresh grad then you've probably never even worked on a team. You never had to rely on someone else to read every commit you make before it can get merged to main. If you come from another industry that doesn't function like this you'll have this cultural part missing.
    So when people say "everyone should know git to get a job", what other people hear is "everyone should take on my preferred culture or you're a loser", which comes off a bit harsh.
    Ultimately I still think Theo is right here. But he's not 100% right, only 95% right. I think highlighting this nuance would have benefited this conversation some.

  • @fredoverflow
    @fredoverflow 27 дней назад +8

    I would rather hire someone who admits not knowing git at all than someone who confidently (and incorrectly) claims a commit is diff/delta/set of changes (when it fact every commit is a complete snapshot of the entire project).

    • @SahilP2648
      @SahilP2648 27 дней назад +1

      Depends on the context when you say that. git works on diffs. When you checkout a hash (the hash is the combined hash of the project state with author signatures and all that), git will calculate all the changes and recreate your code. If git were to maintain each file's version separately (as in whole files), you would see a lot more storage occupied from your .git folder.

    • @harrytsang1501
      @harrytsang1501 27 дней назад +1

      @@SahilP2648 You are correct. A commit is a set of diffs. However, the git hash, tag and branch names points to a complete snapshot of the codebase.
      I will still confidently say that a commit is a set of diffs. The fact that the handle/reference/pointer that you use to access that commit points to a complete snapshot does not change that fact

    • @SahilP2648
      @SahilP2648 27 дней назад

      @@harrytsang1501 like I said, git does not store your entire project's files as is, in that sense it is not a snapshot. When you checkout a hash then yes it restores all files within your root the way you want it to be, but git will always calculate the diffs and store them separately, never whole files, unless you add a new file to the project, only then it will store a new whole file.

    • @NihongoWakannai
      @NihongoWakannai 22 дня назад +1

      @@harrytsang1501 So it is a set of diffs and OP is just being an annoying pedant? Cause I was real confused wtf they were talking about.

    • @blarghblargh
      @blarghblargh 17 дней назад

      @@NihongoWakannai a git repo is a tree of diffs, yes. and any individual sha is a pointer to a node in that tree, and is a diff on top of the previous node. I am not sure why they'd say it's one or the other, and not both :P

  • @amomchilov
    @amomchilov 27 дней назад +4

    There's no way someone sincerely believes that "basic git commands" can be learned in 15 minutes. Git is incredibly complex, we only find it easy because we're used to its quirks.

    • @nicejungle
      @nicejungle 27 дней назад +2

      it's very easy as long you already know what is a directed acyclic graph, which every programmer should know too

    • @amomchilov
      @amomchilov 27 дней назад

      @@nicejungle What if the people in question aren't programmers yet? They're students, they won't know most things yet, almost by definition.

    • @nicejungle
      @nicejungle 27 дней назад

      @@amomchilov
      we're talking about graduate students.
      If in 4 years, you've never used git, it means you've never programmed and/or you've never used an opensource project on internet (everybody use git).
      It's a red flag

    • @amomchilov
      @amomchilov 27 дней назад

      @@nicejungle since when were we talking about graduate students? This video talks about git being one of the first things all uni students should learn while learning to code.

    • @nicejungle
      @nicejungle 27 дней назад

      @@amomchilov
      please watch the video

  • @neoqueto
    @neoqueto 27 дней назад +2

    Everybody tells you to just "use git" but no one ever cares to explain the philosophy and logistics of using it. Why commit? Why clone? Why push? Why branch? And when? And when not to? And how to learn to appreciate it being less convenient than just hitting ctrl+S, but absolutely necessary?
    Because MISUSE of git is just as bad as not using it.

  • @hanes2
    @hanes2 27 дней назад +2

    When I was in school for CS back in 2009-2010. Using git was a optional for clearing the course, but was a requirement to clearing it with high grade/points

  • @jesse9996
    @jesse9996 27 дней назад +3

    I'm not sure why you find that astounding Theo. It sounds like something a student might pick up later.

    • @_DATA_EXPUNGED_
      @_DATA_EXPUNGED_ 27 дней назад +1

      It tells a whole lot about the student in question. Never having used git or other version control also means:
      1. No engagement with the open source community at all
      2. No interaction with any existing projects outside of university
      3. Never worked together with people outside of your direct peers in university
      4. Barely any engagement with the coding community at large - it's practically impossible to not stumble over git when you actually talk to people, read stuff, ... - the "hammer" analogy really fits.

    • @jesse9996
      @jesse9996 27 дней назад

      @@_DATA_EXPUNGED_
      1. That's not necessary at all if by engagement with open source you mean writing code for open source. LOL
      2. and 3. are essentially the same...
      Just because students haven't learned Git doesn't mean they have "No interaction with any existing projects outside of university".
      4. Just because students haven't learned Git doesn't mean they don't know what it is. LOL

    • @_DATA_EXPUNGED_
      @_DATA_EXPUNGED_ 27 дней назад

      @jesse9996 Your response displays a significant lack of maturity. If you can't deal with disagreement, don't put your opinions out there for everybody to comment on.
      1. No, not exclusively. Even such small things as downloading a repo from github, doing some small tweaks for yourself, etc - usually you are going to use git for that.
      2. I'm not aware of a single significant project not using a VCS. It's just not a thing. Yesyes, some tiny exception probably exists somewhere - but the likeliness of a student randomly seeing them is rather low.
      4. Oh sweet summer child, you have no idea... I've never seen such a high rate of utterly untalented, uninterested and curiosity-free young people who also assume they deserve a massive compensation for virtue of them being able to sit through a couple years of university regurgitating books.
      The most important traits are curiosity and general interest/passion and at least a decent coding ability, though the former 2 weigh more heavily.
      I have - so far - never had a person interview who was clearly passionate about their craft but didn't know at least git basics, it just doesn't happen.
      And _those_ are the people I want to hire. Passionate ones who love what they are doing and are willing to keep learning forever.
      In return, they get those massive salaries - not for their degree or pure existence though, instead for their good work.
      I've stopped hiring recent grads without at least a couple years experience (own projects count too if they can explain what they did well, of course), there's just no point. There's enough capable people out there right now, why would I take the risk and hire an uninterested "i just want the money" guy?

  • @plumbingphase
    @plumbingphase 27 дней назад +3

    people complaining about this "gatekeeping" will remain jobless 😂

  • @Hycord
    @Hycord 3 дня назад

    When I came to my current university I asked students in the CS department about the information and they said they don’t touch Git, docker, or anything that actually builds good engineers

  • @prozacgod
    @prozacgod 3 дня назад

    My favorite source control was a locking-based source control that was used in Delphi back in the 90s. Every file was checked out and locked to prevent other developers from working on it. It was absolutely abysmal and you had to often beg other developers to release their stale locks. "It was fun."

  • @pinatacolada7986
    @pinatacolada7986 27 дней назад +6

    The education system is obsolete garbage. You can learn faster on RUclips. Education is the last thing young people should be spending money on when houses and well paid jobs are unobtainable.

    • @piff57paff
      @piff57paff 6 дней назад

      Education costing money is the real issue then.
      Education has its place as it's giving a framework to build upon. If you don't know what you don't know, things are getting hard. On the other hand education and lecturers are often lagging behind reality as often they are somewhat detached from the industry.

  • @supdawg7811
    @supdawg7811 27 дней назад +6

    Yeah I kinda think this is a bad take. CS is largely unrelated to Git. Sure, git uses some CS concepts, but students will get more out of trying to learn foundational stuff (which Git isn’t) when they have _all_ the resources available to them. Learning git doesn’t require a university’s resources.
    Also, re: version control: also a very simple concept that doesn’t require a university’s resources.
    Edit: I’m watching this more and more and these takes are getting worse and worse. These people want to turn CS into software engineering, which it absolutely isn’t.

  • @safairette
    @safairette 27 дней назад +1

    In one of my earlier courses in the first week's practice the lecturer just went: "we're using git for submissions and grading, today's work is just the CLI basics, if you know that already you're free to go, proper work starts next week". And by the end basically everyone knew it well enough to do most of the work asked of us.

  • @datguy4104
    @datguy4104 День назад

    I have a friend that's about to graduate with an associates in CS. I asked him what his favorite language was and he hadn't been taught any and hasn't learned any on his own.

  • @ibuprofenPill
    @ibuprofenPill 16 часов назад

    The good news is it’s easy to learn. If you know clone, fetch, add, commit, stash, push and rebase, you’re on your way.

  • @elirane85
    @elirane85 7 дней назад +1

    I didn't use or know git when I was a CS student. But in my defense, git was only invented like a year or two before I started collage and wasn't wide spread at all :)

  • @pedrocruz-ds6bj
    @pedrocruz-ds6bj 17 дней назад

    What cs degree are you guys doing?? I was introduced to git in like the second year, and that because the first year was a general course in stem

  • @salsaman
    @salsaman 25 дней назад +1

    I wouldn't say learning git specifically should be a prerequisite, because the company employing a grad may use some other code repository system. I would say it's more important to demonstrate knowledge of the concepts of code versioning systems, undestanding things like pull requests, merging, rolling back changes, creating branches, commiting changes etc. If git is used as an example of that, then fine, The challenge should be more along the lines of - here is a cheat sheet for git, here is a list of tasks, describe the sequence you would use to complete the tasks efficiently. I use git all the time but I still have to look things up when I want to do something like rolling back to a previous version or merging branches. Even if I think I know what the command is I want to double check so I don't accidentally do something stupid.

  • @davidbehrle6114
    @davidbehrle6114 2 часа назад

    I'm a chemistry student and even I use git for version control on my math/physics notes written in LaTeX, it's crazy to me that it's even possible to study and get a degree in CS/programming without at least learning the absolute basics of git. Seems like a way to make your life needlessly harder on the part of the students and a failure to prepare students for their careers on the part of the universities

  • @Charles-sy7ej
    @Charles-sy7ej 27 дней назад +2

    failed at learning to program. but I know the basics of git. I can set up an ssh key without being shown, check logs status etc, clone projects, commit, and push code. it really is easy but if I wasn't on youtube learning what I should learn I probably wouldn't know git.

  • @recursivecube44
    @recursivecube44 27 дней назад +1

    I am studying CS at a University in Europe and I really like the approach my course took to making student learning git. It wasn't taught as a class on its own, we just had to use it to submit our assignments for some of our courses. They provided some guides and some optional tutorials for the people who needed help, but we were left to our own devices. I think this is a great approach as it makes students follow the same pattern that they will have to do for every tool they will use throughout work as a dev. I can't fathom that a university course these days doesn't make students use at least some kind of version control.

  • @johnbarnhill386
    @johnbarnhill386 3 дня назад

    My college program requires git to be used for one of the classes in the first semester, and only needed maybe half a lecture to teach. This last semester, I had the pleasure of working with someone that didn’t know what a commit was, despite having had to pass the class where you needed to use git. Complete nightmare.

  • @channelgogrvk
    @channelgogrvk 17 дней назад

    my friend worked for a company about 15 years ago where they weren't using any revision control. they were using tarball snapshots. it was a large enterprise with a custom client management application, >150,000K LoC. i was shocked. he didn't even know how to use revision control either.

  • @web3simplified793
    @web3simplified793 27 дней назад

    what push back were u getting? like if you dont know git by the time your done college then something has definitely gone wrong. lol just getting to the part of the video where theo calls out. i fully agree if you cant learn git in 4 years, its not good

  • @BroudbrunMusicMerge
    @BroudbrunMusicMerge 5 дней назад

    Software engineer here -- my college didn't teach me any git, I was fortunate enough to learn it through my internship and through open source projects. Curriculums don't always have git and they absolutely should

  • @AzraAnimating
    @AzraAnimating 27 дней назад +1

    In every CS Course I’ve heard in College git was introduced as „git - the Version control program, you probably should know how this works“…

  • @user-du9ch3tn2v
    @user-du9ch3tn2v 19 дней назад

    I think git is simple just learn the basics its fast. But what about js frameworks do you need them or is it enough you can provide data via python server and html?

  • @Wlerin7
    @Wlerin7 26 дней назад +1

    "Without being a programmer for long enough to know git" -- you mean like all of 5 seconds?

  • @Efandr
    @Efandr 27 дней назад +1

    Even has a self-taught for less than a year, I know how to use: API,frameworks, liberty,
    It is absolutely insane that people who spend 4 years and a lot of money, don't even know that type of stuff 💀

  • @cantcode1001
    @cantcode1001 27 дней назад +1

    I see your point Theo, but seriously, basic git is learned in an afternoon. I know because I just got my first coding job at 43 years old about 8 months ago, having never used git command line in my life. I learned it enough to commit my changes and push them to dev on my first day. Who cares if the applicant doesn’t know git? It literally takes a couple hours and the skill is there.

    • @WoWUndad
      @WoWUndad 27 дней назад

      you realize 600 other applicants who do know git applied within the last 24 hrs? if someone says they dont know git it means theyre probably