Software-Technology

UML Distilled: A Brief Guide to the Standard Object Modeling Language

Unified Modeling Language (UML) models how software and technology are designed. Unfortunately, its committee-derived specifications are too long and too detailed for most software developers to parse. This book distills that complexity into a series of simple instructions alongside graphics. These graphics can easily serve as starters or quick interpretive guides for thorny situations. Additionally, Martin Fowler, a UML veteran, offers sage advice to help the reader know what’s most essential and what can be…

Continue reading

Software-Technology

Learning UML 2.0: A Programatic Introduction to UML

Unified Modeling Language (UML) is the best standardized way to graphically depict a complex software system. It makes a technical language of glyphs to portray software integrations so that large software efforts can be more easily understood by developers. Certifications exist that allow individuals to support UML professionally. As a developer, the main problem I have with UML is that it itself is complex, often too onerous for my efforts. I deal with complex software,…

Continue reading

Management-Business Software-Technology

The Software Architect Elevator: Redefining the Architect’s Role in the Digital Enterprise

Traditionally, companies live and die by a fixed hierarchical approach where power and influence are garnered by climbing to the top of the ladder. However, recent decades have witnessed the rise of digital companies promising an economic disruption. Stereotypically, a smart young kid writes some code to change the way business is done and become rich in the process. We, in the public, then use their software for decades to come. Many companies still have…

Continue reading

Software-Technology

Data-Oriented Programming: Reduce Software Complexity

Professionally, I write code for web applications in PHP for biomedical use. Thus, data play a central role in my professional life. At first, I tried to design my programs around object-orientated (OO) principles, but soon found that data played a strong role that OO actually restrained. Years later, I found how React divided itself between immutable data, state information, and code. Though I no longer code in React, I find this division still helpful…

Continue reading

Presentation Software-Technology

Universal Principles of UX: 100 Timeless Strategies to Create Positive Interactions between People & Technology

UX is shorthand in the software industry for “user experience.” It’s often used in conjunction with UI, or “user interface.” In the world of the web, good user interfaces and user experiences can lead to successful, profitable websites – regardless of their function. Likewise, bad UIUX almost always leads to a website’s failure. Thus, specialists are often paid well to design and implement these aspects with skill. But in a world of ever-changing designs, how…

Continue reading

Software-Technology

Domain-Driven Design: Tackling Complexity in the Heart of Software

This work was published in 2004 – a lifetime ago for the field of software design. It tackles issues relevant in 2004 but are standard practice today. Its basic message – learn not just the software but also the domain – is an important one, but most of the insights has been absorbed into computer-programming praxis over the last fifteen years. Its strength is in delineating how the programmer is to relate to the domain…

Continue reading