We Need To Stop Lying About Git

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 มิ.ย. 2024
  • I really didn't mean to start this one again. Ugh. Every person who wants a job in code should probably know git. I hate that this is controversial. Computer Science doesn't need to teach it, but when you get you degree, you better know git.
    SOURCES
    x.com/t3dotgg/status/18019020...
    x.com/t3dotgg/status/18023708...
    Check out my Twitch, Twitter, Discord more at t3.gg
    S/O Ph4se0n3 for the awesome edit 🙏
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 918

  • @TJChallstrom916-512
    @TJChallstrom916-512 6 วันที่ผ่านมา +358

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

  • @ciarancurley5482
    @ciarancurley5482 5 วันที่ผ่านมา +175

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

    • @haleemhawkins8112
      @haleemhawkins8112 5 วันที่ผ่านมา +18

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

    • @TomRaine
      @TomRaine 5 วันที่ผ่านมา +1

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

    • @mkabilly
      @mkabilly 5 วันที่ผ่านมา +3

      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 5 วันที่ผ่านมา

      yoo true, happened to me

    • @kendlemintjed7571
      @kendlemintjed7571 4 วันที่ผ่านมา +1

      story of my life

  • @ericng8807
    @ericng8807 6 วันที่ผ่านมา +448

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

    • @leoaldamas
      @leoaldamas 6 วันที่ผ่านมา +3

      🤣

    • @bentruyman5077
      @bentruyman5077 6 วันที่ผ่านมา +29

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

    • @SamOween
      @SamOween 6 วันที่ผ่านมา +10

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

    • @ravenecho2410
      @ravenecho2410 6 วันที่ผ่านมา +3

      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 6 วันที่ผ่านมา +12

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

  • @Sammysapphira
    @Sammysapphira 6 วันที่ผ่านมา +101

    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 5 วันที่ผ่านมา +12

      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 5 วันที่ผ่านมา +3

      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 5 วันที่ผ่านมา +5

      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 5 วันที่ผ่านมา +2

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

    • @Renoistic
      @Renoistic 5 วันที่ผ่านมา +1

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

  • @artrix909
    @artrix909 6 วันที่ผ่านมา +388

    Wait... people get hired without knowing git?

    • @LiveType
      @LiveType 6 วันที่ผ่านมา +51

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

    • @bentruyman5077
      @bentruyman5077 6 วันที่ผ่านมา +27

      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 6 วันที่ผ่านมา

      @@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 6 วันที่ผ่านมา +10

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

    • @mascot4950
      @mascot4950 6 วันที่ผ่านมา +12

      @@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.

  • @boreddad420
    @boreddad420 6 วันที่ผ่านมา +70

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

  • @tato-chip7612
    @tato-chip7612 6 วันที่ผ่านมา +66

    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 5 วันที่ผ่านมา +2

      why do they think that's gatekeeping?

    • @sub-harmonik
      @sub-harmonik 5 วันที่ผ่านมา +12

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

    • @rogergalindo7318
      @rogergalindo7318 4 วันที่ผ่านมา

      gold comment lol

    • @ImperiumLibertas
      @ImperiumLibertas 3 วันที่ผ่านมา +1

      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 2 วันที่ผ่านมา

      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

  • @lunalangton5776
    @lunalangton5776 6 วันที่ผ่านมา +113

    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 5 วันที่ผ่านมา +6

      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 5 วันที่ผ่านมา +19

      @@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 5 วันที่ผ่านมา +4

      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 5 วันที่ผ่านมา +5

      @@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 5 วันที่ผ่านมา +5

      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.

  • @MrDaAsif
    @MrDaAsif 6 วันที่ผ่านมา +88

    "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 5 วันที่ผ่านมา +3

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

    • @ludamillion
      @ludamillion 4 วันที่ผ่านมา +1

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

    • @thekwoka4707
      @thekwoka4707 4 วันที่ผ่านมา +3

      @@nctay but none are actually exceptions

  • @dstick14
    @dstick14 5 วันที่ผ่านมา +23

    Git is like quick saving your game before a boss fight. When you say in an interview that I don't know git it implies that in a boss fight scenario either you'll come on top or you will get your ass beat taking the entire team down with you. So learn to quick save aka learn git

    • @ImperiumLibertas
      @ImperiumLibertas 3 วันที่ผ่านมา

      Take that analogy to the extreme with stacked diffs. The review comes down to the commit instead of the entire feature.

    • @myklenero
      @myklenero 2 วันที่ผ่านมา

      Haha this is like playing Elden Ring and never touching a site of grace

    • @briankarcher8338
      @briankarcher8338 2 วันที่ผ่านมา

      Maybe you like to play rogue-like games?

  • @firstlast-tf3fq
    @firstlast-tf3fq 5 วันที่ผ่านมา +34

    “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 5 วันที่ผ่านมา

      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 4 วันที่ผ่านมา +2

      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 4 วันที่ผ่านมา +1

      @@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

  • @keffbarn
    @keffbarn 5 วันที่ผ่านมา +16

    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 5 วันที่ผ่านมา

      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 5 วันที่ผ่านมา +2

      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 5 วันที่ผ่านมา +2

      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 4 วันที่ผ่านมา +4

      @@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 4 วันที่ผ่านมา

      ​@@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).

  • @LetterlessAlphabet
    @LetterlessAlphabet 5 วันที่ผ่านมา +11

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

    • @darkwraithcovenantindustries
      @darkwraithcovenantindustries 5 วันที่ผ่านมา +4

      git-o-logic

    • @kieranhosty
      @kieranhosty 4 วันที่ผ่านมา +1

      git-o-logic

    • @ImperiumLibertas
      @ImperiumLibertas 3 วันที่ผ่านมา

      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 2 วันที่ผ่านมา +1

      @@ImperiumLibertas never needed it lol

  • @gardnmi
    @gardnmi 6 วันที่ผ่านมา +24

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

    • @user-in2cs1vp6o
      @user-in2cs1vp6o 6 วันที่ผ่านมา

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

    • @user-nr4ju3qd9o
      @user-nr4ju3qd9o 6 วันที่ผ่านมา

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

    • @nicejungle
      @nicejungle 5 วันที่ผ่านมา

      Me neither. It's just insane

    • @JoshPeterson
      @JoshPeterson 5 วันที่ผ่านมา +1

      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 4 วันที่ผ่านมา

      @@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

  • @hatter1290
    @hatter1290 6 วันที่ผ่านมา +57

    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 5 วันที่ผ่านมา +3

      agree. DAG for example

    • @luuc
      @luuc 5 วันที่ผ่านมา +3

      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 5 วันที่ผ่านมา

      @@nicejungle And specifically a Merkle DAG

    • @SJohnTrombley
      @SJohnTrombley 5 วันที่ผ่านมา +3

      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 4 วันที่ผ่านมา

      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).

  • @mattilindstrom
    @mattilindstrom 5 วันที่ผ่านมา +11

    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.

  • @RuySenpai
    @RuySenpai 6 วันที่ผ่านมา +25

    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 6 วันที่ผ่านมา +5

      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 5 วันที่ผ่านมา

      ​@@SahilP2648for you and your 32 subs 😂

    • @quinnherden
      @quinnherden 5 วันที่ผ่านมา

      ​@@paultapping9510Nobody starts with subs 🙄

    • @SahilP2648
      @SahilP2648 5 วันที่ผ่านมา

      @@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.

  • @dyto2287
    @dyto2287 6 วันที่ผ่านมา +29

    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 4 วันที่ผ่านมา +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

  • @MichaelSchuerig
    @MichaelSchuerig 5 วันที่ผ่านมา +8

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

  • @13zebras
    @13zebras 6 วันที่ผ่านมา +117

    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 5 วันที่ผ่านมา +3

      That's sad man.

    • @SnowTheParrot
      @SnowTheParrot 5 วันที่ผ่านมา +16

      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 5 วันที่ผ่านมา +1

      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 5 วันที่ผ่านมา +3

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

    • @Echa37-H37
      @Echa37-H37 5 วันที่ผ่านมา +3

      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.

  • @harrytsang1501
    @harrytsang1501 6 วันที่ผ่านมา +20

    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 5 วันที่ผ่านมา +4

      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 5 วันที่ผ่านมา +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 5 วันที่ผ่านมา

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

    • @avarise5607
      @avarise5607 2 วันที่ผ่านมา

      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 วันที่ผ่านมา

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

  • @advertslaxxor
    @advertslaxxor 6 วันที่ผ่านมา +15

    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 5 วันที่ผ่านมา +3

      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 4 วันที่ผ่านมา +4

      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 4 วันที่ผ่านมา

      @@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

  • @funkenjoyer
    @funkenjoyer 6 วันที่ผ่านมา +10

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

    • @BittermanAndy
      @BittermanAndy 4 วันที่ผ่านมา

      vcs != git.

    • @dloorkour1256
      @dloorkour1256 วันที่ผ่านมา

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

  • @bentruyman5077
    @bentruyman5077 6 วันที่ผ่านมา +17

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

    •  6 วันที่ผ่านมา

      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 4 วันที่ผ่านมา

      Version control != Git.

  • @elliottmarshall1424
    @elliottmarshall1424 6 วันที่ผ่านมา +37

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

    • @dstick14
      @dstick14 5 วันที่ผ่านมา

      I even think democracies should use public git repos so each one of their fup is trackable to when and who did it

    • @duven60
      @duven60 5 วันที่ผ่านมา +3

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

    • @TheKastellan
      @TheKastellan 5 วันที่ผ่านมา +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.

    • @dstick14
      @dstick14 5 วันที่ผ่านมา +2

      @@duven60 no need for elected representatives when the actual people can do the job if we use git, would be hella fun actually

    • @urisinger3412
      @urisinger3412 5 วันที่ผ่านมา

      Tracking issue for gay rights​@@dstick14

  • @themoderncoder
    @themoderncoder 5 วันที่ผ่านมา +8

    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 5 วันที่ผ่านมา +2

      I absolutely love your git videos. please keep making them

  • @ivanfilhoz
    @ivanfilhoz 5 วันที่ผ่านมา +6

    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.

  • @harshmpatil
    @harshmpatil 5 วันที่ผ่านมา +5

    I wish I could control my life through version control.

  • @bryanenglish7841
    @bryanenglish7841 6 วันที่ผ่านมา +14

    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 5 วันที่ผ่านมา +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 2 วันที่ผ่านมา

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

  • @gentlemanbirdlake
    @gentlemanbirdlake 5 วันที่ผ่านมา +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.

  • @akam9919
    @akam9919 6 วันที่ผ่านมา +26

    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 6 วันที่ผ่านมา +4

      Alacritty+tmux+editor is win

    • @lukeskywalker7029
      @lukeskywalker7029 6 วันที่ผ่านมา +14

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

    • @jahinzee
      @jahinzee 5 วันที่ผ่านมา +5

      **neovim

    • @AndrewTSq
      @AndrewTSq 5 วันที่ผ่านมา

      @@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 5 วันที่ผ่านมา +4

      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".

  • @krank23
    @krank23 5 วันที่ผ่านมา +4

    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.

  • @SamOween
    @SamOween 6 วันที่ผ่านมา +18

    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 6 วันที่ผ่านมา +2

      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 5 วันที่ผ่านมา +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 5 วันที่ผ่านมา

      ​@@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 5 วันที่ผ่านมา

      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.

  • @EmperorFool
    @EmperorFool 6 วันที่ผ่านมา +6

    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 5 วันที่ผ่านมา +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 5 วันที่ผ่านมา

      @@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.

  • @spuzzdawg
    @spuzzdawg 6 วันที่ผ่านมา +3

    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.

  • @jacobleslie8056
    @jacobleslie8056 6 วันที่ผ่านมา +4

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

  • @alexpyattaev
    @alexpyattaev 5 วันที่ผ่านมา +5

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

    • @chriss3404
      @chriss3404 5 วันที่ผ่านมา

      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 5 วันที่ผ่านมา

      @@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".

  • @echorises
    @echorises 6 วันที่ผ่านมา +6

    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 6 วันที่ผ่านมา +3

      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 5 วันที่ผ่านมา +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 5 วันที่ผ่านมา

      @@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 5 วันที่ผ่านมา

      @@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 19 ชั่วโมงที่ผ่านมา

      "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.

  • @-parrrate
    @-parrrate 5 วันที่ผ่านมา +2

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

  • @kuakilyissombroguwi
    @kuakilyissombroguwi 5 วันที่ผ่านมา +2

    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?

  • @SuperKavv
    @SuperKavv 6 วันที่ผ่านมา +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 6 วันที่ผ่านมา +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.

  • @elpupper_
    @elpupper_ 6 วันที่ผ่านมา +8

    youtube not gonna do anything about these bots

  • @hanes2
    @hanes2 6 วันที่ผ่านมา +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

  • @HerrBlauzahn
    @HerrBlauzahn 5 วันที่ผ่านมา +1

    We had a section about git in several modules. Also, version control is an important part of programming and computer science in general. We also learned a bit about SVN, but mostly git.

  • @colecoleman8135
    @colecoleman8135 6 วันที่ผ่านมา +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.

  • @yousafraza9347
    @yousafraza9347 6 วันที่ผ่านมา +3

    any take on angular new direction?

    • @JeffGeerling
      @JeffGeerling 6 วันที่ผ่านมา +10

      They're approaching things from a new angle.

  • @mchisolm0
    @mchisolm0 6 วันที่ผ่านมา +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.

  • @SaiKrishnaDubagunta
    @SaiKrishnaDubagunta 4 วันที่ผ่านมา +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.

  • @TazG2000
    @TazG2000 5 วันที่ผ่านมา +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.

  • @Viviko
    @Viviko 6 วันที่ผ่านมา +12

    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 6 วันที่ผ่านมา +1

      i didnt even know such thing exists .

    • @franciscogonzalez1879
      @franciscogonzalez1879 6 วันที่ผ่านมา

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

    • @SahilP2648
      @SahilP2648 6 วันที่ผ่านมา

      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 6 วันที่ผ่านมา

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

    • @user-qm4ev6jb7d
      @user-qm4ev6jb7d 6 วันที่ผ่านมา +3

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

  • @MaxenceFrenette
    @MaxenceFrenette 6 วันที่ผ่านมา +2

    While i agree that committing to main is not super hard, it took me a while to get good at managing multiple branches, merging, stashing, without constantly shooting myself in the foot. However, perhaps this speaks more about the status of git tooling I had to deal with circa 2010 compared to today's tools (thank you VS Code).

    • @morosis82
      @morosis82 4 วันที่ผ่านมา

      Haha, yeah I learned git in like 2008 or something, worked with a rockstar Dev who wrote an interposer service between git and the company's source control system, Clearcase (shudder). Was so much nicer but a bit esoteric, especially when we were trying to migrate the history across and push it as a replacement.
      Today's got is relatively simple to use even for merging and branch management.

  • @theoldknowledge6778
    @theoldknowledge6778 5 วันที่ผ่านมา +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 5 วันที่ผ่านมา

      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 4 วันที่ผ่านมา

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

  • @NithinJune
    @NithinJune 6 วันที่ผ่านมา +4

    bro what

  • @thomassynths
    @thomassynths 6 วันที่ผ่านมา +6

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

    • @Z3rgatul
      @Z3rgatul 6 วันที่ผ่านมา +1

      Lmao, good catch

    • @ciarancurley5482
      @ciarancurley5482 5 วันที่ผ่านมา +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 5 วันที่ผ่านมา +1

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

    • @thomassynths
      @thomassynths 5 วันที่ผ่านมา

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

    • @NihongoWakannai
      @NihongoWakannai 19 ชั่วโมงที่ผ่านมา

      @@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.

  • @Holobrine
    @Holobrine 5 วันที่ผ่านมา +2

    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 4 วันที่ผ่านมา

      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.

  • @juliocorzo3241
    @juliocorzo3241 6 วันที่ผ่านมา +1

    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.

  • @stephenjames2951
    @stephenjames2951 5 วันที่ผ่านมา +3

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

  • @0nepeop1e
    @0nepeop1e 6 วันที่ผ่านมา +4

    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 6 วันที่ผ่านมา

      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 6 วันที่ผ่านมา

      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 6 วันที่ผ่านมา

      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.

  • @timedebtor
    @timedebtor 6 วันที่ผ่านมา

    Also, there is a great way to make version control part of the curriculum. Temporal data structures are amazingly difficult and different. The MIT Advanced data Structures course is a great place to start. Implementing version control system would be a great course at the undergraduate level.

  • @br3nto
    @br3nto 6 วันที่ผ่านมา +2

    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.

  • @fredoverflow
    @fredoverflow 6 วันที่ผ่านมา +7

    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 6 วันที่ผ่านมา +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 6 วันที่ผ่านมา +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 6 วันที่ผ่านมา

      @@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 19 ชั่วโมงที่ผ่านมา +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.

  • @jesse9996
    @jesse9996 6 วันที่ผ่านมา +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_ 5 วันที่ผ่านมา +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 5 วันที่ผ่านมา

      @@_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_ 5 วันที่ผ่านมา

      @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?

  • @peeds6431
    @peeds6431 4 วันที่ผ่านมา

    I'm in software engineering and my uni essentially forces us to use git for version control and for submitting our coding projects, they mandate continual commits, merges and rebases, also writing the readme docs.

  • @Phaceial
    @Phaceial 6 วันที่ผ่านมา

    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....

  • @RuddODragonFear
    @RuddODragonFear 6 วันที่ผ่านมา +3

    God this video is S-tier. I enjoyed your thread and laughed at the HN post.
    EDIT: I'm simply not hiring anyone who can't tell me the difference between a merge and a rebase, much less refuses to learn it. Why? Because it's gonna come up daily in the job I'd be hiring that someone for, and I can't babysit employees like that.
    If any reader feels this low, low bar makes me a "sexist gatekeeper", then Mr. Reader, by all means, know I'm ECSTATIC the Patriarchy has conspired to keep your "but I did have breakfast!" arse out of my workplace.

  • @amomchilov
    @amomchilov 6 วันที่ผ่านมา +3

    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 5 วันที่ผ่านมา

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

    • @amomchilov
      @amomchilov 5 วันที่ผ่านมา

      @@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 5 วันที่ผ่านมา

      @@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 5 วันที่ผ่านมา

      @@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 5 วันที่ผ่านมา

      @@amomchilov
      please watch the video

  • @Rohinthas
    @Rohinthas 5 วันที่ผ่านมา

    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.

  • @kenneth_romero
    @kenneth_romero 6 วันที่ผ่านมา +1

    I feel the lack of knowledge of tools is due to lack of big projects during college or school. When they teach you programming languages they go through a basic feature every week, and thus version control seems cumbersome to keep up with that. Also i believe it narrows one's understanding of what programming is/can be. a shift to more projects would allow students to explore and learn on their own and have instructors/teachers guide them when need be.
    I actually did my capstone on this due to my experience with college and how I felt like I should've been taught. Realistically you just need 1 semester to really display what programming can be and i feel like the general framework I arrived at is also the consensus of other top programmers who want programmers to be better as well.

    • @asagiai4965
      @asagiai4965 5 วันที่ผ่านมา

      It is not really about big projects. It technically about making them experience the thing.
      You must if possible made them use it. The project doesn't need to be big.

    • @kenneth_romero
      @kenneth_romero 5 วันที่ผ่านมา

      @@asagiai4965 the bigness of the project allows for more opportunities to try different designs or tools to approach a problem. in my experience smaller projects and exercises allows you to just min max and not get the total experience. bigger projects allow one to truly experience how building software is like. smaller projects lead to the usual copy-pasting or chatgpting since you have a more defined problem, rather than giving a general problem and allowing people to iterate on their approach of it.
      john ousterhoust has a pretty good talk on this, but his focus was on software design. i actually got my inspiration from blow on his talk of how can a game medium be used to teach better. not in terms of gamification, but that intuitiveness of learning games foster by connecting game mechanics together to create emergent gameplay, or naturally force people to think about certain aspects of the game.

  • @plumbingphase
    @plumbingphase 6 วันที่ผ่านมา +2

    people complaining about this "gatekeeping" will remain jobless 😂

  • @pinatacolada7986
    @pinatacolada7986 6 วันที่ผ่านมา +6

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

  • @AzraAnimating
    @AzraAnimating 5 วันที่ผ่านมา +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“…

  • @CaptainToadUK
    @CaptainToadUK 4 วันที่ผ่านมา +1

    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

  • @supdawg7811
    @supdawg7811 6 วันที่ผ่านมา +5

    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.

  • @lisamith
    @lisamith 4 วันที่ผ่านมา +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

  • @michaelbarrett7079
    @michaelbarrett7079 5 วันที่ผ่านมา

    A little perspective from outside of the CS world - I earned a BFA and an MFA (painting) and now work in technology. I taught basics (drawing, basic design tools) in an Interior Architecture department (think Interior Design, but more systems, less decor)
    In both paths, there were foundational courses. In the fine arts path, we had two courses. 2D and 3D design and we learned fundamentals tools and techniques. We learned how to use a wood shop without maiming ourselves. In the Interior Architecture had a similar practice with a full year (two semester) studio course where they also learned woodshed, how to make blueprints the old fashioned way (and how to make cool images with blueprint paper) and how to do architectural lettering by hand.
    Some of this stuff disappeared (probably no one is hand-lettering architectural drawings any more) but everyone left those programs with foundational knowledge of how to do the work.

  • @shock9616
    @shock9616 5 วันที่ผ่านมา

    I just transferred to a new uni for their CS program last year, and had to take a few first year prereqs that didn't have equivalents at my old uni. One of these courses was a robotics engineering class (it's a prereq for my CS program because it introduces you to project management and working/coding in a group environment) and literally the first thing our prof did after going over the syllabus was give everyone a rundown of version control/git specifically. I had used git in my personal projects for a while before that (I even use it to track/backup my class notes to my private school-hosted git server) so it wasn't anything new for me, but the fact that git was the first thing we learned in an engineering class should show how important it is.

  • @Efandr
    @Efandr 5 วันที่ผ่านมา +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 💀

  • @Charles-sy7ej
    @Charles-sy7ej 6 วันที่ผ่านมา +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.

  • @par5ek
    @par5ek 6 วันที่ผ่านมา +1

    I retired programming 7 years ago
    Right now, I just do some embedded programming for fun.
    There wasn't any internet when I started my career.
    I would have loved to have access to a channel like yours at that time.
    Really enjoying it now, even if it's just for giggles
    Best Regards

  • @nicejungle
    @nicejungle 5 วันที่ผ่านมา +1

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

  • @ericgoldman7533
    @ericgoldman7533 4 วันที่ผ่านมา +1

    I understand (and to some degree agree with) the stance that, "If you've been programming for 4 years, you should probably know how to use git."
    That said, it's important to recognize that when going through schooling, projects are rarely long-lived enough to benefit from source control (once that unit of the course is complete, those projects are usually discarded). Additionally, there is little, if any, collaboration on any projects (at least from my CS degree experience 10+ years ago).

  • @kyrregjerstad
    @kyrregjerstad 5 วันที่ผ่านมา

    There was a lot of things wrong with my Uni, but one thing they did do really well was introduce use to git super early on and then making it a mandatory part of all assignments. They even created a "choose your own adventure" style time-traveling game in a markdown document, which told a complete story using branches and commits!

  • @safairette
    @safairette 5 วันที่ผ่านมา +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.

  • @m4rt_
    @m4rt_ 5 วันที่ผ่านมา

    I learned programming in a High-School class I got to choose myself, and we had a few classes about how to use Git (though I sometimes had to assist our teacher since he wasn't always the best as the technology he was teaching, and he wasn't incredible at teaching either)
    We also had an assignment that we had a few topics we could pick and write about, and I picked source control.
    So I'm glad that we learned how to use at least the basics of git, though I did mostly learn it in my spare time.

  • @web3simplified793
    @web3simplified793 6 วันที่ผ่านมา

    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

  • @paulkohler8868
    @paulkohler8868 3 วันที่ผ่านมา

    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.

  • @YoloSwagO
    @YoloSwagO 6 วันที่ผ่านมา

    I had 1 lecture that taught git for a class that had a group project that had us use git. We used it, but definitely made mistakes and had to look up ways to fix our mistakes.
    That summer internship I used it every day and came to understand it much better, it was probably the most useful tool I learned that summer.

  • @righteouscoder
    @righteouscoder 5 วันที่ผ่านมา

    When I adjunct at my local state univ. and I purposely spend a class in my intro IT/CS class teaching git and show/explain merge conflicts, and how you resolve them via command line and gui. I think it is well worth a single 90 course on it, maybe 2.

  • @willswonderland
    @willswonderland 5 วันที่ผ่านมา +1

    I think they probably should use git in school, a lot of schools use a private server and tell you to upload your files through ftp. I think that is step 1 but after students know ftp, they should quickly switch to using some sort of self hosted gitlab to tell the students to upload their work there

  • @scpresearcherssite1054
    @scpresearcherssite1054 5 วันที่ผ่านมา

    Our cs club we made a 30 minute crash course. We had many students were attending compered to other crash course. it had at least made it known but the side effect of that was they did their projects by coping the code not even modifying it.

  • @danhoelzel5339
    @danhoelzel5339 4 วันที่ผ่านมา

    I majored in game design, and in my first game design class, we didn't use any version control and I was the person in charge of compiling the most up to date code. It was a nightmare. The next semester I was in a group that started using Git, and it was so nice to not have to do it all manually, so yes, grads should know how to do this it makes your life easier and is so simple to learn.

  • @MarkJaquith
    @MarkJaquith 5 วันที่ผ่านมา +1

    I spent a few years as an advisor for a masters program with a subspecialty in web design. So to be clear, these were communications majors who were minoring in web design. Every year, I'd load all the syllabus PDFs from the professors up and search across them for two phrases: "accessibility" and "git". I didn't advocate for these to be their own classes. But when NONE of the classes even MENTIONED either of those terms, I felt like the program was doing the students a massive disservice. And these weren't even programmers... these were people who just probably would have to encounter HTML in their career (which should be accessible and version-controlled).
    This take was less spicy than a 1.

  • @RedPsyched
    @RedPsyched 5 วันที่ผ่านมา

    16:52 as a new grad who grinded through my entire college learning different languages, technologies, and hopping linux distros, this hits home. I graduated last month, and I'm actively looking for jobs, yet I'm getting nothing. The market is so bad rn.

  • @mu11668B
    @mu11668B 5 วันที่ผ่านมา

    I used to do version control with 7-zip, and it was so space inefficient that I planned to delete some old versions of archives. Git exists for a good reason and it should indeed be taught in the first year. It's open source, not hard to use, and designed to tackle a problem one eventually runs into while doing projects.

  • @HenryBloggit
    @HenryBloggit 5 วันที่ผ่านมา

    My 4-year CS bachelor’s degree was beyond useless. All of the practical skills I use today I picked up in high school using Visual Studio and C#. College CS programming classes (liberal arts school) had a strong bias against using practical tools or teaching practical skills. College CS programming classes taught me how to translate binary code, how to perform various sorting algorithms like bubble sort and merge sort using pencil and paper, how to perform Touring operations with pencil and paper, how to organize logic gates using pencil and paper, and how to program in obscure toy languages that CS programming professors love like LISP and Scheme. Surprise, NOTHING they wasted my time with in college applies to my adult life at all, and when I graduated, employers wanted Visual Studio & C#, Visual Studio & C#, Visual Studio & C#. Thank god for my high school CS prof who actually taught us things that could get us a job.

  • @jeroentje260
    @jeroentje260 5 วันที่ผ่านมา

    I started using git when I was working with a classmate together on a project, and we had versioning conflicts (dropbox). That is the moment I switched, never looked back. In my first year of CS we had git, future projects it wasn't always a requirement (some did). It took some time before I started to use it for personal projects.

  • @agacia1805
    @agacia1805 4 วันที่ผ่านมา

    When I started learning to code, one of the first tasks I got from my mentor was setting up git on my local. God, it was hell, I almost cried. But I did it. And then I got my first merge conflict. It was even worse. I struggled with understanding how it works, but after a few months of practicing it every day, something clicked. And now I don't even remember how it was not knowing git.
    Thanks for taking a stand, Theo!

  • @recursivecube44
    @recursivecube44 5 วันที่ผ่านมา

    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.

  • @alexischicoine2072
    @alexischicoine2072 5 วันที่ผ่านมา

    Where I live there’s a separate degree for software engineering that’s not computer science and they did teach or at least force you to learn the basics of source control.
    I’ve been working with source control for a short time but the basics of commit, push, pull, force push, rebase, squash, reset, cherry pick, etc have been enough without having to go into the more obscure commands and options.

  • @ivanmaglica264
    @ivanmaglica264 5 วันที่ผ่านมา

    I started coding 15 years before there was git :) Now I can't imagine working without it. I's not just revision control, it's also central repository, backup (of sort) and distribution mechanism.