Reacting to Controversial Opinions of Software Engineers

2,000,294
0
Published 2021-08-17
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/406760/whats-your-most…
Trillion Dollar Disaster betterprogramming.pub/object-oriented-programming-…

📚 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 Devel

All Comments (21)
  • @kosterdan
    Opinion: interviewing requires a totally different skill set than actually doing the job.
  • @vin5718
    Controversial opinion: SQL is pronounced Squirrel
  • @philippbtw9910
    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
  • 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.
  • @jayanths1221
    "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
  • 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".
  • @sylowlover
    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.
  • @bruceme101
    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.
  • 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.
  • @SixCoreSecond
    The best advice a senior dev ever gave to me was "The best code is just plain boring"
  • @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
  • @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.
  • @AronFiechter
    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.
  • @mindlesscargo
    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
  • @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.
  • @this-is-bioman
    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.
  • @GaspardFR
    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"
  • @TheBadFred
    Testing: Most stakeholders want test driven development but don't want to pay for proper meaningful tests.
  • @ruslan_yefimov
    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!
  • @DonaldSubert
    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