Skip to content

IT 3.0

July 28, 2011

The three future jobs of the IT industry: Consultants, Project Managers, and Developers.  Or, in the terms we’ve been using for years: Offense, not Defense. It’s always nice when the market provides proofs of concept!

Fencing strike
Use IT to strike, rather than parry

From ZDnet.com:

There’s a general anxiety that has settled over much of the IT profession in recent years. It’s a stark contrast to the situation just over a decade ago. At the end of the 1990s, IT pros were the belles of the ball. The IT labor shortage regularly made headlines and IT pros were able to command excellent salaries by getting training and certification, job hopping, and, in many cases, being the only qualified candidate for a key position in a thinly-stretched job market. At the time, IT was held up as one of the professions of the future, where more and more of the best jobs would be migrating as computer-automated processes replaced manual ones.

Unfortunately, that idea of the future has disappeared, or at least morphed into something much different.

Read More

Performance Tuning – Round up the usual suspects, Part 3 of 3

April 28, 2011
Nutch robots

Image via Wikipedia

Read Part 2 here.
Read Part 1 here.

THE BUTLER DID IT!

One technique that works well enough to be of some value is the “Round Up The Usual Suspects” or RUTUS methodology. Though it is a bit hit-and-miss, and thus the cousin of shade tree mechanic folly, it can yield an obvious solution far faster than any other technique. When I saw the slow screen painting and trusted the user assertion that it had performed adequately the day before, I tested the usual suspect of a missing index or some structural change to the underlying database. As sometimes happens with RUTUS, I was lucky and the problem was quickly solved.
Over the years of solving many performance related problems I have built a considerable portfolio of RUTUS solutions. This is thus where the many years of experience allows a consultant to go down a quick list of solutions that either solve the problem or get scratched off the list. Really good consultants will have many solutions to consider and a keen wit for mentally prioritizing the solutions most likely to be relevant.

The RUTUS process can be further enhanced by searchable knowledge bases, search engines, and technical forum postings. Even if I have not seen this problem before, someone out there may have. The challenge of searching for the answer in the public domain is choosing the search string that is most likely to get a relevant hit without also dragging along thousands of irrelevant hits.

Finally, if I run out of my own usual suspects but know some really good consultants, I will give them a call or email and see if they have “seen this” in their experience. Most people do not want to take the time to solve a problem for me, but if I can show that I have done my homework and just need a missing tidbit, I generally get helpful responses.

There are several downsides to RUTUS. The first and most obvious is that it does not converge on a solution. Secondly, since it depends on the experiences of the consultant and factors somewhat out of their control, it does not always uncover even known solutions. Additionally, I have walked into many situations where the incumbents were suffering from “out of bullets” despair. They had “tried everything” and still the problem persisted. In this case, it is time to abandon RUTUS and move to something that converges.

Performance Tuning – Round Up The Usual Suspects, part 2

April 4, 2011

‘SCAPING GOATS

Part 2 of 3.  Read part 1 here.

Time is of the essence, and it is useful to first eliminate the techniques that rarely work. Someone will have a success story about each of these, but they are a bomb with a lit fuse that I like to avoid.

Blame the hardware – The moment hardware is installed it begins to get old and slow. Pride of ownership does not last long, and IT people relish having new, faster systems at their fingertips. There are, of course, times where the hardware was underestimated for an application. Most applications run just fine with the 100 rows of test data, but when the real data starts to flow and the CPUs run red hot people are quick to blame insufficient hardware. “If only we had more, faster CPUs this would run just fine.” Though that is a testable hypothesis, it will come out of other methodologies if it is true.

One of the greatest inventions in computer technology is the loop. One of the greatest sources of performance problems is a loop within a loop. If each loop is working on a set with approximately “n” members, then the loop within a loop has an execution order of “n2” (n-squared). When “n” is our 100 rows of test data, “n2” is 10,000 executions. When it is a million rows, “n2” is now 1 trillion. That’s a lot of executions, even for a fast cpu! If you add a CPU that is 50% faster, and “n” continues to grow, the performance will continue to degrade. It is better to identify and re-engineer the million row loop-within-loop than to chase the problem with new hardware.

Blame the network – Generally when a network is slow, it is slow all of the time for everyone on it. Temporary network slowdowns can occur if someone is moving a large file on the network, or if there is a critical piece of hardware beginning to fail.  These are easy to spot and alleviate. The tricky network problem occurs when many people collectively blame the network for performance degradation with no empirical data to support it. I had a user call the IT manager one day and complain of poor network performance. Since the IT manager was short-handed that day and I was consulting for something longer term, I offered to handle it. The user showed me the application he used and the screen that was slow. Noticing that the screen was painting data a few rows at a time, I called the DBA for the database I suspected the application was querying. “Have you lost any indexes lately?” I asked. “I don’t think so, but let me check.” She replied. “Ah, wait, we reorganized the table last night and the index did not get put back. I am adding it now.” We ran the application again after the index was put back and got sub-second response. My friendly user called across the room to his other compatriots “They got the network fixed. Go ahead and use it again.” In my experience, the network is an easy target for unsubstantiated blame.

Replacing network parts and installing new servers with the hope that a performance problem will be fixed are both follies of the shade tree mechanic. Perhaps you have had experience with the mechanic who begins replacing suspect parts under the hood until one eventually fixes the problem. This is an expensive and inelegant methodology that does not necessarily converge on a solution. If the problem is bad fuel, replacing parts will not find it. Similarly, as in my story above, replacing network parts would not have found a missing index. As a professional performance tuner, I seek first a methodology that converges on a solution, and secondly one that converges during my engagement time-frame.

Next post: The butler did it!  Round Up the Usual Suspects, Part 3.

Performance Tuning – Round Up The Usual Suspects, part 1

March 2, 2011

Over many years as an application designer, builder, tester and tuner, I accumulated myriad experiences with performance tuning. During that time, I discovered there are methodologies that work, and ones that do not work. In some situations I was welcomed; in others I received a cold reception and on occasion a hostile attitude. My intent in this three part series is to give you the benefit of what I’ve learned, often one excruciating lesson at a time, in order to help facilitate your rise to a professional computer applications performance tuner.

EGO ERGO

The scene: The moment you arrive, be prepared to be under evaluation and scrutiny. If that gives you trouble, this is not a good role for you. The person who recommended you is concerned that your failure will reflect on them. The person who is paying for it fears that they are wasting their money on you. The technical people are worried that you will find something obvious and make them look bad.

The first challenge of tuning a system that you did not create is to deal gently with the egos of the people who have failed to solve the problem. Even if they appear to invite you with open arms, it is important to be supportive and to maintain a humble confidence. You need their help, and even though they need yours too, nothing sets the engagement off on a worse path than cockiness. Stay cool!

Though failure may cause ugly consequences, there is no guarantee that success will elevate you to the white horse. Manage expectations by sharing some of your credentials while praising previous efforts. Let people know that you are not necessarily smarter than they are, but you follow proven methodologies, learned from years of experience, that consistently converge on a solution.

Invite the people who have worked on the problem already to become part of your team. Remind them that you are only a temporary resource, and they stand to benefit mutually from a successful resolution. This is also when you introduce the concept of gaining familiarity with the nature of the application, and ask for some time and patience while you make an initial assessment.

During the start-up of a project I am often bombarded by superfluous input like “it worked fine until they installed the new …” and “we tried that” claims. Gently push back by asserting that your approach works best when it is followed without interruption. You are on a time-frame, and unsolicited input, while well intended, is more of a distraction than a help. I generally tell managers that a tuning effort will take X amount of time if I get full access to systems and technical people, and 2X if they insist on helping. There have been several experiences where the factor was closer to pi.

Next post: “‘SCAPING GOATS – why you should let them all go”

Now hiring: Technology Sourcing/Recruiti

October 1, 2010

Now hiring: Technology Sourcing/Recruiting Specialist http://ht.ly/2NaTt #SLGT @WeSLGT #houston #technology #jobs

Celebrating #42 on the Houston Business

September 24, 2010

Celebrating #42 on the Houston Business Journal’s Fast 100! http://ow.ly/i/44U4

Tune in to 650 AM KIKK today from 11 am

September 20, 2010

Tune in to 650 AM KIKK today from 11 am to noon to hear CEO Rick Jones discuss @BluwareInc and the Houston market. http://ht.ly/2GQiK #SLGT

Wishing you a safe and happy 4th of July

July 2, 2010

Wishing you a safe and happy 4th of July! http://ow.ly/i/2nJn

Take Your Dog to Work Day – slideshow

June 25, 2010

This slideshow requires JavaScript.

Check out Take Your Dog to Work Day over

June 25, 2010

Check out Take Your Dog to Work Day over at @HoustonDogBlog, http://ht.ly/23oOl... throw ‘em a bone and vote them Houston’s Best Blogger!

Follow

Get every new post delivered to your Inbox.