Author Archive: The Programmer

Luck and Skill

 

Every endeavor involves 2 things: skill and luck. Depending on what the endeavor is, more of one may be needed than the other. Concert pianist? Your odds of playing all the right notes in a concerto by luck are pretty low. Actor? Anyone can do it. Bodybuilders, wrestlers, singers, comedians. Luck is paramount. Technologist? My experience in software engineering is that it’s a skills-based profession. If you know things other people don’t know and you can solve problems other people can’t solve, you are the king or queen of the programming jungle. That said, I can’t recommend a course or bootcamp or resume trick, and in a bad market, you may need some luck, but it’s a skills-based profession. Skills and hard work. Get behind the mule and plow. Thus spoke The Programmer. Read more →

Something is Really Wrong

 

I just read another LinkedIn post from a person who lost her job and wanted to say farewell to colleagues. I’ve read a lot of posts like this. Probably you have as well. This one was the last straw. I’ve begun to feel like I’m watching something terrible happening right in front of me without saying anything about it. My dad graduated from the Naval Academy, served his country, got his first civilian job and worked at that company his entire life. It wasn’t uncommon for men of that generation to work their whole career at one company. It’s not possible that those companies never had a bad quarter or a bad year, but they managed downturns without layoffs. Workers weren’t acquired and disposed of like potted plants. This was before human dignity was replaced by managerial elites with no interest in the development, prosperity, security, freedom or well-being of… Read more →

Inclusive or Exclusive?

 

I saw this as part of a job posting: Highly inclusive culture, with more than 90% of our workforce coming from historically underrepresented backgrounds in Tech If you relegate the majority of your industry to a single-digit percentage of your workforce, is that highly inclusive or highly exclusive? If it were up to me as a lover of freedom, companies could hire whoever they want to, but my understanding is that my opinion does not align with the laws of the United States, which prohibit companies from hiring based on race, sex, etc., etc., etc. Given that the numbers above couldn’t have been achieved by accident, is that even legal? The fact that the company advertises it suggests that maybe it is, but everything I know about employment law (i.e., not much) suggests that it isn’t. Thus spoke The Programmer. Read more →

I Got a Bonus

 

I got my year-end bonus today. I really hadn’t given it any thought, how it was calculated, where it maxed out, because any company I’ve ever worked with where I was eligible for a bonus, I never got it. And my experience has been that nobody else ever gets the bonus either, with the exception of people in sales and people in the highest echelons of the company. Rank-and-file people don’t get bonuses. If the company wanted to pay you the bonus, they’d make it part of your salary. Anyway . . . I do training classes for software engineers, and it turns out my bonus is calculated based on graduation rate and student surveys, where students respond to statements like “I receive actionable feedback on my performance” on a 5-point scale from Strongly Agree to Strongly Disagree. I had no idea. As it turns out, I did get the… Read more →

Donald Knuth: Observations About Programming and Specifications

 

When you’re doing programming, you have to explain something to a computer, which is dumb. When you’re writing a document for a human being to understand, the human being will look at it and nod his head and say, “Yeah, this makes sense.” But there are all kinds of ambiguities and vagueness that you don’t realize until you try to put it into a computer. Then all of a sudden, almost every five minutes as you’re writing the code, a question comes up that wasn’t addressed in the specification. “What if this combination occurs?” It just didn’t occur to the person writing the design specification. When you’re faced with doing the implementation, a person who has been delegated the job of working from a design would have to say, “Well, hmm, I don’t know what the designer meant by this.” It’s so hard to do the design unless you’re faced… Read more →

An Open Letter to My Former CEO

 

Today is my last day with Company X. I’ve really enjoyed working with my colleagues. That said, the events of two weeks ago really made me ill. To call an all-hands webinar, announce that the company is losing too much money, as a result of which 80 people will have their jobs taken away, then boom, meeting over. Not even the decency to take a comment or question. I feel like those 80 people probably did not lose the money, probably just did what they were told to do to the best of their ability. The responsibility for losing the money lies with whoever told them what to do, starting with the CEO. There’s a law of the sea, I think it’s a good law, that the captain goes down with his ship. Not that he grabs hold of 80 people and throws them overboard, then follows up with a… Read more →

How Long Does it Take to Get Hired?

 

From LinkedIn News: How long does it take to get hired? That depends on the field of work you’re in, according to a new analysis by LinkedIn’s Economic Graph team looking at confirmed hires on the platform from June 2020 to March 2021. The data shows that technical positions take the longest time to fill (the median turnaround in engineering is 49 days). By contrast, everything moves faster in non-technical fields, such as sales (38 days) and customer service (34 days). I’m a software engineer. I did a phone interview with Company A, two managers on the call, we did a tech screen and the gist of it was, “Great job, we’ll set you up for the next interview a week from tomorrow.” Meanwhile Company B did one Zoom call and was ready to make an offer the next day. Top candidates are not going to stay on the market… Read more →

Healthy Enough to Type

 

I have a student in my class — let’s call him John — who missed the entire first week, so I sent him an email to the effect that I hadn’t seen him in class yet and what were his plans going forward. He replied that he had really been looking forward to the class but had a health condition that was going to force him to drop and who could he contact about a tuition refund. So he’s healthy enough to type. The class is online, so he could watch from his hospital bed if necessary. In short, I don’t believe him but what can you do? A slightly better way to play it, in my opinion, is to send me back an email saying “I’m typing this for John because he’s too sick to move his fingers. It’s really touch and go at this point. Please remember him… Read more →

Enlightenment

 

Tzu-li and Tzu-ssu were boasting about the size of their latest programs. ‘Two-hundred thousand lines,’ said Tzu-li, ‘not counting comments!’ Tzu-ssu responded, ‘Pssh, mine is almost a million lines already.’ Master Yuan-Ma said, ‘My best program has five hundred lines.’ Hearing this, Tzu-li and Tzu-ssu were enlightened. — Master Yuan-Ma, The Book of Programming Read more →

Hey Google! Does Joe Biden Have Dementia?

 

Here’s a fun experiment you can try out yourself . . . Pull up a Google search bar and type “does joe biden have dementia.” Of course you know Google has an autocomplete feature to fill in common searches. Here’s what happened when I started to type “does joe biden have dementia”: According to Google, the top search starting with “does joe biden have” is “does joe biden have a dog”! Are people making decisions about presidential candidates based on whether or not they have a dog?! Here’s the result when I type in the whole search phrase: There’s no autocomplete at all! Apparently I’m the only person in the entire universe to enter the search phrase “does joe biden have dementia.” Now switch search engines. I switched to DuckDuckGo and started typing the same search phrase. Here’s the result: With DuckDuckGo, I only have to type three letters to… Read more →

Do You Want a Programmer or a Pizza?

 

I teach programming classes for a living. The school has a Slack account and one of the things we use it for is to post relevant job openings. These postings come from the hiring companies and most of them unfortunately simply consist of a copy of the job description: Responsibilities, Requirements, Technical Skills. Bullet points. Trying to hire programmers like ordering a pizza. When I was a hiring manager, HR would try to run job postings like that. The problem was that I wanted to hire good programmers and good programmers have a lot of options regarding where they work. So just as a candidate needs to sell themselves to a company, a company needs to sell itself to candidates. One way of doing this is through job postings. So I rewrote the job postings to make them more enticing. To give you an example of what I mean, here’s… Read more →

Now Here’s a Guy Who Gets Me

 

I teach programming classes for a living. The classes are 8 hours a day, 5 days a week, for 12 weeks. I put a lot of preparation into it because I want students to have the best, most up-to-date and relevant instruction. It’s a good job for me. Programming seems to me like an important, valuable skill . . . it’s allowed me to make a living doing (for the most part) things I like and things I’m good at. It gives you a lot of options. You don’t have to work for a tech company. Almost any field of endeavor now uses software and data and they hire programmers. You can work in education, healthcare, finance, sports, whatever energizes you. So it’s good to have a job where I feel like I’m helping people. The downside is that the students can’t really tell good instruction from bad instruction. Yes,… Read more →

Why is Sexual Harassment the Only Workplace Malfunction That Merits National Attention?

 

Many workers in Silicon Valley have said tech companies aren’t doing enough to promote women and minorities, or to stamp out misogyny and harassment. — wsj.com “Not doing enough” . . . I remember last year a female engineer at Uber wrote in a blog post that she was being harassed and mistreated and Uber actually hired the former attorney general of the United States to launch an investigation. One woman! The assertion that Uber in particular and Silicon Valley in general are cesspools of misogyny is based on confirmation bias and small sample sizes. Uber has more than 16,000 employees in 600 cities and 65 countries. If you’re inclined to believe that women are more virtuous and vulnerable than men, then the reported experience of one person out of 16,000 may be enough to confirm you in your view of the world. A man (or woman) hears what he… Read more →

Teaching Computer Science: Priorities

 

When schoolchildren start paying union dues, that’s when I’ll start representing the interests of schoolchildren. — Albert Shanker, President of the United Federation of Teachers (1964-1984) and President of the American Federation of Teachers (1974-1997) It’s a problem in my profession that the number of schools that want to teach computer science far exceeds the number of computer science majors who want to teach computer science. The opportunity cost is too high. Computer science majors can earn a lot more working as software engineers than working as teachers. I volunteer a couple mornings a week to help with computer science instruction at a local high school. This school has a teacher, originally hired as a math teacher, who must be well into her fourth decade of teaching.  She now teaches computer science classes — poorly, but she teaches them. Because of her professional longevity, she makes a six-figure income with… Read more →

Teaching Computer Science: What is a Computer Science Integration Specialist?

 

Sheena Vaidyanathan, a computer science integration specialist at Los Altos School District in California, says that states, school districts and boards of education have not prioritized computer science education the way they should. Even if not every child will grow up to work as a computer scientist, she thinks everyone should at least get exposure to how computers work. — EdSurge News A couple of things I don’t understand there . . . one is why everyone needs to know “how computers work.” They work on electricity, that’s about all I know about it. Actually, I know a little more than that, but there’s no reason that everyone should know “how computers work,” any more than everyone should know how phones work, or how cars work, or how refrigerators work. You can use things without knowing how they work. I do think everyone can benefit from understanding how programmers think,… Read more →

Making it Easier for Women to Do Things They Don’t Want to Do

 

Apple launching tech camps for women in bid to diversify industry Like other major tech companies, Apple has been trying to lessen its dependence on men in high-paying programming jobs. I don’t think “dependence” is the right word there. Is that dependence like alcohol dependence, or like dependence on foreign oil? It’s an oblique way of saying “we’re trying to employ fewer men,” but explicitly singling out members of a certain group for unwelcome attention sounds discriminatory and possibly illegal. Women filled just 23 percent of Apple’s technology jobs in 2017, according to the company’s latest breakdown. “Just” — why do we assume that working at Apple is a goal that a lot of women have? Maybe women found better jobs? Or something else they’d rather be doing? Industry critics have accused the technology companies of discriminating against women through a male-dominated hierarchy that has ruled the industry for decades.… Read more →

How to Not Get a Job Teaching Computer Science

 

She was a software engineer interviewing for a job teaching high school computer science. One of the interviewers read a question: XYZ School District is committed to effective learning for all students. Key in this work is improving the success of historically underrepresented, low-income and/or students of color. What are your experiences implementing instructional strategies shown to be most effective in increasing the success of these populations? She knew what the “right” answer looked like but after a momentary hesitation decided to answer honestly. “I think it’s probably counterproductive to single out groups of students as needing special handling to be up to the standards of the other students.” “We’re not saying that they’re not up to the standards of the other students,” the interviewer said. “Okay, let me say it another way. We have four labels available: ‘historically underrepresented,’ ‘low-income,’ ‘students of color’ and ‘none of the above.’ “From… Read more →

11,000 New Computer Science Teachers Considered Harmful?

 

Here’s the start of an email I got from Code.org: We’re kicking off our summer workshops to prepare 11,000 new CS teachers. Last month we welcomed over 600 teachers, facilitators, and Regional Partners to Atlanta, GA for our largest TeacherCon ever. On top of TeacherCon, we also have 350 K-5 workshops and 167 workshops for middle and high school teachers planned this summer, where we expect an additional 10,000 teachers who plan to begin teaching computer science for the first time this fall! This is heralded with an exclamation point, like it’s exciting news, but as a computer science person, I can’t get excited about it. Why do we want kids to be taught computer science by 11,000 teachers who know little or nothing about computer science? How can someone teach something that they themselves don’t do? See if you can get excited about any of the following possibilities: 11,000… Read more →

Diversity in Tech Efforts Self-Defeating?

 

Panelists at the Inclusion in Tech summit lamented that we can’t tell if tech is doing better on diversity because the data stinks. My advice would be don’t worry about it. A lot of the noise around diversity in technology is self-defeating. If you’re a member of an underrepresented group, all you hear is that technology fields are hostile and awful and unwelcoming, you won’t be treated fairly, etc. And you wonder why certain groups are underrepresented? You’ve answered your own question. Why would anyone who wants to have a happy life pursue a career beset by unfairness and hardship? Why not instead be a meeting planner or a flight attendant? Asians are overrepresented in technology jobs but that’s a relatively recent development in the history of these fields. I don’t remember, when this transition from underrepresented to overrepresented was happening, hearing a lot about how technology fields were hostile… Read more →

Next Page »