Scene I: We are in the head office of a medium-sized company where a party to celebrate the latest successful results is taking place. Nobody is working, the mood is humorous and the staff are chatty. Music is playing somewhere in another part of the office. Ted walks into the office and meets Frank. Ted is the taller man with a brown leather briefcase dressed in a long sleeved white shirt, red business tie, and grey slacks. Ted has a newspaper tucked under one of his arms. Frank is the smaller man, slightly plump around the cheeks, is dressed in a green dress shirt with short sleeves and is not wearing a tie. Frank is holding a party drink in his right hand.
Ted: What's the party for?
Frank: We've just finished our Active Directory roll out. We created a single AD forest and consolidated 70 domains into four. With group policy new sales force apps deploy in a day instead of weeks.
(Ted looks dazed & confused)
Frank: It's going to save us over two million dollars a day (Frank simultaneously hands over a second party drink to Ted).
(Ted breaks into a cheesy grin)
End of Scene I.
Actually the previous scene, perhaps not precisely, is the script for a Microsoft Server 2003 TV commercial, which you may or may not have seen. (It has been running regularly nationwide in England from September through December).
Vision of You
When you picture the modern software engineer, what do you really see? Are you proud of your profession or are you distressed at the sight of it? Would you recommend your profession to other people that you meet in everyday life, including your family? Or, are you desperately plotting your way to get out of the business? Maybe you’re longing to set up a bar/restaurant business, in a place with crystal-white, sandy beaches.
I’m not sure any more what the image of the standard software developer is. I am slightly perturbed by our lack of sociological advance. Lately, I have started to wonder what the average member of the general public sees us as. Do you think that they know anything about programming, let alone Java? Not a lot, I can hear some of you say.
Does the average software developer take after Frank? Our industry, part of the wider computing market, is full of jargon and anecdotes. I suppose it is the same for any other profession such as the medical field, accounting or even plumbing. One advantage that Frank has in the scene is that he can, at least, translate the technicalities into financial reality that Ted can understand. How many software developers out there could do that? If Ted represents the typical middle management person, does he realise that developers need to understand the business as well as know about the technical aspects of the software?
Quite often in my working life, an expectation for software production is set so high by the business analysis that it defies the ability of developers to design and code the solution of the problem. In other words, the fundamental concepts of the design are too costly and complex because the business stakeholders are unconcerned and unaware of the sheer amount of work that is required to bring an idea to fruition. Many the dotcom adventures started as fanciful ideals, but ultimately failed because of the real implementation costs of the software. Such costs were often exponential.
The answer is, of course, not to throw more men at the project as in the mythical 'man-month'. The answer is the total awareness of what it takes to build software successfully, be it business, the profession itself, skills, the techniques and the art of software engineering. This awareness needs to start from the lower levels, from the most junior of programmers, up through the seniors, the team leaders, the project managers… right up through the echelons of senior management. And, I argue here, it has to keep on going right through to the individual investors themselves, because it is them that ultimately set the deadlines and the terms for delivery.
Moreover, early in the project, the software developer needs to be fully aware of the business requirements. The problem is that infamous concept, Return-On-Investment; yet another acronym that is well documented. They say nothing is impossible. How much finance are you prepared to invest to achieve the reasonable practical results in the time constraints that you dictate to the builders? The classic case in Europe, at least, is presumably the tragic entrepreneurial nightmare of Boo.com.
Quite frankly, our profession's image and impact, in my opinion, is pretty bad in this era, judging by the pull-and-tackle of the Microsoft TV commercials. Admittedly, I think it satirises a stereotypical situation, albeit it being as real in your imagination as you want it to be. You get the feeling that they are trying to bridge the gap between the real application users, the suppliers and the nervous IT department.
Qualified Enough to Speak?
Recently I was talking to an of old friend of mine from high school. We both had gone our separate ways. I went to university, stayed with it, studied hard and received an honours degree. He went to a different university, but then dropped out. He went straight into the software development industry with his A-levels. He worked for the best part of a decade for a household name, global IT concern and became a qualified project manager. He spent several years managing projects in Russia, then suddenly got laid off. He returned to England and spent long months in the wilderness, and then only recently found another position in Latvia. My friend is an example of the sort of person who has attained the management role, because that is what normally happens after you have spent enough years as a technologist, an analyst programmer, or business analyst, etc. When he got laid off, his project management experience did not make much truck in England. His qualifications are very marketable, but the problem was that there were many other people with similar qualifications that had suddenly been tossed into the marketplace, unfortunately, around the same time. So finally he had to leave the English shores again.
I have had early exposure to the international market. Right at the beginning of my own career, I found the existence of an awful Catch 22 quite galling. How could I be successfully applying for a new graduate starting job that requires one year of IT experience if I was a new graduate who had no experience at all? I realised even far back to that time of my life that this profession that I was hoping to join did not have any formal qualifications at all. Whereas other professions such as law, medicine, accounting, real estate, biotechnology, science, building and architectural work require an industry standard career path, be it an apprenticeship, training and/or service accreditation, I found the so-called information technology industry very much like YMMV. The sad fact of the matter is that standardized accreditation is still lacking today and there has been no improvement. It is possible that the IT department and its director are still not perceived as righteous members of the boardroom. Hence we all are suffering.
The vacuum of universal professional accreditation leaves a lot to be desired for prospective employers. How can they be expected to identify genuine, high-calibre candidates? I think our industry, to outsiders, may be as confusing as the break-up of the former Yugoslavian state. Yet sometimes it is the employers who find themselves continuously caught in the quagmire, when their human resource managers or representatives give the impression that filling that lucrative IT position is almost as magical as the stuntified illusions of David Blaine. You do not need a degree in computer science these days to enter the IT profession. You could be a graduate of philosophy, art, biology etc. Sometimes you do not even need a university degree at all if you are prepared to work your way up through the arbitrary corporate levels after joining from high school or college.
Some corporations will rely on controversial psychometric testing to filter out candidates. Some will decide on the performance based on a special, written test. Still others want to assess the best developers from a series of interviews and references. It is hardly any wonder that we software developers do not get taken seriously as “professionals” given the hardships we go through to get a position. Also, if there is no resolve within organisations to drum up the professional image of the IT staff, is it any wonder why there is so much turnover, rumour, fear, lack of security and descending morale in the workplace? It would appear there is no commercial viability to increase the professional status of the software development staff, or to reward them with a clear recognition or a universal attribution that some may deserve. Even after entry into the profession there appears to be disparate standards of attainment. Career paths are vague. Education, or even bothering to read a book is not a factor when it comes to promotion.
There appears to be two distinct career paths within information technology. The first is the technical career (which I expect most of the readership of TheServerSide.com are familiar with). The second is purely a business progression, which has the additional benefit that the skills required there could be theoretically transferred to another part of the organisation with training. One could characterise these two careers as being hands-on and hands-off in the jargon of IT. For instance if you have project management experience, you could lead a different team involved in another division. I believe it is the first group that suffers from skills stagnation or de-skilling.
I, too, belong to the technical progression group. If a project misses the deadline or is badly delivered to the organisation, it is us who, no doubt, will get the blame for the failure. But let’s not go down the ineffective road of contemporary blame-culture. Often, technical developers and even high grade architects are still seen as ‘secondary’ workers in an organisation, and because of this we are left outside of the core business. It is harder, then, to influence or even provide close consultation to those decision-makers who need our software building skills. If we do not have close communication, then what we eventually have is a breakdown. The worst is that the key business users are often absent from the discussion with the IT division, especially marked by their non-involvement in resolving technical issues. I think it will get worse over the next few years, if those of us who are seen as “secondary workers” become the future's “tertiary skilled workers”, because of the sins of radical outsourcing to the world's cheaper tiger economies. (In Great Britain, this wave has already arrived, where a number of high street banks are running call centres from India.)
Perhaps the question we should asking in 2004 is what can we do to improve this situation? Sometimes it is an attitude problem. If the typical conversation falls along the line of “What does a Java guy know about business, anyway?”, and yet you’re still required to build a sophisticated working application for the business, then it is not surprising if there are faults. It is my view that all stakeholders should be a part of the software design and analysis committee. Moreover, they should take far more active involvement and oversee the development of long-term critical projects. Instead of creating a business process that inserts an intermediate layer, a liaison between IT and the core business, these two should constantly be in direct communication, more often than less. On the other hand it is up to the developers and technical people to become more involved with the core business. As we are always going to start learning the next biggest thing to arrive since Enterprise Java Beans, really it is up to us to actually learn about the business of our clients and show enough interest. We have to become our own value-add in their eyes, I think, if we are to survive .
Respect and the Deserving
It sounds incredulous, maybe, in this post-modern, mostly industrial world, but I think software developers need to gain a little bit more respect in society. For example, to be recognised as an architect, of the type who actually deals in the design of composites, steel, glass, wood, bricks and mortar, in construction is considered a great achievement in modern society. Often, professions such as charting and surveying, engineering, teaching, and journalism have various forms of accreditation. The equivalent certification in the software world leaves a little to be desired. Hence, society does not have a platinum marker that instantly projects to the outside world how hard we have worked in IT. Sure, there are several so-called official professional study courses and examinations that one could subject oneself to, many backed up by big global concerns, but there are hardly any certifications that are unanimously recognised by everybody. So it is little wonder that employers pay the badge of certification on a curriculum vitae less attention than age-old experience and authenticated references.
We can only blame ourselves after all, because like blues and rock, we built up the first city, but burned it down to the ground. In the winter of 2003, e-commerce and dotcom mania looks more and more like a pipe dream. The thrill and euphoria of Internet development is not the same as it used to be. Sad, but true. The very people who were actually working on the leading edge of Internet technology now might have the sour taste of disgust on their lips. Should we as software engineers (or techies) be blamed for this misfortune? I would argue yes, because we were not vocal enough during this fire-storm event. We failed to recognise our genuine power of opinion to turn the tide of fantasy, even if we could’ve prevented the disaster. We were not outspoken enough, or were too afraid that our jobs and our livelihoods would have suffered. There is not any one out there that I can think of who has not been involved in a project that was seriously delayed. We should voice our opinions about the elements that cause projects to be overrun and costly. This is the professional way, but on the other hand if the business does not listen to your consultations, then it is their fault as much as yours, because they are not respecting your input into the overall equation.
First Rays of the Morning Sun
Software Developers need a new franchise. We deserve to be respected, because we are information technologies' problem solvers. That is what we do. We do it well, and we were built for this. IT is the core of the business rather than just a sideline. Let your IT director know this, if not immediately. You and I implement their business logic for them, even if we, at least most of the time, do not identify with the aims, ideals and means that the real entrepreneurs are trying to achieve. Let us be quite clear, it would not be happening if there were not dedicated people like us. There in lies the crux of this argument. We should respect our software engineering achievements, because we have arrived to the era of PDAs and personal computers. We have come a long way from the big irons [mainframes and minicomputers] of the 1960's and 1970's and even further on from the ENIAC and chipboard and diode, triode valve computers. Electronic commerce over the Internet is the latest phase of our informational development. Who knows what it will be in the future? I will tell you this, we have to make it a great one for all concerned.
We need to bring the technophobic and the hostile with us in order to advance the human race. Okay we really ought to respect other people, like native tribes, civil rights, religuous groups, and places of salvation and sanctuary, and protectors of basic human rights, who wish not to be exposed to a high percentage of technology. The way we ought to bring these events around so that we can live in harmony and tolerance with those latter should be with a professional attitude and respect for our colleagues, clients, and the wider world. What we do not want to do is offend people.
Our profession is a reasonably lucky one. It is transferable around the world. It is relatively new compared to older professions such as law, medicine, and finance. It is still cool enough to bring in cultural diversity at its earliest stage, and new enough that it brings respect, high regard, and inspiration from young people. Indeed I would argue that the Internet's non-racial, neutral core raison d'etre should negate the trend of prejudice and other troubles that sadly still effect the offline world. (Indeed we are seriously deranged and need our heads examined if we bring such troubles into our online world. Our message should be to stamp this out now, because it is wrong.) It is easier to get into computing by buying a home PC, obtaining the necessary development kit, and then starting to write programs. It is cheap to start learning to compute [at least in the Western capitalist democracies]. Our industry is peppered with unlikely heroes who started along this very path, inside of garages or inside their own bedrooms, young ones such as the inspirational Linus Torvalds, and Marc Andresen. Then, there are the older ones, such as Steve Jobs and Steve Wozniak, and even older ones like Sir Clive Sinclair, Bill Hewlett and Dave Packard. Of course let us also give thanks to James Gosling, Bill Joy and the brilliant Green project!
In the first fifty years, many of these brilliant men (and women) inventors and innovators were American. I hope in the next fifty years we can celebrate a bit more diversity from other countries starting with the eponymous and ubiquitous Torvalds.
Despite all appearances, our industry has some wonderful female members, whose contributions are well overdue attribution. Probably the first programmers ever in the world were the women who operated punch cards for the “Colossus” machine at Bletchley Park, Buckingham, England during World War II. The majority of the personnel at this secretive facility during the war helped the Alliance break the Nazi codes, which was essential to turn the course of the battle, and win the war. From the cracking of the phoenix's egg in modern computing's earliest history, in difficult and exceptional times, women have proven that they can be just be as innovative and determined as men in this field.
If the IT profession is to continue being a success and an inspiration to the younger generation, then the new franchise will be more culturally diverse. It will be more transparent and there will be more accountability required, because that is what normal people will come to expect. In the light of the recent collapse of large concerns, due to a lack of responsibility, the new franchise ought to be more ethical. With any attribution and recognition given by the industry, we should also expect this to be balanced by responsibility. Software developers have to become indispensable assets to any business enterprise. Greater professionalism is, but, one method that can help us achieve this goal. We should be not be afraid to proclaim what it is we do. We need to make software engineering as popular, or at least on the same footing, as being a merchant banker. There are also other avenues to create greater acknowledgement for all our working lives.
In the past we have written the operating systems. Recently we have written the software that lies behind the web site. We have definitely written the e-commerce applications, and, I think, now we are about to write the (Java) bridges that will communicate between portable hand-held devices and the database-driven web services. In the next few years there should be a new rich media interface standard that supplants the ageing HTML/HTTP stuff that we all know. We are entering the wireless computing age. The excitement of the new technology frontier is starting to build-up again. Smart devices are the next phase of IT. Amazon has shown that it can make a profit from electronic commerce. The surviving business models appear to be based on real monetary facts rather than vivid fantasy. Hopefully, Enterprise Java is ready to take us there to this smart future and beyond, but we should ensure that our feet are still touching the ground. The new IT franchise needs to increase the public awareness of the consequences of software development. After all we are in the business of information.
Java is a special case. One, because we are the ones using this platform, this language, and this community. We love this Java platform. Two, because it is a fantastic success, not just because of its technical achievements: portability, security, and networkability, but because it lifted the art of computing in the mid-1990s to higher levels. If you think about it for a minute, byte-code and the basics of a virtual machine had existed thirty years prior. The name-checks are USCD PASCAL, which had a compiler that generated pseudo code, and various computer languages like C, Smalltalk and of course C++, which are ancestors of the Java language. IBM engineers pioneered the concept of a virtual machine as far back as the 360 Model 67 minicomputer, and this was amazing in the era of the “Swinging 60's”.
The great thing about Java has been its impact on the server side. It has been so major that key middleware vendors could not ignore its arrival. The standardisation, or rather stewardship by Sun, has been reasonably successful enough that many professionals are able to make a living off this innovation originally intended for electronic devices. Commercial vendors have embraced Java, and Java for the Enterprise is a success story that deserves to be really upheld in the future. We can only do so by reviewing our professionalism and putting that mode of business at the forefront of everything we do from now on.
The conflict of interest between the Java and .Net communities is getting warmer. Both are byte-code virtual machine engines and dedicated platforms. Both are targeted at enterprises. Both can be considered as 3½ generation languages. I believe that the competition between the two technologies will become increasingly vital in the next few years. To a certain extent, the pressure from the competition has been already been felt since J2SE 1.5 will support new controversial C# features such as autoboxing. With the financial clout and the power of Microsoft's marketing, few would bet against .Net and C# not making serious in-roads into areas where Java has become the success. Although there will always be some businesses out there which are Microsoft die-hards, especially concerning component desktop applications, as Java developers, we should be on our professional guard against the sort of failures and politics that could lead major enterprise backers to defect to Microsoft.
Admittedly, I would have to say this because I am definitely biased towards Java. A series of unprofessional news stories or major catastrophic software failures of a venture that involves Java to a large extent, in the auspicious league of the infamous Boo.com, could perhaps settle the decisions to move away from the Java platform. We must uphold the robustness and stability of the Java platform. We must maintain our credibility, our image and impact, and our pride, and honestly improve on it.
Non computing folk look up to us for a modicum of intelligence. It would be silly of us to chuck this image into the rubbish bin of history. We should not be intransigent or so introverted that we can't see the moon from the milky way of stars. Respect our own skills and also ourselves and the world will respect us. We have already gained some of this respect.
I am thinking directly of the Matrix trilogy of movies, starting with a quirky underworld geezer, a loner who hacks at his computer addiction programs, and suddenly finds himself the unlikely superstar and saviour of two different worlds. We have come a long way from the strange guy in the untidy green anorak hunched over a keyboard. And who would have thought of a screen-saver with all the those strange green hieroglyphs floating forever, Tetris-like down all our screens during the midnight hour would be so cool? It would be just too crazy to think about all of this a decade ago. Concepts such as the Internet and the World Wide-Web are now accepted world-wide and are household terms. Why are software developers up there in the stratosphere with those same words? We are gladly shedding this inane nonsense, of closeted underworld tyrants living in our own secret world. The movie world came to us in own online world, we did not go looking for them. Our industry is crazy cool. It is exciting. New imaginative ideas and concepts are happening all the time. We should be well pleased.
The old image of dirty sandals and long hair has got to go. A more burgeoning executive has to appear on the horizon now. She and he should be standing up for their informational rights, as well as their technical expertise to be recognised as equivalent to any other business professional. I name this individual the smart IT person. We are not just here to make up the numbers. We are guiding companies successfully into the future to make their profits and increase their productivity. We do make a difference. This is what we do as well as another non-technical professional, because we were built for this. We are vital for business. The future is really what we make it up to be, it really is up to us, otherwise it will always continue to play as down, “we consolidated 32 Active Directories into six domains.”
About the Author
Peter Pilgrim is an independent contractor specializing in server side Java, Struts, Expresso, and J2EE. He currently works for Royal Bank of Scotland, Financial Markets. He has worked for Deutsche Bank, and News International Ltd. I can be reached at firstname.lastname@example.org. Also visit http://www.xenonsoft.demon.co.uk.
Here is something I like to do less boring instead:
References and Bibliography
- Web: Professional Responsibility at the De Montford University; Centre of computing and social responsibility; http://www.ccsr.cse.dmu.ac.uk/articles/professionalism/responsibility/ and http://www.stolaf.edu/people/huff/misc/exemplars/criteria.html
- ACM Code of Ethics and Professional Conduct http://www.ccsr.cse.dmu.ac.uk/articles/professionalism/codes/acm.html
- Article: “Professional Certification: Fact of Fiction?” by Steve Connell et al on the IEEE computer society web site http://www.computer.org/certification/FactorFiction.htm.
- Book: “The Art of Software Engineering”; Ian Sommerville; publ. Addison Wesley; ISBN 020139815X; https://www.amazon.com/exec/obidos/tg/detail/-/020139815X/102-2584237-1651360?v=glance
- A foreword written by Tom DeMarco for a book. This is heavy stuff from the Atlantic Systems Guild http://www.systemsguild.com/GuildSite/TDM/Professionalism.html
- Tiny Planet salvaged an old ArsDigital System Journal originally penned by Philip Greenspun about professionalism http://tinyplanet.ca/projects/professionalism.html and http://philip.greenspun.com/seia/writeup
- Book: “Boo Hoo”; Ernst Malmsteen, Erik Portanger, Charles Drazin; publ. Arrow 2002, ISBN 0-09-941837-1 http://www.amazon.co.uk/exec/obidos/ASIN/0099418371/qid=1071575770/sr=1-1/ref=sr_1_2_1/026-3830417-4741218
- Web: The Association of C/C++ Users UK http://www.accu.org/
- Web: The courageous British navy women of Bletchley Park during World War Two. http://www.mkheritage.co.uk/bpt/Women/wrensOS.html, http://www.mkheritage.co.uk/bpt/Women/Sweetland.html and http://www.aquq77.dsl.pipex.com/swehs/docs/news16su.html
- Bill Hewlett and Dave Packard http://www.nationmaster.com/encyclopedia/Hewlett-Packard and http://www.4reference.net/encyclopedias/wikipedia/Hewlett_Packard.html
- Web: Steve Jobs biography and history http://www.apple.com/pr/bios/jobs.html and here http://ei.cs.vt.edu/~history/Jobs.html
- Website: Steve Wozniak the hardware guru and direct memory access inventor http://www.woz.org/.
- Sir Clive Sinclair, the pioneer of British home computing in the 1970s and 1980s http://www.nvg.ntnu.no/sinclair/sinclair/sinclair.htm and http://www.mensa.org.uk/mensa/clivesinclair.html.
- Web: Linus Torvalds old home page http://www.cs.helsinki.fi/u/torvalds/
- IBM Engineer Tom Van Vleck discusses 360 Model / 67 computers and the Multiacs “virtual computer” http://www.multicians.org/thvv/360-67.html and http://cap-lore.com/CP.html
- James Gosling's web log page http://weblogs.java.net/jag/ and about the OAK project ; “So why did they call it Java?” http://www.javaworld.com/javaworld/jw-10-1996/jw-10-javaname.html ; Interview with the British Computer Society 1998 http://www.bcs.org.uk/publicat/ebull/mar98/intervie.htm ; Details his own frustration with C++ http://www.4reference.net/encyclopedias/wikipedia/Java_platform.html
- Java: Cornerstone of the Global Networked Enterprise http://ei.cs.vt.edu/~history/Youmans.Java.html
- The competition C#, a critical description of autoboxing feature http://www.geocities.com/csharpfaq/box.html and Microsoft's dedicated C# team programming resources http://msdn.microsoft.com/vcsharp/team/default.jsp.
- Microsoft Server 2003 television advertising campaign , CNET news Oct 2003 http://news.com.com/2100-1024_3-997724.html ; and here again as a big picture http://news.com.com/2104-1024_3-997724.html ; South African Advertising Standards Agency pull up campaign https://www.itweb.co.za/sections/business/2003/0303201315.asp?O=FPMS .
- Increasing percentage of outsource deals regarding call centre workers in Britain http://www.union-network.org/uniindep.nsf/0/a22436729d841e9cc1256df100230874?OpenDocument ; similar story BBC News http://news.bbc.co.uk/1/hi/business/3256454.stm ;