Welcome!

Machine Learning Authors: Pat Romanski, Yeshim Deniz, Liz McMillan, Elizabeth White, Zakia Bouachraoui

Related Topics: Microservices Expo, Industrial IoT, Microsoft Cloud, Machine Learning

Microservices Expo: Book Review

Book Review: Managing the Unmanageable

Rules, Tools, and Insights for Managing Software People and Teams

On any significant size project I am going to have a team of developers reporting to me. Over the years those numbers have varied greatly. I have managed 1 developer and teams of developers. I have the most fun on projects where I have between 4 and 10 developers.

I also prefer to be partnered with a good project manager or none at all. A bad project manager just makes it harder to keep the team motivated and the client happy. I would say less the 5% of the gigs I have been on have provided a good project manager. 25% of them have provided bad ones, and the rest of the gigs the responsibility fell on me, the software architect.

The point of all this is that my job requires me to manage programmers and communicate to stakeholders effectively. Reading books on project management and general management have not been fun, but has been necessary. I was happy to see one come out that targets more of what I have to do, and that is manage programmers.

Below are the chapters in the book.

1. Why Programmers Seem Unmanageable
2. Understanding Programmers
3. Finding and Hiring Great Programmers
4. Getting New Programmers Started Off Right
5. Becoming an Effective Programming Manager: Managing Down
Insert - Rules of Thumb and Nuggets of Wisdom
6. Becoming an Effective Programming Manager: Managing Up, Out, and Yourself
7. Motivating Programmers
8. Establishing a Successful Programming Culture
9. Managing Successful Software Delivery Tools

In the very first chapter the authors hit a nerve. I went to school for electronic engineering and worked in that field before moving into programming. Because of my work in the engineering field I have always been comfortable with the engineering practices that made there way into the programming field. The authors are however correct when they say a majority of programmers today do not have to know anything about software engineering. They are simply programmers because they decided they wanted to be and were lucky enough to get a job with that title.

The point is that you most likely will not have a team of software engineers. Managing and working with engineers is much simpler that working with the self made programmer that was previously an artist, musician, writer, or any other field. This book helps identify different personalities and offers tons of advice on how to work with them in a positive way.

I wish we could put a law in place that in order to hire programmers an organization must follow the guidance offered in the chapter Getting New Programmers Started Off Right. 80% of my starting week have been a complete waste of my time as well as the organization's time. Rarely are they ever ready for you.

One very cool section of the book is the 60 page insert titled Rules of Thumb and Nuggets of Wisdom. It contain short blurbs and quotes from some of the leaders of the programming industry. Cracking open this section you can lose track of time going through them and thinking about them.

The thing I liked most about this book is that it borrowed some of the best processes in the industry, but is absolutely not process centric. Meaning you'll hear some nuggets of Scrum and other processes, but none of them are highlighted in the book. This book is all about understanding the programmer, your environment, and yourself, and how to make the right decisions given your environment.

My belief is that compiled information is knowledge, knowing what to do with the knowledge is wisdom. I see a whole lot of knowledge these days, but very little wisdom. The authors of this book have successfully compiled wisdom. Reading this book will change the way you work with programmers. Every single chapter of this book is a real gem.

This book will become a classic to turn to over time. Every manager interacting with programmers should read this book. That includes CIOs, Software Architects, Enterprise Architects, and Lead Developers. You don't need to have the word manager or director in your title. If in your role you find you are managing a team of developers, you should read this book.

Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

CloudEXPO Stories
With more than 30 Kubernetes solutions in the marketplace, it's tempting to think Kubernetes and the vendor ecosystem has solved the problem of operationalizing containers at scale or of automatically managing the elasticity of the underlying infrastructure that these solutions need to be truly scalable. Far from it. There are at least six major pain points that companies experience when they try to deploy and run Kubernetes in their complex environments. In this presentation, the speaker will detail these pain points and explain how cloud can address them.
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-centric compute for the most data-intensive applications. Hyperconverged systems already in place can be revitalized with vendor-agnostic, PCIe-deployed, disaggregated approach to composable, maximizing the value of previous investments.
When building large, cloud-based applications that operate at a high scale, it's important to maintain a high availability and resilience to failures. In order to do that, you must be tolerant of failures, even in light of failures in other areas of your application. "Fly two mistakes high" is an old adage in the radio control airplane hobby. It means, fly high enough so that if you make a mistake, you can continue flying with room to still make mistakes. In his session at 18th Cloud Expo, Lee Atchison, Principal Cloud Architect and Advocate at New Relic, discussed how this same philosophy can be applied to highly scaled applications, and can dramatically increase your resilience to failure.
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by sharing information within the building and with outside city infrastructure via real time shared cloud capabilities.
As Cybric's Chief Technology Officer, Mike D. Kail is responsible for the strategic vision and technical direction of the platform. Prior to founding Cybric, Mike was Yahoo's CIO and SVP of Infrastructure, where he led the IT and Data Center functions for the company. He has more than 24 years of IT Operations experience with a focus on highly-scalable architectures.