Software development hasn’t existed for all that long now, maybe 60 or so years. Things have changed a little during that time, and some things have come full circle. One significant shift that has occurred, is a change in how we think software work should be done. This shift can be seen in the way our development teams are put together.
Hello to everyone who reads “Uncharted Waters”. I am excited to be one of the writers to contribute to this space, and looking forward to collaborating with Matt and Justin on future posts. For those who do not know me, I’ve been a software tester for twenty years (a lot more about that below) and I have had a wide and varied career, touching many different industries and disciplines. Through them all, the primary theme has been to test software and devices, and to encourage other testers to learn more, do more and dare more. It’s my hope that I can continue that tradition here and in future posts.
I officially became a “software tester” in 1994, when I was working with Cisco Systems. Actually, the title I was given was “Development Test Engineer”. I’ve had a variety of job titles since then, such as Application Engineer, QA Engineer, QA Tester, Lead QA Engineer, and other variations that HR departments deemed necessary. I was given the choice of choosing my own title (within reason, of course) when I went to Sidereel. I asked them “Can my title be “Software Tester?” After a quizzical look, they said “Sure, if that’s what you want.” Only once in my career have I had my actual work discipline in my official title. By any other name, do we not still test software the same?
Next time you are at the office, take a look at the average age of the folks around you. The people doing the tech work; programmers, testers, ops and admin people. You’ll probably see some folks in their 20s, a few more in their 30s. From there the numbers quickly drop off.
My data sample is admittedly biased, and definitely unscientific. I’ve worked at mostly early stage startups for the past few years and those have a tendency to attract younger people for a variety of reasons.
Probably partly because startup benefits usually aren’t very competitive, and partly because of the crazy hours most tech startups expect from people.
The question of why people leave tech so early is interesting.
I want to know where people are going when they leave hands on tech jobs, and why.
If you’ve been on the internet in the past few weeks, then you’ve probably heard that Steve Ballmer resigned from the board of Microsoft in August, just seven months after he resigned as CEO. The commentary on the internet is about what you’d expect: Not just Top Ten Reasons Steve Ballmer Failed as Microsoft CEO, but also similar-themed articles with the exact same title “Why Steve Ballmer Failed” in The Atlantic, The New Yorker, and on BusinessWeek.
Ironically, all the folks who said Steve didn’t innovate picked the same title for their article.
Yet let’s look at reality here: From 2000 to 2014, Ballmer took Microsoft from $25 billion in sales to $70 billion. That computes out to 7.5% growth in sales per year — starting when dotComs were over-inflated and continuing through the real estate crisis of 2008. Growing at 7.5% in one year may not sound impressive, and it might not be hard if you have annual sales of a few million, but try having to add a few billion in new sales each year and doing thirteen times in a row.
How it is possible to call Steve Ballmer a failure as a CEO? In what way?
Let’s talk about it. Continued »
In the first part of my Starting freelance series, I talked about a few tactics for developing negotiation skills. Hopefully you were able to use that to get a little more money from your tech freelance gigs, or at least get the rate you were shooting for.
In the second part I wanted to talk about a few ways to I am currently preparing myself financially for the ups and downs of the independent life. I’m not independent yet, but preparing has been an interesting experience.
I’m hoping that preparing and developing these ideas now will pay off in the long run.
A lot of this could apply to any type of freelance / independent worker, but this will be directly related to going independent in the tech world.
After three years as an independent (and fifteen more with a day job), I’ve noticed a few trends. Among them: I’d say that a minority of the people actively looking are demonstrably capable of the work. It’s not that there is a ‘shortage’; it is that many good people are not actively looking.
Imagine this scenario: Hiring managers want above average people, HR pegs salaries to market averages, while 3rd parties, who claim to offer a service are actually arbitraging the market, trying to buy labor cheap and sell expensive. Temp agencies, contract houses, companies that do to temp-to-hire and outsourcers are all trying to profit from the billable workers. At the same time, the companies are under intense pressure to get good people who can “hit the ground running” and are available “right now.” Say the steps above are the recipe for a cake. When you try to bake it, what do you expect will happen?
Over the weekend there was a very public iCloud breach that led to personal materials from several celebrity women being leaked and then published onto public sites. The bug appears to have been weakness in Apple’s Find My Phone feature. The security problem allowed access to a persons private iCloud with a brute force attack using a library called iBrute. Apple may have fixed this issue; if that is true the leak should be done.
A few months ago I was talking to an executive from a consulting company I respect. We were talking about doing business together. The executive pointed out that his company was known for across-the-board development, from concept to production, but they also wants to start more specialized practices, like security, big data, cloud operations, and project rescue.
Later in the summer, I read the same ideas as part of IBM’s new strategy in Cringley’s book, The Decline and Fall of IBM. It made me wonder – why does everyone want to get out of writing code?
It could be that IBM is taking a page from its own play book, exiting markets that are no longer profitable, just like it did with mainframes, PC’s, and laptops.
What does that mean for the rest of us?
ISO 29119 is a 5 part standard for software testing process and practice that was published in 2013. Standards are commonly used in other professions such as law and medicine to protect the consumers of these services. Medicine and law have existed for quite a while now and have had time to mature to the point where they have mostly accepted bodies of knowledge. Software is a very young profession, and software testing younger still and very much in flux.
Ben Simo, former president of the Association for Software Testing did a keynote this past week at CAST2014 on his experiences with Healthcare.gov. The keynote was about an hour of Ben describing very real problems he experienced while trying to seek an insurance plan for his grand daughter. To be honest, what he experienced was horrifying. The problems Ben experienced ranged from not being able to create an account to significant security issues. You can find descriptions that experience here and here on Bens personal blog.
It is important to note that Ben was not ‘hacking’ the site in any regard. He had an authentic healthcare need, and actively sought to communicate the issues he found to the proper people. He was able to isolate and describe these problems because of the years he spent developing developing skills as a software tester.
Here is an interview with Ben about some of his work.
One interesting question came up during the talk:
Was the massive initial struggle with healthcare.gov caused by bad software testing?
I’m not so sure.
A lot of the pressing issues with the website have been resolved now and people have been successfully using it to sign up for insurance. There are some clear lessons we can take away from this that are representative of how most software projects work.