Bulama Yusuf
Bulama Yusuf
  • 17
  • 1 560
Not All Technical Debt is Bad
Technical debt is seen as something that's unhealthy and for good reason.
That said, there are situations where taking on some technical debt is ok, as long as the team does this intentionally and it has the skills to adequately judge the trade-offs and carry out the corrective measures later on.
This video talks about the common causes of technical debt in my experience and aims to give a different perspective with which to view technical debt. It is not exhaustive.
You can download a document I wrote about technical debt here - bulama.io/improve-your-software-development-speed/
Technical debt article - bulama.io/what-is-technical-debt/
Fractional CTO services - bulama.io/hire-fractional-cto/
Переглядів: 6

Відео

Using The BFF Architectural Pattern Instead of API Gateway
Переглядів 732День тому
In this video I talk about the Backends for Frontends architectural pattern. What it is and when to use it. I also talk about when why you would choose the BFF pattern over the API gateway pattern. - Get my product-minded CTO services here - bulama.io/hire-fractional-cto/ - Download a PDF on how you can standout as a more valuable developer in the age of AI here - bulama.io/become-a-valuable-so...
Become an Irreplaceable Developer: Essential Skills to Stand Out in the Age of AI
Переглядів 74Місяць тому
Certainly no one is irreplaceable but AI is getting better and this is causing a shift in the manner in which software developers are valued. The bar for developers is getting higher and relying on technical skills alone would set you up for replacement. Not just by developers that use AI but by developers that bring more value in the age of AI. In this video, I highlight what I believe to be t...
Better Communication Not Better Code. How Communication Makes You More Valuable as a Developer
Переглядів 273 місяці тому
The word communication gets thrown around a lot in the software development space but what does it really mean? Why is it even important to start with? Turns out that software development heavily relies on communication. The quality of communication on a software project is directly correlated to the success of the project. The reason for this is pretty straightforward. Software development is ...
How I Saved a Nationwide Healthcare Software Project
Переглядів 623 місяці тому
Please subscribe if you find this valuable! In this video I talk about how I and my team saved a nationwide healthcare project simply by not deciding to rebuild the project from scratch. We forced ourselves to understand the existing code and build upon that. 00:00 Intro 00:26 How I got involved 02:14 Project background 04:10 Inherited project issues 05:40 Solution approach 09:43 Convincing the...
The Reason Why Developers Have More Annoying Meetings
Переглядів 643 місяці тому
This video attempts to explain why developers find themselves in more frequent and annoying meetings that make their job a pain. Developers don't necessarily hate meetings, they meet and discuss with themselves all the time. It's the meetings that talk less about the work that matters to them that bores them. In addition to that, developers may find themselves attending more and more of such bo...
Understanding The Concept Of Messaging And Its Role In Software Design
Переглядів 90Рік тому
Welcome to my UA-cam video on 'Understanding The Concept of Messaging and Its Role in Software Design.' In this informative and engaging video, I delve into the fascinating world of messaging and explore how it shapes the architecture of software solutions. Communication is key in any software system, and messaging offers a powerful approach to facilitate seamless data exchange and event-driven...
The Power Tools of Software Development: APIs, Libraries, and SDKs.
Переглядів 133Рік тому
In this video, I dive into the world of software development and explore the essential tools that empower developers to create amazing applications. Join me as we unravel the role of SDKs, APIs, and libraries in the development process. Discover how SDKs provide a comprehensive set of tools and resources, APIs enable seamless communication between applications, and libraries offer prebuilt func...
Straight Forward Explanation: Forward Proxy vs Reverse Proxy
Переглядів 38Рік тому
In this video, I provide a straightforward explanation of forward proxies and reverse proxies. If you've ever been curious about how these networking concepts work or wanted to understand the differences between them, you've come to the right place. In a clear and concise manner, I break down the fundamentals of forward proxies and reverse proxies. You'll learn how these proxy types act as inte...
3 Key Things To Help You Master Relational Database Modelling
Переглядів 21Рік тому
Data is at the heart of any software, and managing it efficiently is crucial. Relational Database Management Systems (RDBMS) have become the go-to solution for managing data effectively. In this video, I explore the basics of data modelling for RDBMS, using an illustrative example. We discuss the benefits and drawbacks of this approach, to help you decide if it's right for your needs. If you're...
What Are (Docker) Containers All About?
Переглядів 24Рік тому
Are you curious about containers, but find the technical jargon overwhelming? In this video, I break down the concept of containers in a way that's easy to understand, without any coding involved. From their origins in shipping to their modern-day uses in software development, I explore what containers are, how they work, and why they're so popular. Whether you're a beginner or just looking to ...
Understanding the Concept of Git For Beginners
Переглядів 41Рік тому
This video explains the concept behind Git and why developers use it and how developers use it. The video is not about git commands but rather an explanation about how to think about git, especially for beginners. If you find any value from this video, please consider subscribing to the channel for more helpful content like this. And if you're interested in software leadership, be sure to sign ...
How To Get the Best Out of Your Team as a Software Architect Bulama Yusuf SACON 2018 London
Переглядів 182 роки тому
Architects and team leads often run into problems when they focus solely on the technical aspects. The people side of things is very important. People make things happen and people are the hardest to figure out. My talk at the O'Reilly Software Architecture Conference in London 2018 focuses on how to get the best out of your team.
Get Strategic With Your Software Development Career
Переглядів 682 роки тому
This is an audio version of the welcome address I gave at the Google I/O Extended Abuja 2022 event that took place on the 2nd of July in Abuja, Nigeria. The talk is a call to get entry-level software developers to be more strategic with their career. Please excuse the audio quality because the talk was given in a space with lots of echoing.
bulama.io - Newsletter Subscription
Переглядів 692 роки тому
bulama.io - Newsletter Subscription
My presentation at O'Reilly Software Architecture Conference
Переглядів 1278 років тому
My presentation at O'Reilly Software Architecture Conference

КОМЕНТАРІ

  • @pereerecodes
    @pereerecodes 6 днів тому

    This will result in lots and lots of duplicate codes. You could just have the microservices hit the same API but different routes. This way it acts as a facade. Then when the requests are received, you make sense of it, reuse the general codes (no duplicates), and then decide to return something unique or general. If you have like 1000 endpoints, you might end up only needing to do this in just a few endpoints.

    • @bulama
      @bulama 6 днів тому

      @pereerecodes the BFF won't be the best for every scenario. For example, I have a project I am leading where we have a mobile client and an admin web client. Their needs (the clients) are starting to differ but we are not going the BFF way. We are doing something similar to what you described. One of the main reasons we decided to do this is because of the team structure, it's a small team. Spawning additional components to manage would be overwhelming for the small team. That said, I think the 2 main driving forces for using the BFF pattern are 1) the different consumption needs of the clients and 2) having the team structure to support it. Yes you would have "duplicate" code in the BFFs, though I prefer to call it similar code, but avoiding duplicate code is not the reason you'll use the BFF pattern. Like with all architectural decisions, "it depends". If avoiding duplicate code is key and you only have a handful of endpoints that can conveniently handle requests regardless of client type then it would be good to go as you have described. Also saves you from maintaining extra components.

  • @muchirajunior
    @muchirajunior 6 днів тому

    Using monolith for peace

    • @bulama
      @bulama 6 днів тому

      😄 yes, monolith works well for a number of situations.

    • @muchirajunior
      @muchirajunior 6 днів тому

      @@bulama It works well for most of solutions

  • @abubakarhassan6241
    @abubakarhassan6241 8 днів тому

    Good video. Would you recommend using mono-repo or multi-repo to make it smoother for maintenance and collaborating on a BFF Architectural Pattern?

    • @bulama
      @bulama 8 днів тому

      I would say multi-repo. Each BFF in its own repo. That’s what I’ve done with teams I’ve worked with. Thanks for your feedback.

    • @abubakarhassan6241
      @abubakarhassan6241 8 днів тому

      @@bulama thank you.

  • @socar-pl
    @socar-pl 9 днів тому

    so it's not one gateway but two gateways with dedicated DTO's for each platform

    • @bulama
      @bulama 8 днів тому

      That’s another way to think about it. Though the meaning that tends to be associated with “gateway” is “one and only” while with BFFs you would expect one per client/platform as you rightly put it.

  • @טלעמית-מ9כ
    @טלעמית-מ9כ 9 днів тому

    Great explanation

    • @bulama
      @bulama 8 днів тому

      Thanks.

  • @sinema7101
    @sinema7101 9 днів тому

    tbf i'm not convinced in BFF. It can get messy and over-bloated fast. That's just my experience from my current employer. I'm aware that's an issue of the team which is developing multiple BFFs. We can also consider an API Gateway like KrakenD, Kong, Tyk to modify responses. (it would be possible with nginx too) So we could write less code, probably even less dependencies to maintain. (no additional backends) Graphql is made for this problem too. (REST is easier to implement and has a superior error handling. You need to be check permissions for Grahql carefully. One request can include multiple queries) This isn't a complete list. Just some ideas. Good Video

    • @bulama
      @bulama 8 днів тому

      @sinema7101 I agree that BFFs do introduce more complexity in terms of components and source code to handle. Team structure and skills within teams is also a big factor otherwise a single team handling multiple components can become overwhelming. As for code being bloated, it depends on what bloated means. In my view bloated code is code which handles or tries to do more than it should, like a single API endpoint having to be aware of the specific needs of different clients. In such cases having BFF lets you isolate the needs of each client but then the trade off is more complexity and if you lack the team structure to support it, it just complicates things. Thank you for your feedback.

  • @gideonmkpume9078
    @gideonmkpume9078 Місяць тому

    B! This is awesome! Your communication skill is like am listening to a TEDTalk

    • @bulama
      @bulama Місяць тому

      Sir Gideon! Thank you.

  • @garbaabdusalam5220
    @garbaabdusalam5220 Місяць тому

    Thank you so much This is interesting and very educative It broadens my knowledge on how i see software development 💯

    • @bulama
      @bulama Місяць тому

      Happy you found the video useful.

  • @barkayusuf9734
    @barkayusuf9734 Місяць тому

    You're a genius.. i understood every bit if it! Thank you 🙏

    • @bulama
      @bulama Місяць тому

      That’s good. You’re welcome.

  • @bulama
    @bulama Місяць тому

    Here’s a link to download the PDF on becoming more valuable as a software developer in the age of AI bulama.io/become-a-valuable-software-developer-in-the-age-of-ai

  • @chimereijesugabsisoiwuoha5632
    @chimereijesugabsisoiwuoha5632 Місяць тому

    Thanks bro

    • @bulama
      @bulama Місяць тому

      You’re welcome

  • @AgbajeOlalekan
    @AgbajeOlalekan 3 місяці тому

    Well put together. A hands-on engineering manager who will shield the developers is the solution.

    • @bulama
      @bulama 3 місяці тому

      Exactly 👍

  • @samuelcs817
    @samuelcs817 Рік тому

    Excellent video!

  • @lwa.dev74
    @lwa.dev74 Рік тому

    Great explanations of concepts my brother thank you

  • @davidmd5329
    @davidmd5329 Рік тому

    Great Content!

  • @alhamdubello
    @alhamdubello Рік тому

    Good content, It would be nice to explain Git branching strategies.

    • @bulama
      @bulama Рік тому

      Thanks for the topic suggestion. I'll consider it.

  • @alhamdubello
    @alhamdubello Рік тому

    Nice one.

  • @tehmhithorphehardhekheyhe9760
    @tehmhithorphehardhekheyhe9760 2 роки тому

    You're just amazing brotherly🙂👌

  • @srilax01
    @srilax01 7 років тому

    Bulama, can you please also upload the other talk about Software Leaders it was excellent, concise and well presented !

    • @bulama
      @bulama 7 років тому

      Srinivas Laxman thanks. I'll have the leadership video uploaded as well.

  • @abubakarhassan6241
    @abubakarhassan6241 7 років тому

    Awesome talk

  • @muffycompo
    @muffycompo 8 років тому

    Awesome Talk +Bulama Yusuf