Reacting to Controversial Opinions of Software Engineers

  Переглядів 1,978,260

Fireship

Fireship

День тому

Software engineers can be very opinionated about their tools, patterns, and philosophies. Let’s react to some of the most controversial opinions from elite developers on Stack Overflow. 🔥 Grab some swag swag.fireship.io/
🔗 Resources
Original StackOverflow question stackoverflow.com/questions/4...
Trillion Dollar Disaster betterprogramming.pub/object-...
📚 Chapters
00:00 Controversial Opinions
00:45 Object-Oriented Programming
02:36 Love to Code
03:24 Lazy Programmers
04:14 Google
04:48 CS Degree
05:48 Bad Teachers
06:35 Unit Testing
07:20 The Customer
08:19 Comments
🔥 Watch more with Fireship PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🤓 Topics Discussed in this Video
- Software Engineering Opinions
- Object-oriented vs functional programming
- Java, JavaScript, Flutter, and Unity
- Coding Best Practices
- Learning how to Code
- Freelance Development

КОМЕНТАРІ: 6 100
@vin5718
@vin5718 2 роки тому
Controversial opinion: SQL is pronounced Squirrel
@mcbr3b
@mcbr3b 2 роки тому
saquille
@mtom186
@mtom186 2 роки тому
LMAO this got me laughing so hard!
@chrisc7265
@chrisc7265 2 роки тому
"honey it's time to go to bed" "dammit mom I'm waiting on a query from my squirrel this is important!" ".....okay honey, if you say so"
@mrsprite399
@mrsprite399 2 роки тому
Finally found a reasonable controversial opinion after so many stupid controversial opinions. You got it. Keep up the great work
@ruiqili5032
@ruiqili5032 2 роки тому
Well, sometimes we pronounce it as Circle :D
@kosterdan
@kosterdan 2 роки тому
Opinion: interviewing requires a totally different skill set than actually doing the job.
@lucsteffens
@lucsteffens 2 роки тому
The guy taking the interview doesn't have the skills to test you for the job 😁
@kosterdan
@kosterdan 2 роки тому
This is my opinion after almost 20 years as a professional software engineer: you can’t know if you want to work with someone until you’ve actually worked with them. Technical skills, soft skills, and research skills are all equally important, but modern interviews don’t really test for those things. Instead they typically only test your ability to solve a logic puzzle under severe time pressure while someone who already knows the answer is judging you and failure means the loss of a literally life changing opportunity. That kind of pressure, and the kinds of puzzles presented are… atypical, at best, of the day-to-day job. Giving a good interview is a difficult problem to solve on both sides of the table.
@pratyakshyt
@pratyakshyt 2 роки тому
@@kosterdan hey what are your tips on preparing for interviews
@davidkim2016
@davidkim2016 2 роки тому
Agreed, although I do find a lot of value in the algorithms portion.
@jameszhang1278
@jameszhang1278 2 роки тому
Not controversial at all
@philippbtw9910
@philippbtw9910 9 місяців тому
my cs prof at university once said something which always stuck to me: "Programming is the art to tell annother human being what you want the computer to do" and I think this is so true
@hannah__jemima
@hannah__jemima 7 місяців тому
love this
@cdunne1620
@cdunne1620 6 місяців тому
Huh?
@cdunne1620
@cdunne1620 6 місяців тому
.. surely that’s specification, the client tells the programmer what they want the computer to do for them, I don’t get it
@vacvic4146
@vacvic4146 5 місяців тому
​@@cdunne1620it means you should write readable code
@user-re6xt2xf3k
@user-re6xt2xf3k 5 місяців тому
​@@cdunne1620 No, code is for human eyes as much as it is for machines. Programming is a professional and collaborative work, not some kid in a hoodie typing away. Anyone writing code has to keep in mind that others will use, maintain, and build upon their code. There's a reason why legacy code and spaghetti code are a problem.
@coolbrotherf127
@coolbrotherf127 Рік тому
As far as a computer science degree goes, I'd think what's really overlooked is the mathematics and logic skills that the graduates of good programs have. Many degrees require calculus 1-3, linear algebra, statistics, discrete structure logic, algorithm design, etc. I can tell you from personal experience companies that are designing products and solutions for important STEM fields aren't often hiring self-taught programmers because they lack the needed mathematics, scientific, and low level systems knowledge that are required for those positions. If someone has no interest in working in the STEM industry and just wants to make mobile apps or websites, then no, a computer science degree is not worth the time and effort, but, if they do, then it's pretty much required. Computer Science degrees were never designed to make app developers, that's what coding bootcamps are for. CS degrees are designed for the development of scientists who specialize in computer utilization. Telling people, especially young people, an incomplete and biased take of, "College is bad because I didn't need it to get my job," is misleading and dishonest.
@kiruschka123
@kiruschka123 10 місяців тому
I 100% agreed and was about to write the same too :)
@lapieuvreee
@lapieuvreee 10 місяців тому
I would add that education sometimes knows better what you will need and teach you subjects that are not obviously relevant and that you would overlook.
@ladislavdobrovsky8826
@ladislavdobrovsky8826 10 місяців тому
yeah, most software is easy web+db stuff and they call themselves "fullstack developers"... I know a few more-than-full-stack developers and for them this web+db is just frontend for extreamly complicated systems using the said math. + robotics, elecrical, embedded, heterogenous systems...
@sierraoscardelta
@sierraoscardelta 10 місяців тому
i agree... college is bad for many other reasons
@philliptune
@philliptune 10 місяців тому
Oh yeah, as a self-taught programmer myself, I shy away from hiring "self-taught" programmers. Though there are a lot more factors to that consideration than lack of proven scholastic aptitude. I doubt I will ever take my two degrees off my resume, no matter how much field experience I have. The biggest difficulty I would have in finding a good mid-tier programmer is weeding out rogue programmers - they crop up more often in "self-taught" labor pools than formally trained. That said, when looking for a high-tier programmer (I like to think I fit that bill) I want someone who can tell me what I don't know. I want someone I can hand the project to, who communicates exceptionally (that absolutely applies to readability of code) and not need to question their decisions, in which case a self-taught programmer is indistinguishable from a formally-taught programmer.
@jayanths1221
@jayanths1221 2 роки тому
"I only have about 5000 rep on Stack Overflow, so my opinion really doesn't matter very much" - I swear I watch your videos just for the satire at this point lmao
@randomdamian
@randomdamian 2 роки тому
I love his satire XD The only satire I understand is about programming, human communication is complicated. This was written by OpenAI.
@ashiksaleem360
@ashiksaleem360 2 роки тому
Cries in 50
@alvinkariuki236
@alvinkariuki236 2 роки тому
@@ashiksaleem360 cries in 69
@Paarthk
@Paarthk 2 роки тому
That was satire? I thought he was saying that the people who consider themselves stack overflow insiders would have much higher numbers and not see 5,000 as a big value. I'm around there too and it feels like I often see people with 10x my score blowing by, especially anyone that's a mod or a subject expert.
@vokkenlekker
@vokkenlekker 2 роки тому
@@Paarthk a lot of the time those people go around fixing spelling mistakes and formatting errors just to up their score.. 🙄
@MyLittleMagneton
@MyLittleMagneton 2 роки тому
Two golden pieces of advice I've gotten from senior devs: "Less code is good code", and "overestimate the time everything will take by a factor of 2".
@EthanDyTioco
@EthanDyTioco 2 роки тому
The second one was brought up in one of my engineering classes freshman year. It definitely stands true
@hanswoast7
@hanswoast7 2 роки тому
Time estimation is hard, even for experts on a subject ... aaand most people have an optimism bias. Overestimating by a factor of 2 is a very good start :) en.wikipedia.org/wiki/Optimism_bias
@JettoDz
@JettoDz 2 роки тому
The first one can be prone to misunderstandings IME. I don't remember the exact words right now, but they were like "readable code is better than clever code", in the sense that it doesn't really matter how technically impressive your code is or how many lines of code you "saved" with it, if in the future no one but you can debug it. I say "in my experience" as nowadays I struggle with other's code exactly due to this reason: By trying to save "lines", you make your code harder to understand. Less code is not about less lines.
@TheScoobysteve
@TheScoobysteve 2 роки тому
My experience is that it's always ten times harder than you think it will be - even when you take this into account.
@bonamin
@bonamin 2 роки тому
The second advice actually applies to almost ALL projects in life. I am learning to code as a hobby, and as a means to make my own apps/devices for my own personal use. I don't intend on getting a job as a dev. That being said I have MANY hobbies. One of which, is cars, and modifying them. As an old mechanic once told me: "Find out how much money and time you plan on spending in your project car, and multiply it by 2. That's two thirds, of what it will actually cost you." he was so right. :D
@sylowlover
@sylowlover 5 місяців тому
Not a programmer, I'm a mathematician, but the comment about upper education really resonates with me. If i had not gone to university, i would have not gained the mountains of insight from profs, succinct explanations, had nearly as many helpful peers, and i would never have been able to write anything close to the scope of my undergrad thesis without the supervision i had. If i had wanted to understand something like "hyperelliptic curve cryptography with genus 2", i would have been bumbling through papers and stackexchange posts for weeks, but my prof explained it wonderfully within 2 lectures. The sheer condensed knowledge from people with literal decades of experience in it isn't something you should just forsake as being "easily googlable". I really despise it when people say things like "university is useless", because it's just a certain type of learning environment that might not work for you, but it works wonders for others. Google is a library, not a professor.
@yunuscelik8451
@yunuscelik8451 4 місяці тому
Great one
@Z3nt4
@Z3nt4 4 місяці тому
Mathematician turned programmer here, from teaching maths to teaching web dev. That's exactly right and what I always tell my students, particularly ones that act shy around class and don't shower me with questions. This isn't universities in the 1800's or 1900's. You're not paying for access to the information I'm giving you - all of it is freely available on Google nowadays, and more. You're paying for me to stand there cracking jokes and breaking down layers of abstraction into understandable and relatable concepts, and to separate the wheat from the chaff for you. Of course most people could learn everything on their own, but that takes a lot of time, and time is everyone's most valuable currency.
@HichigoShirosaki1
@HichigoShirosaki1 4 місяці тому
And now we have AI which can do the searching and explaining instead.
@sylowlover
@sylowlover 4 місяці тому
@@HichigoShirosaki1 you'd be surprised how completely but confidently wrong it can be when explaining math topics or providing even the simplest of proofs.
@Z3nt4
@Z3nt4 4 місяці тому
@@HichigoShirosaki1 Autopilot on planes has been better at everything a pilot can do for decades now. But they're still there because most people distrust machines. And using AI isn't as intuitive or effective once you get past the trivial introductory level on most topics, and it needs very careful steering if you want fined tuned answers or very specific information. AI just makes my job easier, not moot.
@bruceme101
@bruceme101 11 місяців тому
28 years of experience. OOP was the cool hotness when I was a student in the early 90's. Encapsulation has its place, but most problems don't need it and it tends to obscure the code from the solution. The more I write code the less I write programs with OOP patterns.
@MCRuCr
@MCRuCr 8 місяців тому
this, man! It's a neat idea but YOU DO NOT NEED IT. Also in say Java, if everything is an object, nothing is (it has no meaning). There should be exactly one and only one language construct for each aspect of programming: Encapsulation? -> Modules Inheritance? -> Subtyping Doing stuff? -> Functions Storing stuff? -> Structs Guess what happens if you try to use one tool for everything? Exactly! You need to invent dozends of useless and dumb patterns to make sense of it. Until this day, I have not fully understood why you would need a "Factory"-Pattern ... Classes are egg-laying wool-milk pigs (a german proverb for something which claims to do the work of several specialized tools), just like MS Excel and we all know how good that works for building reliable systems
@robertobokarev439
@robertobokarev439 8 місяців тому
Imagine OOP language in which you could change the interaction even with RAM, CPU or compiler... With that much experience I'm 100% sure you got it
@bruceme101
@bruceme101 8 місяців тому
@@robertobokarev439 That's called C++ when you start playing the the vtable pointers... don't do that!
@ThomasProsserZurich
@ThomasProsserZurich 7 місяців тому
I guess the language in itself is just a problem of syntax. If I want to order a beer in Japanese, I just learn how to order it in Japanese. The problem are Frameworks. In Javascript, the struggle is more about how to identify similar or identical concepts between Vue, Svelte, React, Angular... In Java, Spring Boot is really cool, but there the struggle is to find the superclass of the superclass someone else just injected into your constructor. I find myself more digging in the repo than actually writing one line of code.
@_Mikekkk
@_Mikekkk 7 місяців тому
@@MCRuCrYeah, you do not need it if your program consists of 1000 lines of code, but when it reaches 1.000.000 lines of code I found OOP to be greatly beneficial to me.
@LoveThatSceneChannel
@LoveThatSceneChannel 2 роки тому
My controversial opinion is that, regardless of being new or very experienced, a good programmer is flexible and willing to experiment outside their philosophy. Cause only Sith deal in absolutes.
@sunimod1895
@sunimod1895 2 роки тому
Why is this controversial tho
@FADHsquared
@FADHsquared 2 роки тому
This isn't controversial and applies to everything in life? A good paraphrase would be "be open-minded"
@Lee-uj7jg
@Lee-uj7jg 2 роки тому
@@sunimod1895 part of it is a joke
@tokiomutex4148
@tokiomutex4148 2 роки тому
A sith lord I am
@misaelrivera3002
@misaelrivera3002 2 роки тому
"only Sith deal in absolutes" is an absolute itself xD
@AronFiechter
@AronFiechter 2 роки тому
The opinion about not needing a college degree is very US centric, as in most other countries you can get a degree without getting any debt and often also without any side job.
@after_alec
@after_alec 2 роки тому
Louder for the people in the back
@danielalvesldiniz
@danielalvesldiniz 2 роки тому
yeah, i keep forgetting that muricans have to pay for education, it's mindblowing (and sad)
@robboss2011
@robboss2011 2 роки тому
I can confirm this as an Asian. The idea of not having a degree isn't really popularized here
@Deskglass
@Deskglass 2 роки тому
It's true anywhere - you can write software without credentials. Maybe tuition is "free", but there's still opportunity cost.
@davidtaylor6124
@davidtaylor6124 2 роки тому
I think not having a degree only works really well for certain people - those either very lucky or very good. I think I'm a pretty reasonable programmer (although my opinion of my skills goes down as my age goes up!) but my career has been quite mundane and I feel I paid an enormous opportunity cost in not getting a degree until I was 50, when it's almost too late to use it. I tried 3 times, but I flogged myself so hard to get good marks due to the chip on my shoulder I kept burning out and dropping out. I think I could have had much more interesting jobs if I'd got the stupid piece of paper when I was meant to - ie the start of my career. FWIW I didn't learn anything about programming that I hadn't already taught myself more of in all the times I tried uni. I did learn new stuff in all the math subjects, but I haven't had to use it yet. I suspect if I knew it better, like I know programming, I'd use it a lot more - the whole time I was doing stats or linear algebra I was thinking "you must be able to solve anything with this stuff" and promptly forgot all of it after the exam. So I don't think you need a degree to be a good programmer - I think that's a matter of how your brain works and if you have that sort of brain you'll just want to do it anyway, but I do think you pay dearly for not having one in opportunity cost.
@pepenaman
@pepenaman Рік тому
6:19 Back in my first 3 semesters of programming in college we had this teacher that quite literally will turn down your homework if you didn't write it the way he does it. At the time I thought it was because the way he was teaching us was the correct way, even when I noticed I could get to the same result in a different way, but because I feared to get all my hours of work turned down I had to write my code the way the teacher told us to. He was not very approachable whenever we had problems with our code, be it syntax or logic, as the moment he saw us writting in any way different than how he does it he immediatly turns away and tell us to rewrite the whole thing but in the way he told us to. This made for classes and projects to be very tedious and frustrating. At the fourth semester we had a different teacher meant to teach us higher level programming skills, and that teacher never cared for how we write our code at all, sure, he will teach us one way but once it came for us to do our own projects and homework he'll take the job in which ever way we made it, and the coolest thing is that this teacher was incredibly helpful when we got stuck with syntax problems and stuff as he could detect the problem by just looking at the code for a few seconds, regardless of how we were structuring it. This lead me to believe that the reason why our past teacher didn't want us to write the way we wanted was because he was lazy and didn't want to figure out our logic on the spot and rather just have us copy paste the code every time, but by hand, so we make it easier for him to understand what's happening, but not for us. I'm grateful for our latter teacher and the ones after him since they reignited my love for programming by teaching me the basics but leaving me room to do stuff in whichever way I see fit and explore options as I go.
@intelchip_x86
@intelchip_x86 Рік тому
fuck your old teacher, coding isnt about memorizing, there is no 'this is the only way you can do that'
@macmcleod1188
@macmcleod1188 Рік тому
It's also the difference between eastern and western teaching modalities. Eastern modality, you are often taught the one correct way to something 1000 times until you achieve mastery. And the Western modality, you stumble around blindly doing a thousand different wrong things, until you achieve mastery. Great things are achieved by Masters and both modalities but it does appear The Western modality provides a creativity and lateral thinking advantage. However a lot of people give up and quit.
@janniklasbertram9436
@janniklasbertram9436 11 місяців тому
I think that teacher being lazy part could be really true. I had a completely different experience in university. We were just given an assignment and a few slides which generally explain how to solve somewhat similar problems and the rest was out own job. There was a forum to ask but most of the times the answer was "if I tell it to you then you won't work on your own". it made for many sleepless nights but we were really kickstarted into thinking, being creative and working on our own. but I think it was quite a lot of work to set up, so I'm glad they did it.
@ClaBacchio
@ClaBacchio 11 місяців тому
It could also be that your way of solving the problem was valid but less clear or harder to debug.
@sasca854
@sasca854 11 місяців тому
@@macmcleod1188 There's rarely such a thing as "the one correct way".
@INDABRIT
@INDABRIT Рік тому
I like your speed. If it's a completely new topic it can be hard to follow but if I just want a brief summary or a refresher crash course it's amazing. You fit a lot of quality content in a short amount of time
@ben_clifford
@ben_clifford Рік тому
I just pause the video when I need to catch up. After all, this is 2020's UKposts, not 1980's cable TV.
@steves9250
@steves9250 5 місяців тому
Agreed. And you can always go back and watch again.
@jonphillips8696
@jonphillips8696 Місяць тому
And UKposts has a setting for playback speed for when I’m feeling dopey
@SixCoreSecond
@SixCoreSecond 2 роки тому
The best advice a senior dev ever gave to me was "The best code is just plain boring"
@liamrobertson2670
@liamrobertson2670 2 роки тому
what exactly do you mean? Is it boring to code the best code?
@SixCoreSecond
@SixCoreSecond 2 роки тому
@@liamrobertson2670 somewhat, it's supposed to counter against coders making too sophisticated code for their own ego instead of making it functinal and readable
@liamrobertson2670
@liamrobertson2670 2 роки тому
@@SixCoreSecond I see
@einarabelc5
@einarabelc5 2 роки тому
The best code is no code.
@robdoubletrouble
@robdoubletrouble 2 роки тому
​@@liamrobertson2670 Code should (amongst others): - be read like plain english - be straight-forward and predictable - be easy to alter/approach according to new requirements - be composed of/itself be simple block(s) - be explicit in error handling (+ great recovery mechanisms) - use the simplest concepts and structures to express complex relationships - be greatly covered in testing (unit testing/integration testing/E2E testing) - scream in the form of broken tests when core functionality is altered - not allow for buggy logic to be described (intensive domain modelling) The desired effect of the code should be one of safety and stability - for the customer, but also for the programmer - it should not make us be afraid of releasing/breaking prod/introducing subtle bugs because of convoluted logic/touching it because it's so complex. When you add all of the above together, "boring code" seems quite mean - but it is actually a great compliment - it allows us to focus on the important bit - the problem itself, and not the implementation detail which is the code.
@MobiusCoin
@MobiusCoin 2 роки тому
Damn, I actually like the speed of these videos. I hate watching tutorials where they type everything. I just want the core concepts. I end up using the arrow keys to jump giant chunks of the tutorial.
@segelmark
@segelmark 2 роки тому
Word! 100 seconds of everything!
@vaisakhkm783
@vaisakhkm783 2 роки тому
True , i normally don't skip, because we sometime miss something.... But this is the only channel i don't need to speed up things...
@fatgolem69
@fatgolem69 2 роки тому
lol same
@elaith9
@elaith9 2 роки тому
Ain't nobody got 1 hour to go through a tutorial. Especially not experienced devs who just want to get the idea and fundamentals of topic in shortest time possible. I completely disagree with people criticizing this channel for being too fast or not going into depth enough. For me this channel is a blessing and if someone feels like this is too fast and confusing, you probably need to go watch those 1-2 hour long tutorials with typing. People should understand that not every video about programming on UKposts is made for beginners. If you can't follow you probably need to mature more as a programmer and come back later so you could actually value this awesomeness.
@creativedeveloper6921
@creativedeveloper6921 2 роки тому
1000%
@nexdemise4182
@nexdemise4182 Рік тому
I definitely agree to the comments one and I think I wrote literally one comment in my code in the past few months because the thing the code was doing was not immediately obvious and it looked like that part served literally no purpose. It was a class that was getting SNSMessages from AWS via an API endpoint. The part with the comment was a try/catch block with a call to a Amazon supplied parse method for the incoming message Json and the catch block would return an http code 500 if tripped. Then I'd take the message json, re-parse it on my own, and process it by checking what kind it is and what's in it. At first glance it looked like the call to the Amazon parse method served no purpose, the result wasn't used for anything else, it just parses and then it does something else entirely. It was in fact a verification check, if it can parse that means that the message is legitimate, it's the right format, the certificates check out, and everything is good. If there's something wrong with the message it'd throw an exception that the catch block would catch and send back a 500. The problem is that the class it parses into is hot garbage that's a pain to work with so I just wrote my own but instead of verifying the message on my own I just used Amazon supplied classes for that only.
@adrianhenle
@adrianhenle Рік тому
IMO test-driven development's value is context-dependent. If you're writing front-end software or anything else with a high degree of interactivity, it's a lot more likely to be a waste of time, because 1.) it's much more work to develop tests, and 2.) the requirements are likely to change, especially early in development. Scientific computing, on the other hand, usually involves some calculations that are absolutely fundamental to the problem being solved, so it's easy and recommended to implement tests before implementing algorithms and interfaces.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Рік тому
In other words, you cannot properly automate GUI testing, but algorithms can certainly be tested.
@computerfan1079
@computerfan1079 Рік тому
That's probably why they focus on unit tests most often
@timucinbahsi445
@timucinbahsi445 Рік тому
unit tests are starting to grow on me even more recently. unit tests or not i'll have to test my code anyway and it's not usually easier than writing the tests given that there is a framework in place for it. i hook up the tests to my debugger and it saves me a lot of time
@vibovitold
@vibovitold 11 місяців тому
you can absolutely automate GUI testing. it's just difficult. i work on a mobile app which does this successfully right now, sharing the same - huge - suite of UI tests (based on Cucumber) among the Android and iOS version. "it's much more work to develop tests" it is, especially since they tend to be flakey (eg. failing on some given device). but it has benefits too. it forces the specification to be clear, and the implementation to be consistent across both versions. it detects device-dependent issues (eg. some element doesn't fit on a smaller device, and thus it's not accessible to the user). "the requirements are likely to change, especially early in development" right - and when they do, and you have rewrite a part of the app, it can save you a lot of time if UI tests protect you against regressions that could crawl in - preventing you from breaking something as an unintended side effect it's much more work to develop tests than not to develop them, but it can also save you a lot of work elsewhere.
@aoeu256
@aoeu256 11 місяців тому
@@lawrencedoliveiro9104 you can automate gui testing though... you could turn your gui program tests (in something like selenium or javascript DOM event firings) into a GUI scaffold maybe using chatGPT or something.
@mindlesscargo
@mindlesscargo 2 роки тому
As someone who's found myself increasingly putting videos on 2x just to actually retain any interest in them, the speed at which your videos move is extremely refreshing and I find them to be very enganging
@ShaferHart
@ShaferHart 2 роки тому
We expected mutants to shoot beams out of their eyes but _this_ is the mutation we get of course.
@nikhilmwarrier7948
@nikhilmwarrier7948 2 роки тому
Agree 100%.
@literallybiras
@literallybiras 2 роки тому
I also have the same belief. The instructor should go someway fast and its the job of the student to pause or rewatch the parts that might be complicated. Thats the real advantage of a online course for me instead of being in a classroom
@pauldudley1273
@pauldudley1273 2 роки тому
i also agree 100%. And it's youtube, if i miss something i can pause / rewatch for the 6th time. but the info and speed is perfect. It's nice to blast through a concept and then go back to understand it better later
@straycursor5562
@straycursor5562 2 роки тому
I still put him on 1.75x lol
@TheBadFred
@TheBadFred 2 роки тому
Testing: Most stakeholders want test driven development but don't want to pay for proper meaningful tests.
@parthrupareliya625
@parthrupareliya625 2 роки тому
absolutely true
@LarsRyeJeppesen
@LarsRyeJeppesen 2 роки тому
Nobody wants to pay for any kind of test, unfortunately.
@Toanir
@Toanir 2 роки тому
And sometimes they don't even want to pay for proper requirement specifications :(
@MrTStat
@MrTStat 2 роки тому
Thats not controversial, that just a fact
@user-ey5xw2nx9s
@user-ey5xw2nx9s 2 роки тому
PDD is better :D
@Cwafter
@Cwafter 10 місяців тому
The value of a degree is not so much about technical experience - ivy league universities teach largely the same content as other universities, but the value of hiring a graduate is knowing they passed the intense screening and application process. Same holds true for someone with a CS / EE / SWE degree. You can be sure they had to learn the difficult things they wanted to avoid, had to deal with stressful deadlines and full schedules, and had to deal with group projects where people are on different levels. With someone self taught this is not always self evident, and in my experience, a lot of them lack the teamwork and soft skills of graduates.
@vibovitold
@vibovitold 5 місяців тому
There is obvious selection bias here, because people who graduated and people who didn't weren't the same at the start. These two grouos weren't split randomly. Other things being equal, someone who is passionate about IT is more likely to pursue a degree from the start. But it's not that they owe their technical curiosity, their knack for analytical thinking etc. to that degree - the causation runs the other way round. It's like people who play basketball being taller than average. Statistics don't lie, right - "you wanna get tall? Join a basketball team, clearly it helps". Well... :)
@this-is-bioman
@this-is-bioman 10 місяців тому
I like python & Kotlin because they allow you to use OOP when it's really beneficial and don't force you to do it all the time for everything like C# does so, most of the time you can stick to simple functions and modules.
@sciath9526
@sciath9526 8 місяців тому
​@@richardlyman2961maddest respect if you learnt rust, its so difficult
@johnathanrichardson
@johnathanrichardson 5 місяців тому
explain to me how you can use python. the lack of brackets drives me insane. ive written things in python, had no errors pop up, dosnt work. send it to friend, he sends it back, no visible changes, it works. python spacing is black magic and i dont understand it
@this-is-bioman
@this-is-bioman 5 місяців тому
@@johnathanrichardson the lack of brackets is liberating :D once you get used to it, they will drive you crazy elsewhere :P I hated it at the beginning, but then for one big project I gave it a shot and now I love it. Just use some decent IDE like PyCharm and not that shitty VSCode.
@n-0-1
@n-0-1 2 роки тому
Every time I, "look at something with a fresh set of eyes," I end up refactoring my entire code.
@h0ph1p13
@h0ph1p13 2 роки тому
@Shimmy Shai finished and working is much more important than 'perfect'. And in the end perfect things DO NOT exist.
@etodemerzel2627
@etodemerzel2627 2 роки тому
Look into Compression Oriented Programming approach. With COP, I find that the only things I need/want to refactor are the things I've deliberately left unfinished.
@JacobKinsley
@JacobKinsley 2 роки тому
@@n-0-1 why don't you have an orange and calm down 🍊
@defenseman84
@defenseman84 2 роки тому
The good news is that this is a sign of you constantly learning.
@octoale
@octoale 2 роки тому
🤣
@gaspard7678
@gaspard7678 2 роки тому
The last point made me remember my tech lead in my first project : "Don't write optimized code if optimization isn't your goal in the first place"
@thomasjohanns7661
@thomasjohanns7661 2 роки тому
I have to remind myself of that all the time when I'm doing hobby projects. First focus on getting it done, after that, it can still be optimised, if needed.
@PMA65537
@PMA65537 Рік тому
Jackson's rule 1 was Don't do it and rule 2: Don't do it yet.
@nicholasfinch4087
@nicholasfinch4087 Рік тому
Premature optimization is the root of all evil.
@KisosMackleond
@KisosMackleond Рік тому
God sakes... I'm new in coding, I always code while test while rewrite for optimal performance. Too much time coding, little ground covered.
@i_zoru
@i_zoru Рік тому
so this is like saying "done is better than perfect" in another way, and yes i couldn't agree more, optimization is necessary when your app has reach a bigger scale of users.
@DonaldSubert
@DonaldSubert 11 місяців тому
I actually like coded testing when requirements are vague, or changeable. I write the tests to specifically cover what I've been told to implement. Then, I show the documentation of those tests to the product owner. If there is a change, or misunderstanding, I can update the test, and that will inform the change in the implementation
@ruslan_yefimov
@ruslan_yefimov 7 місяців тому
I always like analyzing the code you need to change first, than looking at how you can interact with API and going for an hour-long walk. When you come back, you will almost certainly have some good idea on how to make things easier!
@kisvegabor
@kisvegabor 2 роки тому
I've heard it somewhere: "The code is NOT ready when you have nothing to add but when you have nothing to remove." I think it's very true.
@Khunkurisu
@Khunkurisu 2 роки тому
This is an old saying that’s originally aimed at the perfection of a product/creation. I believe a famous artist was referring to a statue at the time the saying was quoted.
@kisvegabor
@kisvegabor 2 роки тому
@@Khunkurisu Then it's the 21th century adaption of the quote :D
@Crazy_Diamond_75
@Crazy_Diamond_75 Рік тому
@@kisvegabor Duck Dodgers of the twenty-firfth century!
@user-ic3kt1eq1p
@user-ic3kt1eq1p Рік тому
I defiantly agree with this.
@secure5988
@secure5988 Рік тому
Yeah I agree
@keokawasaki7833
@keokawasaki7833 2 роки тому
3:37 "Yeah i ordered 11 square blocks of concrete, but i only got 10 and a sphere for some reason" "Fuck! Uhhh yeah sorry about that, must be because of james, he's a new hire. We will quickly send the replacement"
@ricoaw500
@ricoaw500 2 роки тому
try some design job james. they will pay you higher.
@szymoniak75
@szymoniak75 2 роки тому
Also he wasted some material by cutting the cube
@nikhilmwarrier7948
@nikhilmwarrier7948 2 роки тому
Spoiler: it's play-doh
@hpsmash77
@hpsmash77 2 роки тому
roasted in seconds
@noop9k
@noop9k 2 роки тому
But he delivered it so much faster than the others!
@danielpilsbacher7314
@danielpilsbacher7314 6 місяців тому
You are a soul mate. You know everything about my troubles in the job and I share the same thoughts about the same topics you addressed. Much respect 👍🏻
@edmarsouza2479
@edmarsouza2479 2 роки тому
Opinion: Every time someone says "We need to get better at agile", what I hear is: "Agile doesn't work for us, it is causing stress in our company, but we'll keep pushing it anyway because it is trendy and will work somehow".
@EelcoHillenius
@EelcoHillenius 2 роки тому
I think the core tenants of agile should work for *almost* every company. The times I've seen it not work is when it is pushes as a narrow approach, e.g. you *have* to do paired programming and have 100% unit test coverage from the get-go (or else your fancily compensated agile coach will tell you "you're not getting it").
@MrEdrftgyuji
@MrEdrftgyuji 2 роки тому
When bosses say "agile", they usually mean daily stand ups and unrealistic deadlines.
@Hannodb1961
@Hannodb1961 2 роки тому
@@MrEdrftgyuji This... I really felt it. My life was wonderful, I enjoyed my work, and then agile with 2 week sprints ruined it. Now I feel trapped and frustrated.
@steve447
@steve447 2 роки тому
@@Hannodb1961 Agile's not for everybody.
@AleksyGrabovski
@AleksyGrabovski 2 роки тому
Oh so much agree. Agile is like a communism it may look like a good idea on the surface, but it is impossible to implement in any complex enough environment.
@DelrenGaming
@DelrenGaming 2 роки тому
With the whole "lazy programmers are the best programmers" section, there have been times at work where I just get up walk away from the computer and take a walk for about 10-20 minutes, and come running back because an idea popped into my head. Luckily I work from home at the moment and didn't have management questioning why I needed to take a walk. A lot of programming is about creative problem solving and just sitting at a desk and typing away doesn't always help once your deep in the weeds in a program or even a piece of functionality.
@scriptkeeper8243
@scriptkeeper8243 2 роки тому
100%, it's weird how a mid-day nap can spark brilliant ideas. The Spaniards had it right all along.
@zacube4366
@zacube4366 2 роки тому
Definitely agree, though with a slightly different rationale. A lazy programmer will frequently find a way to automate something that they don't want to deal with (within reason of course). While working as a research assistant, I was asked to build some simulation worlds that would have taken me weeks or months to do by hand since the world creator for the program we use is.... Less than good, and hand-coding all of the walls would take forever as you're working with object dimensions, rotations, and absolute positions rather than to-from points. So I took a couple of days and wrote a script that let me hammer out a single world with 70+ individual wall segments in about 30 minutes. I later expanded it to work with a couple of other things that were a complete pain to do by hand (for instance, some animated models required their movements to be timestamped with each waypoint rather than allowing them to move at a set speed, so adding or adjusting a waypoint or speed meant adjusting EVERY waypoint and timestamp with a new set of calculations) and saved myself and the lab a bunch of time and effort.
@jonragnarsson
@jonragnarsson 2 роки тому
It's a marathon, not 100m sprint. And with large projects it is even like hiking to Everest. One step at the time. Slowly.
@erikjs
@erikjs 2 роки тому
Absolutely correct. I’m retired now, but as a programmer for over 20 years, I found that a midday walk helped me clear my mind when I was stuck on something. Heck, a midday nap helped a lot too. One time I took a nap, and I had a dream with the exact solution I needed for my problem. Pretty sick to be dreaming in code, but at least it helped me when I woke up back in the real world.
@coderlife2706
@coderlife2706 2 роки тому
@@erikjs this is literally me! Can’t count how many times I’ve dreamt a solution to a issue at work.
@B20C0
@B20C0 Рік тому
About the CS degree... I've been working in IT (mostly System Engineer, but also programming) for more than 15 years without a degree. I've recently started studying computer science parallel to my job and I have to say while I already knew most of the stuff (at least what I've seen so far), there are a few concepts that are new to me, especially when it comes to "choosing the right tool for the job". In the past I might have solved most problems thrown at me but not necessarily in the most efficient way. CS helps with that. Though I have to say that at least here in Germany, there is a lot of "empty information" that prepares you for an academic career but does nothing for you if you want to work at private enterprises. Also this "you must code my way" is definitely a thing. For example when implementing Quick Sort, our professor deducts points if you don't pick the rightmost entry as pivot though it has been known for a while that on average it's best to pick the pivot at random. This clearly discourages students from digging deeper into a topic and widen your horizon because it does nothing for your credits. It's just stupid. But all this being said, you could learn all of the stuff outside a university as well, IF you're not a lazy bum like me.
@pavelperina7629
@pavelperina7629 Рік тому
Unit testing starts to be great, when whole project recompiles in order of minutes, application starts in order of (tens) seconds and you are writing some low level library. Also pieces of code covered by unit tests usually have much cleaner interface and tend to rely on dependency injection, rather than having large blob of code. Another possible solution is basically writing whole stand-alone application and then to integrate it as a module.
@Ironication
@Ironication 2 роки тому
I have total respect for developers who are self-taught. I went the university route (got a masters in CS) and I met some pretty talented devs and a lot of horrible ones. If you want to do it, you will find ways to reach your goals, degree or not.
@violettedugeneville5278
@violettedugeneville5278 2 роки тому
Thnk you
@jamesking2439
@jamesking2439 2 роки тому
I'm self taught. Do you think it's stupid to want to go back and get a degree?
@outis99
@outis99 2 роки тому
I'm on my 4th year on my CS degree, 90% of the stuff I know are self-taugh and that 10% is Java which I am NEVER going to use
@poondaddy9992
@poondaddy9992 2 роки тому
I'd say it's not about getting the actual degree that matters (i.e. the physical paper and graduating) but more so about the structure path school gives. yes you can be self taught (I am) but I would suggest getting your hands on multiple syllabuses and books for computer science and learn what it is that type of degree is trying to teach. the self taught path doesn't have to be like wondering in a dark factory with a weak flashlight
@rbarnes4076
@rbarnes4076 2 роки тому
@@jamesking2439 Its not stupid. When I started in the early 1980s I had an arts degree and not a CS degree (my first 3 years of College was science/math, the next 3 were arts). I knew I was ignorant of a lot of things about CS, so I went to a university bookstore and bought text books in algorithms, compiler design, data structure theory, etc. I spent my spare evenings studying for the next 4 years, and it changed how I approached programming. I don't think I would have done as well without the advanced math, but I was taking Engineering level Calculus at a Community College when I was in 12th grade of high school. So math just wasn't an issue for me. HOW you get the knowledge is not important, THAT you get it IS important.
@christianhabermann6527
@christianhabermann6527 2 роки тому
Opinion: I miss my early years, when programming was fun. The days without horribly overcomplicated setups, masses of different tools and all those bizarre logics and patterns and shit. Now I'm fighting with containerized docker terraform kubernetes stuff every day instead of just writing code.
@davidtaylor6124
@davidtaylor6124 2 роки тому
Not sure this is controversial - it's obviously correct :) I think the late 80s was the sweet spot. We had C compilers and 16-bit machines, and even GUIs if you wanted them, and you could understand all of it. Finally getting a C compiler and teaching myself C from a book was one of the most exciting and rewarding things I've done with computers. Having said that I often wonder how I programmed without an IDE - I would miss them.
@christianhabermann6527
@christianhabermann6527 2 роки тому
@@davidtaylor6124 same same, for me it was just a simple text editor and a single .php file in the mid/late 2000s, and the singing of the birds at 4 o clock in the morning after a long coding night. And the feeling that I've just created something that works. Not even knowing there are design patterns and code reviews and configs and security holes ;) it was a good time ;)
@ishdx9374
@ishdx9374 2 роки тому
check out handmade network, it's people doing things from complete 0
@timmy7201
@timmy7201 2 роки тому
I've the feeling that designers and makers have taken over the software developer world. Those people often lack the deep logical thinking capabilities required for actual programming. In the old days programming was more of a "logical thinking" process, these days it's more and more becoming a "memorization" process. As an embedded dev I've partially been saved from all memorization nonsense, thanks to hardware limitations I guess. If I look at how web-applications are build, those look like one big garbage dump of yet another framework madness to me... Seems like everything is put together using sticky tape these days, as we absolutely can't have someone reinvent the wheel! I still wonder why our great great grandparents didn't put wooden cart wheels under trains and automobiles.
@bogdanryabyshchuk4488
@bogdanryabyshchuk4488 2 роки тому
Write C++. Pays more, and the community is generally kind of smart.
@prathamkushwah1670
@prathamkushwah1670 6 місяців тому
On the unit testing part, (I am a junior developer) there came a production issue to our team and to solve that we introduced some meta data to our cache, I didn't feel to unit tests the changes but since it is the procedure, we did and found out 3 more bugs that were somehow passing before introducing the meta data, and so it helped prevent future production bugs.
@twobombs
@twobombs 8 місяців тому
After years and years hearing arguments to (succesfully) implement OOP in classical computing it is still there - I am very happy with the recent rotation into quantum computing - definately an OOP free zone
@nicolasvannier
@nicolasvannier 2 роки тому
The $100,000 in student debt argument is only valid for the US though. Most normal countries allow you to go to college without having to sell a kidney.
@alexandruburuiana3652
@alexandruburuiana3652 2 роки тому
That's way more than a kidney.
@johnswanson217
@johnswanson217 2 роки тому
how much is kidney?
@MaximeTrichard
@MaximeTrichard 2 роки тому
In France I went to public school and it sucked. Paying gives at least some high quality education.
@HimanshuGhadigaonkar
@HimanshuGhadigaonkar 2 роки тому
Not really.. good CS education costs same in every country around the cost of a small car..
@keokawasaki7833
@keokawasaki7833 2 роки тому
In india its pretty much the same, cheaper colleges are harder to get into cuz competition, and colleges with less competition are expensive Also, because college with high competition get more attention, their degree is deemed more valuable. So if you just want a degree for gaining experience in the field then tough luck, cuz you have to be an expert to begin with if you want it cheap. And if you take the expensive route, you degree is deemed useless
@ericmintz8305
@ericmintz8305 Рік тому
Over the past 50 years, I've seen customers routinely make two deadly mistakes: 1. Proposing solutions instead of stating needs. When a user says, "I need a program to ..." I ask, "Where does it hurt?" That often gets to the heart of the matter. 2. Trying to make my job easier. I tell my customers, "Be unreasonable. Demand the sun, the moon, the galaxy, and a galaxy in the universe to our left. I'm an adult, and will tell you if something is infeasible."
@louisrobitaille5810
@louisrobitaille5810 Рік тому
Sometimes, going for the moon is actually easier to do than whatever "easier" thing the customer had in mind. I got that idea by watching the Corridor Crew (a yt channel) react to the moon landing from the pov of conspiracy theorists as an April Fools. Niko, one of the guys, said something along the lines of "actually going to the moon would've been easier and cheaper than faking going to the moon for that time". And I agree with you, people have the wrong idea about programmers. We don't look for answers, we look for problems. Finding solutions to given problems is what we do 😛. Constrainsts are the roots of creativity after all 😁.
@imcheeze115
@imcheeze115 Рік тому
I'm in my second semester of comp sci, and the first thing they taught us in our software engineering class was your first point
@ericmintz8305
@ericmintz8305 Рік тому
@@imcheeze115 Thank you. That's a comfort.
@Ztaticify
@Ztaticify Рік тому
The second one comes up a lot for me in the form of "It only needs to do X. But occasionally it needs to do Y, Z, W, and V, but those don't happen often so they shouldn't be a big deal." In software development, it doesn't matter how often something happens, the same amount of code still needs to be written to support it
@gorilla-san
@gorilla-san Рік тому
As for that #1 - working with programmers for a while now. It happens many times that they tell me something's impossible or has to be done in an ugly way. Then I sit down and do research on my own, and go back to them with some ideas and suddenly it's possible. Maybe not exactly how I envisioned it, but it gives them a path forward. Not that they're bad programmers, but it depends on the type of person they are. My brother has been developing AI, and automated systems, and all sorts of stuff, but sometimes he just misses something that's obvious. Maybe tunnel vision? But I start asking him questions how stuff works and together we figure out the solution. I'm not a coder, it's just my job as a product manager to figure things out. I can't just let it end at "impossible" or "let me do the thinking just tell me what you want". So yeah, I don't think knowing how to code means that you can't benefit from others' input and ideas
@ETdu38
@ETdu38 8 місяців тому
Interesting to learn that pple think that your content is too fast, I watched one of your videos the other day and was amazed to see how many concepts you put in 5 min. Going this fast doesn't make you fully grasp the concept but it gives a good overview and makes you aware about the options available to tackle an issue. In my opinion, it's great to guide you in your research for the best option...
@Minalkra
@Minalkra Рік тому
In regards to testing - it depends on how the testing is to be preformed, what aspect needs testing (is it a new feature that integrates with existing features, is it a new stand-alone feature, is it a core feature that needed work?), as well as the tools available to the tester and the communication with those testers. We do unit testing because - at some point in time - someone wrote a program that 'hooked' into the actual program and fed off the dlls from the product. Direct calls to the codebase itself. It's all in C# and to extend anything, we essentially need a QA tester to go into the source code and write code that access aspects of the product directly through calls. Is it ideal? Actually, in our case, yes. There are reasons that were chosen that are still valid today for this test program. By forcing the developer who wrote the actual product code to do at least one unit test, it allows our QA test team an 'example' of code that they can then extend with their experience. Not all code needs to be done this way and we're moving away from that program to more generalized tools in some situations but it is still a very useful, if hard to maintain and extend, piece of software. But at least the QA team gets C# experience on their CVs. And Java. And some JS.
@uncleelder4922
@uncleelder4922 2 роки тому
2 Rules for dealing with customers: "The customer is always right" and "the customer never knows exactly what they want." Both statements are simultaneously true.
@samueo7033
@samueo7033 2 роки тому
I my experience at the Requirements Engineering course in CS, I found that's the most truly description of the work life of a programmer.
@ljones140
@ljones140 2 роки тому
I agree. In my experience the customer has a problem, looks at the existing product which to them is a web interface. They'll ask for a change to the UI to get it to do what they need. When this gets to me (lead engineer) I don't have the context of the problem I only have a request for an odd feeling UI change. So my job is to coax the real problem out of the customer. Most of these problems are solved in the backend with no UI change.
@3nertia
@3nertia 2 роки тому
@@ljones140 Here, here! Hear here!
@RichTheEngineer
@RichTheEngineer Рік тому
Definitely so.
@Achrononmaster
@Achrononmaster Рік тому
@@ljones140 yep. "The customer is always right" is a contraction of the more exact statement, "The customer subconsciously knows what is right but cannot always tell you what that means."
@AbrarAhmad-mz8vl
@AbrarAhmad-mz8vl 2 роки тому
My controversial is: You don't need to expert in algos, leet code like problems. Just basic problem solving skills are enough most of the time.
@statuschannel8572
@statuschannel8572 2 роки тому
really ?
@Anto-xh5vn
@Anto-xh5vn 2 роки тому
@@statuschannel8572 Depends
@dcascato
@dcascato 2 роки тому
That is true unfortunately, the hight demand for software, made the bar level that low. I just don't think it will last forever though
@james_andrew
@james_andrew 2 роки тому
I agree. Never done a leet code problem, basic problem solving skills does the trick
@duyphuong3059
@duyphuong3059 2 роки тому
its true. but its good if you are expert in algos because its help you improve problem solving skills, best practices.
@justtisha
@justtisha Рік тому
Another phenomenal video. How long does it take you to get all of these ideas out into recorded audio?? And then about how much more time does it take to make the visual part? It would take me forever
@Satook
@Satook 7 місяців тому
There are learning preferences and there are learning affinities. It’s excellent when both of those highly overlap with the teachers style.
@davidmikan7925
@davidmikan7925 2 роки тому
A CS degree actually makes way more sense if you’re in Europe and don’t have to pay anything for it
@SebWayYT
@SebWayYT 2 роки тому
It actually makes even more sense in countries where lots of companies and institutions require certain degrees to hire someone (I'm in my third year of CS in France and it's definitly better to have one...)
@akshaypendyala
@akshaypendyala 2 роки тому
In any country of europe?
@djmusti7
@djmusti7 2 роки тому
Yes but there's also a lot less competition on the Job market for the IT industry. If you know how to code, you'll be able to rake a job in fairly easily.
@prowhiskey2678
@prowhiskey2678 2 роки тому
@@akshaypendyala nope, Netherlands changed their system a few years ago, around 2100€ just to go to an university per year now, average study dept is somewhere between 20k and 50k
@bilboswaggins2323
@bilboswaggins2323 2 роки тому
In the UK you will pay between 9-20k GBP per year.
@brianpooe
@brianpooe 2 роки тому
The dude that said this channel sucks i felt that and you know why? Cause i was one of those guys years back when the channel was just angular and firebase commenting like that to every video of his lol. But i stuck around and I realized i had to level up to catch up with Jeff in other words experience is what i needed. His teachings are really for intermediate+ devs there is no hiding it.
@collins4359
@collins4359 2 роки тому
true. and they're also really good when you have a little understanding of the topic. his videos are like a summary of the topic & tips too.
@dr4kk0nnysinc59
@dr4kk0nnysinc59 2 роки тому
That's just beautiful, glad to see you here man
@RapartiChaitanya
@RapartiChaitanya 2 роки тому
I agree to this. His videos are simple and just enough information to understand it.
@krazymeanie
@krazymeanie 2 роки тому
Hmm I'd disagree that it's for intermediate devs based on my personal experience. As a beginner I've learned way more stuff on this channel in a short amount of time than any other channel on UKposts. It feels like I've fast tracked my learning time using the short and to the point videos. It also forces me to do research if I don't understand something instead of being fed code to copy and paste into my projects without actually knowing what it does and why it does it. I know every one is human and makes mistake but ever since I've started watching this channel I just can't go back to watching 1+hour tutorials where they make typos and spelling errors thinking its good to show that stuff. Lmao it just messes with my ocd when I can clearly see the mistake or spelling error and they just continue with the video. So yeah that's my opinion based on my experience
@ricardokojo
@ricardokojo 2 роки тому
Agreed. Even in some videos about subjects I'm familiar with, I watch it video and think "well, that was a nice overview in a very short time". I'd much rather watch a shorter video that makes me interested in the subject so I can read the docs by myself, than watch a long tutorial - sometimes with poorly written code - that barely helps when you actually use the language/tool/framework/etc.
@JieZhao2011
@JieZhao2011 Рік тому
I am preaching to my team about "readability truces everything else". It is even important for a developer to read himself/herself.
@abadenoughdude300
@abadenoughdude300 Рік тому
There is this mindset that goes "must obstruct code because if I'm the only one that knows how this works, they will need me". Problems arise when you can't decipher your own code lol.
@encycl07pedia-
@encycl07pedia- 11 місяців тому
Truces?
@Turnpost2552
@Turnpost2552 11 місяців тому
trumps
@abadenoughdude300
@abadenoughdude300 11 місяців тому
@@kidmosey You'd be surprised. A variant of this kind of approach is "guarantee your employment by using obscure esoteric languages in your projects". We had one such guy in my workplace, he quit but because he wrote important tools we use he gets contracted to do occasional maintenance because no one here knows the language he wrote it in.
@Turalcar
@Turalcar 8 місяців тому
@@abadenoughdude300 what language? Unless it's Befunge or Malbolge it takes 2 weeks.
@lucagrandicelli
@lucagrandicelli Рік тому
One of the most important skill of a developer is "communication" which best form is explained in writing comments. This habit, which usually takes time, is in fact a self-logic-test a developer instantly does when in the middle of coding. Many books and docs out there assert that comments help other developers to understand your code: this is true, but is "truest" the fact that comments help the developer first to put in words (thus enabling minded-logic) the code and purpose of it. By the way, this is a very good video and the whole community out there should be more focused on questioning matters like these, confronting each other in order not to generate entropy, but finding easyness and joy of coding.
@markusjohansson6245
@markusjohansson6245 2 роки тому
In my experience, 10X programmers are also about the culture where you work. I have seen hyperproductive programmers drop performance by 100X from micromanaging bosses, project leaders or agile coaches. Its depressing to see.
@blackerhawk1508
@blackerhawk1508 2 роки тому
As a potentcial 1/10 dev, would be interesting to look for the amount of things a 10x programmer do in one day
@tdpro3607
@tdpro3607 2 роки тому
not yet a developer but i agree that working with certain people could boost your productivity by tenfold, but it only last long if its healthy for you
@defenseman84
@defenseman84 2 роки тому
@@blackerhawk1508 consider pair programming… or get a 10X to break something down and explain it or… get them to show you how to get a new project up and running quickly.
@fiskegalendbpk
@fiskegalendbpk 2 роки тому
Amen, well defined tasks and clear guidelines for what is needed usually get done 10x faster including unit testing etc. That’s why private projects usually grow faster than what you work with 🤷‍♂️
@muhammetuymaz2961
@muhammetuymaz2961 2 роки тому
Is agile bad for software projects? (I ask it for generally game development)
@MrEdrftgyuji
@MrEdrftgyuji 2 роки тому
A lot of the issues with OOP come from how it is taught. Most tutorials focus on abstract examples that bear no real relevance to real code e.g. "class Mammal" / "class Cat". They then go on to detailed discussions on inheritance, which isn't really used that much in modern code outside of a few small categories (interfaces, etc.). There is also a lot of confusing dogma and theory surrounding OOP that textbooks and some programmers focus on religiously - e.g. Liskov Substitution, SOLID principles. One of the best introductions I saw threw away all of that and instead did a step-by-step walk through for creating a "string" class in C++. Not only did it teach me the most relevant parts of OOP, it also made it clear to me straight away what the advantages and disadvantages are. Especially if you have ever tried manipulating strings in C versus C++!
@kavehsedtghi8966
@kavehsedtghi8966 2 роки тому
Where did you get that introduction? In a book? If so, what book was it?
@stevenson68478
@stevenson68478 2 роки тому
Yes, please tell us
@ciprian6356
@ciprian6356 2 роки тому
Please share the clip, or book, where you found the relevant 'string' class example.🙏
@skygardener7849
@skygardener7849 2 роки тому
I am not sure OOP has any advantages except maintenance ones, especially when the maintenance crew will be no programmers. Beyond that, things like operator overloading are useful for ease of expression(perhaps what you mean by your string class example) but you don't actually need it.
@jadedandbitter
@jadedandbitter 2 роки тому
@@skygardener7849 oop is amazing for complex simulation stuff imo. Not so much business. If you're making something like a dwarf fortress style life simulator though I couldnt imagine doing it in anything but OOP. It allows you to rapidly scope out impact of features. Say you have something that you want to affect anything that walks on two legs-you dont have to remember all 30 biped races youve created, you have it affect the parent object type "biped" and call it a day. And if you create a new biped race you dont have to remember to add the new race to a list or whatever, its just automatically gonna do whatever bipeds do. In any situation where you are creating something with a ton of moving parts you WANT to interact in unforeseen ways OOP is the way to go. When you have a very clear limited scope of functionality that you want to be very efficient and streamlined, OOP doesnt offer much
@ignassmirinenka1030
@ignassmirinenka1030 11 місяців тому
From my personal experience: unit tests are almost always useless when you develop something new. But it almost always pays off tremendously when you come back to change something after few months or you need to do some refactoring. I don't like writing them, but the fact that they saved production from countless bugs, gives me motivation to write them. Also another thing for me is that I write unit tests for my self and my colleagues and never ever for client requirements or manager requirements or to reach some code coverage. So in a way they cover the feature requirements, but still for me main idea is that I know for sure that things are working in a way I intended them to work. By the way I love your videos, keep on going!
@vibovitold
@vibovitold 11 місяців тому
For one, writing unit tests forces you to think about edge cases beforehand (and clarify requirements in regard to those). This is a huge gain in and of itself, in my opinion.
@BenjaminVestergaard
@BenjaminVestergaard 7 місяців тому
My education within the field was vocational... I knew DB2, Oracle and MSSQL by heart before we had classes of MySQL in the school sessions. I knew OOP from Delphi before they tried to teach me C++ ... the best teachers embraced my understanding of the general concepts, the worst were ready to pick a physical fight when you challenged their understanding of programming... Had a classmate who REALLY understood C++ ... the teacher got angry when he was constantly corrected. If you can't outdo your students accept that they may be able to explain stuff in a more accurate and understandable way... to other students. It may actually be a good thing to hear a concept explained in 2-3 different ways. You may have 30 years of experience, but have forgotten how to explain it.
@rbarnes4076
@rbarnes4076 2 роки тому
As as programmer in his 60s, I agree with your takes on things. I find OOP to be good for a certain class of problems, and I find inheritance to be a difficult thing to do really well, because there is so much of a tendency for programmers to do things that make inheritance hierachies make no sense (usually classes have code in common which quite legitimately belongs in a super-class, but I've seen SO many cases where common code that isn't related to a class is hidden in a super class and then actually called from both sub-classes and from non-related classes.. what a confusing mess!). I started out doing Structured Design in the late 1970s, and then switched to OOP in the mid 1990s. My take after all these years is very simple. Take good programmers and have them use any design method they want, you'll get good stuff. Take mediocre programmers with any design method and you'll consistently get poor stuff. I think the majority of programmers fit into the 'mediocre' category. I'm not saying they aren't needed, just that they need good programmers looking after them a bit. I think most of the insults thrown at OOP are actually insults thrown at bad programmers that just don't understand what NOT to do in ANY methodology, with the predictable bad results. Teaching coding is hard enough, but teaching wisdom about what to do and NOT do is incredibly difficult. I've met some programmers that seemed like the human equivalent of a brick wall. Unyielding, unchanging, resistant to change. The trifecta of terror. Good vid!
@electrocatalyst
@electrocatalyst 2 роки тому
I believe you when you say you're in your 60s. You put two spaces after a period. :P
@electrocatalyst
@electrocatalyst 2 роки тому
But I still agree on the points you make.
@rbarnes4076
@rbarnes4076 2 роки тому
@@electrocatalyst Thanks! And yes, I learned written English back in the 1960s. Those rules have become a bit loose since the advent of the internet.
@Starwort
@Starwort 2 роки тому
@@rbarnes4076 Personally, one of the better arguments against OOP and its design patterns is that languages shouldn't focus on making it hard-to-impossible to write bad code, they should focus on making it easy to write good code. Rust is a good example of a language which made it easy to make good (memory safe) code, without preventing people from writing unsafe code (anyone can throw an unsafe block around their code and do horrible things, but it's far easier to just write good code)
@heraldarnold437
@heraldarnold437 2 роки тому
Spot on. A lot of bad programming stems from the Top > Down since corporate heads wanting to ship out their software asap while having unrealistic deadlines and expectations, forcing the Dev leads to opt for Oject Oriented languages to get the job done in a timely fashion. Combine short deadlines with a bunch of mediocre + bad programmers with unrealistic expectations and OOP, you get a bunch of spaghetti code with a ton of bugs that'll end up costing the company 10x as much in the long run than if they did it correctly from the start. Things get overly abstracted, functions with side-effects, and all that jazz it make it so hard to maintain and very slow to get new devs up and running with the code bases. It's just not a very scalable approach. OOP just allows for bad code design and implementations to seep into the codebase, but it also allows for faster development. It's a double edged sword, but if you have a great Dev Lead and solid programming team, you can get away with it and reap the full benefits that OOP gives you. Functional programming reels in the programmer, forcing them to design and develop better and more scalable codebases, but corporate heads hate the time it takes to get the products rolling and thus are very short sighted. It sucks because most jobs are looking for programmers with OOP experience, and most companies have most of their codebases developed in some OOP language. 80-90% of programmers are mediocre and don't push themselves to get better. They're just the guy working that 9-5 for a paycheck, comes in and just focuses on the small section of code they've been assigned, and only worry about whether that feature they worked on does its job without worrying about any inefficiencies and possible scalability/side effects it could create later on. From my experience, software developers that take the time to truly understand software design and the design of the codebases they're working in are few and far between, which is why a functional programming approach is so desirable since that mediocre 9-5 programmer can just work on that small section, knowing that whatever they implemented has a deliberate outcome with no side-effects.
@OrangeC7
@OrangeC7 Рік тому
That point about writing comments that explain _why_ something exists and not _what_ it's doing was such a good point for me. I've always had a hard time trying to figure out where I should put comments and ended up either putting them everywhere or nowhere, but in hindsight this is a super obvious rule of thumb to follow
@ssssssstssssssss
@ssssssstssssssss Рік тому
Comments are for communication. Use them if your code is hard to understand. Before you use them though try to make your code easier to understand. If your comments contain no additional info (just explain what’s obvious) they are a liability.
@i_love_vi_
@i_love_vi_ Рік тому
​@@ssssssstssssssss yeah well that's the issue... often idek what is obvious. ig a good way would be to get someone to look at your code and go "what the hell is that"
@hamm8934
@hamm8934 Рік тому
@@ssssssstssssssss comments lie. Instead of writing a comment, try to get code that negates what the comment was going to try and explain. If you can’t, then put a comment. But if you find yourself thinking of adding a comment, that is when you need to go back to writing the code. Code doesn’t lie, comments do, and no one ever updates or removes comments so they become bad actors over time.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Рік тому
Here’s an example of commented code that I write: my_wait_avail = asyncio.get_running_loop().create_future() if self.wait_avail != None : # somebody else using this socket -- wait till they’re done await self.wait_avail ♯end if assert self.wait_avail == None self.wait_avail = my_wait_avail # claim ownership of socket Now, would you suggest getting rid of those comments, or not?
@hamm8934
@hamm8934 Рік тому
@@lawrencedoliveiro9104 yes. If any anything, your methods and properties need better names. It’s like order of operations. Commenting should be the absolute last thing you do. Renaming variables should be done far sooner than leaving a comment.
@kb3khs
@kb3khs Рік тому
I'm 1/2 through my masters in CS. I recommend going for it at a reputable school. OOP is awesome in distributed systems. Learning assembly, computer architecture, and computer organization makes for a better programmer.
@Aang139
@Aang139 Рік тому
I think my 2 main things from this are the oop discussion and bad teaching are directly connected. People over use or value it because it is/was taught as law. 2nd even if your code changes a lot if it's going out to production/real users it should be tested. Account for having to update tests as you iterate. There's just so much value in having consistent ways to prove your code works. I don't care when you write your tests as long as your thinking about your code being testable
@user-hw9fr4fr6q
@user-hw9fr4fr6q 2 роки тому
I remember having an interview where they asked me about error codes within a system. I was able to intuitively break down the first error, but ultimately the correct answer was to 'Google it'.
@the_biggest_chungus7508
@the_biggest_chungus7508 2 роки тому
Bruh what? 😂
@sprechendemulltonne5051
@sprechendemulltonne5051 2 роки тому
My professor in mechanical engineering warned us about a similar interview question where you're handed a technical drawing and ask you what you think that is and if you're not immediately looking at the name of the drawing on the bottom of the page where normally everyone could see it you're out lol.
@leonardoamaro1506
@leonardoamaro1506 Рік тому
Random comment, I love this channel, finally there is a coding-related channel that has good quality content and not stupid advices where 5 seconds of the video is the advice and the rest is some guy telling you he'll blow your mind, I'm not saying that simple advices are bad, I'm just saying there is too many people giving the same ones
@booty9612
@booty9612 8 місяців тому
This very last part is and possibly always will be something I struggle with a little. Should the code be readable, easy to maintain and other can pick it up on the flow or should it perform well? And regardless of the answer: there is always the next person prefering the opposite approache,
@ktoxcon
@ktoxcon 2 роки тому
controversial opinion: We focus more on being frontend, backend, QA, Devops or fullstack developers rather than being engineers.
@JonathanAdami
@JonathanAdami 2 роки тому
engineer is a degree tho... you can have one in each of the label you mention. If you mean we should be more cross dev, yeah that's called fullstack isn't it? I'm not a big fan of labelling and semantics...
@The8merp
@The8merp 2 роки тому
You actual engineering takes a backseat to ticking arbitrary checkboxes
@gagandeep609
@gagandeep609 2 роки тому
Please don't say fullstack... It already takes a lot of effort to master backend or frontend.... I don't understand people calling themselves fullstack developers with less experience as they built a project (ToDo app). Technology is changing constantly is another factor. So, I am still trying to figure out, how a fullstack developer can be defined.
@Naej7
@Naej7 2 роки тому
@@gagandeep609 That is why a full stack developer is better paid, because he HAD to learn twice : one for the frontend, the other for the backend
@utkarshtyagi8716
@utkarshtyagi8716 2 роки тому
@@Naej7 They aren't though, check the latest stackoverflow survey.
@user-gl1tx2gc4w
@user-gl1tx2gc4w 2 роки тому
controversial opinion: practicing leet code examples is the biggest waste of time.
@nickschmitt8594
@nickschmitt8594 2 роки тому
not if you enjoy programming challenges, or data structures & algorithms
@fyfy4778
@fyfy4778 2 роки тому
And big companies love to use them as interview questions which you will spend weeks preparing and to never use them again when you get the job
@FADHsquared
@FADHsquared 2 роки тому
I think it's fine to brush up on your DSA from time to time. But that shouldn't be your main method of 'improvement' as a programmer.
@cienciasdedatosfran
@cienciasdedatosfran 2 роки тому
depends on why are you practicing it, if it's just by joy it's not, if it's for beeing a better programmer o gaining a "faster mind" i guess it is not a waste of time neither. But it wont get you familiar with all the new technologies o will make you related to a specific business.
@the_crypter
@the_crypter 2 роки тому
Not if you have an Interview Coming up.
@CraftyOldGit
@CraftyOldGit 3 місяці тому
This was the first time I heard the opinion that OOP is bad. When I thought about it, I realised I frequently create classes simply to partition related stuff. Which is what C & C++ have namespaces for. I tried implementing a tiny project using namespaces instead and the result was shorter, cleaner, quicker to write & easier to read. I'm not ready to throw classes away, but I think I will write far fewer of them in future. Yes, I write code in my spare time. I did that when I was working as a software engineer and I still write code for fun now I'm retired.
@Zeero3846
@Zeero3846 9 місяців тому
As someone who self-taught from middle school and has a computer science degree, I can definitely say you don't need the latter, but it really helps in figuring out where you want to work. Plus, it really helped in ensuring that I knew of a certain few key concepts in algorithms, which put me on a similar footing as a lot of UKposts educators. On the other hand, college failed to deliver on practical experience, but at least the internships were easy to get. I was already very fluent in most of the topics I encountered in my degree up until my junior and senior year, where I had to learn about internet protocols, programming languages (as in how they work more than how to use them), and computer architecture. I don't actively use most of that knowledge, but the learning process certainly made its imprint on the way I reason about solutions. If you were learning this stuff for free, you'd be a little hard-pressed on figuring out what actually exists in the first place before you can even begin to look for it. You can only rely on what you've heard before, but at the very least, the value of practical experience cannot be understated. Just do stuff, and make it work. You'll stumble near better ways eventually. You just need to build an intuition that there is a better way of doing things, and that comes from being very good at articulating what exactly it is you're doing and telling someone else about it in a way that they could understand. Whether that person understands or not, the point is to figure out how that other person understands or misunderstands you in order, because that gives you more to reason about with your solutions.
@LazarManasijevic
@LazarManasijevic 2 роки тому
The speed is perfect. I actually watch tutorials at 2x speed just because tutor is boring and slow. Man, the thing you wrap up in like 10 min, someone is choking viewers for an hour or so. Thank you and keep on like this lifesaver!
@LiveType
@LiveType 2 роки тому
2x speed watchers represent.
@Ausare911
@Ausare911 2 роки тому
Same... each youtuber I follow I'll normally increase the speed but not with Fireship or Derek Banas.
@JeffDeChambeau
@JeffDeChambeau 2 роки тому
After seeing you mention the negative feedback you’ve received I felt that I should share this: I have probably gotten more value from your videos than any other in all my time on UKposts. You have repeatedly shaved hours if not days off projects of mine. I also love your editorial and visual style. All that is to say a huge thank you!
@Qbabxtra
@Qbabxtra 2 роки тому
same!
@valobhediya
@valobhediya 2 роки тому
us
@sof4183
@sof4183 2 роки тому
But it's true that information on here is often packed as shit, I've been on some 3 mn videos pausing every 5 seconds and repeatedly going back this spending 15mn on that video lol
@agentmith
@agentmith 11 місяців тому
I think the biggest problem I have with videos like these is people editing our their breath between sentences. I use the breaths as a split-second break for assessing that sentence subconsciously, and didn’t notice I needed that pause until I started seeing it happening more frequently. Without it, I need to pause the video myself and I can’t always do that, or want to. I hate that it’s so common now, and I bet that this is the problem for other people complaining about how fast you talk also.
@mynameisroman
@mynameisroman Рік тому
i got 30+ years experience and i did some amazing things in C++ OOP like generic programming with templates that worked like a charm. the only problem was after a few years the code was really hard to read, i didn't know whats going on any more because i overdid it. since then i use templates only for smaller things where it gives me an advantage. many years ago i started to access variables in classes directly instead of getters/setters when its safe! in a multithreaded environment you sometimes need those methods to ensure thread safety. if thread safety is not an issue i try to avoid getters/setters now to reduce code. i think inheritance is a good thing. sometimes even multiple inheritance can be a good thing. in an OOP environment its easier to manage a big project if its structured the right way in my opinion. when i want the best performance for an algorithm i might prefer to do functions but it depends on the data structure. so in the end i pretty much try to use the best from both worlds.
@salkjshaweoiuenvohvr
@salkjshaweoiuenvohvr 2 роки тому
The job market is entirely built around looking for senior Developers in favor of new developers in order to pool talent. In theory this means employers get good programmers. In practice It encourages new developers to BS their way to senior positions.
@deidara_8598
@deidara_8598 2 роки тому
Yeah, no one wants to take the responsibility of training new talent, which is why the industry is so starved for developers. Plenty of young talent who never gets the chance to develop their skills further, which leads to a lack of skilled software developers.
@JonathanAdami
@JonathanAdami 2 роки тому
100%!
@iamthelabhras
@iamthelabhras 2 роки тому
I died a little inside after reading this.
@elmotareal
@elmotareal 2 роки тому
I noticed the opposite, people are hiring juniors because they think they can train them and they're cheaper! The older you get, the harder you are to find a job
@JonathanAdami
@JonathanAdami 2 роки тому
@@elmotareal must depend on the industry, big companies can afford the junior guy maybe? In small teams, everyone is looking for rocket scientists with 3 lifetime of experience for a position which usually isn't that exciting in term of tech and pay. The imbalance between expectations employer/employee hurts sometime, especially when you see the candidates knocking at your door with a degree in google only and with a school project they couldn't finish... it is what it is ¯\_(ツ)_/¯
@dies200
@dies200 2 роки тому
One thing i definetly found out, espacially in less professional programming circles is people spend way too much time thinking about performance. They think about how to optimise their code into oblivion and while there are best practices for every language you should always follow (for example using StringBuilders over Concatination for very long strings in java), it's not always the most important aspect and as soon as you work with an external system like a database, the speed of your code will become your smallest concern most of the time. Most business applications are very fancy database interfaces. Therefore optimizing your database usage is a lot more important then whether or not to use a for loop over a forEach.
@defenseman84
@defenseman84 2 роки тому
100%. Nowadays, if your trying to make your custom code more and more efficient, your are prob not utilizing other systems and technology effectively.
@the_biggest_chungus7508
@the_biggest_chungus7508 2 роки тому
I feel offended, yet I highly have to agree with your statement😂😭
@__________________________4597
@__________________________4597 2 роки тому
This is the most web developer comment you could have given. Thanks to this type of thinking people have to wait 30 seconds for word to open.
@carlosmspk
@carlosmspk 2 роки тому
I also think you should first worry about getting a rough prototype and then refactoring, but have the discipline to NOT develop new stuff while refactoring (you can just jot down any ideas you get while refactoring)
@phillipanselmo8540
@phillipanselmo8540 2 роки тому
I myself like to find out ways to optimize my code sometimes for fun as an exercise, but I must agree that nowadays unless you're doing game development it doesn't even matter anymore
@ColinRies
@ColinRies 4 місяці тому
CS Degree: It is true that you can learn anything you want online. And four years of university have not taught me very much about coding. However, it did expose me to a lot of topics in and around CS (such as the kind of maths you typically don't learn in advanced maths in high school), that I probably never would have thought of looking up, learning and understanding. I'm not sure how useful most of it will be, as I've just finished university, but I feel like I've gained a deeper understanding of how computers work in general. As an added bonus, it's a great way of meeting people with this particular interest, in a low-stakes environment where you can discuss and learn together while goofing around. In high school, none of the people around me were particularly interested in programming... Beside that, I feel like my time at uni was hugely beneficial from a personal development point of view. I'm sure this applies more generally, regardless of subject. So, if you're already keen on computing, take the opportunity to get some more in-depth knowledge about the topic, while having a good time, growing as a person and making friends in a low pressure environment.
@gamerk316
@gamerk316 Рік тому
Agree on one point: Readable code that clearly describes what it is doing is preferable to faster code that it takes minutes (or longer) to figure out why its doing what it is. You optimize for performance when it matters, and frankly, nowadays it very rarely does.
@four-en-tee
@four-en-tee 2 роки тому
My logic behind getting the degree was that "if i dont enjoy my time working IT jobs, i'll at least have a bachelors to begin with" which helps ensure that i'm somewhat employable in general and that I can still support myself.
@carlosmspk
@carlosmspk 2 роки тому
You and 90% of people, I'd say. I sure belong to that group, even if I ended up enjoying my time working in IT jobs, that was also my rationale for my bachelors/masters.
@carlosmspk
@carlosmspk 2 роки тому
@@techtutorvideos You still pay years of your life. Of course in the long run that doesn't really mean anything, but it's hard to think like that when you're 18 years old and 3-5 years seems like a huge amount of time
@dipanjanghosal1662
@dipanjanghosal1662 Рік тому
@J Boss many positions arbitrarily put "must have a bachelor's degree to apply" in their job postings which automatically eliminates [most] of the people who don't have it. That's why having a bachelor's degree allows you to atleast apply for it without getting immediately eliminated.
@maulikpankhania859
@maulikpankhania859 Рік тому
Also MFs don't give you a job or even entry for Interview without a Degree.
@cheogt4623
@cheogt4623 Рік тому
There is a difference, you can tell if you did it, I have worked with so many programmers. It gives a wider perspective. Not necessary but relevant.
@curiouslycory
@curiouslycory Рік тому
"Clever" usually leads to hard to read code, but more thinking and less code is something I 100% agree with.
@colombodoesstuff7653
@colombodoesstuff7653 Рік тому
Often, a few more lines of readable code is better than single line of "clever" unreadable stuff that works, but no one knows why.
@grekain1
@grekain1 Рік тому
@@colombodoesstuff7653 So other developers have an easier time understanding the code, and also you might forget how your clever one liner worked and have to figure it out again.
@JaredMeadows
@JaredMeadows Рік тому
I'm ok with "Clever" coding, so long as there's a super-simple comment, just so ANYBODY can understand exactly WHAT this crazy regular expression is there for :P
@whossname4399
@whossname4399 Рік тому
I disagree with this. Clever can also mean an abstraction that makes the code easier to read, removes some indirection, removes boilerplate or reduces duplication. All that matters is that the code is easy to read. If the clever approach is easier to read then use the clever approach. If the clever approach is difficult to understand don't use the clever approach.
@Abion47
@Abion47 Рік тому
@@whossname4399 The difference is in the programmer. There are programmers who write clever code, but their definition of "clever" is "I saw this neat trick/hack/shortcut in a project/repository/article and I now want to use it everywhere". They regularly use these tricks when solving online programming puzzles or playing code golf and now they feel confident bringing those approaches to production. Those programmers invariably write buggy and unreadable spaghetti code that will get refactored if not replaced the day after they leave the company. Then there are programmers who use clever approaches. They manage their time and expectations so that at the end of the day, their code is simple, concise, and as dumb as humanly possible while still getting the job done. These are the programmers who write stable, efficient, and maintainable code, and they finish their tasks while the first programmers are still burning the midnight oil Googling why their tricks stopped working properly in the latest build.
@redcrafterlppa303
@redcrafterlppa303 Рік тому
Premature optimization is a huge problem. Ironically more often for more experienced programmers. That's likely because more experienced programmers know more optimizations and like to apply them to show their knowledge and to improve the code which directly leads to premature optimization.
@CottidaeSEA
@CottidaeSEA Рік тому
I'm a bit torn on this one. Because at what point would one consider it to be premature? If it's code that should run nightly and basically create a daily report, it might not have to be very fast. However, I know many situations where a job has not been fast enough. I've also seen some outright awful ways of processing data and reading files. The worst one being when a large XML (100k rows) was read, checked and data stored in RAM for every entry in a rather large array (about 1000 entries). That was obviously just someone being stupid, but it's still a case where I had to retroactively optimize. The code itself ran, but was O(n^2) instead of the O(n) after I rewrote it. That's a massive difference.
@evryon1810
@evryon1810 Рік тому
@@CottidaeSEA would you say premature optimization wouldve been a good thing in this caze?
@CottidaeSEA
@CottidaeSEA Рік тому
@@evryon1810 The tldr is basically; just make sure your code isn't shit and does unnecessary stuff and it's never premature optimization. I would say it's not premature optimization, but the correct way of doing things. Assuming we're talking about my own example. The old code had several issues: 1. Performance. 2. Maintainability. 3. Readability. 4. Testability. After refactoring the code, it ran better, looked better, was possible to test and was easier to adjust later on. So the optimization was really just a result of doing things right. Had the person who wrote the code known how to structure code in a better way, the optimization would not have been necessary. I literally just took a loop out of a loop and threw the result into a map. I do have another example though. The code was written in PHP, we couldn't figure out what caused the pages to load slowly; until I checked. We had been fetching a whole load of data then used array_intersect to find matches. Each time only took a few milliseconds at most, but run that 20k times on page load and you got a resource hog. What did I do then? I just did the sane thing and fetched what we wanted instead of everything. We already had information about what IDs we wanted to match, I just had to adjust the SQL a bit and throw out that array_intersect since we already did the filtering. Again, another time where I wouldn't say it's necessarily optimization, but rather doing things the right way. Had I written the code, that issue would never have happened. My code isn't flawless by any stretch of the imagination and frequently has bugs that I usually find promptly, just edge-cases being missed, but never to the point where the code is severely logically flawed. What I consider to be early optimization is more like using bit shifting because it'll save you a little processing power once in a while when doing a very specific calculation. However, if you have something that'll run pretty much constantly, then optimization is rarely premature. Might not have to squeeze every little gain into it, but should at the very least get the work done in as short of a window as possible. It shouldn't delve into the world of the arcane, but just some sound logic is usually good enough.
@evryon1810
@evryon1810 Рік тому
@@CottidaeSEA i understand, thank you for your detailed explanation 🙏
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Рік тому
One thing experience teaches you is to hold off on optimization until you get the code actually working correctly. I revisited a personal command-line script of mine a few days ago. It was taking about 6 seconds to start each time. I soon discovered a couple of things: * Importing matplotlib is quite slow. So if I defer that to the actual plotting function, so it only gets imported if I use that function, that speeds up the invocation of other functions. * When computing stats over a particular sampling interval, my database query was iterating through all the samples and discarding ones outside the range, because I couldn’t be bothered narrowing things down within the query itself. That made sense at the time, but now I have accumulated over 150,000 sample records, it was time to revisit this decision. So I added a couple of extra queries to determine more appropriate time bounds for the actual query for samples. As a result, displaying accumulated counts over the last 30 days went from 6 seconds down to about 1 second.
@antnauman
@antnauman 7 місяців тому
In my coding style, I do need a file to combine similar types of functions. But those functions don't depend on properties. I almost never use any properties, and thus, don't need an encapsulation for an object. And I also don't need to use design patterns 90% of the time. But when there is a need to make things flexible, I don't think I can avoid interfaces and implementation of a custom design solution. And I do agree most of the content out there makes things less simpler when I am trying to get an understanding.
@standinonstilts
@standinonstilts 2 роки тому
Your video format is the best. It's like the sparknotes of programming. I can quickly watch a video and immediately know whether I'm interested in the topic or not. I also always know what I need to research more on and what things I'm already familiar with and have a solid overview of what that thing is and why it exists.
@KumarSaptam
@KumarSaptam 2 роки тому
Today this channel gained a subscriber :) somewhere I always knew that it deserved to be subscribed. Everything is sooooo quick, it's like learning and saving time, while making the video as short as possible no matter what. Also pasting code instead of writing is so much better.
@theodorefredrick7058
@theodorefredrick7058 2 роки тому
@@matthewmango4461 lmao
@carlosmspk
@carlosmspk 2 роки тому
I mean, that other dude's comment was also true. If you're hoping for a channel that guides you through the entire process such that you can do your own stuff, this isn't it. This is just a "get the gist of it" channel (thought I'd guess Fireship paid lessons are much more deep than these). For me, these are exactly what I want. I leave the video with a superficial understanding that is enough to kill my curiosity, without investing too much time.
@cristhianeduardovelazquezc6130
@cristhianeduardovelazquezc6130 2 роки тому
​@@carlosmspk also that other dude doesn't how to pause and play videos slower on YT
@carlosmspk
@carlosmspk 2 роки тому
@@cristhianeduardovelazquezc6130 I think you're missing the point. It's not specifically about the video's speed per se, it's the content itself that is "rushed", he could slow down the video all he wanted, and the specifics of implementation, further use cases, and detailed rationale still aren't there, because that's not what this channel is about. Again, because this is the internet and I know someone will completely misinterpret my words, I feel the need to reiterate: I don't agree with that comment, but that doesn't mean it didn't have its merit, everything the dude said is true, it's just that no one who subscribes to this channel expects anything else...
@HighRollersLounge
@HighRollersLounge Рік тому
Yup, I love this rushed video manner. I'm getting asleep whenever pleople are explaining things sooo slow
@SilverPresident
@SilverPresident 7 місяців тому
I like your teaching style and the fast pace of your videos. Thank you.
@banuniz
@banuniz Рік тому
I'm almost 100% in accordance with what you say. While I think a degree in CS not a requirement at all - the solid mathematical and theoretical foundation it provides might help a developer to understand things more thoughly on their career path, while facing different obstacles, and might help them advance faster.
@RockTo11
@RockTo11 2 роки тому
Re: Unit Tests. It makes sense in some cases, for example: creating a library of math functions with interdependencies. Ensuring those math functions all pass a series of tests is beneficial and will save time and headaches when further along.
@GameFuMaster
@GameFuMaster 2 роки тому
Everything needs to be tested. Otherwise what's the metric of knowing that your code actually works? The difference between a QA and a developer is that QA should be thinking of edge cases where multiple functions/scenarios interact. If your code fails my first basic test, e.g. 1 + 1 = 2, then we know you have issues with coding.
@redsun9594
@redsun9594 2 роки тому
Unit tests don’t make sense for hello world program, but for anything long term they save millions of dollars to companies. With bigger projects you might think you understand part of the code you work on, but they you get 10 unit test fails and you start seeing what you did wrong.
@majormalfunction0071
@majormalfunction0071 2 роки тому
Games are somewhat tricky. I write tests for "library" code: math functions, file parsing, memory allocation, lock-free queues and regular data structures and fibers. IME, it's the lower / lowest level code that needs to be the most battle-tested. Fibers (aka coroutines) are key to make identical and not have subtle differences in assembly behaviour when porting. The case where you switch to had to be handled, and there's a test in the test suite for it. Pretty close isn't good enough. Get it wrong, and you have an opaque crash in the fiber's start function, and it happens *after* the function returns. You can't really reason about that if it's intermingled with regular engine code, but it's a trivially reproducible if it's segregated into a 20 line test.
@GameFuMaster
@GameFuMaster 2 роки тому
@@whossname4399 I mean... you can't really unit test 3rd party APIs... you can only smoke test them.
@decorummortis5175
@decorummortis5175 2 роки тому
@@GameFuMaster shouldn't have to test their stuff at all that's their job. You should test that it works in your logic though
@ofmouseandman1316
@ofmouseandman1316 2 роки тому
On the Customer: I've never said no to a client, but made my clients understand why it was a bad idea / what the implications are.... And 99% of the time they listen, and the 1% left comes back a few month later .... waiting for their "I told you so"
@clarke6808
@clarke6808 3 місяці тому
On the teaching. I have learned a lot. Think of a person who wants to learn every drop (a person without a project), vs a person who needs to knwo a think ( a person with a project) ! these vides have helped me make decision on my own projects fast. so for me, perfect!
@JorisGriffioen
@JorisGriffioen 11 місяців тому
One downside to the "write readable code first, optimize when it becomes a problem" is that you can end up with an app that has many tiny slowdowns all over the place, there won't be a clear root cause or silver bullet fix, you may not even recognise it as "a problem". It's death by a thousand cuts. I tend to lean to readability-first but it's good to keep ^ in mind and sometimes pre-optimize things. (when that "sometimes" is... that's the hard part)
@Mooooov0815
@Mooooov0815 2 роки тому
2:36 I don't know where this attitude comes from and I really think its super unhealthy for developers in general. The expectation that developers should love to spend their spare time on the computer as well, basically continuing to work for themselves, is really putting pressure on those who don't see this as a healthy approach to a job. I find it not surprising that mental problems such as burnout are so common among software developers. Sure, there are most likely a variety of factors in play, but I'm certain this is one of them. Programming is a hard and demanding job. It is impossible for a human to consistently deliver the same performance during an eight hour workday, let alone after that when you're expected to work on hobby projects. Having little to no time for regeneration is a recipe for disaster. Personally, I see programming as a tool, and nothing more. It is a tool to solve problems. Sure, it is a powerful one, but it's not the purpose of life. When I encounter a problem that I can solve with code in my work or personal life, I solve it. But I don't think coding hundreds of hours for the sake of coding is healthy nor is it actually that beneficial. In fact, I think coding in an experienced team with a more senior developer to mentor you is helping you out more than building the 623rd todo app with the 234th framework ever could.
@mriduljayan4466
@mriduljayan4466 2 роки тому
The goal should be to built progressively difficult programs
@Rsharlan3
@Rsharlan3 2 роки тому
Eight hours a day is plenty of practice, especially if you're solving real problems for real customers, and you take the time and effort to learn the most effective ways to solve those problems.
@geneanthony3421
@geneanthony3421 2 роки тому
@@Rsharlan3 don't think the issue is working on your off time as much as passion for the field. A lot of people who only do it as a job might be less interested in getting better. Most of the best people I work with were interested in the field prior to working in it. Once your in it though you should have a life/work balance though.
@xbmcme9768
@xbmcme9768 2 роки тому
The main issue I encounter with devs who don't love to code is that they are also the devs who write unreadable code. In their mind, if the code works, their job is done. Sure, there are exceptions, but a majority of the unpassionate devs are like that.
@alonsoACR
@alonsoACR 2 роки тому
i think it is even MORE unhealthy to be doing something you don't enjoy. It's fine if you don't code on the weekends due to lack of time or something, but because you just get tired at the thought because it is "hard and demanding" then idk. Do something you like?
@liamrichards3368
@liamrichards3368 2 роки тому
"comments that explain why something exist tend to be the most valuable" Such a simple but great reminder, especially for people like me who get caught up commenting on what every bit of code does. Thanks Fireship!
@P8860
@P8860 2 роки тому
I use alot of swear words in my code comments :)
@MadMathMike
@MadMathMike 4 місяці тому
I think you touched on what sort of what went "wrong" with OOP. People stopped thinking about when or even if they should use the features available to them. I'm a C# developer, and I've never seen so many completely unnecessary interface definitions. 😂
@byte-strategist
@byte-strategist Рік тому
I think it just makes reading the code of a developer easier.. cause you know reading the code of junior/ senior dev could be messy..
@nocturne6320
@nocturne6320 2 роки тому
You don't need college to become a programmer, 100% agree with that. HOWEVER, college forces you to do assignments which involve solving problems you might not normally do/solve them just by searching for the solution and be done with it. Sure, its easier and faster, but doesn't teach you anything. Doing assignments is a pain in the ass for me quite often, but in the long run I see the value in them, you learn to solve things differently and become better at problem solving overall. Another point would be that college walks you trough the programming step by step, starting at the start and ending at the finish, not jumping around like you might be if you are a self-learner. Sure, a JS developer won't ever touch code written in C/C++ in their career, but it's crucial to understand how everything works on the lower levels in order to write performant code on the higher levels. But I understand that having to take out a loan for college is a deal breaker for most, luckily I don't have to pay
@macmcleod1188
@macmcleod1188 Рік тому
College doesn't really teach programming. College teaches computer science. They are different things. Programming is a trade skill like Plumbing or being an electrician.
@bluezed9703
@bluezed9703 Рік тому
​@@macmcleod1188This is pretty much how I think about it. I always refer to coding boot camps/schools as "trade school", because that's what it is. Going to school for CSE is different, it's like having an apprenticeship in plumbing vs studying mechanical/civic/chemical engineering. In both cases you have the skillset to make money and support yourself, but the latter gives a deeper understanding. It's not needed, but it great for those that want to know the theory or want to go into R&D.
@DidrikNordstrom
@DidrikNordstrom Рік тому
A basic intuition for what takes up time (usually IO round trips and more rarely CPU) as well as space (memory and disk) is really valuable. You don't have to be a wizard in time/space complexity analysis, but a lot of the self-taught programmers are simply unaware and end up with under-performing applications at the worst possible time. For instance, if you get 10000 new users over the weekend because of a blog post, but there's a sequential bottleneck, you're in a very difficult and time-pressing situation. Now, this isn't just a problem with self-taught or beginner programmers. Many frameworks, libraries, etc, aren't even documenting how much resources operations can be expected to use. I end up having to write my own micro-benchmarks to get a ballpark sense of performance. A great counter-example is Redis, which has incredible documentation including time complexities of every operation. More people - especially framework and library developers - should follow their lead imo.
@blueguy5588
@blueguy5588 2 роки тому
You don't need to be "love programming," but passive interest in tech (like watching this channel) can greatly enhance your ability to understand complex systems, at least at a high level.
@SmallSpoonBrigade
@SmallSpoonBrigade 2 роки тому
That's only true because programming is rather more involved than just programming. You don't necessarily need to love programming, but if you don't love problem-solving, puzzles and searching for efficient solutions, you're probably going to be shit at programming anything interesting.
@juangraciaofficial
@juangraciaofficial 2 роки тому
You can love programming but hate coding, coding it's just a tool to get the job done & tons of people seem to think that programming is typing in any language on a dark terminal You don't hear carpenters claim that you have to love hitting a nail with a hammer to be a carpenter, that's just a tool. You should like building stuff instead
@Artaxerxes.
@Artaxerxes. 2 роки тому
I don't see how people who treat it as job can be better than people who immerse themselves into it all day and night.
@alonsoACR
@alonsoACR 2 роки тому
oof i strongly disagree with this one so you win i guess
@blueguy5588
@blueguy5588 2 роки тому
@@alonsoACR In what sense? It’s a fairly benign take and most devs would agree.
@ericosullivan1495
@ericosullivan1495 9 місяців тому
I'm a self-taught programmer of 31 years and counting. For what it's worth, your videos make me smile if not genuinely LOL. Please keep making them :)
@realthursty4953
@realthursty4953 10 місяців тому
As an about to be retired programmer with over 40 years of experience; I can mostly agree with this. I saw the introduction of C++ as an attempt to fix all the problems with C but thought it went too far in many cases. The mere existance of accessor functions tells you there is something wrong there. "Readable" code is a contentious issue. Many of the format choices are designed to let the code be scanned for certain variables or code structures effectively trying to relieve anyone from actually having to read the code. How does that consitute readable code? If you published a novel that was formatted the way many format readable code then no one would read it. Along the same lines; fully bracketed syntax is a load of BS as well. The bad coder doesn't want to have to learn or know where brackets are required or not so they just put them in everywhere they might be needed. This just inflates the number of lines of code. The old mantra about how somebody might put a line of code in where it won't get executed where expected because they forgot to add a bracket is just so much BS. If a programmer is that bad I want them exposed as that bad and fired. I figure that about 80% of the programmers I've worked with have no aptitude for it and are not really qualified to do it. Their managers are even worse about code than they are. In all my years of programming; I've never had a manager include looking at my code as a part of my performance review. Managers are so bad that they have to evaluate you on how you look doing it instead of what you do. (In the book The Peter Principle it is described as measuring input instead of output.) The work smarter, not harder programmer look very bad to their manager.
@EvgenyAlterman
@EvgenyAlterman 2 роки тому
The main answer to all software questions is: “It depends...”
@jerry9548
@jerry9548 2 роки тому
the answer to almost all software questions is "it depends" :D
@farhanaditya2647
@farhanaditya2647 2 роки тому
That's basically the answer to everything.
@JohnCarloCahimat
@JohnCarloCahimat 2 роки тому
@@farhanaditya2647 it depends
@farhanaditya2647
@farhanaditya2647 2 роки тому
@@JohnCarloCahimat You got me 😂
@TheeBlackSilhouette
@TheeBlackSilhouette 2 роки тому
Honestly, and it goes to same with most advice that I ever received.
@Rizhiy13
@Rizhiy13 2 роки тому
2:13 Well, you are not using OOP then. You are just using objects in your programming. When people say that OOP is shit, they mean Java-style where every function has to belong to a class, inheritance & stupid design patterns are everywhere, lots of mutable state, etc.
@Ignas_
@Ignas_ 2 роки тому
And that (i.e. Java-style) is object *oriented* programming. So OOP is, indeed, shit. Objects are fine as one tool out of many in a programmers skillset.
@porilukk
@porilukk 2 роки тому
​@@Ignas_ nice logic there
@gideonmaxmerling204
@gideonmaxmerling204 2 роки тому
That really depends on how you do things. for example, in Java Android programming, you can inherit from Fragment to make fragments or make an abstract class that inherits from fragments to introduce fragments with extra functionality, those are both completely reasonable. In many Projects people make a DB class that handles all the db stuff, encapsulating that into a single class is very handy. OOP Can definitely be horrible, I've seen that many times, but that's more down to the dev.
@NoNameAtAll2
@NoNameAtAll2 2 роки тому
Well, he's not using Functional Programming then. He is just using functions in his programming. When people say FP is shit, they mean Haskell- and Agda-style, where every variable is immutable, monads and stupid syntax is everywhere, lots of copying, etc
@KookoCraft
@KookoCraft 2 роки тому
Function pointers are all that was needed
@NiclanAustin
@NiclanAustin 4 місяці тому
TL;DR: Testing is one of the most valued items you can add to a project when done right. 6:35 - 8:20 - I recently got a requirement to get Sonar Cube test coverage up to 90%. I explained to the client that I've been on the project for less than two weeks, and I can only do positive testing (confirming what already exists as it exists). None the less the client invoked "contractual obligations" that I had to meet his requirement. Now they sit with a negative view of unit testing since it is tested, but they still receive unexpected responses (since I had no way to dig through 6 years worth of requests some with only a one liner acceptance criteria to test if the requirement is met).
@inodeapistanley2336
@inodeapistanley2336 Рік тому
Here's one of my biggest concerns: Is Agile really agile ? How can you handle a stubborn scrum master ? Is it a good a idea to have the software architect as a scrum master for a devops team ? Is it a good idea to have the same person part of different teams with different roles ?
@ChemistTea
@ChemistTea 2 роки тому
In my experience, unit testing is really nice when you want to refactor some stuff. Tests are very nice to see where you made a mistake in those cases.
@badcalculon
@badcalculon 2 роки тому
And changing requirements are exactly when you want to be able to refactor easily. Also if you write your tests first you tend to only rely on the interface, so your code can change without breaking the test.
@problemat1que
@problemat1que 2 роки тому
Sounds like you agree with the concept of writing tests to make sure code *stays* correct?
@ChemistTea
@ChemistTea 2 роки тому
@@problemat1que Yes. Tests can also help write code in test-driven development, especially when you can just write tests with inputs and expected outputs.
@MsJavaWolf
@MsJavaWolf Рік тому
I fully agree. It's easy to just test a new function manually, just run it in the main once and you probably know if it's correct but you don't want to do this after every refactor. Code breaks so often after a refactor, someone might just add a throw or something else that looks insignificant but it can break code that looks completely unrelated.
@salgadev
@salgadev Рік тому
I'd say coverage can be really subjective so 100% is not a good choice if it means 100% total lines but 100% scripts can be a great rule of thumb
@askmiller
@askmiller 2 роки тому
In my career, I've found that the advantages of OOP come in the form of its relationship to the physical world. I've found that for many problems, it's just easier to think about it with OOP than it is to think about it how to solve it with just functions. For example, abstracting away interfaces is pretty clean with OOP.
@MsJavaWolf
@MsJavaWolf Рік тому
You have 2 important keywords in your post "problem" and "world". I think it's generally better to model the problem, than to model the world. Sometimes both things overlap but not always. When they don't overlap you often end up with classes that don't really exist in the real world, like managers, delegators etc. OOP works really nicely when your problem domain really does contain many of those real life objects.
@askmiller
@askmiller Рік тому
@@MsJavaWolf not necessarily. I’ve found that most problems in fact can be explained with things in our world. Are we to believe that managers don’t exist in our world?
@zorbat5
@zorbat5 Рік тому
I've found the total opposite. I think it's a way of thinking. OOP is really hard for me to comprehent as I'm more of a "connect the dots" thinker. Functional programming is way easier for me and way easier to mainain as well.
@crazylegs85
@crazylegs85 Рік тому
OOP is definitely an amazing tool at modeling not only the real world and the subsets that make up the problem at hand, but also how to go about designing the solution for such problem. It also makes your solution easier to explain at a high level, which is invaluable when communicating your solution.
@sonictailsandsally
@sonictailsandsally Рік тому
@@zorbat5 I like to think of classes as just another type of scope - function scope, file scope, for-loop scope, etc.
@LostInAutism
@LostInAutism Рік тому
The people that don't like your format are the people who like those long, drawn out tutorials that are lightly edited if at all. You've done something most programming channels wish they could do, make this content consumable to anyone. It's a hard task and one you do quite well, keep it up!
@destinationcentauri
@destinationcentauri Рік тому
Very well said Feeb! (Also your cat photo looks exactly like my cat Hercules!) But ya: what you said above is a perfect description of the talent Jeff has (and perfected) in making these engaging, entertaining and uniquely styled Fireship videos. Channels like these are by far much more rare in all fields.
@SteveBarna
@SteveBarna 8 місяців тому
"Comments that explain why something is there are the most valuable." Wiser words have never been spoken.
@Yahyajoud
@Yahyajoud 2 роки тому
Well, on the other hand, I think your teaching style is the BEST, why watch a tutorial for 40 minutes when I could watch a better one in 5 or 10 minutes? Keep up the good work !
@Tsunami14
@Tsunami14 2 роки тому
100$ agree. High information density while still being approachable.
@CobaltArcher
@CobaltArcher 2 роки тому
I adore your fast paced style! The key information I'm looking to discover comes so much more quickly and I stay more engaged. Also, your code is short and straightforward enough that I really don't want to see you type it out. Keep it up!
God-Tier Developer Roadmap
16:42
Fireship
Переглядів 6 млн
How to Land a 100K/yr Tech Job - 10 Strategies
11:17
Fireship
Переглядів 1,2 млн
ISSEI funny story 😂😂😂Strange World 🌏 Green
00:27
ISSEI / いっせい
Переглядів 79 млн
10 Design Patterns Explained in 10 Minutes
11:04
Fireship
Переглядів 2,1 млн
Why so many distros? The Weird History of Linux
8:23
Fireship
Переглядів 1,4 млн
You probably won’t survive 2024... Top 10 Tech Trends
8:56
Fireship
Переглядів 1,6 млн
7 Things No Programmer Ever Wants to Hear
5:16
Fireship
Переглядів 1,6 млн
Ditch Your Favorite Programming Paradigm | Prime Reacts
16:02
ThePrimeTime
Переглядів 111 тис.
How to NOT Fail a Technical Interview
8:26
Fireship
Переглядів 1,2 млн
10 Math Concepts for Programmers
9:32
Fireship
Переглядів 1,7 млн
100+ Web Development Things you Should Know
13:18
Fireship
Переглядів 1,3 млн
I tried 10 code editors
10:28
Fireship
Переглядів 2,8 млн
10 Programmer Stereotypes
5:08
Fireship
Переглядів 3 млн
Iphone yoki samsung
0:13
rishton_vines😇
Переглядів 8 млн
Распаковка айфона в воде😱 #shorts
0:25
НЭКС
Переглядів 22 тис.
iPhone - телефон для нищебродов?!
0:53
ÉЖИ АКСЁНОВ
Переглядів 3,3 млн
iPhone 19?
0:16
ARGEN
Переглядів 3,7 млн
Это БЕСИТ ВСЕХ пользователей iPhone!!! 😡
28:07
Яблочный Маньяк
Переглядів 25 тис.