“Exercises in Programming Style” by Cristina Videira Lopes is the best programming book to come along in many years. Casting back over many decades, the only book I can compare it to in terms of actionable value is Steve McConnell’s “Code Complete,” and in terms of approachability and sheer fun, it reminds me of Ted … continue reading
The consumer mobility market has experienced massive growth, largely driven by the sale of smartphones, which topped 1.2 billion units sold globally in 2014, an increase of 28% from 2013. This consumer adoption subsequently drove the Bring Your Own Device movement, as employees demanded the right to bring their own mobile devices into their workplaces. … continue reading
Bolstered by the near-meteoric rise of container technology, especially Docker, the term “microservices” is now being used to describe the type of software architecture anointed as the shiny new technology that will deliver software engineering to the Promised Land. The reality is that the principles of microservices go back to the ancient history of software … continue reading
Read just about any article on DevOps and you’ll be sure to find liberal sprinklings of terms like “culture” and “collaboration” and “establishing strong feedback loops.” Go deeper and you’ll probably come across some head-scratching stuff like “anti-fragile,” “systems thinking,” and my own personal favorite: “learning from failure.” There’s nothing especially earth-shattering about learning from … continue reading
Android is the operating system dutifully running behind the scenes on many of the most popular consumer mobile devices available today (you might very well be reading this on your personal Android device right now). But even as Android is well regarded for its massive global success in the consumer market, the mobile platform’s position … continue reading
For years IT organizations have been criticized for being too slow, too restrictive and unresponsive to the business. Analysts and vendors have pushed IT to transform itself as a whole, and encouraged the adoption of technologies that enable agility. But a new perspective on IT is gaining steam. Instead of changing the face of IT, … continue reading
It may sound counter-intuitive to say that developers shouldn’t perform testing on the products they produce. After all, who knows a site or app better than those who created it? Aren’t developers exactly the people who should be testing software, given that they put it together and know how it’s supposed to work? It’s this … continue reading
Here’s a statement I never thought I’d hear: “In the past, [Business Process Management] has been too much focused on process.” But that’s exactly how Miguel Valdes Faura, CEO and cofounder of Bonitasoft, views the market today: less talk about process and more about applications. After all, it is applications that use these business processes, … continue reading
Java’s emergence 20 years ago was the last time a programming language enamored the industry. It was not the first time: It had been the rhythm of the programming community to anoint a new “it” mainstream programming language every seven years or so. While that pattern has clearly been disrupted, I believe that it is … continue reading
Having been the first to move on advanced digital customer experiences, consumer-brand companies like GE, Home Depot, Lowes, Coca-Cola, and Under Armour/MapMyRun learned that the platforms for their modern digital apps are as crucial to their success as investments in capital, supply chain, labor, and product management. Yet, in the age of the customer, these … continue reading
As global trading explodes, U.S. software companies are expanding their sales and product development internationally. Whether it’s a small company beginning to sell internationally or a sophisticated company looking to outsource product development, one issue often overlooked or misunderstood is how encryption functionally can impact, and in some cases restrict, international activities. These restrictions arise … continue reading
Software development is not only knowledge-intensive work, it is knowledge-sharing-intensive work. A huge amount of knowledge sharing is required among software architects, engineers, product managers, project managers, developers, QA testers, and so on. In this environment, companies that implement a knowledge-sharing process thrive, while those who don’t learn how to share knowledge effectively can quickly … continue reading
We live in an era that is largely dominated by mobile-based applications. This rapid growth of apps on mobile platforms can be largely attributed to the presence of several mobile devices such as smartphones, tablets, phablets and wearables on the market. Each of these devices has distinct hardware and software configurations, which leads to the … continue reading
No matter how genius a new application is, it is still required to go through testers’ hands. And despite the important role testers play, they remain in the shadows. When developers become aware of the variety of tests their software must endure, it often forces them to rethink the way they develop their software—in a … continue reading