Tag: Glossary

Two Kinds of Assholes

Two Kinds of Assholes

We’re going to use the word “asshole” a lot in this post. We both actually really love to swear, but if it offends you, feel free to skip. Sometimes that’s the most accurate word, though.

We work in a lot of different cultures with a lot of different strong-willed people. We are also both, as you may have noticed, extremely strong-willed.

Within these different cultures, we have individually and also together been accused of being arrogant and overbearing. We’ve found that in order to make change, it takes being willing to ignore people telling you to stop making change, and that often leads to this conclusion of arrogance or overbearingness. We’ve talked before about the ways that people try to stop you from doing what you think is right, about the ways they attempt to control. Some additional are, they’ll say you’re going to fail, or that you’re wasting your time, or that change is impossible. They’ll say it’s more complicated than you think, and unless you check and double-check all of the boxes and track down a million threads and make sure we’re all safe oh no panic eyes, you’re doomed to failure.

We have made a career out of transforming culture and bringing new perspectives by ignoring doubters, pushing forward, and taking risks that other people said were stupid. We ignored them after we tried to figure out if they were right, but often when we’d ask why they said what they said, they weren’t even sure themselves. So… we paid attention and we considered, but in general, we’ve had to learn how to ignore…a lot. At great personal and professional cost, although it always worked out really well over time.

The people we ignored, in addition to saying that we were arrogant and overbearing, also said that we were self-centered, and cruel. Based on their summaries of our actions, it might be fair to say that we are, both of us, assholes. Based on that, we came up with the following definition in an attempt to understand what people would say about us, and people like us:

Asshole: (n) a person who cares less about you and what you think than you would like.

But that definition was incomplete, and, honestly, kind of perplexing to both of us. As is often the case, the concept behind “asshole” seemed to mean (at least) two very different things – and one of them was accurate about us, and one of them very much was not.

Hot Take of the Day: There are Really Two Kinds of Assholes

As far as we’ve been able to puzzle out, there are (at least) two primary kinds of assholes – or two categories of people who are called assholes.

Type 1: A person who doesn’t care about anyone other than themselves

This is the worst kind of asshole. There are a lot of other names for this kind of person, but one of the most accurate is “selfish” – they use people. They think that people owe them…something, and they get angry and mean when the world, and the people within, don’t deliver on that …something. They hurt people, and abuse them, and ignore them. They’re controlling, and manipulative, and unkind. They often ignore feedback, and they proceed, blind and numb, toward their own end goals.

They may be good people, and they may have objectively good motives for what they do. But they also generally are quick to dismiss people as people – they do not see other people as inherently worthy of some amount of consideration and humanization.

Treating people as somehow less than human is awful, and it’s been the source of immeasurable amounts of damage from people with some kind of power over the people they see as “less human.”

Type 2: A person who does what they believe to be right, despite what other people think about them

I’m tired and angry, but somebody should be.
– Halsey, Nightmare

This is the kind of person who believes that there are more important things that people’s opinions of them.

They are often confused with Type 1 Assholes, but the key difference is how they actually feel about other people. They care about other people, deeply, and they see inherent value in literally everyone. However, they have bigger concerns than other people’s approval. Typically, this kind of asshole is actually a reformed, scarred former people-pleaser.

people-pleaser: (n) a person who has an emotional need to please others often at the expense of his or her own needs or desires

This kind of asshole has probably spent time trying really hard to take care of, or make happy, someone else – maybe multiple someone elses – and has had a series of events happen to them that broke their ability to do it. Probably they too suffered personal or professional losses when the ability to try to make everyone else happy fell down. Somewhere along the way, they learned that being themselves, and doing what they think is right, is more important than the (conditional) approval of other people.

With all of the resources they get back from actually taking care of themselves, these people also tend to have causes. Things that they care deeply about, a Big Important Purpose, probably related to the battles they won along the way to being free.  that they care about more than Type 1s: they care about people, and aren’t selfish – they are just concerned about more than other people’s approval. Things like, Solving World Hunger, or Actual Digital Transformation, or Helping People Who Have Big Sad Scars. Or Soul Repair.

These people often get their approval from something other than the people around them – they have to, because they know that that doesn’t last. They aren’t success- or fame- or money-driven, and maybe they just…rest in the Jesus Cheat and God’s love, and they know and work to accept that they were made Just Right and for an important reason.

This one is us.

Maybe “Asshole” isn’t All Bad…

In conclusion

Don’t be a Type 1 Asshole. Care about people. Figure out your hurt and your strife enough to be able to see the people around you, and know that they are not responsible for making you happy.

But also…maybe don’t try so hard not to be a Type 2 Asshole. Don’t worry about being perceived as “nice,” or about modifying your soul to fit what might make other people happy. Care about people, and love them deeply, but care more about you and what you bring to the world and what you know is right. People, the right people who love actual you, will show up in your life when you are self-consistent (and you let them).

On Bullies

On Bullies

First, some history (and context!) from Laine…

I was overweight as a kid. Actually, I was overweight until I was in my mid-twenties, and then again for a while after I had my kids. But as a kid, in the 90s, it was an offense punishable by social ostracization. I was picked on throughout elementary school, to the point where I started calling myself fat so that other people wouldn’t do it first.

I moved at the end of 6th grade, to a much larger school. They mostly didn’t bully me for being overweight, but they did bully me for making out with my (female) best friend – which I did not, not that that matters aside from pissing me off even MORE about the sheer unfairness of it. I moved again at the end of 8th grade, to a smaller school, and found friends, and slipped into blessed nerd + “I’m in the school musical every year” semi-obscurity.

I dealt with one bully as a young adult, after I started my first job. I can see, looking back on it, that he probably felt threatened because, a) I was good at my job, b) I was on “his” project, and c) he perhaps felt like I was overstepping.

And then…no bullies. For a long time.

And then…more bullies showed up.

We’ve written about pieces of what happened at the church we were both members of. We have not written about what happened where we were formerly employed, out of (probably legitimate) fear of retaliation of some kind. But…suffice it to say that we’ve both run into a lot of bullies over the past few years. People we worked with, people we trusted. People we loved.

We try to explain a lot of patterns here. Patterns about fear and faith and hope and love, and how all of that comes together and applies to being a person. Patterns about how all of that scales to relationships (especially with God), and how it scales to and for organizations. A lot of these patterns, we figured out because…we lived them. We ran into really scared people trying to control what we did – and getting very very angry when we said no. That’s it. Just… no. We didn’t say, “you have to do what I say,” or “I’m going to make your life miserable for trying to tell me what to do.” Mostly we said, “please stop hurting us,” and “why are you trying to make me do something that I am sure is wrong?” and then eventually, just… no.

Sometimes “no” is a revolutionary act.

Decisions must be made…

Laine initially drafted this post in September of 2020. That’s actually the opposite of our usual process, typically we talk about things until it seems draft-able, then Josh does the initial draft. But this post began because Laine ran into a (comparatively mild) bully at work. And it brought back a lot of feelings about the other bullies we’ve recently run into, and a lot of sheer…exhaustion.

And then the election happened, and that brought with it more related feelings, and more exhaustion. And both the minor work bully and the election brought with them some clarity around what happens with bullies.

Bully (n): someone who does willful, targeted damage to other people in an effort to control them.

Because…bullies seem to win. The world actually seems to be structured for bullies – and for the control of other people. If you choose not to control other people, if you don’t play that game, if you flat-out refuse to play that game, then…you are an outlier. You stand out. You seem to invite bullies to take shots at you. But…that isn’t quite what happens.

Simply by existing, by living your life without controlling other people, you show the people around you that they too could choose not to control. You demonstrate, clearly, that another choice, a different choice, exists. This has the effect of forcing the bullies around you to choose if they will continue to bully – because some people behave this way because they don’t know another choice exists.

Bullies also force you to make a choice. Bullies force you to choose if you’re going to a) hide who you are in order to avoid the damage they might do, or b) very deliberately NOT hide, but instead choose that any damage is worth being yourself. As best as we’ve been able to figure out, bullies bully because they’re afraid they’re going to lose something that they think keeps them safe. Bullies need to control what they think keeps them safe so much that the people “in the way” become…dispensable.

So…if you’re the target of a bully, if you feel like your very existence invites bullies to take shots at you, then…that means that you’ve stumbled into the thing that they’re trying to hide away from the world – the thing they’re afraid they’ll lose. And it means that they don’t much like the fact that people exist who can’t be controlled into supporting their fears, and it means that they’re afraid that perhaps none of it was necessary at all.

It’s not your fault.

We’re going to say that one more time. It’s not. your. fault. We are emphasizing this because, again, it took us a long time to understand and accept it.

Mostly, with this post, we wanted to make something very clear – adult bullies exist. They exist anywhere that people exist, because people get scared, and sometimes those scared people end up with some kind of authority – real or imagined – over you and your life. This can be your boss, or your religious leader, or your government, or your significant other. Sometimes these people get SO scared that they forget entirely that you’re a person, and they just…want you to stop whatever you’re doing that seems to be a threat to them.

Regardless of what they say, it isn’t your fault. Bullies will tell you that it is, because they’re trying to convince you to change, and to hide, so that they feel more safe. You don’t have to do that. It’s scary not to, but…it is your choice. You can say no, and you can choose to be who you really are even if the bullies of the world don’t like it.

Sometimes “no” is a revolutionary act.

You won’t be alone.

The more we sort of…lean into this plan, the “be you and have fun” plan, the more we find other people who have figured this out. These people are some of the most truly supportive relationships that we have. So…while saying no to the bullies in your life, and choosing to be yourself, seems scary and like you’ll definitely be alone… you won’t. You will find your tribe, your people, your chosen family, and you will thrive. It’s worth it.

The Human Scar of Exile

The Human Scar of Exile

In the course of getting ourselves kicked out of church we started to see a pattern of behavior. We referenced it briefly in the All the Problems of the World… post, where we said:

We’ve written about, and will write more about, this topic – but the summary is, people think that if someone near them is doing behavior X, it will cause them pain. They think that if someone near them is misbehaving according to God, then they will feel pain from God as a result.

This is an old, old cultural scar. Homophobia, racism, legalism, basically all kinds of hatred are examples of this. It’s a lie that people believe and respond to: “I need to control you, or something bad will happen to me. I need you to be what I think God wants, or we won’t be safe.

We’ve gone over and over the ground of how people try to keep themselves safe. We even know part of why people do this – because of the one fear, the fear of being alone because of who you truly are. We do crazy, damaging things trying to keep ourselves and our relationships safe – and we do crazy, damaging things trying to make the people around us into our definition of safe as a result.

Read More Read More

Most of Succeeding at Life is About Being Able to Deal with Rejection

Most of Succeeding at Life is About Being Able to Deal with Rejection

Succeeding at Life

Succeeding at life is being shiny – living, sure and certain, in your purpose that God gave you as best as you currently understand it, and letting your soul shine. Letting the joy of being you flow out of yourself and everything you do. This is hard to do, and it’s hard to maintain. It’s difficult, and it’s complicated, but it really comes down to two things:

  1. Doing what you’re supposed to do
  2. Not being afraid of rejection for being yourself

If you have both of those going on, in our experience, you’ll have a lot of joy, and a lot of fun. You’ll attract people who like your vibe, and you’ll have an impact in the ways you’re supposed to.

Your vibe attracts your tribe.
Sassy Chocolate

Read More Read More

Kubernetes/OpenShift Resource Protection with Limit Ranges and Resource Quotas

Kubernetes/OpenShift Resource Protection with Limit Ranges and Resource Quotas

One of the most crucial metrics of success for an enterprise application platform is if the platform can protect: a) the applications running on it, and b) itself (and its underlying infrastructure). All threats to an application platform eventually come from something within that platform – an application can be hacked, and then it attacks other applications; or there could be a privilege escalation attack going after the underlying host infrastructure; or an application can accidentally hoard platform resources, choking out other apps from being able to run.

Read More Read More

Disorganized Religion

Disorganized Religion

A long time ago (comparatively, time moves very oddly these days…), I (Laine) wrote this post about my experience thus far with the first church I’d ever regularly attended. Coming to Christianity as an adult has been…an experience. Especially as a strong, capable, independent, female (I wish it didn’t matter, but I’m not convinced it doesn’t) adult who is as committed to God as I know how to be.

See, the thing is, I came to Christianity as an adult – I did not come to faith as an adult. My faith is independent of any church, and my relationship with God is the oldest, strongest relationship I have.

Read More Read More

Sacrifice Done Well

Sacrifice Done Well

“I am the good shepherd. The good shepherd lays down his life for the sheep.” John 10:11

The Bible talks about sacrifice a lot. Sacrificing for each other, sacrificing to serve God. The Gospel, the most important story arc in the Bible, is in part about Jesus’ ultimate sacrifice – his death, yes, but more his complete and utter separation from God when he needed God the most. Unfortunately, over the past 2000 years, the definition of sacrifice has been broken to the point where it’s used to do more harm than good.

Read More Read More

Our Pair Programming Experience – or, the first time we nerded out together and learned a ton

Our Pair Programming Experience – or, the first time we nerded out together and learned a ton

Pair Programming – What is?

Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently. (Wikipedia)

Why explain our experience?

At the end of 2017, we were both OpenShift Architects at our last employer. We were working on integrating the new-to-us platform with the existing processes of the organization – especially the build, deployment, and release processes. Most of the applications on OpenShift would be Java applications, and all Java builds were done with Jenkins. There was a release management tool that was written in-house serving as a middle layer to control deployments and releases.

Build and deployment when we started, mostly to WebSphere on a mainframe or WebSphere on distributed VM’s.

We (the organization) were also in the middle of transitioning from enterprise Jenkins + templates to open source Jenkins + pipelines. There were only a handful of people in the very large IT division who even knew how to write a pipeline – and we took on writing the pipelines (and shared libraries) that would prove out a default implementation of building and releasing to OpenShift. We knew this would be a huge challenge – if done properly, the entire company could run their OpenShift deploys on this pipeline, and it could be improved and grown as more people contributed to it via the internal open source culture that we were building.

While we figured out what to do, the pipeline just went straight from (the new, open source version of) Jenkins to OpenShift. POC FTW!

We ended up doing this via pair programming – because we work really well together, mostly. However, because we’re both technology nerds and also people/culture nerds, and because pair programming has some push-back from more traditional organizations, we wrote down the benefits we saw.

I know some stuff, and you know some stuff, but basically we’re both noobs…

We were BOTH the little turtle…

The team Laine was assigned to was the team that oversaw Jenkins administration and the build process, along with the in-house release management tool – but she’d only been on that team for about 4 months. She knew more about Jenkins than Josh, but….not by much.

Josh was the one who spearheaded bringing OpenShift into the company, and so he knew a lot of the theory of automating OpenShift deploys and had a rough idea of what the process as a whole should look like.

…basically, neither of us really knew how to do what we set out to do, and actually we didn’t intend to do something that fell into the realm of pair programming. We just already relied on each other for many things, including understanding and processing information, and we both deeply loved OpenShift and saw its potential for the company we also loved. We were determined to do as much as we possibly could to help it be successful.

What We Actually Did

Mostly our plan was to just…try stuff. We followed the definition of pair programming above some of the time – we took turns writing while the other focused more on review, catching problems, and planning the next steps. This was awesome, because we caught problems early just by keeping an eye on each other’s work – like, “uhh, you spelled ‘deploy’ D-E-P-L-Y, that’s not gonna’ work…”

Taking turns doing the actual coding also allowed us to churn through research while still doing development. We’re both top-down thinkers, which means that we understood the steps that needed to happen without knowing quite how we would implement each step. With one of us researching while the other was coding, as soon as one coding task was complete, we could more or less start right away on the next. Given the amount of research we had to do, this was huge in speeding us up. It also allowed us to switch up what we were each doing, and not get bogged down in either research or implementation.

Why is Heath Ledger Joker on this? IDK, who cares?? <3

In addition to taking turns coding vs overseeing, we also did a lot of what might be called parallel programming – we worked closely on different aspects of the same problem at the same time. This was also highly effective, but it required us to be very much on the same page about what we were doing. We did this mostly off-hours, via Slack communication, so…it wasn’t always a given that we actually were on the same page.

Despite the communication hijinks, or maybe because of them (it was really funny…), this was probably the most efficient of all of the coding work we did. If we got stuck or didn’t know how to solve a problem, the other could easily figure out how to help because we were already in the code. We also bounced questions and implementation ideas off of each other (efficiently, because we didn’t need to explain the entire project!), so…something like pair solution design.

And again, up there in overall efficiency, was some pair debugging. We could put our heads together to talk through what was broken (aside from typos…), figure out why it was broken, and land more quickly at the right solution to fix it. (See also: Rubber Duck Debugging)

This is where we landed after we did our part. We advised on tweaking the process, helped implement updates where we could, and…got out of the way and let the very talented and enthusiastic contributing developers take over.

Why it was Awesome

(Quotes in this section are from Strengthening the Case for Pair Programming.)

More Efficient

Two heads are better than one. Often, the part of development that takes the longest or is the most complicated isn’t writing the code  it’s figuring out what to do, and then figuring out what you did to break it and how to fix it.

Having a person there who understands the project as well as you do can speed up…well, literally all of that.

Higher Quality

…virtually all the surveyed professional programmers stated that they were more confident in their solutions when they pair programmed.

Pair programming provides better quality, hands down. We talked about this some already – a pair programmer can catch bugs before compiling or unit tests can, and they can catch bugs all the way from a typo to an architecture or design problem. Pair programming also requires by its very nature discussing all decisions – both design and implementation, at least at a high level.

…basically, you end up with an application where there’s been a design and code review for literally every aspect of the application.

Resilient Programming FTW (or, You Can Still Make Progress Even when Your Computer Dies)

We both had some laptop issues in all of this – Laine had some battery issues, and Josh had his laptop start a virus scan (slowing his computer to the point of being unusable) while he was trying to code. We got on Slack and helped the one who still had a working laptop, rather than that time just…being wasted.

Relationships, and Joy

…more than 90% stated that they enjoyed collaborative programming more than solo programming.

Best nerd celebration emoji.

Laughing at mistakes, getting encouragement (or trolling) when we did dumb stuff, nerd emoji celebration when something went well – all of these were better because we were working together.

It was just…fun. There was joy in all of it, in both the successes and the failures. And there was joy in the shared purpose of setting something that we loved up for success.

When making a pair…

There are a few things we learned that were vital to pair programming going well for us. We think that the following pieces are the most important to a successful pairing:

Trust

Without trust, you lose some of the benefit of pointing out mistakes and instead spend the time you’d gain making sure that feelings aren’t hurt. Based on our experience, we actually think that this one is the most important key to success.

Temperament

You’ll want to find someone with approximately the same temperament and, uh…bossy-ness. We went with Bossy-ness Level: Maximum, but you do you. We both push for what we think is the right solution, and we kind of enjoy arguing with each other to figure out whose solution really is right. If either of us had paired with someone who was uncomfortable with conflict, chances are it…wouldn’t have gone well.

Technical Level/Skill/Experience

Pair programming probably isn’t going to work very well with a brand new associate paired up with someone who’s been in the industry for 10 years. That’s a lot of context to explain, so while this set up is amazing for training purposes, it isn’t the most effective for software delivery.

Lack of Knowledge

Look for someone who knows something you don’t about what you’re trying to accomplish. Laine knew Jenkins and is a Google savant, and Josh knew the OpenShift theory and reads constantly – when automating releases to OpenShift, it was a good combination.

And Finally

Pair programming provides a ton of value. It speeds up development, catches bugs sooner, and aids dramatically in design and implementation. It’s also fun, which is important and sometimes forgotten about in the just deliver more world of IT.

We loved working together on this, which led to much joy in learning the deep knowledge necessary to build a pipeline the whole company could use. And, even better, it worked – teams that joined OpenShift used and improved upon what we did, and those teams implemented continuous delivery on OpenShift. We’re both very sure that we never have been that successful if we hadn’t paired up on it.

Idols and Alone and Rest for Your Soul

Idols and Alone and Rest for Your Soul

People Seem Safer than God

 Come, all you weary.
Come, gather ’round near me,
find rest for your soul. 
Thrice, Come All You Weary

“Come to Me, all of you who are weary and burdened, and I will give you rest. All of you, take up My yoke and learn from Me, because I am gentle and humble in heart, and you will find rest for yourselves. For My yoke is easy and My burden is light.”
Matthew 11:28-30

Read More Read More

Kubernetes: What is it, and why do I care?

Kubernetes: What is it, and why do I care?

So you’re a Java/C++/web developer and you’ve heard about all of these “cloud native” technologies, and containers, and you’re wondering “excuse me, what is a Kubernetes please, and why do I care?”

…or maybe you’re a general technologist – idly curious enough to wonder what all the fuss is about but not super interested in digging into the guts of the thing.

…or maybe you tend to understand technology more big-picture than detail and you wish someone would just tl;dr it for you.

Well…welcome to the first of our Technology TLDR posts! Kubernetes, you’re up.

Read More Read More