10x developer: work->knowledge->work

The most productive developer on a team is usually the one with the most knowledge of the system. Of the code, the business domain, the other software this code interacts with, and the people in the organization who can help. How did they get that knowledge? By working on the system. Weinberg remarks that when …

Read more10x developer: work->knowledge->work

Software teams are like Executive Teams

In any large enough company, there are front-line workers, management, and executives. Executives set direction, management sets up the situation for the workers, and workers do the labor. Workers do the company business every day, providing capabilities to external or internal customers. Management gets them the tools and training they need, for today and for …

Read moreSoftware teams are like Executive Teams

Grow to where we’re going

“Plants are movers…. Plants grow to where they’re going.” Frazier, P. & Jamone, Lorenzo & Althoefer, Kaspar & Calvo, Paco. (2020). Plant Bioinspired Ecological Robotics. Frontiers in Robotics and AI. 7. 10.3389/frobt.2020.00079. This is a keynote written originally for a private company. I’ll do it at conferences, including YOW! in September 2020. Short bite: In …

Read moreGrow to where we’re going

Define roles by what each person increasingly knows

Say you’re aiming for outcome-based product teams that write and operate software. Maybe you hire for roles in these teams like Software Developer, Product Owner, Designer, Tester. How do you define each role? We usually ask, what does each person do? A typical job description includes: what does the person do? What are they responsible …

Read moreDefine roles by what each person increasingly knows

Software development is like geriatrics

Caring for software takes more knowledge than a single person can acquire. There’s the business knowledge that makes it useful, plus the languages and runtimes and infrastructure and deployment. Then there’s security, accessibility, user experience, each interface, availability, observability, scaling, performance, data modeling, testing, networking, etc etc. Every change to the software hits several of …

Read moreSoftware development is like geriatrics