Recently in opinion Category

No, I'm talking about that fancy wristband some of you wear, the one that talks to a smartphone. That's a monitoring system, but for your body.

We're IT. We do monitoring systems, so lets take a look at this one!

Getting stuck in Siberia

| No Comments

I went on a bit of a twitter rant recently.

Good question, since that's a very different problem than the one I was ranting about. How do you deal with that?

I hate to break it to you, but if you're in the position where your manager is actively avoiding you it's all on you to fix it. There are cases where it isn't up to you, such as if there are a lot of people being avoided and it's affecting the manager's work-performance, but that's a systemic problem. No, for this case I'm talking about you are being avoided, and not your fellow direct-reports. It's personal, not systemic.

No, it's not fair. But you still have to deal with it.

You have a question to ask yourself:

Do I want to change myself to keep the job, or do I want to change my manager by getting a new job?

Because this shunning activity is done by managers who would really rather fire your ass, but can't or won't for some reason. Perhaps they don't have firing authority. Perhaps the paperwork is too much to bother with firing someone. Perhaps they're the conflict-avoidant type and pretending you don't exist is preferable to making you Very Angry by firing them.

You've been non-verbally invited to Go Away. You get to decide if that's what you want to do.

Going Away

Start job-hunting, and good riddance. They may even overlook job-hunt activities on the job, but don't push it.

Staying and Escalating

They can't/won't get rid of you, but you're still there. It's quite tempting to stick around and intimidate your way into their presence and force them to react. They're avoiding you for a reason, so hit those buttons harder. This is not the adult way to respond to the situation, but they started it.

I shouldn't have to say that, but this makes for a toxic work environment for everyone else so... don't do that.

Staying and Reforming

Perhaps the job itself is otherwise awesome-sauce, or maybe getting another job will involve moving and you're not ready for that. Time to change yourself.

Step 1: Figure out why the manager is hiding from you.
Step 2: Stop doing that.
Step 3: See if your peace-offering is accepted.

Figure out why they're hiding

This is key to the whole thing. Maybe they see you as too aggressive. Maybe you keep saying no and they hate that. Maybe you never give an unqualified answer and they want definites. Maybe you always say, 'that will never work,' to anything put before you. Maybe you talk politics in the office and they don't agree with you. Maybe you don't go paintballing on weekends. Whatever it is...

Stop doing that.

It's not always easy to know why someone is avoiding you. That whole avoidant thing makes it hard. Sometimes you can get intelligence from coworkers about what the manager has been saying when you're not around or what happens when your name comes up. Ask around, at least it'll show you're aware of the problem.

And then... stop doing whatever it is. Calm down. Say yes more often. Start qualifying answers only in your head instead of out loud. Say, "I'll see what I can do" instead of "that'll never work." Stop talking politics in the office. Go paintballing on weekends. Whatever it is, start establishing a new set of behaviors.

And wait.

Maybe they'll notice and warm up. It'll be hard, but you probably need the practice to change your habits.

See if your peace-offering is accepted

After your new leaf is turned over, it might pay off to draw their attention to it. This step definitely depends on the manager and the source of the problem, but demonstrating a new way of behaving before saying you've been behaving better can be the key to get back into the communications stream. It also hangs a hat on the fact that you noticed you were in bad graces and took effort to change.

What if it's not accepted?

Then learn to live in Siberia and work through proxies, or lump it and get another job.

"Over the next few decades demand in the top layer of the labor market may well centre on individuals with high abstract reasoning, creative, and interpersonal skills that are beyond most workers, including graduates."
-Economist, vol413/num8907, Oct 4, 2014, "Special Report: The Third Great Wave. Productivity: Technology isn't Working"

The rest of the Special Report lays a convincing argument that people who have automation-creation as part of their primary job duties are in for quite a bit of growth and that people in industries subject to automation are going to have a hard time of it. This has a direct impact to sysadminly career direction.

In the past decate Systems Administration has been moving away from mechanics who deploy hardware, install software and fix problems and towards Engineers who are able to build automation for provisioning new computing instances, installing application frameworks, and know how to troubleshoot problems with all of that. In many ways we're a specialized niche of Software Engineering now, and that means we can ride the rocket with them. If you want to continue to have a good job in the new industrial revolution, keep plugging along and don't become the dragon in the datacenter people don't talk to.

Abstract Reasoning

Being able to comprehend how a complex system works is a prime example of abstract reasoning. Systems Administration is more than just knowing the arcana of init, grub, or WMI; we need to know how systems interact with each other. This is a skill that has been a pre-requisite for Senior Sysadmins for several decades now, so isn't new. It's already on our skill-path. This is where System Engineers make their names, and sometimes become Systems Architects.


This has been less on our skill-path, but is definitely something we've been focusing on in the past decade or so. Building large automation systems, even with frameworks such as Puppet or Chef, takes a fair amount of both abstract reasoning and creativity. If you're good at this, you've got 'creative' down.

This has impacts for the lower rungs of the sysadmin skill-ladder. Brand new sysadmins are going to be doing less racking-and-stacking and more parsing and patching ruby or ruby-like DSLs.

Interpersonal Skills

This is where sysadmins tend to fall down. A lot of us got into this gig because we didn't have to talk to people who weren't other sysadmins. Technology made sense, people didn't.

This skill is more a reflection of the service-oriented economy, and sysadmins are only sort of that, but our role in product creation and maintenance is ever more social these days. If you're one of two sysadmin-types in a company with 15 software engineers, you're going to have to learn how to have a good relationship with software engineers. In olden days, only very senior sysadmins had to have the Speaker to Management skill, now even mid-levels need to be able to speak coherently to technical and non-technical management.

It is no coincidence that many of the tutorials at conferences like LISA are aimed at building business and social skills in sysadmins. It's worth your time to attend them, since your career advancement depends on it.

Yes, we're well positioned to do well in the new economy. We just have to make a few changes we've known about for a while now.

A taxonomy of IT users

| No Comments

Over the years I've seen a small collection of fake-names crop up in the sysadmin space. Here is a list:

An oldie, but a Sysadmin who has gone over to the dark-side.

Originally coined by Laura Chappell, Fred is the User From Hell. Or, The Power User who Isn't. Fred knows everything, or rather, thinks they do. They're wrong, but don't know it, and it makes your life all too interesting. Fred may be a manager, a peer, or a frequent-flier in the ticket queue.

Originally from a famous Warcraft video, this is the peer who just deploys stuff because it's cool. They... haven't learned (the hard way) how this can go wrong, so aren't naturally suspicious. This could be the rose-colored glasses of youth and exuberance, or it could be a trusting nature. They'll learn.

Coined by The Phoenix Project, Brent is the person that ends up with their hands in everything one way or the other. They may be a single-point-of-knowledge, the only person who knows anything about topic X, or just the person that gets handed the weird stuff because, well, "Brent probably knows". A lot of us are a Brent, and it sure as heck makes getting long vacations approved difficult. There may be more than one of them, depending on topics.

I used to be a Leeroy, then I learned better.

I've been a Brent (oddball-stuff troubleshooter variety) at my current and last three jobs.

Right now people have figured out that I know how to use Wireshark to discover oddball problems, so I'm having to do a lot of packet analysis lately to rule out oddball problems. This isn't something I can cross-train on very well, but I'm going to have to find a way; people's eyes tend to glaze over when you get into TCP RFCs and it's easier to make me do it and not have to learn for themselves.

Having watched recent events unfold, I'm beginning to wonder what effect employment contracts are having on how companies and their employees respond to catastrophic reputation-loss events. A certain well known open-source company is undergoing this right now, which is why I'm thinking about it. Because they're big enough to have had lawyers go over their employment agreements for more than just intellectual property clauses, I'm guessing it's also picked up a few other goodies along the way.

The Setup

  1. $Company does something.
  2. $Activists say, "Hey, that's bullshit."
  3. $Supporters say, "Dude, not cool."
  4. $Defenders say, "Hey, no biggie, eh?"

Steps 2-4 can happen in 30 minutes these days. At this point the news is still expanding. But now the interesting things start to happen. As the $Defenders and $Supporters+$Activists start hammering on each other in social media the ranks of both camps increase and at some point, somewhere a subset of $Employee chimes in and after a while maybe $Company.Officer actually gives an official statement. By now the shit-storm is well and truly engaged.

Free Speech Means Freedom From Arrest (but not binding contracts between private parties)

Bloggers like me have known for over a decade now that mouthing off about one's employer is a great way to get fired. Some companies actually have clauses in their employment contracts that read, in effect:

You will only talk about the $Company in glowing terms. Or else.

The language is actually written like, "under no circumstances will you do or say anything that will reflect negatively on the company," but this works for now. This is called a non-disparagement clause, and is perfectly legal. What's more, it's common practice to use severance agreements to bind outgoing employees to those same clauses (if they weren't already bound by the employment agreement) in perpetuity to ensure that the now-ex employee doesn't mouth off about their old employer; less of a risk for voluntary departures, more of one for involuntary ones.

Your free speech has a price. Maybe it's $10K. Or $20K. $30K? $30K and 4 months health-insurance coverage to carry you to your next position? Okay, $75K, 5 months, and 10K shares of preferred stock. Have a nice life.

Shit-storm Meteorology

So you're in the $Activist+$Supporter camp and $Company is being strangely silent on the topic of what bonehead thing they did. The only people from the company talking about the thing are firmly in the $Defender camp, which only cements your opinion that they're just not getting it and are hopelessly out of touch.

What if you're a $Supporter that is also $Employee? If you have a non-disparagement agreement in your contract voicing that opinion is to risk your job and future employability. Unless you're also in $Company.Officer, speaking up is a very bad idea no matter how loudly the $Activists are crying for redress (in fact, speaking up even if you're a $Defender is a bad idea, but it's less likely to pothole your career-path). The Cyclone of Suck accelerates.

Stopping the Cyclone

It is possible to avoid the cyclone, or at least minimize it. It requires a fast response from $Corporate.Officer in a way that even the $Activists can recognize as meaningful. This is a hard step to take since it usually requires admitting fault (and thus, liability) which is why the first statement is almost always something like...

There there, we're not evil. We promise. We do good things too.

...and is lambasted by the $Activists as not addressing the problem. This is likely to accelerate the cyclone, not spin it down.

Another way to slow it down requires hard choices made by $Supporters who are also $Employees, by voluntarily severing employment due to whatever happened, refusing a severance agreement (and thus accept a period of no pay-check or even unemployment benefits), and saying why they left. It works better if more than one make this grand flounce.

This is just a theory of mine for how "never trash-talk your employer" clauses intersect with online debate. When I see people getting ever louder in indignation that some company or organization is remaining silent on some contentious topic, I do wonder if that's because the very people who would give the desired response have been preemptively legally gagged.

Not a bad observation

| No Comments

A friend of mine recently posted some job stuff and he had a good observation:

I investigate businesses that pay employees under the table. I ensure that unemployment insurance is paid by the employers, protecting the employees and ensuring they get unemployment insurance if they get laid off (if they get paid under the table they don't get unemployment).

I have been picking up a lot of businesses who are avoiding taxes (surprisingly, or maybe not, software companies are a big issue, along with housecleaners and dog groomers/sitters/walkers).

Emphasis mine.

You know, that's an interesting point and doesn't surprise me much. He does his work in the Seattle area, which is one of the major tech-hubs. And one thing tech-startups are known for is distributed offices. Take a 10 person company with people in 6 different states, no one who has run a company like that before, and you have prime conditions for dropping the ball on unemployment reporting and payment.

So you fired the slacker living in Waukegan, Illinois. Did you report their earnings in Illinois, where they live, Wisconsin, where the shared-office they 'worked' out of was, or Washington State, where HQ is?

aaahhh.... lemme get back to you on that.

As he tells me, that can be a very expensive mistake to make depending on how long the misunderstanding was in place. Your payroll vendor may or may not know WTF they're doing with a startup-style distributed office, so don't rely solely on them. Work location and residential location are different things. You can work in Vancouver, WA but live in Portland, OR; you pay Oregon income taxes, but will earn Washington unemployment if you get laid off.

10 year blog-anniversary

| 1 Comment

10 years ago today, I had my first post.

This was done as part of the first big project I was given when I started working for WWU: figure out how to serve web-pages from home directories. Which I did, and this blog was a way to make sure it actually worked. It did. Back then I used Blogger and their FTP publish option to maintain this thing, I've since moved on to my own domain and actual blog-software.

10 years later I'm also starting a brand new job, and am all of 3 days into it so far. By now I'm just beginning to get a handle on the complexity of the problem I'm facing.

I'm not posting as often as I used to. In part that's because I've been working for places that have intellectual property they need to protect and talking about what I'm working on is frequently a violation of that, and in part there are other outlets for the shorter stuff. Twitter for instance, and even ServerFault.

I'm still here, and still going. Some pointless stats after the cut.

Unions and tech-workers

| No Comments

My fellow technologists are some of the most rabid anti-union people I know. However, I believe there is a kind of union that we can actually benefit from. Read on.

By far the biggest complaint I hear against unions is this one:

BozoBob does a fifth of the work I do and he gets paid the same. How the **** is that fair? ****ing unions!

With a distant second of:

BozoBob has been here fifteen years and does half of what I do. So why the **** am I getting laid off and not him? Seniority?? ****ing unions!

Now that the big critiques are on the table, to look at what unions could bring to the the tech worker market I'll need to set some definitions.

Tech Worker(a): The intuitive definition of this is, "People who work in tech the way I do", which for readers of this blog is primarily the systems administration space and closely adjacent areas like software engineering and network engineering. These are people who work with tech, tend to be highly skilled, and also tend to be highly mobile; if a job is crappy, get a new one, there is always one out there for you.

Tech Worker(b): Now there is a different class of worker out there. These are people who work for tech, so the food service workers at the Google Cafeteria, the massage therapist working for a tech startup, the accountants who do the taxes, the travel specialists who arrange conference travel, the driver of the shuttle bus that brings workers from the affordable part of town to the company campus. These are the people who work for tech who aren't getting six figure salaries and can't necessarily leave a crappy job for a new one at the drop of a hat.

Exempt Employees: A bit of a labor-relations term, but this refers to the Fair Labor Standards Act definition of an employee who is exempt from mandatory overtime. There is a lot of labor law, and worse, case-law, that goes into defining who is owed what for hours worked and I'm not going to get into that here. Employers really like to employ nothing but exempt employees because it means they don't have to track hours worked, and don't have to pay anything extra if everyone is putting in 60 hour weeks.

Tech Worker(a) is almost always Exempt.

Non-Exempt Employees: As you'd expect, these employees earn overtime and are almost always hourly. And frequently part-timers. In many cases employers set rules in place to prevent the earning of overtime unless specifically cleared, which in turn guarantees a maximum 40 hour work-week for these employees.

Tech Worker(b) is often Non-Exempt.

Independent Contractors: a.k.a. "1099 workers". These are not employees of the company, they're employes of another company paid to do something the company wants. That 'other company' may be the employee themselves acting in a corporate way, or it could be a personal-resource firm. Such workers rarely have benefits provided by the company itself, expecting the contracted company to provide for it. They only get 'overtime' if it has been specifically negotiated.

(If you've ever wondered why in blazes contractors charge $200/hour for their work, it's because they're having to pay for their own health coverage, both the employee and employer FICA payment, and other such 'invisible' costs of employing someone).

Traditional Unions

The ones everyone loves to hate (see above critiques for the biggest hate-sources) came about as a push-back to excesses business took during industrialization. Textile work, assembly-line work, and all sorts of other big-headcount industries needed workers, and they didn't need particularly skilled workers since most of it was learned on the job. Which meant that if an employer didn't like a worker for some reason, they fired them and got a new one since there was always another hungry mouth to take the job and wouldn't be such a problem.

So if you wanted to keep your job, you kept your mouth shut and didn't make waves. Which in turn meant putting up with working 6 days a week, being asked to work late for big jobs, possibly buying all of your work-equipment at the company store (at company prices), and a whole bunch of other things. When you are a faceless cog in a sea of cogs, saying "I am special!" means you just get replaced with another faceless cog.

DevOps is all about removing "I am special!" virtual-machines from a sea of identical cogs; er, virtual machines. Yes, I do sometimes worry about the robot revolution.

Traditional unions came about as a way to push back against the exploitation business owners found so profitable. If all the faceless cogs band together and say, "Oy, enough with the 12 hour work days already," it's a lot harder to ignore them. The owners sure as hell tried, but once union penetration in a given industry is high enough there isn't a big enough pool of faceless cogs to ruthlessly exploit without side-effects, which in turn means they have to improve working conditions to compete with the unionized workplaces.

Traditional unions as most people understand them work best in industries where workers are easily interchangeable. The power each individual worker has is so small that there is no leverage for them to exploit other than banding together to pool their power. Seniority is a fair proxy of effectiveness as a worker since actual training only goes so far.

Traditional Unions and Tech Worker(a)

Tech Worker(a) is:

  • Highly skilled.
  • Specialized in diverse technologies.
  • There is a shortage of such workers in certain markets.

Tech Worker(a) is not:

  • Interchangeable with each other.
  • Quick to train up from scratch.

Tech Worker(a) is a very poor fit for traditional unions, as they do not fit the profile of 'exploitable class'. This is a problem for the US Civil Service, which is largely unionized; they have a hell of a time retaining this class of tech worker. Those that do stick around in Civil Service do so for reasons other than monetary.

Traditional Unions and Tech Worker(b)

These are workers who could benefit from a traditional union. These workers are working for companies that grew up thinking they only employed type A tech-workers and have a second class of workers supporting them. A lot of the 'support' roles may be filled by Independent Contractors, who in turn just may belong to a union such as the SEIU, IBEW, or CWA; the labor relations part of HR is handled by the contracted agency not the tech-company itself

Tech companies frequently do 'outsource' such services as the ethos of:

Do what you do best,
If you're not the best, pay someone who is the best to do it,
If you can't find someone who is the best, find someone who can be the best and help them become the best.

Is very prominent. This is why the -as-a-service movement is taking off, and the same model works for staffing the company cafeteria and running the employee-shuttle fleet. In many cases, it's not Google we should be pushing to allow unions in their support tier, it's the contractor Google pays to provide the support services. And if it so happens that Google is directly employing these people, then definitely push for collective bargaining.

Tech Worker(b) is the traditionally unionizable class of technical worker. Tech companies resist unions for many reasons, chief among them being they haven't had to deal with them before and they're good at increasing costs; very much against the lean concept.

Non-Traditional Unions

Or, the unions people don't think of as unions.

These come in a couple of different types, from Professional Organizations like AICPA for accountants and NCBTMB for massage therapists, to the wobblies (IWW) which push for unionization across the entire workforce rather than just one sector of it.

LOPSA is starting down the Professional Organization path with the LOPSA Recognized Professional program they announced at LISA 2013.

Professional Organizations often have some interaction with state/county/local government license boards, which gives them some geographic cover. AICPA manages the CPA exam. NCBTMB manages the national certification test, and ABMP does legislative advocacy and provides insurance support for massage therapists. There are others out there, and these tests/exams are in place to ensure that people who claim to be a certain type of professional actually have a minimum amount of knowledge and commitment to continuing education.

Such organizations are less concerned with working conditions than they are with ensuring the profession as a whole is viewed positively, and people know what to expect when they hire that kind of professional. Some do work against professional exploitation and can even bring sanctions down on workplaces who violate codes of conduct. These are unions, they're just named differently.

Professional Organizations and Tech Worker(a)

As I mentioned earlier, LOPSA is taking a step down this road for the Systems Administration profession with their LOPSA Recognized Professional program. This is not without controversy as the audience at LISA13 demonstrated, and the ongoing debate in the mailing lists and elsewhere continue to show. It's a move by a professional organization that represents a minority of the profession attempting to set a standard for the whole profession, for the betterment of that profession.

Vendors have been doing this for years, though not under the guise of a profession. The Cisco series of certifications are commonly used as gatekeeping tests for hiring network engineers. LOPSA is attempting something similar with the profession, we'll see if there is any traction there.

Professional Organizations don't do collective bargaining the way traditional unions do, they're more about indirect influence. LOPSA won't call a strike against, say, ACME Widgets; and even if they did it wouldn't be legal so ACME Widgets would be perfectly in the right to seek legal action. No, they're much more about making sure the profession as a whole is supported and has some form of group advocacy pushing for improvement.

Like traditional unions organizing an industry, Professional Organizations are more effective the more people belong to them. LOPSA represents a minority of systems administrators right now, so they face an uphill battle to professionalize it. In 10 years that may be different, and LOPSA membership may be on most system-adminsitrator resumes.

The Professional Organization is the kind of collective action entity that Tech Worker(a) can actually benefit from. It leaves individual salary and compensation negotiations in the hands of individual workers, and doesn't have any bearing on who gets the axe in a layoff. It can, however, recommend minimum acceptable benefits and compensation levels for these workers which will aid in salary negotiations by individuals. They can provide backstop health and/or liability insurance for independent contractors at rates much better than individuals can obtain. They can provide industry-proficient legal support, or referrals to such. They work with the educational sector to ensure up-and-comers get what they need to join the profession.

Professional Organizations and Tech Worker(b)

Some of these workers already belong to Professional Organizations. The CPAs that do the company books? AICPA. The massage therapist in the headquarters Health Center? ABMP or AMTA. The tech companies that employ them are already used to working with the members of these organizations, and by extension the organizations themselves. Individual barganing is very much a lean concept, and these organizations maintain that.

Tech workers like myself can benefit from collective action. The best template for us is the Professional Organization: active in advocating for the industry, provides support for members, and helps ensure the educational pipeline is adequate for supporting the profession.

Systems Administration can benefit from professional organizations, and so could Software Engineering.

tl;dr: Unions bad. Professional organizations, a kind of union, good. We should get some.

The tech-perk you don't think of

| No Comments


On reflection "tech company" here is really, "tech company big enough to have a large corporate head-quarters". The startup I just left had:

  • No cafeteria, but we did have a kitchen that we shared our meals at when we went out to get stuff and the once a week company paid lunch. No stove, though.
  • No gym, but the building we rented our space from had a gym floor we could use.
  • No game room, more of a game-nook.
  • No wet bar, but beer did get put into the grocery order once in a while. No hard stuff or wine though.

However, that startup was in year-3 of a significant baby-boom. In my time there we'd had people do work-from-home days, late-start days and early-departure days due to daycare problems. If you're the primary care provider for someone under 4 years old you will only be able to answer the odd email while you're at it and will live for kid-naps.

A corporate daycare perk seems like a win: what parent wouldn't want to check in with their kid over lunch, and companies would get more out of their employees.

On-site day-care has some strict labor requirements though, so it's only for companies big enough to support full time dedicated support people. If they can afford personal trainers or professional chefs five days a week, they're probably big enough to afford day-care professionals.

Degrees of offense

| No Comments

I'm at LISA13 right now and I have a couple of blog posts percolating, but this one I can do right now. I went to the two Women in Advanced Computing events here and as usual they covered things allies (people not recognized as women who wish to help out) can do to help out. One of the best ways is to call people on their sexist bullshit when you see it happen, but sometimes we can't use the language we otherwise would or maybe indicating dissent is an actively dangerous thing to do.

That is some sexist bullshit right there.

What you'd like to say. Maybe you actually can, and if so, great! Do so. Maybe the culture of the group you're in accepts that kind of blunt statement and it's ok.

Or maybe it isn't. Maybe that's the kind of statement you make when you're perfectly prepared to break all relations with everyone else in there, but you don't want to do that. There are graduated ways to indicate that something is problematic and still maintain relations within that group.

Someone might be offended by that.

To people from the American mid-west, where non-confrontation is taken to a high art, this is actually a moderately strong statement. It indicates offense is possible here, and we should be wary.

To everyone else in the US it's more, "aaand so would me saying you don't look good in that color. What?"

It's weak-sauce. Don't use it unless you're in a room full of mid-westerners or simply can't indicate stronger offense without consequences you can't live with.

Someone will be offended by that.

Very strong words to a midwesterner, and language that even the coasties would recognize as 'possibly a problem here'. It flatly states that offense will happen, but doesn't identify who might be offended. This might be strong enough to get people to think about what they just said/wrote. Or not.

$Group may be offended by that.

This identifies the offended group that may be suffering offense. This starts the process of assigning ownership of the offense to something other than an indefinite 'they'. Identifying the $group may make people thing about what they just said. As with the indefinite version of this, it's still a pretty weak statement but at least it names who the offense will be experienced by.

$Group will be offended by that.

This flatly states that $Group will be offended. This is stronger than the nebulous 'someone' in that it identifies the group and is more likely to promote empathy towards the group and thus be a stronger prod towards change.

I am offended by that.

The strongest thing you can say without resorting to profanity or explicit accusation. It assigns ownership of the offense to the person right in front of them. You are offended, so own it. They can't dismiss the offense without dismissing you, and if they do that, that's a very useful thing to know about the people in the group.

Other Blogs

My Other Stuff

Monthly Archives