As the clock ticked towards January 1, 2000...Y2K...I began to see a disturbing trend in IT. It seemed to me that Information Technology was devolving. Instead of learning from our mistakes and making better systems, systems and projects were getting worse. When the technology industry imploded in 2001 and 2002, it hit new lows. And it has not really recovered. And it won't until some fundamental changes are made.
I graduated from college in 1991 and began working for a company that developed medical information systems. I programmed in Cobol on the VMS operating system. Writing a functional program took weeks, sometimes months. And it was all character based on a 24 line green screen. Very simplistic, but it worked. It was often more than a year before new functionality made it from development through testing to an actual production client. And this was for inventory management! The process for laboratory, pharmacy and blood bank was even longer. We spent a lot of time clarifying requirements, desk testing logic, slowly developing smaller program units.
Now...it seems that development consists of throwing code together for weekly releases and hope that it runs. Instead of testing, code is put into production and bug reports drive the next release. Imagine living in a house or riding in a car that was designed, built and tested in the same manner as software. I'd be living in a tent and riding my bike everywhere (come to think of it...that is not such a bad idea).
The tech bust cleared out promising talent. As technology boomed, companies were desperate for people to fill open positions. I have worked with developers who majored in music, psychology, sociology. They were hired because they "knew Java"...which usually consisted of a computer course in college or working their way through a book. Most of these people were Junior staff, focused on simple tasks and starting to learn good design/development skills from the hands and minds of mid-level and senior staff. When the bust hit, there was still the same amount of work...but less budget. The senior staff was kept on because they had so much knowledge and their skills made them very efficient. The junior staff was cheap. So the middle staff were the ones to go. Organizations lost people with good skills and outstanding promise...and were left with overworked senior staff who had little time left to pass on knowledge and skills to the junior staff. Now the junior staff was doing most of the work with almost no real skills.
Training has become very low priority. One of the first budget items cut in the tech bust was for training. I saw conference attendance drop by 1/3, user group meetings by 1/2 and almost no actual formal training. Companies no longer invested in their staff development and people were so busy with their own work (as well as not being sufficiently motivated) that they did not pursue training opportunities on their own. This meant that technical knowledge growth was crippled. Only the most self-motivated continued to grow in the areas that truly mattered the most...and those individuals are few and far between.
Organizations are not prepared to deal with technical advancement. Most organizations are set up to deal with labor focused career paths. People moved from a task position to a series of supervisory positions. Foreman, supervisor, manager...all positions where the focus was on managing people. As you were promoted, you managed more and more people. Eventually, you moved to more strategic positions, Director, Vice President, President. But what about the technical personnel who wanted to grow technically? Sorry, the only recognized career path was horizontal...you had to be a manager to get a raise in salary. However, Competition Company needs a person with more senior skills and is able to offer a 20% increase in salary...so the technologist bolts, taking a lot of corporate knowledge with them.
IT is now faced with a serious problem. 15 years ago, IT projects were slow, but they produced solid, working systems. Granted...not all the time...but most of the time. They weren't fancy, but they accomplished the task at hand. Now, we have systems that are unstable, bloated and, in some cases, unusable. Unless the IT community and organizations put forth the effort to stop and reverse this devolution of IT, it will continue.
People need to take control of their own education. Not just learn about the latest development method or programming language, but return to the basics. Learn good design and development skills. Learn about the platforms such as Oracle, SQL*Server, MySQL, Linux, in depth and in reality.
Users need to slow their appetite for new releases. Focus on doing core functionality properly.
Organizations need to support technical staff with vertical career options and proper training budgets.
Sunday, December 16, 2007
Subscribe to:
Post Comments (Atom)
6 comments:
Last paragraph says it all, really.
About time organizations stop believing in the dotcom myth of the "hero developer" and other imbecile concepts from that era.
And start putting their $$$ where their mouths are, instead of expecting every new hire to be fully trained in what they need.
And about time as well that it becomes clear to these same organizations that revolving door employment policies might work for the sales force but produce essentially nothing for their other staff.
Outsourcing is not the solution. in fact, it is a virtual guarantee of finding even more problems: no outsourcer has a clue of what each business' needs are in the first place.
No one is going to do the work for the organizations suffering from this problem: they are the ones who have to decide if they want to use IT properly or just be fleeced by the first dishonest operator around the corner.
Their choice, and one they must make soon.
Good insights!
Personally, I think that much of the problem is due to the accessibility of the technology.
Back in the 1980's, you had to have training on the mainframes, and nobody could "fake" credentials.
Excellent post and I couldn't agree more.
Projects are turned out faster but are not of the same quality which creates an ongoing support mess.
I'm watching one (from a safe distance) that will most likely make it's deadline, but all normal standards are completely absent. The implementation is being done by a load of contracters who have no ongoing concerns with the outcome - their job is to get the product implemented and nothing more.
Simple truth of humanity ... people do the work they are rewarded for. If management wants a better quality product, they need to champion it and reward the individuals who work toward that end. Training and education opportunities are critical for growth and sucess of the people and the organization.
Actually, I thought the first few sentences said it all:
"It seemed to me that Information Technology was devolving. Instead of learning from out mistakes and making better systems, systems and projects were getting worse."
We can't even write 5 sentences in a row without making a typo! :-/
Thanks Stew for pointing out my mistake. It has been corrected.
Great post, and I fully agree. The problem (as I see it!) however is this: Cost savings can be obtained by increasing efficiency (i.e. do more with less) and efficiency can be achieved by automation. What better tool than IT to help automation? So as organizations move to automate, they simplify users' tasks and shift this complexity to IT. As a result, IT is saddled with developing, implementing and maintaining systems of ever increasing complexity and inter-connectivity, handled by people that don't understand everything nor have a clue how it all fits together... (i.e. even if they want to, there is no sheet of paper large enough to draw all the elements of the big picture). Unless we have a paradigm shift (I hate that word, but have to use it!), this mess is going to get worse.
I have this saying: Cheap, Fast, Works - pick any two!
See ya at COLLAB 08
John Kanagaraj
http://jkanagaraj.wordpress.com
Post a Comment