India: Food

I don’t think we realize what a finely balanced relationship we have with food until we’re completely divorced from our typical culinary comforts. Any traveling I’ve done in the past (even the very modest amount of international travel I’ve done) has never caused a significant departure from the habits and cuisine that I am used to. While in Korea, I was able to sample heavily from the local food while still returning daily to my “safe space” foods on-post. Even when having to be careful to avoid certain foods or to eschew unbottled water, it was still less a functional change to my habits than a brief food adventure–quick to visit, quick to return. Continue reading India: Food

India: Shopping

We arrived in Nagpur late on Saturday night after around 30 or so hours of travel (around 17 hours of which involved sitting in an airplane), so Sunday was a day to recover from travel and make preparations for the week. Since I am in no way a grownup, for me this meant going shopping for collared shirts to go with my three pair of long pants. Continue reading India: Shopping

The Company You Keep

As a leader, I have been unbelievably lucky to be surrounded by some pretty amazing teams, and my current team is no exception. I have consistently asked a great deal of them, and they have always found a way to meet my lofty expectations; they have treated each other with respect, even when things are difficult; and they have remained reliably focused on our goals, even when the pace of a project and external forces work to bump us from our path. Nothing that I could do at work could have done a better job of making me look good than the excellence of my team.

I think, at times, it’s easy to look at your successes and assume them to be of your own making—it’s important to me to remember that most of mine relate more to the company that I keep than the actions that I take.

Message Awards

Some thoughts about a new genre fiction award proposal in no particular order…

  1. If you are complaining about fiction that is overly politicized (especially so far as to call it “message fiction”) but fellate the weary corpse of Heinlein, I have to assume you’ve completely forgotten The Moon is a Harsh Mistress, Stranger in a Strange Land, Starship Troopers, Farnham’s Freehold, or pretty much his entire catalog! (And I say this as an enthusiast of Heinlein’s work; an enthusiast that owns nearly everything that he’s written—come on now!)
  2. If you complain about the burdensome message of horrible books that you’ve never read, I have less than no respect for your position. I managed to gut my way through some absolutely abhorrent tripe this Hugo season to be able to vote in an informed manner—it’s intellectually dishonest to make such claims from utter ignorance.
  3. At all costs, avoid following behind multiple years during which the Hugo awards were bombarded with claims of  nominations and votes governed by an empowered clique (without any evidence to support those fantastic claims) with an attempt to create a new award that will literally: have overlords in the form of a board of directors; have a rank of judges to disqualify works unilaterally based on perceived politics; and gate-keep nomination and voter membership by virtue of a trust web that can only be described as an algorithmic clique (unless you immediately acknowledge the almost-but-not-quite-funny irony of the proposal.)
  4. If you do the above and fail to call your award “The Cliquies,” you’re fucking dead to me.
  5. You cannot honestly and fairly make the claim that the only reason a convention would invite (for numerous years) a Hugo-winning, Nebula-winning, multiple other fucking award winning author is because of a shift to some kind of political correctness—especially in spite of NUMEROUS FUCKING EXAMPLES of honored guests of the opposite variety (and an equally ponderous amount to indicate that they’ve always invited “lefties”).1
  6. I will also accept, as a name for your award, “The Morissettes” (because it is, in fact, a little too ironic, dontcha think?)
  7. If you rail against “message fiction” because it replaces “good story” with “boring message,” then applaud the creation of a slate of replacements that includes “The Parliament of Beasts and Birds” and consider that to be completely reasonable behavior among adults, then not only do I hate you for clearly having failed to read Wright’s piece of shit, but I doubly hate you for forcing me to gut my way through that sack of message-laden drivel. Seriously, every fucking one of you that put that load of shit on the ballot should be ashamed of yourselves; that’s just fucking mean.2
  8. Another good name for your award is the “Message Awards” I’m not sure what the award would look like for this one, honestly, but I’m looking forward to seeing it.

On a more serious note; I am a huge fan of the idea of anybody who feels that their point of view (or their community’s point of view) is underrepresented by a given set of awards making their own awards. If nothing else, it stands a reasonable chance of encouraging more folks to read, and to read more widely. But don’t piss in my face and tell me it’s raining—if you want to make a symbolic middle-finger to the Hugos, own that shit. Pretending that you’re not creating a new clique to replace the clique from which you feel excluded while doing precisely that so transparently—well, it’s just insulting to all involved really.

 



1 I say this as Jer, a person who has been attending the convention in question for over a decade. My views are not those of Jer, member of the board of directors, nor do they in any way represent the views of Penguicon, the convention committee, or the board of directors.
2 I’m not kidding, I’ve read scriptures more compelling and Chick tracts with less blatant message.

Upgrading to Windows 10

I upgraded to Windows 10 this weekend on the only Windows system I use, my gaming system. I had it on good authority that the games that I’ve been playing occasionally were well supported (pretty much Guild Wars II) and that it was an improvement over Windows 8 (which, unfortunately, came on my system and I was too lazy to downgrade it).

Overall, I’m pretty happy with it. They got rid of the fullscreen start menu replacement in favor of a much more user friendly option that is a natural extension of what they had right in Windows 7. There are, however, some pretty significant privacy concerns, so right off the bat I did the following (most of which I document here in case it’s not exhaustive and for later reference):

  1. Privacy Settings
    1. General: Turned all off
    2. Location: Limited to only those apps that I want to see my location
    3. Camera: Limited to only those apps that I want to have camera access
    4. Speech, etc: Turn off “Getting to Know You”
    5. Contacts: Turn off “App connector”
    6. Calendar: Turn off “App connector”
    7. Feedback: Set to “Always” and “Basic”
    8. Background Apps: Turn off all but apps I actively use and want running in the background (Twitter, Dropbox, etc)
  2. Wifi
    1. Wifi Sense: Turn off “Suggested” and “Contact” connection
  3. Cortana
    1. Turn off Cortana
    2. Turn off search suggestions
    3. Turn off popular news
  4. Edge
    1. Save passwords: off
    2. Save form entries: off
    3. Do Not Track request: on
    4. Search suggestions: off
    5. Block all cookies
    6. Media licenses: off
    7. Page prediction: off
    8. Set Chrome or Firefox as default browser then never open Edge again

Building a Theocracy: Step 1

My social media is fairly bipolar. By any rational standards I’m fairly centrist in my views, which leaves me appearing fairly liberal in an America that keeps trying to skew itself radically to the right. By virtue of being a pretty mixed bag of liberal and conservative views (on a Nolan scale I tend to land fairly consistently near the center of the bottom edge of the north-east quadrant) the folks that I read and that I follow are all over the map. So when some ignorant bigot named Kim Davis has opted to “follow a higher law” than the SCOTUS and not give marriage licenses for religious reasons, it has made the divide amongst those I read even more apparent than usual.

This is troubling, because there are some pretty simple concepts at work here, but the most obvious one is stupidly simple: this is protecting you, you fucking religious nutbags!

Freedom of religion not only doesn’t give anyone the freedom to foist their religious beliefs off on others, but it very specifically prevents the government (or officials acting on behalf of the government) to foist their beliefs off on patrons of the government’s services. Let’s think about it this way: would it be acceptable for a person of Muslim faith to deny liquor licenses for religious reasons? Or one of Jewish faith denying a business license to a restaurant serving bacon? Or one of Catholic faith denying a marriage license to a divorced person (*cough*)? Or one of Hindu faith denying a business license to a restaurant serving beef? These are also the purview of the same sort of government officials that you want to have the ability to not fulfill their duty on religious grounds.

So you, Christians who were so inattentive in grade-school social studies as to believe that our founding fathers—who fled religious persecution and who specifically separated church and state repeatedly throughout the formation of this republic—actually had the intention of making it a Christian nation, are being saved from having to kowtow to the whims of anyone with any other religious beliefs by the very law this woefully under-informed elected official is publicly flouting.

It is BECAUSE of our separation of church and state that the Sharia Law that conspiracy-theorists claim is poised to be shoved down our throats can’t take hold. If we weaken the separation of church and state—perhaps by allowing some braindead bigot to ignore it in favor of spreading her very Christian message of hate—then we are doing precisely what is necessary to allow for religious law, for some form of theocracy, to start to happen.

And let’s make no mistake, there are almost as many Muslims and Hindus in the world as Christians, and their numbers are growing far more rapidly than yours. I have little doubt that if religious zealots manage to wedge their beliefs into our legal system, it won’t be solely based on your mythology.

So, ignore the fact that the hatred you espouse is far from Christian. Forget, for a moment, that your Christian religion specifically indicates that you are to follow the laws of your land. You can even put aside the concept that you are cherry picking the pieces of your own book of rules that suit your views and ignoring those that do not. Instead, consider the consequences of continuing to flail about in ignorance and judgement—I suspect that your bigotry and hatred has perhaps made you act outside of your own best interests. Again.

Adopting the Proper Stance

Something like 20 years ago, I found myself in the position of standing in a wide open parking lot with my then-girlfriend attempting to hit me with her pickup truck. (Why I found myself in this position is not especially germane to the story. Suffice to say that I was not then a particularly good decision maker, and even by those standards that this was not a particularly good decision—but I digress.) So there I was, standing in a parking lot, faced with the certainty that I’m going to be hit by a pickup truck driven by somebody who is interested in doing me a tremendous amount of harm.

I did what I felt at the time was the only thing I could do. I charged toward the truck, rather than away from it. Immediately before getting hit, I leapt back in the direction the truck was traveling, I curled my body into a ball, and I tried to aim mostly non-soft and non-squishy bits toward the oncoming vehicle.

The net result was that I was bounced clear of the vehicle—very sore, pretty scraped up, and with a fairly badly injured right arm and shoulder—and took an opportunity to run to safety while she tried to turn the truck around.

Sometimes, you can’t avoid something terrible that’s going to happen; in fact, I think it’s fair to say that a LOT of the time you can’t avoid something terrible that is going to happen. What you CAN do is turn into it, take it head on, and meet it on your terms. Getting hit in the back by an oncoming truck driven by a lunatic could have been a pretty tragic moment for me. By setting at least some of the terms of the engagement, I turned tragedy into a pretty uncomfortable bone bruise and some scrapes and bruising.

When to Hit the Gas

In my last post, I alluded to a set of criteria that I use to determine whether or not it is reasonable to ask a team to work significant extra hours—such as going over 45-50 hours in a week or working a weekend at all. What I didn’t do was describe the composition of that criteria.

I typically am looking for three factors to be met; so when I’m determining if it is appropriate to ask for the additional work, I look for:

Is there a defined, specific, goal? This doesn’t mean “finish the project,” as that is the sort of down-the-rabbit-hole trap that ends up dragging teams to an early exit. This means “we have these clearly defined tasks with clearly defined success conditions that must be done.”

Is the goal possible? My criteria used to be 2-items in length, until I was at a job that delighted in giving clearly defined criteria that were clearly impossible. Nobody should be sent on a death march.

Is the duration and severity reasonable? Saying “we have a clear, specific goal of working 80h weeks for no more than 2 months to do these 100 items” might be sufficiently specific and plausible, but the duration and severity virtually guarantee that quality is going to be thrown out entirely.

These are not the only factors that I consider—length of time since last the developers involved have been asked to do this, how did we get in this predicament in the first place, is this a reasonable thing to ask to get us out of the predicament; these are all also considerations to varying degrees—but the above are the primary drivers of my decision making.

In practical terms, this is handled as a conversation. By way of example, on projects for my current employer, working considerable extra time was brought up in two distinct situations on two separate occasions. In both instances, I sat with our senior management team and walked through the above thought exercise.

In one instance, it was determined that while the scope of work was relatively well defined and possible, the duration of the overwork would be such that it was very likely to destroy quality. It was also likely to have a significant impact on the development team as a whole. In that instance, we decided together that it wasn’t worth the risk, and found a plan that would yield more reliable results.

In the other instance, while the same risks were very much present, the volume of work was more reasonable and we all felt comfortable in using over-work as a strategy.

In both cases, working together first with my management team then with my development team was an essential piece of the decision making process. It has been my experience that this criteria has both served as a gatekeeper for preventing burnout and low quality due to overwork, but it has also served as a educational opportunity for all involved every time it has come up.

Corporate Integrity

Today, I tweeted the following:

40htweet

It was brought to my attention that the last two tweets in my message were unfair to companies that are trying to do better in many ways, but are trapped by past performance and slow-moving internal politics.

I disagree, and I’ll explain now what I explained then…

Until recently, I did not have a good name for an element of my approach to the world in which I have long taken considerable pride. A friend pointed out that the name for it was “integrity,” in the sense that I reliably adhere to a code and to my values. In short, if I say it, I do it, to the best of my ability (and, of course, the converse is also true). I try to be a “man of his word,” even when doing so causes me significant difficulty.

I think that we spend an awful lot of time at our jobs trying to explain away why our codes don’t apply in one circumstance or another; especially when we’re talking about our corporate values rather than our personal ones. Perhaps profits are down and we’re just trying to get through this one ugly time then we can practice our values again. Sometimes we just don’t have the political clout yet to enforce our values, but given some time, we’ll earn it. Most often, though, it’s just not time yet—but soon, soon it will be time!

I would argue that that is bullshit; a code that you only follow when it isn’t being tested isn’t a code. If I don’t steal because it’s too easy to get caught, my code of conduct isn’t “don’t steal,” it’s “don’t get caught stealing.” Likewise, if my dedication to quality is such that I forsake it when it would make me unprofitable, my value isn’t “deliver maximum quality,” it’s “deliver the best quality you can without hurting profits”—which is really just a long way of saying “deliver good enough.” I value my integrity BECAUSE of how difficult it is to maintain when it’s being tested, and as a customer, I value the integrity of companies that do the same for me.

So when I say “my team won’t work extended hours unless it meets a very particular set of criteria,” I mean PRECISELY that. It is too easy to have your values outshone by every exception and edge case that comes up—and it becomes increasingly easy each time that you do it. In practical terms, this means that I walk a very fine line at times between having my team made no-longer-my-team by virtue of a very abrupt demotion or termination; and I walk that line knowingly because I WILL follow a set of strictures that I know is correct and best for both my team and my business. If I lose my job or my team, I will do so knowing I did the right thing, and I will find an employer whose values are more similar to mine in the future. I have been lucky my nearly 20 year career that this has not actually happened—I suspect that this is at least partially because I actively select companies whose values are in alignment with my own, and I am very quick to leave if I find that no longer to be true.

It is also incumbent upon me, though, to assert my integrity—to honor my code if you will—in a way that makes it easiest for my company to help me follow my values. I spend tremendous amounts of energy in educational efforts in all organizational directions to PROVE the value of these points of view, and I spend even more energy in ensuring that my values benefit both team and company; there’s no point in making a stand that leaves us all the former employees of a former company at the end. Integrity, be it personal or corporate, is profoundly exhausting, challenging, and—as a result—rewarding.

So, do I think it is unfair to say that your actions when things are challenging convey your real values? Absolutely not—in fact, I’d turn the question back to you, if you think that it’s unfair. Is your integrity sufficiently important as to make your actions match your values? And if not, why not?

 

 

Website Redesign

Welcome to the new, improved JerLance.com! In addition to getting rid of the “felt clever at the time, but ultimately just annoyed me” Google theme, I’ve also ditched my custom CMS in exchange for an off the shelf solution (with some modest customizations).

Why go with an pre-built CMS? Back when I wanted to spend time tooling around with my blog, my custom-built thing was perfect. It was lightweight, easy for ME to use, and anytime I wanted it to do something different, I just wrote the code that made it so.

Now I have more projects than I will ever finish, so messing with my blog when I just want to be able to post things isn’t really achieving my objectives. Hopefully, now, I’ll finish some of my other projects and post more often.

But I wouldn’t hold my breath.

Strong Teams as Healthy Communities

This is a placeholder that I will almost certainly fail to update later; but I hope that this will one day be a blog post version of the talk I gave at Self.conference 2015.

Notable: I used slides for the first time in a while. It wasn’t the worst. It wasn’t my favorite way, but it wasn’t the worst :)

The slides in PDF format.

Addiction, Depression, and Suicide

I tell a great many stories about being a drug addict and an alcoholic—it’s easy to do with benefit of more than a decade free from actively pursuing those particular hobbies. What I talk about far less is the period immediately after I got clean—the years between my 9th month clean and my third year, during which I was no longer struggling with the compulsion to get high and found myself struggling with the fact that my own personal narrative was badly, badly flawed.

You see, one of the major benefits an addict derives from their drug abuse is deniability. “I’m not an asshole, I’m drunk”, became my battle cry, if a battle cry is something you shouted as you wandered away from the scene of your destruction. Months without drinking or drug abuse revealed to me that my battle cry should have been “I’m an asshole who happens to be drunk!” That’s a tough pill to swallow; finding out that you are actually a devastatingly toxic shithead who brings ruin to those close to him with or without drugs badly disrupted my view of self, and I became very erratic and depressed.

It was during this narrow window of my life that I found myself sitting in the bedroom that I rented from a friend holding the shotgun he kept beneath his bed and crying. It was a place I found myself in a lot around that time. Several times each week—sometimes several times in a single day—I would find myself sitting with that gun simply trying to work up the courage to use it. For weeks I kept returning to that familiar position, wanting so much to no longer be alive and being trapped in life by a fear of literally and figuratively pulling the trigger.

On this occasion, though, I was committed. So much so that I had written my note, had dressed in the clothes that I wanted to be found in, and had gone and sat in the bathtub with the shower curtain pulled closed—I certainly didn’t want to make my exit more of an imposition on anybody else than it needed to be, they’d already put up with so much.

I was saved by a friend who, possibly because of his own struggles with depression, recognized the dangerous place I’d gotten to emotionally and took it on himself to help. He literally banged on the bathroom window with a child’s toy rake until I agreed to drive him to get some lunch. “Lunch” turned into an extended coffee break, lots of driving around, talking and, ultimately, a considerable amount of therapy. Ironically, this friend died a few years ago (far too young), a victim of his self-medicating to avoid dealing with his issues. I’ll never be able to express to him my gratitude for saving my life.

This stuff I don’t talk about so much. The “fun” stories of my active addiction are borderline socially acceptable, especially when spoken about using the past tense. There is nothing socially acceptable about mental illness—people with depression are treated as liars, or whiners, or melodramatic; depression is perceived as a weakness of character and that perception is LITERALLY KILLING PEOPLE. I very nearly died because I felt too much shame about my mental state to seek help—I was willing to die rather than face the judgement and shame that is hurled at people that are mentally ill.

I don’t suffer from recurring depression, but I know many people that do. People I know and care about suffer from varying forms of depression-related mental illnesses. I cannot fathom what that must be like. For a thankfully brief period of my life I was legitimately depressed—not just down, not bummed out, but deep in a hole that robbed me of my energy, of my fight, and of any hope that things even COULD get better. I can only imagine the horror if I had to deal with that on a regular basis.

So when I see people talk about how “selfish” suicide is, or offer vague “help” that amounts to “just stop feeling so depressed”, it makes me extraordinarily angry. It’s a trite comparison now, but it is the equivalent asking a cancer patient struggling through chemotherapy if they’ve tried aspirin for their brain tumors because it once helped your headache. Stop treating depression, or any mental illness, like a personal failing—like it’s something that people just aren’t trying hard enough to avoid. Stop killing people.

If you are a recovering addict or alcoholic, especially if you are early in your recovery, know that depression and addiction often go hand in hand. It is a good idea to find a therapist you can talk to, even if only for a little while. There are numerous resources available to those recovering from addiction—and no matter what program of recovery you are following, there’s always room for therapy.

If you are suffering from depression, you have to know that you’re not alone. I realize that where you are feels tremendously hopeless and like there is no light at the end of the tunnel—but that is a lie that your ill mind is telling you. There is hope, there are better days, and it really does get better; you just have to make it there. Talk to somebody and get some help. Please.

The David Foster Wallace of Software Development

I was trying to describe to somebody what it is that I do in relatively specific terms—a task that proved to be immeasurably more difficult than it should be—and I was casting about trying to find some way to convey what it is that I actually accomplish. I know what I do, I’m there for pretty much all of it, why would it be so difficult to summarize in any meaningful way (or, more to the point I guess, in a way that is meaningful to people that don’t do the same thing). After a series of increasingly embarrassing false starts and fumbled trail-offs, I staggered into a description that I feel is pretty close.

I am a story teller.

When I teach, I teach through metaphor and anecdote. Facts are fun—I love them and they are necessary—but facts don’t teach, they inform. Building a connection to facts, that is how we learn. That is how everyone has always learned (give or take a few). So rather than spew a list of concepts, methods, or algorithms at my class, I teach by using stories to build those connections. I tell stories about how I used this function wrong and it yielded a comical result. I talk about how mis-application of some idea ended in tragedy. We, as a class, explore examples of certain algorithms in our daily lives. We weave stories in order to build context for the facts in our minds and so that we can retain them.

I’m no less a story teller when I develop software.

When developing software, I have to be a master storyteller if I want to do a great job. I can’t tell the story, I have to help the customer—the end user—tell their story. I have to elicit from them how they think they do work; then I have to dig deeper and get them to convey how they actually do work. Through anecdote and informal chatter, I draw out context for otherwise disjointed facts like “I want it to be busier” or “the old way was just too clustery.”

Once I’ve helped the user build their story, I build my complementary story. I take what they have taught me and spin it into my own tale using code and graphics and requirements documents. I deal it back to them like a serial novel—pieces at a time in a way that allows me to gauge their reaction and keep their interest engaged. By the time they have seen the story in total, there should be precious few surprises (and among those precious few, only good ones) but a great deal of satisfaction with the denouement.

This is why it pains me to see the artless, engineering way to do requirements analysis. I cannot do my best work as I slog through a checklist of context-less questions and categorized facts. I need connection, and so does the client. In my experience, we are all infinitely better off sitting down together and listening to one another’s story with a checklist as a backstop to ensure that all bases have been covered than to rigidly adhere to a few hours of discovery done in a conference room.

So I’m not a software developer. I’m not an educator, a father, a manager, or a leader. I’m a story teller; I suspect that your software developers are yearning to be one too. Do yourself a favor and help them get there.

A Dewdrop Full of Struggle

A world of dew,
and within every dewdrop
a world of struggle
—Issa

This month marks 11 continuous years without drugs or alcohol. For the vast majority of you, this probably doesn’t seem to be an exceptionally huge feat—most people can take or leave drinking, and I’d wager that a sizable percentage of adults in this country have gone years and years without partaking in drug use. For me, however, this 11 years constitutes the longest period of sustained change I have ever managed. At this point, the length of time during which I haven’t been pissing-all-over-myself drunk or hitting-on-the-mother-of-my-date high is rapidly approaching as long as the length of time during which such events were regular occurrences. It’s a pretty heady feeling, this knowing that I am profoundly unlikely to wake up in a puddle of my own vomit next to someone I don’t especially know in a state of undress that inadequately conveys the full extent of the previous day’s adventures.

For obvious reasons, each year the approach of my anniversary comes with ponderous thoughts about the merits, features, and nature of change. Among drug addicts I first heard the phrase “nothing changes until the pain of staying the same is greater than the pain of changing” and never in my life has something sounded so ludicrous and so obvious at the same time. Of course we wait to change until staying the same is worse…but why would we be so short-sighted and stupid so much of the time?! Madness. Drug addicts are not known for their ability to plan for the future.

As it turns out, the same is true in most organizations—in fact, I could probably write a fairly lengthy article wherein I compare organizational behavior to that of a multi-year junkie (note to self, that sounds like a fun article)—most organizations act just as irrationally when faced with the formidable task of instituting change. Allow me to paint you a picture from my own life experience:

I was young—early twenties roughly—and had recently moved to a new town with my wife and young children. I immediately found the people who party and started spending my evenings at bars and house parties around town rather than with my newly displaced family.

Needless to say, that didn’t last long before my beleaguered wife, who undoubtedly hoped that this change in venue would result in a change in my behavior, finally had to put her foot down and threaten Very Bad Things if my behavior were to continue.

To my credit, I immediately put an utter and complete halt to my misbehavior. I quit drinking, I stopped hanging out with people after work, and I spent my nights and weekends with my family at home.

For about two weeks.

I quickly found my new life boring, and over the course of the third week, I had backslid almost completely. In fact, in many ways it was worse, because I had convinced myself that I had to lie and sneak time with friends and I would often drink a great deal at work and then drive home very, very drunk so that I could hang out with my family without hearing about my drinking.

This sort of whiplash-inducing overcorrection is something I’ve observed myriad times in countless organizations. A Thing That We Do™ is just not working—and a grand, sweeping plan is devised and put into place. It seems to largely alleviate some of the problems (in the best case scenario) or doesn’t seem to be having sufficient impact (in the more common scenarios), but in either case the strain of maintaining persistent change of such enormity—of such utter completeness—for any length of time proves too great and the members of the organization collapse back into old behaviors and patterns.

Why is this? Are they lazy? Stupid? Lacking in ambition?

Change—that is to say lasting, significant change—is methodical and slow. It’s glacially paced. It is the turtle winning the race slowly and steadily while the rabbit wears itself out with too much too fast. I’ve achieved over a decade free from actively pursuing addiction because I didn’t try to change everything at once. I triaged my life and changed the most pressing thing, and I have continued to do so iteratively for nearly 11 years now.

I do the same when helping an organization to change. Often the first thing I have to do is devote time and energy to reigning in the change enthusiasts who find themselves in a cycle of changing everything, then changing everything differently until everyone is so confused and disheartened that even modest change sounds horrifying and impossible. Only once that destructive cycle is quelled can the job of triaging and planning begin.

When you feel like change is failing you, stop for a moment and look around you. If you cannot list on one hand the individual changes that are being enacted and fingers left over, your glacier has run away and needs to be halted and adjusted.

Remember, several inches of snowfall can cover my town overnight and it is a thing of beauty; that same quantity of snow in one fell swoop would be a natural disaster. Stop making natural disasters.

There’s No "U" In Women in Technology

As a regular reader of tech news and various forums, I am regularly witness to articles addressing women in technology—and let me begin by saying that I am profoundly grateful for that. It wasn’t terribly long ago that the very idea that a woman might participate in a STEM field was absolutely shocking. Even as recent as my time in high school some 20 years ago, home economics was for girls, shop was for boys, and computer class was for nerdy boys with poor hand-eye coordination. This shift, from then to now, only happens as a result of this ongoing conversation that happens in the media, on the web, and in our offices.

I am concerned, however, with the narrative that we follow in discussing the shortage of women in technology. We discuss (ad nauseam, some times) who these women are and what they do. We bicker about why they are insufficiently represented and about whether or not there is a pay disparity. We even discuss what women can do to address the gap—like they’re the only part of the equation. Here’s the thing, if we’re going to resolve this, there’s work that’s going to have to be done on both ends of the equation. Certainly, women are going to have to (continue) to do some heavy lifting to continue to stake out their place at the table—but shouldn’t the rest of us consider what we should be doing, too? So that’s what this is, this is the conversation we can have as men as to how we fix this gap…at least part of it.

The most important thing that we can do is to stop pretending that trying to fix this gender divide is a thing we are grudgingly having to do for “them.” I’ve worked around developers more of my life than not at this point, and there is no doubt that we are a supremely homogeneous group. Homogeneity stands firm between a team and progress. The more alike the membership of the group is to one another, the more the group becomes a feedback loop for itself; inflating the importance of its own ideas and confusing concensus with popular opinion.

It is in our best interests to fix this thing. We need our ranks to be filled with as diverse and broad a subset of the human experience as we can manage. Adding women to the mix is just one way, but it’s an important one, and the fix begins easily enough. We can cover serious ground by making one these two simple fixes:

Stop making your space an unsafe one

Imagine, for a moment, a person you do not want to have sex with. I don’t mean someone you find hideous or repellant, mind you, just someone that is completely physically unattractive to you. Perhaps you even enjoy the person’s company, but dating or sex? No way!

Stop picturing me, that’s uncalled for.

Now, imagine that they are participating in a development project with you. They are a member of your team and you see them in-person and online on a regular basis. You are in pretty close to daily contact. Oh…and he or she will not stop hitting on you. Now, I don’t mean that this person is aggressively forcing him or her self at you; that would almost be actionable. Instead you are subjected to all of the flirty behaviors you aren’t interested in. They make jokes-that-are-clearly-not-jokes, they sit too close, they check you out in obvious ways, they invite you on dates-that-aren’t-dates-that-really-are-dates; and they do all of this relentlessly. Take a second, actually picture it.

If you are like me, you are already a little bit uncomfortable, because almost all of us have been in this situation at one point or another and we know how awkward it is to be stuck here. This is not something you are comfortable calling harassment, but he or she won’t take a hint and there’s nothing you can do about it without coming away feeling like a heel.

Now, imagine one more thing for me…imagine that you weren’t even sure that you belonged on this project at all. Imagine that you already felt a little out of place, and THEN all of this happens. How long before you decide that this particular project just isn’t the place for you? How many of these places will you decide aren’t for you before you think that this entire industry just isn’t the place for you?

Listen, from a purely practical sense, it’s a simple concept: the only circumstance wherein you immediately and clumsily hitting on a female on your team is going to end *well* is if she is into you, is looking to be hit on, and doesn’t mind your ham-handed style of flirting. Only if all of these three are true does this end even close to well. In all other cases—if she’s not into you, if her intentions happen to be (*gasp*) focused on this project rather than your libido, or if she would just like to spend some time doing this without having everyone trying to climb into her pants—all you are doing is alienating her. That hostile environment that we just described, that’s what you are creating. The best of the likely outcomes is that she quietly puts up with all of this while tries to focus on this thing that she is actually here for, but the most realistic scenario tends to be that she just goes away.

Start making your space a safe one

The fact of the matter is, even if you stop hitting on all of the women as they arrive in your group, your fellow men in technology are probably still doing it. The next step is to make your work spaces safe, inviting ones for everyone that you wish to attend, including women. It is easy to put together rules and regulations that legislate spaces into safe and inviting ones—and when the space is a place of employment, you almost certainly should do so—but merely putting rules together isn’t enough. The sort of off-putting behaviors that legitimately sends women the message that they don’t belong is notoriously difficult to pin down with any degree of specificity in real life situations.

Social pressure, however, is an amazing thing. Let’s face it; this sort of behavior is truly embarassing to be caught doing. Relentlessly pestering a woman for a date—or doing all of the show-off, plumage-flaring behaviors meant to draw the attention of one’s desired mate—these are humiliating things to be called out on. Use that fact. When you see someone singling out the female in a group for attention, call attention to it.

It doesn’t have to be overt or in front of an entire group of people. In one of my classrooms a year or so ago, I had a very attractive student in a web programming class, one of perhaps 2 female students in a class of nearly 20. She was very good—if not top of the class, then very near it—but that didn’t stop one male student from offering outside-of-class help. After observing a few such offers, I finally had to intervene…

Me (directly to the student): Hey, are you offering additional help?

Student: Yeah…

M (to the class): Hey gang, S is offering to help those of you who are struggling. It’s really cool of him to offer, so, take him up on it.

At the end of class, alone…

S: Hey, I didn’t mean that for the entire class

M: Oh, I’m sorry, I just figured that since offering to help just her is sort of creepy and stalker-y, you must have been making it kinda a general offer.

At this point, the student and I had a brief discussion as to why it is frowned upon to do what he did, why it might be creepy, and why it wouldn’t be allowed in my classroom. Who knows if this ‘teachable moment’ had a lasting impact on him, but at the very least he ceased hitting on this young lady in my classroom. She had one safe space to learn, at least.

Now, there are probably dozens of other things we can do—right off the top of my head, I suggest not letting our impostor syndromes manifest as uber-aggressive know-it-all posturing, for example—but this is a start. Simply recognize how essential it is for all of us that we fix this, then start fixing it by trying not to be a douchebag and pointing out to your friends and co-workers when they are being douchebags. Perhaps we can end this boy’s club that someone created for us. I know I, for one, don’t want it anymore.

Weak Data Typing is Weak

When I’m teaching PHP or Perl, a conversation invariably springs up early in class related to loose data typing. The format is almost always the same…a student with some moderate amount of programming experience in a strongly typed language (C or C++ generally) is elated to find they can just stuff anything into a variable. When I opine that this is a terrible and dangerous flaw in the languages, the argument proceeds down the lines of “it’s so much easier” or how “archaic” my point of view is.

Listen, weak data typing is not easier; it’s sloppier, which is not the same thing. In fact, that sloppiness often makes things harder! This weekend, for instance, I whipped a quick little script together for a friend that would parse an automatically generated XML file and make a series of corrections for him. In mid stream, however, I was stymied by a troubling little bug…one of the fields would occasionally cause a crash.

As it turns out, XML::Simple was reading a blank tag (that the program generating the XML erroneously output as <tag></tag> rather than <tag />, but I digress) and rather than storing it as a null string, it opened up a new, empty hash.

Of course, it is stupid of the initial app to output the XML in that format…and yes, XML::Simple was being idiotic for not noting that edge case…but these are the exact sorts of real-world situations that strong data-typing would have prevented (or, at least illustrated earlier).

I spend an enormous amount of time looking at other people’s code whether it be working for my ‘day job’, for a consulting contract, on open source projects, or examining the work of my students—an a single, unifying theme in loose data typing is that it is a gotcha that is often terribly difficult to track down.

So instead of adopting the burden of explicitly casting your data from type to type, you adopt the burden of searching for edge cases to prevent…to my mind, not easier.