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 Program Management Software-Technology

Information Technology Project Management, 9th Edition

IT projects comprise a particularly difficult niche of project management. The field is so new, and IT professionals’ proficiencies vary widely. The technology quickly evolves, so what was true about project management a few years ago might not be relevant soon thereafter. Personalities can also pose a problem since software developers aren’t reputed to be the most personable workers. In this textbook, impressively in a ninth edition, Kathy Schwalbe provides sage advice by summarizing the…

Continue reading

Leadership Management-Business Software-Technology

The Engineering Executive’s Primer: Impactful Technical Leadership

Encoding software is a highly technical task, but effective leadership is often anything but technical. Combining the two thus can be supremely difficult, but this pair of skills is necessary to fill roles like Chief Information Officer (CIO) or Chief Technology Officer (CTO). Unfortunately, advice is hard to come by in the literature since only a few extended books in this space. To better fill these gaps, Will Larson, known for his deep looks at…

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

Leadership Management-Business Software-Technology

Tech Leadership: The Blueprint for Evolving from Individual Contributor to Tech Leader

Typically, technical education prepares students for individual positions that require a lot of self-motivated thinking. They don’t usually prepare them for leading teams. Yet some new employees might find that they want to move beyond being an individual contributor (IC) into a leadership role. Getting an MBA would be an obvious educational direction, but that expensive route might not prepare a student for the exact kind of leadership role she/he desires. In this book, Andrew…

Continue reading

Presentation Software-Technology

Creating Software with Modern Diagramming Techniques: Build Better Software with Mermaid

As a computer science major in college, I learned about Unified Modeling Language (UML) as a way to visually document software. However, I soon found designing and maintaining those images to be more of a pain than they’re worth. I had to reshuffle images on graphics programs for every minor change, so keeping documentation up to date proved to be impossible. Recently, however, I discovered that someone invented a language, called Mermaid, to convert a…

Continue reading

Software-Technology

Systems Analysis & Design

Information technology (IT) is a fast-moving industry. Its impact on the modern world is also immense, whether in personal, business, or governmental domains. Almost no medium-sized businesses can survive without a robust IT policy. Despite being critical, those interested in joining the IT workforce will find their skills, gained through education, become quickly outdated. Twenty-five years ago, I gained knowledge from textbooks like this by earning a bachelor’s degree in computer science, yet the field…

Continue reading

Management-Business Program Management Software-Technology

Managing IT Projects: How to Pragmatically Deliver Projects for External Customers

Business projects involving information technology require their own set of required skills. The product is electronic, not physical, but the implementation is very abstract and technical. Planning and monitoring the work itself pose their own set of risks. Further, because everyone uses software, many think that designing software does not require special expertise, so projects become improperly designed from the start. Project management education does not routinely cover this niche of practical problems, but in…

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