Author Archive: The Programmer

More Words and Phrases I’m Sick Unto Death Of

13 Oct 2017 /

Although I can’t claim never to have said these things myself, if I had a dollar for every time I’ve heard someone say either a) “It was working fine 10 minutes ago,” or b) “It works okay on my machine,” I would be comfortably retired by now.

Thus spoke The Programmer.


To Young Women Considering a Career in Technology

30 Aug 2017 /

You’ve probably read a lot of articles about how sexist and awful the culture is for women in technology.

I think if anything deters young women from technology careers, it’s this glut of articles saying how sexist and awful the culture is.

Young female technologist

I’ve worked in software development for 30 years. In my experience — and feel free to discount this because I’m not a woman — the culture is not tough for women. If anything, men give women the benefit of the doubt because they’d like to have more women around.

As Holden Caulfield used to say, “I like to be somewhere at least where you can see a few girls around once in a while, even if they’re only scratching their arms or blowing their noses or even just giggling or something.”

Yes, I have seen bad things happen to women in tech, but I’ve seen bad things happen to men and I’ve had bad things happen to me. I’m also aware of bad things happening to women in other professions. We’ve all had our ups and downs.

How to explain this? Bad things happen to women because they’re women and bad things happen to men because — what? We deserve it?

You’ve probably also read a lot of articles about a “diversity chasm” in tech, usually written by women who work in tech and can’t understand why every young woman in America is not making the same career choices they themselves have made.

Women, like any group, are under-represented in some professions (like tech) and over-represented in other professions — education and health services, for example.

Is a software engineering career objectively better than being a nurse or a teacher or a therapist or any of the careers that women seem to prefer?

I’m happy to admit that I don’t know what the “right” male-female ratio is for any given profession and that I don’t know what other people should be doing with their lives.

Programming has been a pretty good career for me — I like to build things and I like to solve hard problems — but I’ve spent most of my life alone in a room or cubicle staring at a computer screen. It’s not for everyone. There are pros and cons like any other job.

I don’t have a daughter but my son never took an interest in programming and I never pushed him to do so. He graduated college with a degree in business. I have no reason to think his life will be less fulfilling because he’s not working in a technology job.

TL;DR:

  • Don’t pursue a technology career because someone else thinks you should.
  • Don’t pursue a technology career to make some point about gender roles in society.
  • Don’t be scared off by inaccurate (IMO) generalizations about anti-female culture.
  • Follow your heart.

Thus spoke The Programmer.


One Thing I Can’t Tolerate is Intolerance: The Google Memo

8 Aug 2017 /

The now-famous Google memo was first published by Gizmodo under the headline Here’s The Full 10-Page Anti-Diversity Screed Circulating Internally at Google.

If you’re interested in the topic, you should read the memo yourself, otherwise you’re going to get a terribly slanted second-hand judgment, e.g., “anti-diversity screed.” I’ve read it and I don’t think it’s “anti-diversity” and it’s definitely not what I’d call a screed.

I’ve seen that word — screed — used by multiple sources. That’s one way of dismissing and declining to engage with an opinion you don’t like: give it a label like “screed,” suggesting that the author is angry and irrational and not fit to have a discussion with.

In my reading though, I found the original memo to be academic and clinical, much less screed-like than the responses I’ve seen.

As usual (in my experience), the most intolerant people in the mix are the ones presenting themselves as champions of tolerance, diversity, acceptance and mutual respect. They love people of all genders, skin color, hair color, eye color, etc., but they have no tolerance at all for anyone who doesn’t think exactly the way they do.

If you have an opinion that doesn’t fit the preferred narrative, you are harmful and stupid, you shouldn’t be allowed to hold a job and you shouldn’t feel safe in giving voice to your opinions.

The argument against expressing an opinion like the author of the Google memo is, as I understand it, that it’s considered hostile and unwelcoming to women who might want to work in the field of technology.

Google chief executive Sundar Pichai said in firing the memo author: “The memo has clearly impacted our co-workers, some of whom are hurting and feel judged based on their gender.”

If it’s hurtful to judge people based on their “gender,” why isn’t it hurtful to say that the percentage of males working in technology is unacceptably high and should be reduced? (I know nobody says it that way. They say “increase the percentage of women” but it’s the same thing.)

Why isn’t it hurtful to implement policies to reduce the percentage of males working in technology? Why isn’t it hurtful to hire “diversity” personnel whose job it is to reduce the percentage of males in technology?.

Depending on which groups you’re in, you’re either not allowed to be discouraged by anything or you’re entitled to be demoralized by absolutely everything.

Thus spoke The Programmer.

Related link: Where are the additional women in technology supposed to come from?

 

Irony alert

“By ‘diverse mix of voices,’ we mean non-white females. Look at the picture. Oh, you thought it meant a diversity of opinions?! Well, in that case, you’re fired.”

 

TL;DR from Google memo

  • Google’s political bias has equated the freedom from offense with psychological safety, but shaming into silence is the antithesis of psychological safety.
  • This silencing has created an ideological echo chamber where some ideas are too sacred to be honestly discussed.
  • The lack of discussion fosters the most extreme and authoritarian elements of this ideology.
  • Extreme: all disparities in representation are due to oppression
  • Authoritarian: we should discriminate to correct for this oppression
  • Differences in distributions of traits between men and women may in part explain why we don’t have 50% representation of women in tech and leadership. Discrimination to reach equal representation is unfair, divisive, and bad for business.

Where Are the Additional Women in Technology Supposed to Come From?

29 Jul 2017 /

The jobs report for May contained discouraging news: continuing low labor-force participation, now below 63 percent overall. About 20 million men between the prime working ages of 20 and 65 had no paid work in 2015, and seven million men have stopped looking altogether.

In the meantime, the jobs most in demand — like nursing and nurse assistants, home health care aides, occupational therapists or physical therapists — sit open. The health care sector had the largest gap between vacancies and hires of any sector in April, for example.

We hear a lot about a shortage of women in technology jobs but we don’t hear about a shortage of men in traditionally female jobs.

It’s really two sides of the same problem. Unless a lot of women suddenly appear out of nowhere, the only way to get more women into professions where they’re currently under-represented — like technology — is to get them out of professions like health care, which they seem to prefer but in which they are significantly over-represented.

In theory, nursing should appeal to men because the pay is good and it’s seen as a profession with a defined skill set.

But the NYT cites a study from UMass Amherst, showing that not only will most unemployed men resist taking a “feminine” job, but that those men who might have been willing to consider it encountered resistance from their wives, who urged them to keep looking.

So much for diversity . . .

Speaking of which, here is a screenshot of the current board of directors of a nursing organization that I used to work with.

https://www.aacn.org/about-aacn/board?tab=Board%20of%20Directors

Nursing is a white female dominated profession, much more so than technology is a white male dominated profession, but I worked with this organization for about five years and never heard word one about a lack of diversity in nursing.

It’s hard to imagine an organization in 2017 having a 15-member all-white, all-male board of directors without drawing a lot of negative attention but all-white, all-female is okay.

I see a tremendous number of proposals for “empowering” women to get into technical professions that they may just not be interested in, but if the number of women in technology is considered problematic, then the number of women in nursing (and other over-represented professions) has to be considered equally problematic.

Where else are the additional women in technology supposed to come from?

Thus spoke The Programmer.


10 Reasons Why Failure is Good, Except When It’s Bad

11 Jul 2017 /
 Sharon Christa McAuliffe,  Gregory Jarvis, Judith A. Resnik, Francis R. (Dick) Scobee, Ronald E. McNair, Mike J. Smith, Ellison S. Onizuka. Image credit: NASA

Sharon Christa McAuliffe, Gregory Jarvis, Judith A. Resnik, Francis R. (Dick) Scobee, Ronald E. McNair, Mike J. Smith, Ellison S. Onizuka. Image credit: NASA

Once upon a time there was a startup, and the president of this startup, like a lot of people in the early part of the 21st century, celebrated failure — as a learning tool and as a precursor to success.

He encouraged employees to celebrate failures on the company Slack channel, using the hashtag #fail.

Legend has it that the president called one employee on the carpet for suggesting on the Slack channel that it doesn’t make sense to celebrate failure without factoring in the cost of failure.

That is simply a truism, is it not? Obviously the value of failure can be swamped out by the cost, e.g.,

Blew up 7 astronauts but learned that O-rings don’t function in sub-freezing temperatures. #fail

You can think of other examples yourself. You can probably also think of people and/or companies for whom failure was merely a precursor to more failure.

Working for startups is risky, but the president of this startup told all the employees that he would give them a six-month heads-up if the company were ever on track to run out of money.

Then one day, due to the failure to retain a key client, the staff was cut to around 15 people (there were close to 100 at one time) with zero notice and a one week’s severance check.

You could make a case that the “six-month” promise didn’t apply because the company didn’t actually “run out of money,” but most people felt that the spirit of the promise, if not the letter, had been violated.

Was this a failure to be celebrated? It probably depends from which side of the exit door you’re looking at it. Sometimes a pivot looks a lot like an implosion.

Was it celebrated with a #fail hashtag in the company Slack channel? I don’t know.

Lost our key client. Laid off all developers but kept the company chef. #fail

This is a fable and like all fables it has a moral: Failure is good, except when it’s bad.

Resemblance to persons or companies living or dead would be a coincidence.

Thus spoke The Programmer.


Learn to Code

24 Jan 2017 /

I’m a programmer . . .

Job searches for me go like this: I’m old, I have to compete with people half my age, but I’ve worked in Orange County since forever so I know some people, and I can write good code in interviews, which the majority of programmers who show up for interviews can’t.

I was out of work on January 5. It’s now January 24. I have three job offers and picked the one I like best.

Moral of the story: Learn to code, kids . . .

Thus spoke The Programmer.


Accoutrements at the New Office

9 Dec 2015 /
3-star ball

The new office comes with a chef, who seems to see himself like one of those celebrity chefs with the quirky personalities.

Not to put a damper on the fun but I like my chefs to be unobstrusive. I just want a bite to eat. I don’t want to manage a new interaction with an eccentric reality show wannabe.

Just dish up the grub, man.

 

We also have a ping-pong table now, which triggers a lengthy discussion of the intricacies of table tennis equipment, conducted for some reason in the midst of a group of people trying to get some work done.

Three-star balls? I got your three-star balls right here . . .

Thus spoke The Programmer.


What Can Be Done About Gender Diversity in Computing?

6 Oct 2015 /
Gender

That is the question posed in, among other places, the October 2015 issue of Communications of the ACM.

Since gender is no longer a biological imperative connected to one’s physical anatomy, there’s now a simple answer to this. Men (and women, but that’s not relevant to this question) can identify as either gender, independent of reproductive organs and chromosomes, and a thoughtful consideration of the uniqueness and validity of every person’s experiences of self requires a societal stamp of approval.

Google or Facebook or any organization that wants to improve its gender diversity metrics can offer some modest incentive (could be financial, could be you use the women’s locker room at the company gym … use your imagination!) for workers to identify as female. Have a 50 percent female workforce by Friday!

Now that I’ve written this down I’m thinking that maybe I should be starting up a diversity consulting firm rather than giving the idea away for nothing. Room for expansion: Racial identity is fluid now as well (see here and here).

Thus spoke The Programmer.


My Name is Fido

3 Oct 2015 /

From an actual email:

Hello,

My name is Fido and I’m an IT recruiter at TechDigital Corporation. We are currently hiring a .Net Developer/Software Engineer preferrably [sic] with experience in the Financial domain for a W2 or C2C Contract for one of our direct clients in Green Bay, WI.

Fido Xavier
Recruiter

  1. I live in California. Are there no software engineers in Wisconsin or anywhere between California and Wisconsin?
  2. On the Internet, no one knows you’re a dog.

Thus spoke The Programmer.


Profiles in Management: The Jackass Whisperer

11 Sep 2015 /

Nothing good comes from two people talking about a third person who isn’t there. If your boss is allowing people to talk to him or her about team members who are not present, you have a problem. If you are the boss and you’re doing this, knock it off.

Who is worse: the person who wants to talk about you behind your back or the person who encourages them to do it?

The good boss is loyal. You can count on him going to bat for you, even if he privately disagrees with your view and even if defending you is not necessarily the best thing for him. He is never two-faced.

The bad boss, perhaps while boasting of his uncompromising integrity, thinks only about what’s best for himself. Watch your back.

Thus spoke The Programmer.

Jackasses


The Ceiling Seems Very Low

10 Sep 2015 /

http://www.usatoday.com/story/tech/2015/09/10/codeorg-hadi-partovi-computer-science-back--school-kids-teachers-women-minorities/71905738/

I don’t know if this is good news or bad news. It would help to know what “trains” means but I read the article and it doesn’t say. Reporters need to be more inquisitive.

Can someone with no knowledge of computer science or programming be “trained” to teach computer science or programming? What would that entail? How long would it take?

Can someone who’s never played an instrument or listened to a piece of music be “trained” to teach a music class?

Can someone who’s never picked up a drawing pencil or visited a museum be “trained” to teach an art class?

Can someone who doesn’t speak Spanish be “trained” to teach a Spanish class?

The ceiling on any of these approaches seems very low compared to hiring actual programmers, musicians, artists and Spanish speakers . . .

Thus spoke The Programmer.


I Think We Are Kidding Ourselves

7 Sep 2015 /

More people have ascended bodily into heaven than shipped great software on time.Jim McCarthy

Ascension

On the other hand, the number of people on LinkedIn claiming to have a demonstrated ability to lead software projects to successful completion, on time and on budget, as well as the number of companies seeking to hire such people, is infinite.

Thus spoke The Programmer.


This Kid Made an App That Exposes Sellout Politicians

8 Jul 2014 /

Via VICE:

http://www.vice.com/read/greenhouse-app-hannah-ewens-nick-rubin-201

Yes, the algorithm is


if (isPolitician(x)) {
    x.sellout = true;
}

Thus spoke The Programmer.


Antipattern: Daily Standup is Too Long

19 Jun 2014 /

Scrum recommends timeboxing daily standup meetings at 15 minutes. If you can’t finish in 15 minutes, there may be something wrong with your format.

Are you actually standing up? What are you talking about? Each person should answer three questions:

  1. What have you accomplished since the last meeting?
  2. What do you plan to accomplish between now and the next meeting?
  3. What, if anything, is impeding your progress?

Focus on accomplishments, not just assigned tasks, i.e., don’t say “I’m working on A and I’m planning to work on B.” Don’t have discussions. Anything coming out at the meeting that needs to be discussed can be discussed after the meeting. Try saying this more often: Let’s talk about that after the meeting. Immediately after the meeting if necessary, without even leaving the room, but not during the meeting.

Anyone in the meeting who is not responsible for accomplishing things during the sprint should not be talking.

Are you clicking through a project management tool to review what each team member is working on? Don’t do that. Anyone who wants or needs that information can click through the project management tool on their own time. Talk about accomplishments and blockers.

Why is this important? Well, you can meet or you can work, but you can’t meet and work at the same time. I recently observed a daily standup with 20 attendees (including remote workers) that was running 30 minutes a day, i.e., 15 minutes too long. They were losing 300 minutes per day (15 minutes x 20 people), 25 hours a week, and 100 hours per 4-week sprint.

Do the math on your own standups and decide if it’s important to you.

Thus spoke The Programmer.


Hard Deadlines

7 Jun 2014 /
Alarm Clock 3

Does saying “This task has to be done by Friday” increase the chances that the task will be done by Friday?

No, but it increases the chance that it won’t be done before Friday.

Better question: Why isn’t it done now?

Thus spoke The Programmer.


Fast Work

17 Nov 2013 /

A junior high school math teacher posted this on Facebook:

math-test

That makes perfect sense to me. Work gets done a lot faster if the results don’t have to be correct.

Thus spoke The Programmer.


Minimizing Retention

4 Aug 2013 /

From an actual job description for a Software Development Manager:

  • Worth with management and directs to put together a solid SW Development career development plan in alignment with Organization Solutions all-up to grow hi-potential employees and minimize retention.

If you’re writing job descriptions and learning English at the same time, there’s no shame in having a native speaker review your work.

The job description goes on like that for 10 or 12 more bullet points. I singled that one out because I like the phrase “minimize retention.” I can recommend a couple of people for that.

I assume it’s a language problem in this case — that the author meant to say “maximize retention” or “minimize turnover” — but it might be a kick to have a job where your actual charter is to minimize retention.

You would not be an easy person to work for. You would take all the credit. Your subordinates would get all of the blame.

Picture having the names of all staff members written on a whiteboard in your office and removing them one by one with a triumphant swipe of your eraser at the end of their (hopefully brief) tenure.

Maybe your boss would stop by every now and again to tap on a name and ask, “Why is that guy still here?”

Of course, if some clinging vine is screwing up your retention rate by refusing to quit (maybe he really needs the job?), you can just call him in and fire him. Or her.

Good times! If only all job objectives were this easy to meet.

Thus spoke The Programmer.


Every New Feature is a New Failure Point

14 Apr 2013 /

The TPMS warning light on my car dashboard is lit up, which, according to the owner’s manual, indicates a malfunction in the Tire Pressure Monitoring System, a system designed to alert me, via a different warning light, when the tire pressure gets too low.

It’s a completely unnecessary system to begin with because I can monitor the tire pressure myself, as drivers have done since the invention of the automobile.

Let’s add a completely unnecessary new system so when it breaks, the owner will have to pay to fix it.

Can I just ignore the warning light? I don’t know. The worst-case scenario is that the TPMS not only breaks but creates a domino effect that knocks out a critical system that I actually need.

Toilers in software development can draw their own analogies . . .

Thus spoke The Programmer.


Generalists Are Better Than Specialists

9 Mar 2013 /
Halo Reach, Forklift.

People ask me what is my “specialty” in software development. My specialty, if I have one, is in not having a specialty. I feel like I can contribute on any task.

That answer throws people off. They repeat the question, explaining that everyone is best at something. Managers especially like the idea of specialists because it simplifies the assignment of work: UI tasks go to the UI guys (or gals), SQL tasks go to the SQL guys, middle-tier tasks go to the middle-tier guys, and so on.

Before launching my illustrious career in software development, I worked on a union construction site. Everyone’s job was defined in excruciating detail — what each union member could and couldn’t do.

For example, if we needed to move a pallet from here to there, we had to find a teamster to drive the forklift. There were a few exceptions to that rule, depending on what was sitting on the pallet. In the exceptional cases, we had to find an operator to drive the forklift.

If we couldn’t find a teamster or an operator, the pallet had to sit where it was. We couldn’t move it. It didn’t matter how many other guys were standing around who knew how to drive a forklift.

Since then, I haven’t been a fan of specialization on work teams. It leads to some people having more work than they can possibly do while other people are standing around idle.

I’d make an exception if work demand could be guaranteed to match the available allocation of specialists (i.e., never), but if not, then give me a team of generalists every time.

Thus spoke The Programmer.


There is a Difference

17 Feb 2013 /

There’s a difference between being persistent and floundering.

Thus spoke The Programmer.


Next Page »