EppsNet Archive: Software Development

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 →

Teaching Computer Science: Say Your Ideas Out Loud

 

[I learned about Scary Ideas from Jim and Michele McCarthy — PE] I’m volunteering a couple mornings a week in a high school computer science class . . . “The main thing I wanted to tell you is that you’ve got to say your ideas out loud . . . “A scary idea is not an idea that’s going to scare people when they hear it, it’s an idea that you don’t want to say because you’re afraid of how people will react to it. Maybe they’ll think you’re crazy. “Here’s a couple examples of scary ideas. “You recognize the speaker in this video?” Everyone does. “Ok, let’s see what he has to say.” I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the moon and returning him safely to the earth. “Keep in mind that he’s… Read more →

Developers Should Abandon Agile

 

No matter what framework or method your management thinks they are applying, learn to work this way: Produce running, tested, working, integrated software every two weeks, every week. Build your skills until you can create a new fully operational version every day, twice a day, multiple times a day. Keep the design of that software clean. As it grows, the design will tend to become complex and crufty. Resist and reverse this tendency consciously, refactoring in tiny continuous steps, all the time, so that your rate of progress is as steady and consistent as possible. Use the current increment of software as the foundation for all your conversations with your product leadership and management. Speak in terms of what’s ready to go, and in terms of what they’d like you to do next. This is the development team’s best hope for a reasonable life. By keeping the software always ready… 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 →

My Name is Fido

 

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 I live in California. Are there no software engineers in Wisconsin or anywhere between California and Wisconsin? On the Internet, no one knows you’re a dog. Thus spoke The Programmer. Read more →

I Think We Are Kidding Ourselves

 

More people have ascended bodily into heaven than shipped great software on time. — Jim McCarthy 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. Read more →

Pain in the Neck

 

I started going to physical therapy for neck pain . . . “What kind of work do you do?” the therapist asks. “Software development.” “Do you sit a lot during the day?” “Yes.” “At a desk?” “Yes.” “Show me how you sit at the desk.” “I turn sideways like this in the chair and lean on the armrest, then I kind of scrunch over and stare at a computer screen.” “Oooh, that’s not good. You shouldn’t do that.” “I know. But I get paid to do it and I don’t know how to do anything else.” Read more →

Programmers Don’t Play Polo

 

On the product page for a book on software development principles, Amazon showed me this: The product on the right — is that a bug in the cross-selling algorithm? I’ve worked in software development for about 30 years and have never met one person interested in the game of polo . . . Read more →

Antipattern: Daily Standup is Too Long

 

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: What have you accomplished since the last meeting? What do you plan to accomplish between now and the next meeting? 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… Read more →

Hard Deadlines

 

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

Risk = Cumulative Cost – Cumulative Value

 

Henrik Kniberg has a presentation online called “What is Agile?” It includes a method of visualizing risk as the gap between cumulative cost and cumulative value, as well as methods of visualizing risk mitigation strategies. I found it valuable. Here are some representative slides: Read more →

9 Links

 

Data Structure Visualizations Good Tech Lead, Bad Tech Lead Google Java Style Guide to 12 Disruptive Technologies How to Write a Cover Letter The Landing Page Optimization Guide You Wish You Always Had Selendroid: Selenium for Android UX Axioms by Eric Dahl Yelp’s got style (and the guide to back it up) Read more →

All Projects Should Be Early

 

From a Jeff Sutherland Scrum deck: You can maximize the value delivered per unit of time or cost by shipping when the value curve starts to flatten out. Read more →

Passing the Cloudera Hadoop Certification Exam

 

Today I took and passed the Cloudera Certified Developer for Apache Hadoop (CCDH) exam. Two resources were helpful to me in this successful endeavor: Hadoop: The Definitive Guide by Tom White The Cloudera practice test, which I found much harder than the actual exam. Read more →

Fast Work

 

A junior high school math teacher posted this on Facebook: 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. Read more →

Certifications

 

Give a man a fish, he'll eat for a day, offer him a fishing certification and he'll open up a consultancy without ever having seen a fish. — Dan Lyke (@danlyke) July 29, 2013 Read more →

Software Estimation Options

 

With software estimation you've only realistically got a choice of 5 mins, 1 hour, 1-2 days, about a week, and then all bets are off. — Rob Bowley (@robbowley) September 18, 2011 Read more →

Minimizing Retention

 

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

Next Page »