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