Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Node.js vs. Python for Backend: 7 Reasons C-Level Leaders Choose Node.js Talent

      July 21, 2025

      Handling JavaScript Event Listeners With Parameters

      July 21, 2025

      ChatGPT now has an agent mode

      July 21, 2025

      Scrum Alliance and Kanban University partner to offer new course that teaches both methodologies

      July 21, 2025

      Is ChatGPT down? You’re not alone. Here’s what OpenAI is saying

      July 21, 2025

      I found a tablet that could replace my iPad and Kindle – and it’s worth every penny

      July 21, 2025

      The best CRM software with email marketing in 2025: Expert tested and reviewed

      July 21, 2025

      This multi-port car charger can power 4 gadgets at once – and it’s surprisingly cheap

      July 21, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      Execute Ping Commands and Get Back Structured Data in PHP

      July 21, 2025
      Recent

      Execute Ping Commands and Get Back Structured Data in PHP

      July 21, 2025

      The Intersection of Agile and Accessibility – A Series on Designing for Everyone

      July 21, 2025

      Zero Trust & Cybersecurity Mesh: Your Org’s Survival Guide

      July 21, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      I Made Kitty Terminal Even More Awesome by Using These 15 Customization Tips and Tweaks

      July 21, 2025
      Recent

      I Made Kitty Terminal Even More Awesome by Using These 15 Customization Tips and Tweaks

      July 21, 2025

      Microsoft confirms active cyberattacks on SharePoint servers

      July 21, 2025

      How to Manually Check & Install Windows 11 Updates (Best Guide)

      July 21, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»News & Updates»The Service Library Service

    The Service Library Service

    July 21, 2025

    Adam‘s organization was going through a period of rapid growth. Part of this growth was spinning up new backend services to support new functionality. The growth would have been extremely fast, except for one thing applying back pressure: for some reason, spinning up a new service meant recompiling and redeploying all the other services.

    Adam didn’t understand why, but it seemed like an obvious place to start poking at something for improvement. All of the services depended on a library called “ServiceLib”- though not all of them actually used the library. The library was a set of utilities for administering, detecting, and interacting with services in their environment- essentially a homegrown fabric/bus architecture.

    It didn’t take long, looking at the source control history, to understand why there was a rebuild after the release of every service. Each service triggered a one line change in this:

    enum class Services
    {
        IniTechBase = 103,
        IniTechAdvanced = 99,
        IniTechFooServer = 102,
        …
    }
    

    Each service had a unique, numerical identifier, and this mapped them into an enumerated type.

    Adam went to the tech lead, Raymond. “Hey, I’ve got an idea for speeding up our release process- we should stop hard coding the service IDs in ServiceLib.”

    Raymond looked at Adam like one might examine an over-enthusiastic lemur. “They’re not hard-coded. We store them in an enum.”

    Eventually Raymond got promoted- for all of their heroic work on managing this rapidly expanding library of services. The new tech lead who came on was much more amenable to “not storing rapidly changing service IDs in an enum”, and “not making every service depend on a library they often don’t need”, and “putting admin functionality in every service because they’re linked to that library whether they like it or not.”

    Eventually, ServiceLib became its own service, and actually helped- instead of hindered- delivering new functionality.

    Unfortunately, with no more highly visible heroics to deliver functionality, the entire department became a career dead end. Sure, they delivered on time and under budget consistently, but there were no rockstar developers like Raymond on the team anymore, the real up-and-comers who were pushing themselves.

    [Advertisement] Picking up NuGet is easy. Getting good at it takes time. Download our guide to learn the best practice of NuGet for the Enterprise.

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleTruffleHog – discovery, classification, validation, and analysis tool
    Next Article Garuda Linux: Innovazione e Performance con i Nuovi Profili Hardware

    Related Posts

    News & Updates

    Is ChatGPT down? You’re not alone. Here’s what OpenAI is saying

    July 21, 2025
    News & Updates

    I found a tablet that could replace my iPad and Kindle – and it’s worth every penny

    July 21, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    CVE-2025-2770 – BEC Technologies Router Cleartext Password Disclosure

    Common Vulnerabilities and Exposures (CVEs)

    CVE-2025-7625 – YiJiuSmile kkFileViewOfficeEdit Remote Path Traversal Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    CVE-2025-4541 – LmxCMS SQL Injection Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    Distribution Release: Network Security Toolkit 42-14476

    News & Updates

    Highlights

    5 Powerful Ways to Deploy PHP Applications with DeployHQ

    June 30, 2025

    Post Content Source: Read More 

    CVE-2025-6695 – LabRedesCefetRJ WeGIA Cross-Site Scripting Vulnerability

    June 26, 2025

    CVE-2025-22237 – SaltStack Minion Remote Command Execution Vulnerability

    June 13, 2025

    15 Best Free and Open Source Terminal-Based Password Managers

    June 26, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.