Imagine you are in a maze of twisty little passages, all alike. In each chamber, you discover clues that help you to piece together the
secret code of that chamber, allowing you pass from it to the next chamber.
In this way, you progress through a large complex, one chamber at a time, having revelations and setbacks along the way.
But this never ends! There are small triumphs and defeats, but ultimately, you just keep navigating this or that set of passages
forever. Frequently, you have to repeat almost exactly what you’ve done before, with minor but critical differences.
Such is a career in software engineering. It goes a little something like this:
Showing posts with label software. Show all posts
Showing posts with label software. Show all posts
Monday, July 18, 2016
Thursday, May 7, 2015
Softwaring
The practice of creating software has changed. We used to call it programming, but now it’s software engineering.
When it was programming, it was mainly a bunch of geeky types who really got off on telling the masses about why they were formatting their email incorrectly. (Actually, in the really good old days, there were no masses using email … just the geeky types.) They worked obscenely long hours because they wanted to, and they socialized by talking about work.
Now it’s all software engineering. High tech. companies want to ease visa restrictions so they can hire cheap labor from overseas. It’s all about methodology … agile, complete with scrums and sprints, terms borrowed from the world of sports to suggest some kind of healthy teamwork. It’s all about code reviews and design patterns and best practices and quality assurance.
Basically, software has gone from being an inspired work of genius to a manufacturing process that any company can adopt to ensure that their code will be of the highest possible quality.
See how well that’s working?
When it was programming, it was mainly a bunch of geeky types who really got off on telling the masses about why they were formatting their email incorrectly. (Actually, in the really good old days, there were no masses using email … just the geeky types.) They worked obscenely long hours because they wanted to, and they socialized by talking about work.
Now it’s all software engineering. High tech. companies want to ease visa restrictions so they can hire cheap labor from overseas. It’s all about methodology … agile, complete with scrums and sprints, terms borrowed from the world of sports to suggest some kind of healthy teamwork. It’s all about code reviews and design patterns and best practices and quality assurance.
Basically, software has gone from being an inspired work of genius to a manufacturing process that any company can adopt to ensure that their code will be of the highest possible quality.
See how well that’s working?
Labels:
engineering,
programming,
software
Friday, August 23, 2013
Fall Season Preview
Labels:
cartoon,
comics,
funny,
haha,
high tech,
humor,
kendall square,
software,
technology
Monday, July 15, 2013
If Restaurants Operated Like Software Companies
The other night, we tried a new restaurant that's been getting a lot of buzz. However, like so many businesses in the Boston/Cambridge area, this place modeled its practices on the software industry. For example, after the food arrived, but before we could tuck in, the waiter asked us to click ‘Ok’ on an iPad to accept the license agreement.
I offered my wife half of one of the egg rolls, but the waiter intervened. “I’m sorry, but your license covers a single user only. You can’t share this item without incurring a separate fee.”
“Fine,” I said. “Just put it on the bill.”
I was about to sample the Beef Teriyaki when the waiter snatched away the dish. “A new version is available,” he announced. “Please wait while we deliver it.”
Twenty minutes later I finally got the Beef Teriyaki upgrade. It was, indeed, delicious.
The Kung Pao Chicken was exquisitely spicy, but at one point, I must have swallowed a hot pepper. I broke out in a sweat. My eyes watered and my hairline receded. I downed what was left of my water, and asked, as best I could through the coughing and sputtering, for a refill. “I’m sorry,” the waiter said, unapologetically. “We’re not responsible for any consequential damage. It’s in the agreement you accepted.”
Unable to eat any more, we asked the waiter to package up the leftovers. “These products are licensed for use at a single site,” he explained. “You’d have to purchase an additional license to use the products at another site.”
“Fine! Just bring the check!!”
When check arrived, the total was $74,392.17. Near apoplexy, we demanded the waiter tell us how they could have the audacity to charge that much for some chicken, some beef and a few vegetables. He explained with exasperating calmness. “True there are only a few dollars worth of ingredients, but it took thousands of person-years to develop the recipes.”
I offered my wife half of one of the egg rolls, but the waiter intervened. “I’m sorry, but your license covers a single user only. You can’t share this item without incurring a separate fee.”
“Fine,” I said. “Just put it on the bill.”
I was about to sample the Beef Teriyaki when the waiter snatched away the dish. “A new version is available,” he announced. “Please wait while we deliver it.”
Twenty minutes later I finally got the Beef Teriyaki upgrade. It was, indeed, delicious.
The Kung Pao Chicken was exquisitely spicy, but at one point, I must have swallowed a hot pepper. I broke out in a sweat. My eyes watered and my hairline receded. I downed what was left of my water, and asked, as best I could through the coughing and sputtering, for a refill. “I’m sorry,” the waiter said, unapologetically. “We’re not responsible for any consequential damage. It’s in the agreement you accepted.”
Unable to eat any more, we asked the waiter to package up the leftovers. “These products are licensed for use at a single site,” he explained. “You’d have to purchase an additional license to use the products at another site.”
“Fine! Just bring the check!!”
When check arrived, the total was $74,392.17. Near apoplexy, we demanded the waiter tell us how they could have the audacity to charge that much for some chicken, some beef and a few vegetables. He explained with exasperating calmness. “True there are only a few dollars worth of ingredients, but it took thousands of person-years to develop the recipes.”
Wednesday, January 9, 2013
Hazard Pay
A lot of movies and TV shows emphasize how difficult life is for the families and loved ones of police. Commissioner Gordon’s family in Batman: The Dark Knight Whatever is tormented by one of Batman’s villains. Tom Selleck is even in some show about a whole family of cops. (I think that’s what it’s about. I’ve only seen the commercials.) Everyone knows the emotional drama of having a loved one who’s always in harm’s way.
But I think it’s time we also recognized the hardships faced by the families of software engineers. They have to live with the uncertainty of never knowing when (or if!) their loved ones are coming home. Every day, they face the torment of knowing their loved ones confront spammers, scammers, hackers and product managers. And, of course, there’s constant anxiety about the ever-present dangers of a sedentary lifestyle.
But on top of all this, families of software developers must deal with a much greater challenge than any faced by police families. When their loved ones do come home, they have to live with them!
But I think it’s time we also recognized the hardships faced by the families of software engineers. They have to live with the uncertainty of never knowing when (or if!) their loved ones are coming home. Every day, they face the torment of knowing their loved ones confront spammers, scammers, hackers and product managers. And, of course, there’s constant anxiety about the ever-present dangers of a sedentary lifestyle.
But on top of all this, families of software developers must deal with a much greater challenge than any faced by police families. When their loved ones do come home, they have to live with them!
Thursday, September 1, 2011
Misdemeanors Against Humanity
We all know the term Crimes Against Humanity is reserved or the really big stuff ... genocide, war crimes, ethnic cleansing, etc. But there are lesser evil deeds which still affect vast swaths of the population, and should perhaps be considered Misdemeanors Against Humanity. And definitely at the top of my list are unforgivable technology failures.
For example, did you ever have an appointment reminder pop up on your screen when you're in the middle of typing something important? The reminder ''steals'' the keyboard, so suddenly you're typing your job application cover letter into your doctor's appointment reminder. Ghastly.
There should be a special place in hell for those folks who turned Skype into nag-ware. Can you imagine if your cell phone kept jumping out of your pocket and yelling "Isn't it time you called your friends?" (I shouldn't have said that. Now someone will make just such a phone.)
How about Facebook's continual revision of privacy policies, requiring you to modify your settings repeatedly to avoid having your personal information go out on WikiLeaks?
And of course Facebook also brings this perennial favorite:
Of course, Adobe Photoshop also gives us helpful messages like this one:
And let's not forget all Web sites that start blaring audio as soon as you land there. Mandatory sentencing. Likewise for sites that require you to download and open a PDF to find the information that should have been on a Web page in the first place!
As for punishment, I kind of lean towards the stocks, or some other form of public humiliation.
I'll add to this list as I think of more. Feel free to comment with your personal favorites.
For example, did you ever have an appointment reminder pop up on your screen when you're in the middle of typing something important? The reminder ''steals'' the keyboard, so suddenly you're typing your job application cover letter into your doctor's appointment reminder. Ghastly.
There should be a special place in hell for those folks who turned Skype into nag-ware. Can you imagine if your cell phone kept jumping out of your pocket and yelling "Isn't it time you called your friends?" (I shouldn't have said that. Now someone will make just such a phone.)
How about Facebook's continual revision of privacy policies, requiring you to modify your settings repeatedly to avoid having your personal information go out on WikiLeaks?
And of course Facebook also brings this perennial favorite:
Of course, Adobe Photoshop also gives us helpful messages like this one:
And let's not forget all Web sites that start blaring audio as soon as you land there. Mandatory sentencing. Likewise for sites that require you to download and open a PDF to find the information that should have been on a Web page in the first place!
As for punishment, I kind of lean towards the stocks, or some other form of public humiliation.
I'll add to this list as I think of more. Feel free to comment with your personal favorites.
Labels:
crime,
fail,
misdemeanor,
software,
spam
Tuesday, April 7, 2009
WTF?
In engineering, a common measure of reliability is the mean time between failures, or MTBF. What this means, basically, is how long the product runs without failing, on average. Obviously, the longer it goes without failing, the more reliable the product is. Software that runs continuously for weeks or months is better than software that fails every few days.
But if the software could be made to run faster, it might fail more often, because it gets to those failure points in less time. In other words, the faster software has a lower MTBF, and is therefore less reliable.
And upgrading the computer hardware, by adding more memory, more disk space, etc., is apt to improve the software's performance which will, in turn, reduce the MTBF.
So upgrading your computer will make your software worse!
But if the software could be made to run faster, it might fail more often, because it gets to those failure points in less time. In other words, the faster software has a lower MTBF, and is therefore less reliable.
And upgrading the computer hardware, by adding more memory, more disk space, etc., is apt to improve the software's performance which will, in turn, reduce the MTBF.
So upgrading your computer will make your software worse!
Labels:
mtbf,
performance,
software
Subscribe to:
Posts (Atom)



