diff --git a/_drafts/2018-10-04-changing-the-game-of-cloud-computing.markdown b/_drafts/2018-10-04-changing-the-game-of-cloud-computing.markdown new file mode 100644 index 0000000..a007230 --- /dev/null +++ b/_drafts/2018-10-04-changing-the-game-of-cloud-computing.markdown @@ -0,0 +1,25 @@ +--- +layout: post +category: devops +tags: kubernetes, cloud-computing +title: Changing the Game of Cloud Computing +date: 2018-10-04 10:12:29 +--- + +It's been two years since I've posted, so I have some story to tell. Today though, it's framed in inverse chronological order. + + +## Kubernetes + + + + +Some content + +- [Link][1] + + +## References: + +[1]: http://example.com/ + diff --git a/_drafts/2019-06-21-my-innovating-team.md b/_drafts/2019-06-21-my-innovating-team.md new file mode 100644 index 0000000..5c7435e --- /dev/null +++ b/_drafts/2019-06-21-my-innovating-team.md @@ -0,0 +1,145 @@ +--- +date: 2019-06-21 13:17:20 +categories: leadership, management +tags: team, leadership, management, build excellence +--- + +## (outline) + +- [x] leading people, managing resources +- [x] systems and feedback loops +- [x] ~~values~~ (removed) +- [x] empathy +- [x] emotional wellness +- [x] trust +- [ ] leadership (vision, mentoring, growth, collective success) +- [ ] autonomy +- [ ] results + +(end) + + +*This is a blog post, so I'll try again to keep it short.* + + + + + + +# How I Foster Innovating Teams + +First, these ideas are not new, and generally aren't mine: I stand [on the shoulders of giants][1]; I merely assemble ideas and put them into practice. I am also still learning, still studying: this represents my current view, which may yet evolve. + +I've been told, by previous managers of [differing perspectives][theoryx-theoryy], that this view is idealistic and impractical. Fortunately, I've since had the opportunity to test these ideas, and they've proven amazingly effective, yielding [profound success](#results). I can only hope that by sharing this view, my learning will prove helpful you too. + +My work is focused on technology, particularly software development, and therefore fits the category of *knowledge work*. This has bearing on many of the requirements my teams must meet, priorities we must consider, and dynamics we must exhibit. + +Innovation implies creativity, learning, and experimentation. It therefore requires toleration of measured *risk*, possibly failing, making room for new ideas. When we discover something new, it may requires us to accept that *we were wrong*, and for our better futures, we must therefore *change*. This global economy and our industry demands that we become [masters of change][leading-change], accepting that *change* is the constant state of our enduring success. We do not fear change, rather we embrace it, foster it, and engage companies in accelerating it for strategic benefit. + + +## Leading People, Managing Resources + +Evidently I'm a *manager*. I have resources at my disposal, and there are resources I must leverage. These resources are __not__ my team. These resources can include _relationships_ I have with customers and other stakeholders; _processes_ we interact with; and _problems_ we must solve by committing _time_ and our intellects. Yes, problems can and should be leveraged. There are also budget, tooling, training, knowledge bases, and other resources that contribute to our success, which I must also manage. + +My team are not resources. My team are people who partner with me in making our product and our company the best possible option for our customers to better acheive *their* goals. My company needs my team to help lead the way, in becoming that *best possible option*. + +My company needs leaders, and my team become leaders. We serve our company and our colleagues, enabling them in the same pursuit. We explore new possibilities, we experiment with new techniques, we question our habits and assumptions, we accept our failures and celebrate our successes, and we offer our learnings for the benefit of our company. We inform projects, we consider ideas, we guide initiatives, and we foster the growth of our colleagues' capabilities, in addition to developing new technology for our company's customers. + +My first responsibility is to lead my team, and build them up as leaders. + +## Influencing Systems through Feedback Loops + +Technology is full of systems with interesting emergent properties. Organizations are too. Teams are microcosmic systems, with their own emerging dynamics. + +I find a general, but deepening understanding of [systems thinking][systems-thinking] to be of great value in leading my teams and managing our resources. + +My team has distinct objectives, as a system, beyond that of any individual member. I am responsible for growing a high-functioning _team_, not just highly skilled individuals. My team has shared goals, requiring effective collaboration, requiring shared decisions, and thus requiring shared values. + +My values influence my response to events among my team, whether I'm aware of those values or not. I lead better when I'm conscious of my values, and frequently observant of their effects, when applied in action. My values therefore dictate my influence on my team, so I must craft _my_ values in favor of my _team's_ outcomes. + +I pay close attention to my team's inner workings, and external influences. I study events and interactions, conflicts and compounding dynamics. I observe the individual behaviors and the collective decisions that yield interesting outcomes. I intervene only occasionally, but I aim for a more consistent, subtle influence to guide all these dynamics to our collective success. + +It is my role to work __on__ the system of the team, but I must recognize that I am also __in__ the system. I am an influence, part of the feedback loop within the team. This also extends outward from my team, influencing the rest of the organization and reinforcing the *conditions for success* for the collective goals of my company and my team. + + +## Integrating Empathy + +Empathy leads us to *understand* other people, and is essential for: +- Meeting customers' demand as markets evolve, +- Supporting collaboration across adapting business functions, +- Advancing the growth and learning of our colleages, +- Fostering cohesive diversity of a team, and +- Establishing dialogue to develop trust and shared direction among a team. + +While empathy is certainly among the most important dynamics to foster, it can also be profoundly challenging. Software engineers aren't generally famous for having high emotional intelligence, and I haven't found many who (in practice) embrace conflicting or competing truths. Often we struggle to explore a conflicting point of view, open minded to its potential validity. We naturally seek facts and assertions, and are rarely predisposed to pluralism. + +Unfortunately this seems only exacerbated by concepts of "meritocracy," as it leads to developers striving to be "most technically knowledgable," or "most right" in a debate, polarizing discussion until one wins and one loses. Supposing some kind of "democracy" in such a team has similar effects, but divides the team such that everyone is either winning or losing. These dynamics are generally destructive to morale. + +Instead of supposing any meritocracy or democracy, I coach my teams to *develop consensus*. This requires understanding the concerns of other teammates, and collaboratively designing solutions that address those concerns. When agreement is established on a shared direction that meets the customers' needs, everybody wins, and *feels* like they won together. + +For a team that must be creative or experimental, their success depends on fostering optimism, trust, mutual respect and safety. This requies all team members to feel that their ideas and concerns are heard, understood, explored and resolved. + +When engaging my team, I also pay close attention to the mood of team discussions, which team members are actively participating, and the tone of written communications. Emotions evident in these events are often an indicator (a byproduct) of other interactions, which can help or hinder the overall function of the team. If you observe something troubling in these contexts, it's probably worthy to inquire in your regular one-on-one discussions with involved team members. Influencing those emotions is always a nuanced process, but is a positive feedback loop to drive the optimisim, trust, and safety required for creative experimentation. + + +### Trust + +Trust is profoundly important. + +Trust is built on shared goals, and a confidence that each team member will strive to meet those goals in support of all other team members. Trust also requires a kind of _vulnerability_, between team members, that leads to personal understanding and accountability. We must be open about our limitations and failures, recognize our responsibility, and fair and kind to our teammates when they try but sometimes fail. Maintain this at all costs. + +Talk about shared goals frequently, daily if possible. Talk about progress made toward those goals, and be open about challenges discovered. Encourage team members to volunteer to help eachother. When shared goals are met, celebrate with *the whole team*, every time. (This is aligned with Scrum's concept of a daily stand-up.) Trust must be inclusive, declarative, clear and constant. + +When trust between team members breaks down, collaboration may effectively grind to a halt. Most productive communication depends on *assuming positive intent*; when this is lost, everything is prone to misinterpretation, and disagreements will seem to spring up from nowhere, and eventually your team will doubt eachother's competence. + +When software engineers lose confidence in eachother's competence, they feel compelled to interrogate every single change to a codebase in profound depth. This is very expensive in time, and results in lost opportunity to deliver customer value. Velocity will decline, features will be delayed, morale will further degrade, and eventually innovation stops. + +If your team breaches trust, act swiftly, or the negative effects will compound with time. Restoring trust starts with the same actions as maintaining it: talk about shared goals, inclusively, declaratively, clearly and constantly. Additional effort will be necessary for reconciling residual frustrations, misunderstandings, and communication challenges. Invest the time and effort to reconcile. Your team's outcomes depend on it. + + +### Build a Leadership Culture + +**This takes time.** Be patient. Show your team patience. + +Innovation requires your team to + + + +People need optimism. Innovation implies change, which can be uncomfortable for your organization; the only way to overcome that discomfort is with steady hopeful engagement. Your team needs you to be transparent, too. + + +### The Team's Values + + +### Leaders' Values + + +## Trust + + +## Autonomy + + +## It Takes Time + +Please don't expect an overnight success with + + +## Results + +As I [tweeted](https://twitter.com/systemalias/status/1139679777189613568)... + + +## Additional Reading + +1. [Theory X and Theory Y](theoryx-theoryy) Management +2. [Beyond Theory Y](https://hbr.org/1970/05/beyond-theory-y) +3. [W. Edwards Deming on Leadership][deming-leadership] + +[1]: /pages/books +[2]: #build-a-leadership-culture +[systems-thinking]: https://soapboxhq.com/blog/management-skills/systems-thinking-2 +[theoryx-theoryy]: https://en.wikipedia.org/wiki/Theory_X_and_Theory_Y +[deming-leadership]: https://blog.deming.org/2012/12/dr-deming-on-leadership/ +[feedback-loops]: https://fs.blog/2011/10/mental-model-feedback-loops/ +[leading-change]: https://www.amazon.com/Leading-Change-New-Preface-Author-ebook/dp/B00A07FPEO/ref=sr_1_3?keywords=leading+change&qid=1561272870&s=gateway&sr=8-3 diff --git a/_drafts/2019-08-22-cloud-strategy-for-economic-yield.md b/_drafts/2019-08-22-cloud-strategy-for-economic-yield.md new file mode 100644 index 0000000..7b7d6dc --- /dev/null +++ b/_drafts/2019-08-22-cloud-strategy-for-economic-yield.md @@ -0,0 +1,55 @@ +--- +layout: post +category: {some_categories} +tags: {some_tags} +title: Cloud Strategy for Economic Yield +date: 2019-08-22 20:17:09 +--- + + + + +Cloud strategy economics + +So now you face a decision: +- Use your existing infrastructure, a massive capital expenditure, in new ways to maximize utility? +- Sell off your existing infrastructure? +- Move into the public cloud, and aggressively minimize cost, mitigated by a chargeback model? + + +How can I maxmiize the utility of my datacenter? + +- Adopt cloud-native technologies that allow you to reallocate resources, and support multi-tenant workloads +- Offer highly resilient platforms to third parties? (build your own cloud) +- + + + +Capital + +It seems that since the dawn of cloud computing, every company in that market, including public cloud providers and software vendors, has offered an opinion on the economics of cloud computing, for both private and public infrastructure. This is not a surprise, of course, but it keeps going. + + +Greg DeMichillie is [quoted][3] as saying + + +I remain disappointed, perhaps shocked, every time I hear of another enterprise shuttering and selling their private data centers. + +I understand + + + + + +References: + +- [Busting The Myth of Cloud Economics][4] via 451 research +- [Amazon's perspective on AWS economics](https://aws.amazon.com/economics/) + + + +[1]: http://download.microsoft.com/download/6/e/4/6e4cb3d1-5004-4024-8d90-6c66c83c17aa/the_economics_of_the_cloud_white_paper.pdf +[2]: https://www.linuxinsider.com/story/85385.html +[3]: https://www.dailyhostnews.com/4-key-takeaways-from-451-researchs-report-on-economics-of-cloud-computing-for-enterprise-it +[4]: https://pages.ubuntu.com/rs/066-EOV-335/images/Advisory_BIB_Canonical.pdf +[5]: https://assets.kpmg/content/dam/kpmg/pdf/2015/11/cloud-economics.pdf diff --git a/_drafts/binpacking-fixed-assets-vs-elasticity.md b/_drafts/binpacking-fixed-assets-vs-elasticity.md new file mode 100644 index 0000000..e69de29 diff --git a/_drafts/culture-change-build-trust-yield-agility.md b/_drafts/culture-change-build-trust-yield-agility.md new file mode 100644 index 0000000..e69de29 diff --git a/_drafts/fear-invades-corrupts-oppresses.md b/_drafts/fear-invades-corrupts-oppresses.md new file mode 100644 index 0000000..e69de29 diff --git a/_drafts/innovation-is-iterative-learning.md b/_drafts/innovation-is-iterative-learning.md new file mode 100644 index 0000000..e69de29 diff --git a/_drafts/leading-software-teams.md b/_drafts/leading-software-teams.md new file mode 100644 index 0000000..f979fc6 --- /dev/null +++ b/_drafts/leading-software-teams.md @@ -0,0 +1,40 @@ +# Leading Software Teams + + +## Set Team Priorities + +Overarching: +1. Constantly build a climate of trust, discovery, and collaborative exploration. +2. Deliver usable software of increasing quality, quickly and continuously, and don't fret about who's right or wrong along the way. + +Ensure that *a few* key objectives and priorities are clear at all times, so the team can independently and individually decide on supportive action. + + + + +## Mentoring & Coaching + +Everyone should have a next step, a topic of study and an area of growth. +Make plans with them to pursue it. Help them find resources. Keep them accountable for their progress. + +Most engineers are highly opinionated, but you knew that already. The good ones learn to be humble about it. +Trouble comes when they invest too much time in debate. + +### Newcomers to the field + +Junior members sometimes need specific guidance on *what* to work on, particularly when they're new to a specific technical domain. + +A manager should aim to support their growth. +Keep them learning, but keep them succeeding. +Their morale is an important asset, in motivating their growth and contribution. + +Some less experienced folk may be prone to idealism, advocating strong principles in environment where their application may induce greater liabilities. +Help them recognize that all principles and philosophies in our field exist across a spectrum, and that ultimately pragmatism must win. + + +### Engaging the old hand + +Senior members will surprise you, both positively and negatively. +The trick is keeping them engaged, and helping them grow without offending their sense of independence. +We should probably work on that though: that independence may not be all it's cracked up to be, especially if it leans to arrogance. + diff --git a/_drafts/leading-teams-building-trust.md b/_drafts/leading-teams-building-trust.md new file mode 100644 index 0000000..e69de29 diff --git a/_drafts/management-like-culture-gardening.md b/_drafts/management-like-culture-gardening.md new file mode 100644 index 0000000..28590b6 --- /dev/null +++ b/_drafts/management-like-culture-gardening.md @@ -0,0 +1,139 @@ +--- +date: 2019-04-10 20:00:00 +title: Team Leadership is like Gardening +--- + +In 2017 I accepted my first role formally managing a team in a large corporation, that I did not at least partially own. +This was a profoundly educational time, for myriad complicating external factors, and exactly where I'd want to be to learn some hard lessons. +That year entailed a great deal of research, particularly on leadership, management theory and (applied) group psychology. +Most impactful on me though, was the opportunity to see the effects of two wildly different management philosophies, in action, in a single group. + +## Gardening + +At home, I love gardening and landscaping. I love fostering biological life, and sharing its fruits and ambiance with my children. +I enjoy reshaping my little place on Earth, when there are ways that it can better host that life, and bring joy to my family and friends. + +### Outline the Harvest + +- Identify the goals of the team +- Identify the people and their goals + + +### Start seeds in the greenhouse + +### Water daily, just enough + +### Provide sunshine + +### Weeding out distractions + +### Pruning new branches + + +### Thinning the crop + +### Fostering Transplants + + +### Turn the soil + + +## Some additional highlights... + +* Your team will bring their creativity to work, when they share your vision. +* Your team will trust you when you don't know what's next. +* Your team needs you to have a plan. +* Make decisions fast. It's OK to change them later. +* Make decisions together; don't leave anyone behind. +* Make promises and keep them. Be humble when you fail. +* Broadcast your wins, +* Join your team when they're on the firing line. +* When things aren't working, change how you make decisions (as a team). +* Culture evolves: you manage it, or it manages you. +* Give the team goals - not individuals. Let the team members give you their goals. Help them grow into their goals. +* Influence subtly. Be sparing in overt action. +* People must be motivated to change intrinsically. +* Trust can be restored - and you must drive it. +* Some things must be shown, not merely told. +* Understand and apply OODA and VUCA. +* Understand Deming's 14 points. +* Smile more. + + + + + + + + + + + + + + + + +## Teams need vision, transparency, and hope. + +This means you tell your team what's coming, what _you think_ is coming, and you tell them when _you're not sure_. +But you'd better have _some_ idea, and you *must* be able to articulate specific actions you have in mind to turn the broader +situation in a way that's advantageous for the company and for the team. + +When you lack vision, you will lose people. Like a slippery slope. +Some managers will tell you that's OK, they're just "managing out" the people who won't simply do what they're told. + +Pessimism is viral, but so is optimism. If you want results, however, you need pragmatic, focused, and determined realism with a sprinkling of _hope_. + +Hope makes it all work: when people share a _hope_, they start to trust each other in building toward that hope. + +## People need promises, fulfilled. + +Promises set expectations, and fundamentally, trust is about expectations. +Trust is learned, though, by you doing what you said you would do - this is basic accountability. + +When you make a promise, there are two modes of [vulnerability][1] in play: + +- Your team (member) relies on you for something; they are vulnerable. +- You put your reputation on the line; they get to observe outcomes and consistency. + + +I accept (and must admit) that sometimes promises fail due to external factors. Be humble. Be vulnerable. +(If you're not sorry that you couldn't keep a promise, you should get that checked.) + + +## People need decisions. + +This one might be the hardest to apply, in daily situations. + +Hopefully, your staff often requests to attend conferences that would be useful for their career development. +This is something you should absolutely support. + +Most likely, and quite unfortunately, corporate budget process will prohibit you from from enabling them directly. +As a result, you may have to defer the decision "up the chain" and wait for approval, or wait for some altogether uninterested department (e.g. marketing) to decide their plans first. + + + + + +They don't need to wait months before finding out if they can go to that conference or start that project. Waiting erodes hope and breeds pessimism. + +If an employee is passionate about a topic, enough to attend, or even speak at a conference, you should do everything you can to support them. +But if you're not going to, at least don't keep them hanging! + + +## When your staff is on the firing line, you go with them. + + +## Culture changes; are you guiding it? + + + + +## Conclusion + + +The astute reader will note some + + +[1]: https://www.emergenetics.com/blog/the-connection-between-vulnerability-and-trust-in-teams/ \ No newline at end of file diff --git a/_drafts/managing-teams-focus-on-growth.md b/_drafts/managing-teams-focus-on-growth.md new file mode 100644 index 0000000..e69de29 diff --git a/_drafts/optimism.md b/_drafts/optimism.md new file mode 100644 index 0000000..558e773 --- /dev/null +++ b/_drafts/optimism.md @@ -0,0 +1,6 @@ + +Successful teams show strong results, "wins" and high-impact outcomes. +This success requires and produces a dynamic of optimism, which yields a feedback loop within the team and influencing the surrounding organization. +The optimism inspires hope, experimentation, exploration, and imagination of new possibilities - in short, creativity and innovation. + + diff --git a/_drafts/perfectionism-vs-improvement.md b/_drafts/perfectionism-vs-improvement.md new file mode 100644 index 0000000..e69de29 diff --git a/_drafts/scratch.md b/_drafts/scratch.md new file mode 100644 index 0000000..19dff2c --- /dev/null +++ b/_drafts/scratch.md @@ -0,0 +1,24 @@ +I came into the role understanding, as I'd suggest everyone should, that they have a lot still to learn. +I was constantly reading books, articles and blogs, considering a wide array of perspectives. + +The circumstances of my accepting the role were unfortunate, however: + +- A respected leader, who had brought the merry band together, was departing for new horizons. +- Though his staff loved him, a legacy of many broken promises had left the unit exposed to criticism by the executive management tier. +- The executive management tier, located overseas, operated by a very different corporate culture. + + +It was a mess, to say the least. We "reorganized" three times in eight months. Every week, a new problem within the group would arise. +There were were very few wins, which the group could claim as their own, and morale slipped steadily. + + +To abbreviate the story, I'll just highlight a few characteristics of the situation I came into: + +- The unit lacked a clear vision, and was struggling to recoup direction after the loss of senior leadership. +- Within the unit, there were deep divisions due to past failures and a lack of accountability, which lead to distrust in various degrees. +- External pressures on the unit dictated frenetic development of poorly planned products. +- The broader organizational context, in a multinational corporation, represented "internal" clients which the group poorly understood. + +I'm sure you can imagine a lot of the effects of this situation. + +--- \ No newline at end of file diff --git a/pages/debian-install-process.md b/pages/debian-install-process.md new file mode 100644 index 0000000..2791297 --- /dev/null +++ b/pages/debian-install-process.md @@ -0,0 +1,8 @@ +# Installing a Debian NAS via netinst + + +1. Prepare a boot device, a USB stick, by cloning its ISO image directly onto the USB stick. Easiest when done using another linux box, `dd if=image.iso of=/dev/sdc` or whatever the device name is. +2. Prepare a second boot device, another USB stick, that provides a FAT32 filesystem, with a directory named `firmware`. +3. Download the [firmware archive](https://wiki.debian.org/Firmware#Location_of_the_firmwares) and extract its content into this `firmware` directory. + + diff --git a/pages/notes/the-mesosphere-situation.md b/pages/notes/the-mesosphere-situation.md new file mode 100644 index 0000000..41e4d1d --- /dev/null +++ b/pages/notes/the-mesosphere-situation.md @@ -0,0 +1,11 @@ + + +# Atmospheric Entry + + +# Shedding Light + +October 2018 + + +