Lessons for "Sustainable Software Development"

Seeing a need for holistic mastery of the essentials required to work sustainably to produce software, I created a program to transform professionals through a combination of learning and social mentoring. Sustainable Software Development is a 12 month program that shares 20 years of software development wisdom, empowering all the roles people encounter over their career with the mindset and support they need to be successful.

The Skills

Whether you're chasing a new idea, trying to convince someone to support you, or redesigning a product to better meet the needs of its customers - the skills of Sustainable Software Development will do more for you than just being a great technologist.

Personal Development

Personal Development is the art of improving yourself. Talking to customers, selling, writing code, automating processes, or testing are some of the basic skills you may use today to fill your role in producing software. If these are all you focus on however, it won't be long before you hit roadblocks that can only be overcome with intentional personal change.

Adaptive Processes

When you understand how uncertainty affects development processes, you can select the appropriate approach for your products and teams and match it to your exact needs. We'll cover essential theory on SCRUM, Kanban, Continuous Delivery, and DevOps so you make smart decisions about the tools and vendors you choose. As additional processes become available in the market, you'll have a firm grasp on how to evaluate their suitability on your projects.

Continuous Learning

A team that learns from its customer gets closer to the most profitable ideas as quickly as possible. A team that commits to too much before validating it with the customer in production wastes precious resources and acquires unnecessary maintenance costs. Learn the essentials of applying LEAN principles to not only your products and services, but the decisions you make about how to work together. Every team's capabilities and culture is unique and can be learned.

Ethical Business

Help decision makers at the companies you lead and work for to make informed decisions not just driven by profitability, but with an understanding of the toil it will or will not cause to employees. Use strategies for growth that keep the wheels from falling off due to impatience. When you build a company or product to last, the culture and architecture of its products and services are just as important as its business model.

Scalable Technology

Let me help you understand the tradeoffs of investing up front in scalable technologies versus adding them at a later time. Depending on your required time to market and available capital, it may or may not make sense to build these features into your products and services from the get go. Some scalable technologies can be added later without significant rework, while others must be accounted for from as early as possible to avoid wasted effort.

The Forces

If you feel like you're not being told everything that's going on, or that situations outside of your control often derail your progress - harnessing the forces that influence Sustainable Software Development will free you to innovate again. When you work with others to show an interest in the basic mechanics of the related forces of a company, you will get support from others to make changes with ease.

Culture

"It'll never work here" are common words used to express resistance to change, but they be can avoided by taking culture into consideration beforehand intentionally. Help the people you work with to take pride in the culture you care for at your company, and plan for explicit collaboration from not just those with the loudest voices. The difference between a company that is fun to work at, and one that saps the life out of everyone is often a direct result of the attention given to culture.

Market

It's inevitable that competitors will bring features to market that threaten work underway. Competitive marketing campaigns can draw attention that puts pressure on your market share. Help your company to not focus solely on the features of the product, but its viability as a solution for the market as it shifts. Accommodate regulatory changes that effect you by working sustainably to prevent getting sideswiped from maxing out your capacity.

Business Model

Do you know how the products and services you work on make money for the company? If not you're missing out on a chance to get your voice heard in major ways. When you have a solid understanding of the costs and revenues of the business on a basic level, you'll have the ear of executives and less trouble getting budget for tools, people, and training needed to stay successful as your career progresses.

Operations

Operations are not simply the folks who keep the product running smoothly, but also anyone who does work to keep the business on its feet. When you pay attention to how software being produced is supported, and how it makes work easier or harder for the people who run the business, dramatic cost savings can provide the money you'll need to chase your next big idea and get the rewards you deserve.

Customers

An attuned ear that listens to the customer of your products and services will produce the most profitable ideas, period. But it's not enough to listen - you must intelligently understand needs better than they do when you hear requests for features, and go about development in a way that accommodates change with low friction. Putting processes in place, and doing explicit activities to amplify the voice of the customer is often what produces the products we know as household names.

Development

Engineers that develop applications, data analytics solutions, and APIs are capable of building more than just products and services for the customer. They can also be valuable assets that contribute to the mindshare of the technologies used by the business to support sales and marketing, operations, as well as enablers of how smoothly staff interact with each other.

Technology

Every day there are hundreds of new technologies announced, and existing ones undergo dramatic changes as well. Balancing when to adopt a new technology, and when to stay the course with the existing approach, is a crucial skill needed to keep your company and it's products relevant in the marketplace. This module will help you make smart decisions about when technology investments truly become necessary.

>