EppsNet Archive: Software Engineering

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 →

Google “Bugs” in Trump Searches

 

Google's "explanations" are a complete joke. https://t.co/nluR7FtC1c — Paul Epps (@paulepps) August 7, 2024 Google’s “explanation” for this is a complete joke as is their “explanation” for why searching for “Donald Trump” brings up information about Kamala Harris. Software engineers have always called software errors “bugs,” because if you call something an error, it implies that someone is responsible for making the error, whereas if you call something a bug, it sounds like it’s nobody’s fault, really, just something that crawled in there of its own volition, like a cockroach in your kitchen. You could also use the word “bug” for something that was not an error at all. You did it on purpose but got caught out and need to disavow it. That’s what Google is doing here. This seems very important to me. It’s not good at all and here’s why: Google has become synonymous with online search.… Read more →

International Women’s Day 2024

 

Happy International Women’s Day 2024! (Belated — I meant to post this yesterday.) So many girls and women who’ve been a joy to work with as students, colleagues, teachers, mentors. I wish I could relive every moment with you. If you think you may be in that group, you probably are. If you’re not sure, message me and I’ll tell you. 🙂 I think I remember women better because there haven’t been as many of them. I work in software engineering. Women are underrepresented in software engineering. You may have heard. Women and men are different so it doesn’t seem surprising that they choose to do different things with their lives. Software engineering has been a good career for me because I like solving problems and building things, so I’ve been able to make a living doing, for the most part, things that I like and things that (I think)… Read more →

National Math and Reading Scores are Plunging

 

National math and reading scores are plunging. In the new educational philosophy, test scores are just a racist measure of racist things. Parents who are pro–standardized testing are far-right hate groups. Obviously closing schools for years was really bad. You can see the scores drop off a cliff after 2020. But overall, the scores are actually lower than they were 40 years ago. We’ve made no progress in educating kids since 1980. There was progress till slightly after 2010 and then . . . What has happened in that time? I bet deciding that math and reading are racist didn’t help. And teachers being primarily tasked with gender-discovery journeys also did not improve scores. Midwestern public school teachers are trading tips on how to transition kids without telling parents. (I don’t know why these stories are only covered in non-US media.) Having teachers paint your son’s nails does not improve… 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 →

COVID Vaccine Side Effects

 

Every drug commercial you see on TV, half the commercial is a voice-over listing all the side effects, many of which are worse than the disease that the drug is intended to treat. May reduce your body’s ability to fight infection, which could lead to serious illness or death . . . “Death” is almost always in there somewhere. And these are drugs that have been through years of trials, full FDA approval, not just emergency approval or experimental approval or whatever it’s called for the COVID vaccines. What are the side effects of COVID vaccines? Who knows? There wasn’t time to test for them, except very short-term stuff like you might feel tired or you might have a sore arm. In the software business, we call this “testing in production,” meaning we don’t have time to fully test the product in a non-destructive way, so we slam it into… 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 →

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 →

To Young Women Considering a Career in Technology

 

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. 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… Read more →

Growing a System

 

Some years ago, Harlan Mills proposed that any software system should be grown by incremental development. That is, the system first be made to run, even though it does nothing useful except call the proper set of dummy subprograms. Then, bit by bit, it is fleshed out, with the subprograms in turn being developed into actions or calls to empty stubs in the level below. . . . Nothing in the past decade has so radically changed my own practice, and its effectiveness. . . . One always has, at every stage, in the process, a working system. I find that teams can grow much more complex entities in four months than they can build. — Fred Brooks, “No Silver Bullet: Essence and Accidents of Software Engineering” Read more →

The Waterfall Approach Persists as an Urban Myth

 

Much of present-day software acquisition procedure rests upon the assumption that one can specify a satisfactory system in advance, get bids for its construction, have it built, and install it. I think this assumption is fundamentally wrong, and that many software acquisition problems spring from that fallacy. — Fred Brooks, “No Silver Bullet: Essence and Accidents of Software Engineering” We were doing incremental development as early as 1957, in Los Angeles, under the direction of Bernie Dimsdale [at IBM’s Service Bureau Corporation]. He was a colleague of John von Neumann, so perhaps he learned it there, or assumed it as totally natural . . . All of us, as far as I can remember, thought waterfalling of a huge project was rather stupid, or at least ignorant of the realities. I think what the waterfall description did for us was make us realize that we were doing something else, something… Read more →