The problem with software engineering

Sdílet
Vložit
  • čas přidán 18. 05. 2023
  • ego is the main problem to a defective software product. the ego of the engineer or the tech lead seeps into the quality of the product.
    Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
    backend.husseinnasser.com
    Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
    network.husseinnasser.com
    Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
    database.husseinnasser.com
    Follow me on Medium
    / membership
    Introduction to NGINX (link redirects to udemy with coupon)
    nginx.husseinnasser.com
    Python on the Backend (link redirects to udemy with coupon)
    python.husseinnasser.com
    Become a Member on CZcams
    / @hnasr
    Buy me a coffee if you liked this
    www.buymeacoffee.com/hnasr
    Arabic Software Engineering Channel
    / @husseinnasser
    🔥 Members Only Content
    • Members-only videos
    🏭 Backend Engineering Videos in Order
    backend.husseinnasser.com
    💾 Database Engineering Videos
    • Database Engineering
    🎙️Listen to the Backend Engineering Podcast
    husseinnasser.com/podcast
    Gears and tools used on the Channel (affiliates)
    🖼️ Slides and Thumbnail Design
    Canva
    partner.canva.com/c/2766475/6...
    Stay Awesome,
    Hussein
  • Věda a technologie

Komentáře • 232

  • @hnasr
    @hnasr  Před rokem +34

    The !Empathetic Engineer medium.com/@hnasr/the-empathetic-engineer-d8220030971b

    • @mohammadtoficmohammad3594
      @mohammadtoficmohammad3594 Před rokem +4

      exactly this career is exhausting because its not science its like philosophy , there is always an argument against and argument with , the optimal path is not clear , one must have power in team in order to work , knowledge or experience alone is not enough , because egos will be fighting all the time

    • @juliussakalys4684
      @juliussakalys4684 Před rokem

      The price is too low. Increase the price of the book!

    • @samanthaqiu3416
      @samanthaqiu3416 Před rokem

      most of what you are pointing out is accurate AF, but the source of these "changes" come typically from the parasitic upper management class that need to justify their existence in the organization

  • @Pscribbled
    @Pscribbled Před rokem +350

    The tone of this video is different. I hope you’re doing ok Hussein. Just want to let you know that your content has been both one of my primary resources and an inspiration for the first 5-6 years of my career.

    • @ashrafibrahim3601
      @ashrafibrahim3601 Před rokem +2

      Yes same here I love these so much and I feel like his videos are such intimate windows into software devving from a really talented software dev

    • @spreadkit
      @spreadkit Před rokem +21

      Same feeling, hope he is not going through hard times at the job

    • @nchomey
      @nchomey Před rokem +17

      There were also MANY cuts in this video as opposed to what's normally a single continuous take. It stands to reason that he cut out a lot of particularly negative stuff.
      He also looks absolutely exhausted - his eyes, in particular, are lacking his normal animation and passion. I hope he'll be able to get some rest, and perhaps new projects to focus his passion on!

    • @none_the_less
      @none_the_less Před rokem +3

      He looks tired…

    • @stefandecimelli5241
      @stefandecimelli5241 Před rokem

      Same here

  • @magdynasr6639
    @magdynasr6639 Před rokem +88

    I started "Understanding the reason behind everything" mentality a month ago after knowing you!
    Literally the most important skill any software developer should acquire.

    • @bonniesimon14
      @bonniesimon14 Před rokem

      How do you balance between "getting things done before estimate" and "digging deep into the topic" ?

    • @magdynasr6639
      @magdynasr6639 Před rokem

      @@bonniesimon14 can't even understand your question, clarify please
      Thanks in advance

    • @bonniesimon14
      @bonniesimon14 Před rokem

      @@magdynasr6639 Sometime I want to dig deep into a problem. But due to time constraints I would have to take a pass and just solve the problem. How do you find time to solve the problem as well as dig deep into it?

    • @magdynasr6639
      @magdynasr6639 Před rokem +1

      @@bonniesimon14 That's a very tough question! depends on your situation, are a student or do you work? the answer to this question differs a lot. another one, what is your level, are you beginner, junior or even senior? based on these question you start to manage your time so that you make the most use of your time..
      for me I am focusing on the knowledge as I am a junior sw engineer so I must gain knowledge as much as possible so that I grow healthy in this field.
      SO back to your question
      when to dig deep and when to skip?
      the answer is: It 's always better to dig deep into a topic or a problem BUT if you have to finish a certain task for the sake of a deadline so just solve the problem but don't make it a habit! NEVER make this a habit
      I hope my answer helps!

  • @hamzadata
    @hamzadata Před rokem +37

    This is the issue of life nowadays. You see most of the people caring about the fancy things and leaving the essence.

    • @anoh2689
      @anoh2689 Před rokem +5

      Yeah true...
      This is a mentality issue that is not restricted to only software engineering but exists also in other aspects of life.

  • @adityachoudhary1637
    @adityachoudhary1637 Před rokem +19

    I think everything boils down to "REQUIREMENT".
    If optimization is not a requirement, a developer might write the simplest working code and call it a day😅.
    If crappy working code is "good enough", no amount of optimization proposed will see the daylight of production.
    This battle of propose -> convince -> achieve for a "REQUIREMENT" to become "FULFILLED REQUIREMENT" is truly a hard one with lot of gray areas and for all the people who are battling these battles deserve my true respect and honour.

  • @Spookyhoobster
    @Spookyhoobster Před rokem +29

    I've been thinking a lot of similar thoughts recently. I think the field is just in a weird transitional phase. We very rapidly went from experts that could hold nearly all the abstractions in our heads, to now only holding a fraction of them. From having very predictable execution environments where we have confidence in our programs, to having to wrap all of our stuff up in protective containers to make sure they survive out there in the wild.
    Back in the day, I think the ego was a very good thing. It allowed people who "knew their stuff" so well they could just work with their gut and move extremely quickly. But as we move into a more complex, generalized AI-powered online world, we're rapidly losing our ability to understand the entirety of the field. We still need some room to take risks and innovate, but could definitely use some more sophisticated methods and a more mature culture beyond "oh they're super smart, just let them go at it".

  • @aniketprajapati6699
    @aniketprajapati6699 Před rokem +19

    Agree, have personally experienced the scenario when as a junior engineer proposing a new approach and design which was discarded without understanding the impact and the performance gains, totally relate with EGO a senior has, which is generally combined with ownership and superiority.

  • @JamesSmith-cm7sg
    @JamesSmith-cm7sg Před rokem +13

    It's not always ego. There's many reasons why a good idea might not be implemented. Time, resource, risk, roadmap, product lifetime etc etc
    If your idea is good and your tech lead says "Good idea but we're not doing it right now because X", that doesn't mean he has an ego about it.
    On the other hand, if you have a good idea and he shoots it down without explaining why... that's a problem.

  • @iamworstgamer
    @iamworstgamer Před rokem +35

    the worst problem is with recruiting. They want someone who can learn but some one who has experience with all the technologies. how does that work

    • @Spookyhoobster
      @Spookyhoobster Před rokem +3

      Just further feeds into the culture. You gotta embody the ego-centric-midset in order to get the job, then you embody it once you actually do the work :/

    • @harshilparmar9076
      @harshilparmar9076 Před rokem +1

      @@Spookyhoobster throwing some truth bombs 💣

    • @harshilparmar9076
      @harshilparmar9076 Před rokem

      @@Spookyhoobster in sort you have to say yes in their yes rather than showing different perspective. Because as you said they don't want somebody to know more atleast in interview.Not everybody is like that but most of out there. Correct me If I am wrong. 🙌

  • @christopherlucas1475
    @christopherlucas1475 Před rokem +10

    I love this. After 20+ years of software engineering I want to write stuff that just works and is flexible to real requirement changes

    • @Sdirimohamedsalah
      @Sdirimohamedsalah Před rokem +1

      The starting point of over engendering is the word (flexible) 😂😂😂😂
      i want too but I can’t because of three words (flexible-secure-smooth)

    • @cosmicnexus7301
      @cosmicnexus7301 Před 11 měsíci

      What field are you in to last 20+ years?

  • @jeromemeyers7079
    @jeromemeyers7079 Před rokem +5

    I appreciate this video. I complain vehemently about these problems in modern software in the frame of mind of "them" - but I am one of them. This video is digging into the core of us-them.

  • @sir.richardpound
    @sir.richardpound Před rokem +14

    There's a lack of expertise today in software engineering making expert decisions. The barrier to entry has gotten so low and the latest tools/frameworks/techniques are rotating every year the software is suffering across the board

  • @jamaly87
    @jamaly87 Před rokem +3

    I can sense your frustration in this video. Hope all is good man.

  • @spacey_432
    @spacey_432 Před rokem +33

    As the developer of a 2D game I have, many times, re-written my code that was perfectly working before just because I didn't like how the files were structured and/or wanted it to use this new paradigm or class that I made, rather than fixing one bug I rename 1359318509135 symbols in Vscode and never get any actual work done. These type of re-engineering has to be avoided at all costs, just get the stuff to work, and work well, and go about refactoring a little bit at a time rather than a sweeping action.

    • @pt8292
      @pt8292 Před rokem +8

      refactoring is a great way to get better at coding in general. you have to do what you're talking about to hone your preferred style. you won't get to writing great code by doing one-and-dones. but once you do write great and clean code then that will be your starting point for future projects. i have seen people do one-and-dones for years without ever understanding how to write great code or what the difference is.

    • @benb.525
      @benb.525 Před rokem +6

      Yep, I'm frequently guilty of premature optimization and I think a lot, or maybe most developers, scientists, technical experts, etc. are a bit obsessive and while it's a strength at times, it can also be a weakness unchecked...

    • @JamesSmith-cm7sg
      @JamesSmith-cm7sg Před rokem +2

      Instinct tells you everything needs refactoring, but that should always go through a logic check. "If I refactor how much value do we get" "Does this value outweigh another task I could be doing?" and so on.
      Often you'll realise that refactoring isn't as important as your instinct makes it seem. Especially for features that already work fine and aren't causing issues.

  • @mohammadtoficmohammad3594

    exactly this career is exhausting because its not science its like philosophy , there is always an argument against and argument with , the optimal path is not clear , one must have power in team in order to work , knowledge or experience alone is not enough , because egos will be fighting all the time

    • @ea_naseer
      @ea_naseer Před rokem +1

      Thank you. I have been sitting on this for a long time... this isn't Software Engineering it's Software Philosophy.

  • @bibekjoshi3522
    @bibekjoshi3522 Před rokem +3

    Been following you for nearly 3 years now. But In this video, you seem really low and down. You are one of the reasons that motivated me the similar times and have been a continuous inspiration since. You will bounce back 🙂again.

  • @walidklai2417
    @walidklai2417 Před rokem +13

    it's always the same story in any field, the industry just kills the Vibe, even this AI thing is something wanted by industries not even end Users, so good job humanity, we are going straight to the wall .

  • @cameronsmith8986
    @cameronsmith8986 Před rokem +1

    There's a lot of truth in this video. I've seen this in myself and other devs. Appreciate you addressing this topic

  • @ThePandaGuitar
    @ThePandaGuitar Před rokem +11

    The majority of devs get lost in their code and forget the end goal is just a happy user. Don't get me started on "developer experience", imagine a plumber saying "plumbing experience."

    • @jonijarvinen7833
      @jonijarvinen7833 Před rokem +5

      Well they do. Every day. They need working tools and if they are not working, something that gets the job done better, faster and reliably are taken into use.
      If a plumber would forget that the end goal is to have a working pipe they'd tear up a wall just to change the color of the perfectly working plumbing. I think that's more the case here.
      But you do need to test different pipes and tools constantly to know if any improvement can be done. So when do you test it? While working real job that generates revenue or invest in actual R&D type of activities that "only have a cost to run"?

    • @onursahin7970
      @onursahin7970 Před rokem +7

      I disagree developer experience is really important thing. Just like plumbing you need a certain setting to make your work properly. So developers also need certain setting to work efficiently. For example if your project is hard to setup locally that will impact negatively on dev productivity because they can't easily onboard. I think this kind of "developer experience" is important. You can't build a good product if you can't work on the product effectively.

    • @VeteranofIntranetz
      @VeteranofIntranetz Před rokem +1

      ​@@jonijarvinen7833 nice thinking, I'm also sick and tired of people treating their projects as personal science fair experiments. Forceful pushing of things like distributed architectures for somebodys personal pleasure or marketing benefit completely ignores the tradeoffs. It's 'great' fun trying to salvage these trainwrecks as a maintenance dude.

  • @olteanumihai1245
    @olteanumihai1245 Před rokem +3

    Never allow ego to take control, always stay humble and you will learn a lot of things.

  • @MohamedEldoheiri
    @MohamedEldoheiri Před rokem

    This video is eye opening and insightful, thanks Hussein!

  • @kamel3d
    @kamel3d Před rokem +2

    We had a folder structure to manage and store various projects that works fine our new boss came a and changed it just for the sake of proving herself then the whole server is fucked up, I gave up trying to clean it of fixing things

  • @YT_Watcher
    @YT_Watcher Před rokem +1

    Can you please put the members only playlist in a youtube direct link instead of shortening url?
    It doesn't open in CZcams app.
    (I'm a member with other account)

  • @omogbemeiyere6475
    @omogbemeiyere6475 Před rokem

    You are spot on my brother exactly what I recently experienced

  • @thanhdatvo0
    @thanhdatvo0 Před rokem +5

    I love your opinion.
    You might find same opinion in the book: "The Pragmatic Programmer"

  • @weird_overdramatic
    @weird_overdramatic Před rokem

    love this video

  • @mrmagnetic927
    @mrmagnetic927 Před rokem

    Great video. Love to see more on this topic

  • @chrisgathuthi1831
    @chrisgathuthi1831 Před rokem +5

    In the web mostly it is because of the new approach to development for instance using the single-page application approach. This approach makes the web application inefficient by making load time longer. I believe the good old HTML is and will be the best approach to developing web apps instead of using Apis

    • @brainites
      @brainites Před rokem

      I couldn't agree more. I couldn't help laughing seeing SSR and now server actions in Next.js.

  • @MASTERISHABH
    @MASTERISHABH Před rokem +5

    I've seen this mostly with the new CXOs and PMs. They just know what should work based on their prior exp and they can't take anything new being done as an input.
    So they make engineers do things like this most often.
    And, I am sure the splash screen idea was also from these guys instead of 1 of the engineers as we know it's a 5 minute task to add a splash screen and doesn't bring any difference in our lives.

  • @Gourdinho
    @Gourdinho Před rokem +6

    Hi Hussein
    It seems like you’ve experienced some "we have to add this new unnecessary feature" BS at work this week. I can feel your anger permeating through the screen 😂.

  • @willingtushar
    @willingtushar Před rokem

    thanks for sharing. will keep a note of this.

  • @kumarprateek1279
    @kumarprateek1279 Před rokem

    Thanks hussein. Just love your content.

  • @kgck15
    @kgck15 Před rokem

    reqlly good one…i agree with this and nicely articulated. adding few more…sometimes management puts pressure on the technical leaders bring in new tech …sometimes couple of issues in an app and people form opinion about technology being flaky but where as the problems are in the way code is written which can be fixed easily.

  • @jontnoneya3404
    @jontnoneya3404 Před rokem +1

    We used to call that "Management By Buzzword". I worked for a big company with lots of higher up IT people (VPs, Directors, etc.) and they would talk. Our Director was NOT a tech person and had no way of evaluating one path over another. So they defaulted to talking to all the other "smarter" Directors. If one director was doing something and we weren't, we were suddenly supposed to drop everything and implement their new thing or have a damned good reason why we're NOT going to do that thing. From an individual contributor perspective, it was like being a pinball in a pinball machine!
    But this attitude is not limited to non-techies. You're right that it's often based on ego without any additional supporting evidence or knowledge. We once implemented a solution that was easy but not optimal because we had to technical knowhow to make it happen coupled with a VERY small window to get it done and HUGE downside risks for missing our deadline. After it was deployed and successful, we brought others onto the team. Many of them immediately criticized the solution and were VERY accusatory and condescending towards us that were in the trenches at the time. Saying things like "You took on Technical Debt when you didn't need to" and "You deployed a solution that is not good, nor is it sound, nor is it robust nor is it.......well you get the idea. Any insult they could think of was hurled at us. BUT it was working and working well with VERY FEW issues. After a year, one of those people came to me and apologized and actually said that they were wrong for being so critical and that they actually liked our solution. It provided various features that we were now utilizing to actually broaden the services we were providing - services which would not be possible to provide with a different solution.
    This is why I try NOT to criticize other people's work even when I disagree with their approach. They have reasons for doing what they've done and sometimes those reasons are significant and should NOT be dismissed quickly.

  • @bhanuarora4504
    @bhanuarora4504 Před rokem +2

    just a suggestion sir, can you please make a video on embedding vs referencing in mongodb, their practical use cases, that will be great if you do

  • @jimmiller9330
    @jimmiller9330 Před rokem

    This is a perfect explanation for MS Windows. Endless updates, long boot times, just like automobiles being updated and tweaked every year… it stirs the market and increases demand.

  • @prhasn
    @prhasn Před rokem

    Thanks for the important reminder.

  • @mostafabesher994
    @mostafabesher994 Před rokem +3

    thats a great talk to start the day with ❤

  • @BbB-vr9uh
    @BbB-vr9uh Před rokem +2

    Altium studio had this happen. Went from old-looking but fast to modern-looking but sluggish. Fortunately I had hit the point of my degree program I was barely using it by that time.

  • @harshitsinghai1395
    @harshitsinghai1395 Před 11 měsíci

    I might have done a couple of things like this is the past. Relatable stuff.

  • @yasscat5484
    @yasscat5484 Před rokem +3

    every design is like a local maximum that you have to climb in order to see how high it will take you

  • @JoeGrimer
    @JoeGrimer Před 10 měsíci

    Solid video man. Very real

  • @moy2010
    @moy2010 Před rokem +1

    Hey, Hussein! Thx for the video! I think you are really touching an important issue with software development when talking about a developer's ego. Regarding this, what would you suggest to do to mitigate it?
    A better hiring process? A better process for building teams? Or perhaps a policy regarding engineering decisions?

    • @Abhishek-fc7fy
      @Abhishek-fc7fy Před rokem +1

      I think you answered your own question. A few simple tweaks in the hiring process, team building process and engineering decisions might do it. Great question btw!

  • @anclaudys
    @anclaudys Před rokem

    “Ego” can sometimes boils down to feeling like you have to do something or prove something to keep your job. You then start coming up with useless features and criticisms (or dismissal of legitimate criticism).

  • @furious2563
    @furious2563 Před rokem +5

    Personally, I love seeing junior devs or those without as much experience come up with some great idea and it works. I encourage that all the time at my place of work. I think the fear of being out-shined and being considered less of an asset is the concern one would feel in that scenario. Collective success is important.

  • @jayjhaveri1906
    @jayjhaveri1906 Před rokem +2

    Couldn't agree more 💯🎯

  • @ward7576
    @ward7576 Před rokem +4

    What I don't enjoy in OSS is the people in it. I come from a specific community that has this mentality - "your suggestion means nothing if you don't have PR with it". Even if the suggestion is as trivial as no code is needed to understand what someone is trying to point out. Instead, if you are a top guy/gal in that community, your PR can be as junior like as it can be and it will be merged, no questions asked.
    I have noticed that whenever someone challenges that mindset, they get completely ignored and labeled as "hater".

    • @skyhappy
      @skyhappy Před rokem

      Looks like the maintainers are not open to new ideas. That sucks.

    • @ward7576
      @ward7576 Před rokem

      @@skyhappy not only that, but they think that if you pay/support their software, you are no better than someone who doesn't. Like, you don't even deserve priority issue fixes even if you pay them. Then it's for open argument of - where does my money go? Does it go to your lunch and therefore, even if I buy you lunch, I cannot even get better support with your product? It was quite ironic to hear backlash on this, when the donation I gave unlocked part of their docs, lool

  • @tiberiugeorgescu2385
    @tiberiugeorgescu2385 Před rokem

    Love all of your content Hussein.
    To raise the morale a bit with a joke, I think this goes to all jobs involve doing /creating things. Didn't ever happen to you for a plumber or electrician to came to your house and say "ooh, who did this? Oh my goodness this is all wrong and needs to be redone". And because you don't have so much expertise, you freak out. Hey I don't want my house to be set on fire or whatever.
    Same here. It happen to me countless times to be put to the wall only by asking one simple question: "Do we need this?"
    Do we need to go to the cloud? Do we need to change the database? Do we need serverless? Do we really need to REWRITE from scratch every time? To name just a few. To ego I'd add boredom. On my side, most of the times I've felt like people were straight up bored.
    We want to leave something behind and this is why, I think, we do this push to change everything, something.

  • @dannyhd8301
    @dannyhd8301 Před rokem

    Anything that is forced with out well targeted reasoning behind it fails ... Absolutely right .

  • @matveyshishov
    @matveyshishov Před 11 měsíci +1

    It used to be that IT was about CS, math and engineering. It was about red eyes and sci-fi.
    Then Eternal September happened. BOFH is a perfect example of what followed.
    And soon after money started flowing and hype began. It seemed like you could quickly write a couple HTML pages and become a billionaire! Or at least feel slightly better off financially in this modern unequal world. Everywhere you looked since "The social network"'s release in 2010, there's been this HYPE.
    Tons of people who otherwise wouldn't've joined IT, decided to jump in and have their piece of the pie, be it stable income, big money, fame or just FOMO.
    And how do you get promoted as an engineer? You add "rewrote from scratch", "implemented a pipeline" etc. to your CV.
    How do you get promoted as a manager? You add reports, each of which wants to be promoted as an engineer.
    The industry of mathematicians and engineers has become infected with HUSTLE, with people who need to prove themselves, to join or create a startup, to become a VC.
    A similar situation, but even worse, is taking place in AI.
    It used to be a quaint field, with career-seekers avoiding it like a plague, until money started flowing in, and suddenly the same people who before would never have allowed themselves to be seen anywhere near "these naive AI lunatics" are memorizing like crazy what cross-correlation is.

  • @WalkerLeite
    @WalkerLeite Před rokem

    I feel exactly like the guy coming from outside with fresh ideas. But I'm also a senior developer, I know the pains in the field. I see the barrier of "let's use what we're used to" way too clearly - because I've been there in the same position - that's where I came from. I almost always have to abdicate of my own ideas to someone else just because this guy is there before me and I don't want to be the problem. But it's frustrating, I feel like in a prison having to accept that actually solving the problem is not that important for the company. So in the end I just let it go, and try to do my best in my own things - which is what really matters.

  • @bryanboateng
    @bryanboateng Před rokem

    Great Take

  • @satwikburman6841
    @satwikburman6841 Před rokem

    Never change sir.

  • @raman1444
    @raman1444 Před rokem

    Can you increase sensitivity of your microphone

  • @konstantintolstikhin5531

    It's so true! Totally agree!

  • @jugrajsinghdeol2341
    @jugrajsinghdeol2341 Před rokem +1

    Hussein, woke up and chose to tell the truth. The raw hard truth.

  • @vfryhn2
    @vfryhn2 Před rokem +2

    Not sure how you're doing Hussein but you sound tired in this video, please take your time to take a break if you need it, I hope you are doing well
    You are such an inspiration and we really appreciate your hard work to teach hard topics with such amazing detail and passion, but some times you have to give yourself some time to relax

  • @kapahimself
    @kapahimself Před rokem

    Noticed MUSASHI in the background. A warrior in the making

  • @king_reload
    @king_reload Před rokem +2

    Anything you said in this video screams Discord to me lmao. Though I do hope you are doing alright Hussein, you seem like you've been through a lot lately.

  • @xoutaku7600
    @xoutaku7600 Před rokem

    it's fun being an ego driven developer , it's liberating tbh

  • @owlmostdead9492
    @owlmostdead9492 Před rokem

    True mastery also means to know when something is finished, most people don't get this

  • @chudchadanstud
    @chudchadanstud Před rokem +1

    Aka Revolut. It's now super slow on my S10. No I will not upgrade my phone. I need a headphone jack and a microsdcard.

  • @bipinmaharjan4090
    @bipinmaharjan4090 Před rokem

    The same thing happened with nx console vscode plugin.

  • @chimichuflis
    @chimichuflis Před rokem +2

    i miss those times where there were some constrains, current day devs wont care about, for example a simple notes app that is around 300mb, just because of the frameworks

    • @ea_naseer
      @ea_naseer Před rokem

      Memory is cheap. CPUs are now 7ghz

    • @chimichuflis
      @chimichuflis Před rokem

      @@ea_naseer yes but that does not apply to every cheap device around

  • @shapelessed
    @shapelessed Před rokem +4

    0.5s to 15s seems hella lot like migrating from a C++/C app using native OS components to Electron...
    Trust me. I know what I'm talking about...

  • @kaioneal6160
    @kaioneal6160 Před 11 měsíci +1

    This is to relatable

  • @essufi4933
    @essufi4933 Před rokem +16

    I was recently hired in a company as a software engineer ... I noticed the senior engineers are very defensive against any new idea I share with them
    At the same time I get worried if I'm adding those new ideas because of my ego or not
    I think the best solution is to talk and argue over things and discuss what we value as a company or a team
    Working from defining value in a product is very helpful in the beginning

    • @moy2010
      @moy2010 Před rokem +3

      Usually (let's say 95% of the cases) the reason why senior developers are change adverse is because their experience allows them to ponderate the pros and cons of such changes.
      Let's take one example: You watch this amazing tech-talk about this revolutionary database Y that is so much better than database X, which your current company is using. On the next day, you go to work and tell your senior coworkers about this amazing new technology and how good it would be to adopt it.
      Sounds familiar?
      Think about it for a second. You just heard about this new database yesterday, and in the best case you also spent a few days researching about it before suggesting it to your senior co-workers. Now, let's say that on average, a new database comes out every 3-6 months. Can you estimate how many new databases have your senior co-workers seen come and go during their career?
      Let alone how many times they have seen it, they were juniors at some point in the past and they also had these "amazing" ideas that they got from reading a book or watching a tech-talk.
      The thing is that experience not only gives you a better sense for telling between what's good and what isn't. Experience also gives you wonderful lessons in the form of pain:
      Do you know how painful it is to switch from one database technology to another? If you are a junior, you probably don't. But your seniors probably do.
      This is a super-simplificated example, but I hope it helps you to better understand why usually seniors are change adverse.

    • @JamesSmith-cm7sg
      @JamesSmith-cm7sg Před rokem

      Have you asked why?

    • @kellysmith7357
      @kellysmith7357 Před rokem +2

      ​@moy2010 Your attitude is exactly the type of ego this video is about. You went off on this person assuming their ideas are not worthwhile to even be had, let alone shared. You don't know them or how creative they are. All of your examples may reflect reality and you may have good points but your attitude and condescending tone is a manifesration of the same ego Hessein discusses in this video could stifle future communucation and hurt the organization.

  • @arpanmukherjee4625
    @arpanmukherjee4625 Před rokem +14

    Sometimes these are A/B tests 😂 maybe the new UI is helping convert more free users to paying users. I personally hate to see changes in UI to which I am super acquainted to.

    • @therealb888
      @therealb888 Před rokem

      A/B testing with your users without considering their experience is repulsive to me. It's just like your goal in your comment,
      > "helping convert more free users to paying users".
      If your goal is only that, you'll be losing more users.

  • @funkykong9001
    @funkykong9001 Před rokem +53

    Pro Tip: Set the playback speed to 2x

  • @diederikfrombelgium
    @diederikfrombelgium Před rokem +1

    I find it funny that everyone in the comments talks about OTHER people, but don't introspect. I for example have noticed myself getting defensive without "real" objective reason about some parts of code I've written, I try to work at it but it isn't always easy to completely forgo the ego.

  • @hashemsellat9986
    @hashemsellat9986 Před rokem +2

    IMO, reading the book "Ego is The Enemy" by Ryan Holiday is a must for every team leader if not every programmer

    • @dan_le_brown
      @dan_le_brown Před 11 měsíci +1

      Great book IMO. I read it at a critical point in my life as well

  • @newbie8051
    @newbie8051 Před rokem

    I've always wondered why does the instagram app change so frequently :/

  • @elmalleable
    @elmalleable Před rokem

    the number of times i say tomyself, if i ain't broken, dont fix it. then there are the clients that want features that are more wishlist items

  • @perpetu
    @perpetu Před rokem

    I like his tone

  • @seandavies5130
    @seandavies5130 Před 9 měsíci

    It seems to me that ego is a bit of a pointless barrier and pain in the ass even for the person themselves. It makes you tend towards staying in your comfort zone and never learn anything new. The fact of the matter is things take effort to learn to a deep level and someone with a massive ego never wants to admit to themselves that they don't understand something right away. In the end they lock themselves into only understanding topics superficially

  • @thespiritcode4006
    @thespiritcode4006 Před rokem +1

    Are you doing okay Hussein? You seem a little down. Hope everything is ok.

  • @brianlanger147
    @brianlanger147 Před rokem

    Couldn't agree more 👍🏼

  • @tommylay3096
    @tommylay3096 Před rokem

    I think also with the current job market has made it worse. Everyone has built bigger egos trying to prove that they are the best amongst a competitive pool of candidates.

  • @TheHellishFrog
    @TheHellishFrog Před rokem +3

    You have to update the code - otherwise, the code will become stale. The team must be current in their codebase - or no one will remember how to work with it. Libs and technologies involved in your project are updating, and getting old bugs and vulnerabilities fixed - so you have to update your project too, adding new features by the way. This lead to increased complexity of the soft, and often to slacker performance.

  • @Rishi-9073
    @Rishi-9073 Před rokem

    New tech and ideas are welcome but I agree that the ego to enforce them is killing the software industry. Have to agree that the whole industry could achieve much much more if we just followed on the standards and improve upon them instead of trying to replace everything endlessly

  • @fijau
    @fijau Před 10 měsíci

    13:33 "I think I wrote a book about it." 😄

  • @viacheslavromanov3098
    @viacheslavromanov3098 Před rokem +1

    They are just pumping any software with infinite numbers of features which comes in cost of performance, usability, glitches and keep doing it for the sake to keep rolling the ball

  • @playersplayer1173
    @playersplayer1173 Před rokem

    Very true

  • @nezukovlogs1122
    @nezukovlogs1122 Před rokem

    One more problem is when your team manager is not from tech background but pure managerial background. Its a pure sh*t show for that tech team.

  • @EdgarVerona
    @EdgarVerona Před rokem

    I absolutely agree.

  • @ikemnodebe4307
    @ikemnodebe4307 Před rokem +1

    Banks will prefer to change their UIs 1000 times than to fix up their backend to be more efficient

  • @tenzingaphel6454
    @tenzingaphel6454 Před rokem +1

    That's why software engineer are paid more, cause investor thinks changes means company is working. As they can create new software every 3 month

  • @MaulikParmar210
    @MaulikParmar210 Před rokem +1

    Seen so many bad codebases in past decade, problem with modern day workflow is everyone wants to jump in cutting edge tech without evaluating pros and cons. They often forget that individual teams have their strengths and weaknesses.
    Good softwares are built on top of their skillset and expertise. Proper implementation and execution weighs more than getting out a product with buggy and half baked implementation as alot of those resources would be struggling with new language or stack.
    What I've found is, older softwares tend to be more stable in nature from begining because alot of them were not agile and followed software engineering practices that made these impmentationa more reliable and resilient towards unknown factors as those things were evaluated at very early stages of development. Modern day workflow is quite opposite and in the name of growth, innivation, it is going to cost more in terms of tech debt and bad codebase that newer maintainers will inherit or probably will be scraping in name of new implementation.
    Like it or not, unless you are a developer, software engineer, architect or someone building software, no one else in chain give a dime about how it's going to be impmented. Whuch makes it harder to take good decisions based on long term outcome. Often engineers and tech people have to convience them to make a sane decision which is in between and never good enough to throw out old garbage.
    Yesterday's experience : Instagram forgets to add save button in bio edit screen. "Yes we have automated builds but no good QA so you get app pushed on app stores without much oversight!" - why? Because all big tech love automation that they forget basic engineering practices. There are plenty of such examples. That's the reality..!

    • @adityachoudhary1637
      @adityachoudhary1637 Před rokem

      Was thinking the same mate. U summarized it well😁

    • @mecanuktutorials6476
      @mecanuktutorials6476 Před rokem

      I’d just add that even old software is not gold. It just had less going on. It was simple like frying an egg.
      Modern software is like getting egg whites from a carton, then putting it in some machine, that then turns it into a 5-star gourmet omelette. All you wanted was a fried egg but you got something different with all of the headache of maintaining the magic machine and paying for the cartons.
      Abstraction and task offloading are both blessings and a curse. If the machine isn’t working, you have to troubleshoot that on top of your own stuff.
      Old school software was easier because you knew what you wanted from the get go, then planned to attain that. Whereas modern is like: you might want an egg, or an omelette, or a cake. It has to handle all these cases cause we don’t know what you want and neither do you.

  • @Miaou98
    @Miaou98 Před 10 měsíci

    This is why you should go down the DevOps engineer route aka. the dark side where as long as you automate stuff you'll be considered a hard worker (my insiders heard rumors and leaks about automating your automation so you can slack off without being caught at work but shhh don't tell anyone)

  • @ricardo.fontanelli
    @ricardo.fontanelli Před rokem

    4:10 hahahaha yes, the language/framework/database you're família with is "always" better than the others 😅

  • @amirraouf1
    @amirraouf1 Před rokem

    It was my big issue with my engineering manager and ends up that I was the unlikely guy from him..

  • @nxte8506
    @nxte8506 Před rokem +1

    You didn’t contradict yourself because you said at the beginning “It’s one thing when the app works fine and someone comes in wanting to change everything”. Also I’d recommend reading The Scout Mindset by Julia Galef. It talks about this problem on a broader basis. She calls this type of thinking the “soldier mindset” and it plagues more than just software engineers.

  • @mikopiko
    @mikopiko Před rokem

    I feel like there is some background to this video, something Hussein hasn't mentioned.

  • @KangJangkrik
    @KangJangkrik Před rokem

    Two years ago I was a web developer. Now I'm programming chips and linux kernel tinkerer at work. What I want to tell you is web dev realm is so crowded and too many people who still in "mount of stupid" of dunning-krugger graph. I feel like the more high level programming developer, more ego evolved there. That's- just my intuition, let me know if I'm wrong

  • @muhdhanafiyakub6678
    @muhdhanafiyakub6678 Před rokem

    Every organisation have these OKR set for the team.. even if its not ego, its about reaching the goal set by higher management.. sometimes I think these OKRs are real BS, team lead just need set something to show off to the boss..its how organisation work.. and then treat developer like a construction workers.. care only to hit that damn goal. I think that is one reason why most talented developers dont work with big org and prefer doing youtube, open source , lib development…or build a start up..

  • @michaelutech4786
    @michaelutech4786 Před rokem

    I think you overlook an important aspect here. Most software developers do not actually develop software, they develop modules. They/We are very far from users and their needs. The best software usually started with an individual or a group who developed a solution for their problem. They had both the purpose and the means and that's why their products are good.
    We invented the term "product owner" for the role in a software project that creates that connection between the actual users and the product. Since we adopted this terminology, I did not see a single person who filled this role well. Businesses apparently do not really value this function. You can see that at Apple. Shortly after Steve Jobs left the company, we had to stick the apple pen into the iPad. I'm not sure how to interpret that psychologically.
    Developer egos are certainly a problem, but I don't think it's specific. We all have our egos and doing a good job for somebody else's needs is always a conflict of interest. What is more surprising, is that in software engineering, people are usually not aware that this conflict is there. Software engineering is not settled. We keep coming up with new paradigms, methods and ideas and we keep failing to meet expectations. I'm old enough to see that many new ideas are actually only thinly disguised old ideas with a shiny new name.
    When architecture was innovative, craftsmen commuted over continents and they had individual credibility to sustain their decisions. Architects had to stand under their construction when the scaffolding was removed. We don't have this kind of work ethics and such a concept of responsibility in our contemporary project management. And still, we have impressive videos on CZcams illustrating the concept of a resonance catastrophe.
    Don't be too hard on us. We're just human and that regrettably means we're pretty stupid.

  • @felipejzrd
    @felipejzrd Před 11 měsíci

    As someone that still uses Photoshop CS3, i get you

  • @arturasj4607
    @arturasj4607 Před rokem

    I think software engineering field lacks educated people that know how to think, analyse, assess. It's not only about writing code or knowing some framework - being a good craftsman. As in any other field, you need to be able to see the problem, state it clearly, evaluate risks/benefits of solving it or leaving as it is and making a decision. It involves calculations, not only your gut feeling...

  • @TalwinderDhillonTravels

    Duolingo added a 5 second splash screen if you have a Duolingo premium subscription.
    So they chose to make the experience worse for paying customers, which is beyond my understanding

  • @evolagenda
    @evolagenda Před rokem

    Low key title is actually "the problem with software engineers" but that would be a series.