It seems I’ve often found myself in the position where a project I was working on required a concentrated effort on my part during a holiday weekend, and this Memorial Day weekend is no exception for me.
A long weekend is actually a time when I really do prefer to work with application upgrades for my clients. For one thing, it offers the longest time window that I have to work with live data to do table field additions, table changes or add/change indexing. I’m fortunate in that only one of my clients requries 24×7 use of their database.
However, if I’m going to be doing such work over a holiday weekend, I want to make the time invested really matter. Detailed planning and testing ahead of time really helps accomplish the tasks required in an efficient manner. This tends to be an area where I use my “virtual” network extensively — develop on one machine, test from others.
If I’m going to be doing development work over a holiday weekend I really don’t want it to be just like any other day — in other words I’m looking for my holiday weekend work to be stress-free, who needs hassle on a weekend? Certainly not me! That’s why more than any other time I come into the work really knowing what to expect (besides the un-expected). “Plan your work, then work your plan” is always a good method — but for me, prior to my holiday weekend work it’s a must!
WOW! What a ride it’s been! For most people in the USA this weekend is a holiday weekend — but then there are those others of us for whom it is another holiday weekend where we get to work while others have their family cookouts and first weekends at the summer home or otherwise celebrate. You have to love IT be able to take it all in stride — weekends, odd schedules and seemingly endless demands run with the territory.
I was reminded once again this week of the “seemingly endless demands” on application human interfaces, and the difficulties encountered when the interface falls short of providing the user who knows the job they must do with an intuitive enough interface to just go to the system and “do their job”.
Picture this if you can — a busy hospital emergency room with patients overflowing into the hallway waiting for rooms — and a group of 4 ER workers trying to figure out how to get to what they needed to get to. “I know you can get to it” says one, and another says “Here — let me try!”. Other bits of conversation overheard included “I seem to remember something about this in the training – but we just didn’t get enough time to work with it. (I was waiting with one of the patients in th hallway where the terminal was located).
What’s wrong with this picture? What I observed just seems to fall in line with what I’ve always felt to be part of the job of the software developer — seems to me I’ve blogged about it before also :-). I guess all this goes to show that IT, Application Development and “life” needs to co-exist smoothly.
Ron Richards in his post “The career software developer…” alludes to the observation that “…it is not surprising to discover that there are more people scoping, managing, testing and supporting the work of software developers than there are software developers.” I would have to say that I believe this is a sign of hope for software applications – or at least it could be, depending upon just how well those performing in these support roles can identify and communicate, or otherwise translate user and operational needs into the formats for the career programmer or software engineer to do their job most effectively.
I recall a situation a few years back where I was part of a group evaluating potential ERP systems designed for the particular vertical market of the business. One of the biggest selling points of the vendor finally chosen was that their software didn’t originate from software development guru’s, but rather from the roots of key company players who were firmly entrenched in the vertical market for which the software was created, and through the years they had developed and enhanced their product to keep up with the needs of the market. Sounds good, makes sense, but the reality was that much of their successive revisions and enhancements after their early years were more created to boost sales or meet changing technology requirements. Hence their system rather than being updated with re-design was rather “patched” together as a patchwork quilt.
I don’t believe that the career IT professional needs to start out as a programmer of software developer. What I DO believe VERY STRONGLY is that to be most effective the career IT professional MUST understand the business of their employer to a level I suspect very few do. Perhaps I think as I do because my introduction to IT had its roots in software quality assurance, though it really was more like software evaluation. The company developers hated to see me wander into their offices – they knew I probably had another “brainstorm” about a feature that should be added.
I believe that the most valuable IT professionals are those with an understanding of the business, an ability to adapt, a keen eye for opportunity and a burning desire to make a difference to their organization. These professionals are not necessarily the “guru’s”, and in all probability are not. Of course, being a bit crazy also helps!
I have developed a reputation around the way I work with users that I am “training” and who display various levels of skill (or non-skill) with their computer system. From executive levels to the warehouse user my reputation for telling a new user something like “…see – I told you you were “trainable” has become noted. Naturally this statement gets many different reactions, but it is always meant as a compliment to the trainees natural ability to use their computer as a tool for accomplishing their job which they “know” how to do.
That said, in my opinion their “natural ability” to use the tool depends solely upon the application interface. Should users need to be trained or should they just be able to use an application if they know how to do their job? It is a lofty goal for sure to think that new users (who know the job they need to do) can instinctively sit down and be able to do their computer tasks without training — but one I believe in.
Now, let the record be set straight — while I may always strive for that in my program / interface design, I seldom achieve it. But like users, I’m trainable — and that is where listening to and observing users comes in. My users have very definitely trained me through the years to be more aware and observant of their needs.
Probably the best example I could give regarding user interface would be the custom order entry system that I was building a number of years back. I kept getting feedback from the primary users – the ones using it day after day – that it “just didn’t seem right to them”. I heard their “complaints” initially as that it just wasn’t the way they used to do it. However, after this went on for a few weeks I volunteered to fill-in for one of the users and do the job for a few hours myself, using my program. WOW – did I learn a lot!
I learned that my idea of efficient and what they really needed were two different things – and the program was updated within the next few days, and that truly is the way I think it should be. Yes, users ARE trainable — but I really don’t think any application user interface should be so complicated that it requires the significant training often associated with implementing something like an ERP system. Train for the job, the tool use should be instinctive.
A recent article that I saw in a Computerworld email caught my eye and my interest. The article “The six most infuriating tech sales styles” had me salivating at the very thought of the possible content contained in the article even before I opened it up! The way I figure it, most of us that have been in IT management and around the “tech sales” arena can identify many of the types referred to in the article, I certainly can. Heck, some of us might even BE one!
The article states “…That IT salespeople just don’t listen is a familiar refrain from technology buyers…”, and that “…too few of them act as honest advisors and problem-solvers…”. Isn’t THAT the truth! Just thinking about the recent experience that I’ve had trying to find proper RAM for an older server has brought at least 3 of the “infuriating” sales types into focus for me. Continued »
A little over a week ago an excellent tip was published regarding software requirements – “Approaches to defining requirements within Agile teams“. While this tip directs itself to the needs of an Agile team, it serves as an excellent read for the software developer who is dealing with custom applications, and I believe applies as much to the custom development arena as Agile. Continued »
I just saw a recent post that I just can’t let pass by – “Overheard: Hardy Heron flunks the girlfriend test“. The cute title of course caught my eye right away — my love of the Heron and spotting the cute little graphic in the post also caught my attention — but then to read the post and realize that it related to my recent post about Microsoft being vulnerable on the desktop with its poorly received Vista was just too much to handle. Continued »
The hype around the use (…or rather non-use) of Vista continues to be in full swing as we close out April 2008, a mere 2 months before the “official” Microsoft mandated end date for availability of Windows XP on new computers. Computerworld published an article on the web today “Vista ‘inevitable’ for enterprises, says Forrester analyst“. The article has prompted numerous comments from a mixed variety of interested parties, with an equally mixed bag of thoughts and predjudices.
I’m not really sure why there seems to be so much “fuss” around the article in question, or the Forrester analysts comments more precisely. Personally, I took the view that Vista was inevitable for me soon after it was released. As an independent software developer I have neither the desire nor the clout to demand how my clients run their business or their investments on hardware and infrastructure. My job becomes providing them with what they need and desire to effectively run their business applications using the tools they choose – I just knew Vista would be a part of that.
Please do not misunderstand — I’m not necessarily an early adopter of new OS’s or technology for that matter. In my opinion, Vista offers little for the average business user. Looking at the fancy ribbon bars etc. that are part of MS Office 2008 I find pretty, but just too much. They are pleasing on the eyes, but add little other than clutter and confusion for the casual user. Vista vs XP is a similar story at the functionality level.
It seems to me that IF there is ever going to be significant exodus from Microsoft Windows desktops it will be NOW! I believe that Microsoft has never been so vulnerable — but I also see no real alternatives on the horizon other than perhaps Linux, which by its very nature as open source is vulnerable. If so many don’t like Vista — it could be a long wait for the next Microsoft product. What’s the alternative? Does somebody know of the next disruptive OS that’s just waiting for the day to jump out and tell the world “I’m Here!” and have the world IT organizations gobble it up?
I just finished reading an excellent post by fellow TechTarget blogger Ron Richard entitled “The career, software developer (your comments appreciated)”. His post is one which can’t help but spur its readers thoughts both into their past and their future, at least for me it certainly did. The post ends by asking 20 questions — each of which is very capable of spurring significant discussion.
I immediately found myself wanting to respond with an answer to his question number 19. His question? “Will peer programming in the future involve a human and robot?” Perhaps I’m somewhat old-fashioned, (my grandchildren have pointed that out to me in the past), but I just can’t get a picture in my mind of the software developer robot. Perhaps it would be an interesting artistic effort to create one! But that aside, I find myself questioning the use of the word “peer” in relation to a robot and a human being. I just can’t envision that!
Our software development tools are getting smarter, they do think ahead for us in some instances as they fill-in the command it thinks we are going to use. I cannot conceive of the robot developer understanding anything but the most detailed of application requirements. The “artistry” of software development — particularly application software development — belongs to the human being. I certainly CAN conceive of the human “guiding” the robot wizard as it creates the application”code” (…probably not understandable by the human at that point…) which runs the logic and UI. Actually as I think about it, I could use some of that robot influence today!
Robotic software development I believe, and I hope is a long way off in the future. By that point in time, I won’t be trying to earn my living as a software developer, and I can read all about it in the tech journals and be amazed. Until then I can keep coding and dream on!
Writing this blog is a creative endeavor on my part — in the past I’ve tried to avoid any extensive amounts of writing yet I felt pulled toward doing it, and I have enjoyed doing it over the last few months. In a like manner I truly enjoy doing the application development work that I do, which like my blog writing, often times takes on a creative component.
In fact, I’ve found both the application development that I do AND the blog writing I do to often run along parallel paths – especially regarding creativity. There have been times when I’ve sat down in front of the computer at my blog and just been mentally and creatively as blank as the form on my screen which is just sitting there patiently waiting for my thoughts. It seems at those times that I have nothing to say – and with nothing to say even my continually improving voice recognition software can’t help me write.
There are also times that I find myself in front of my editor or other software design tool with seemingly nothing to say — there just seems to be a “block” in place that doesn’t want to let go. Fortunately for me if I am blocked with my writing, I’m NOT blocked with my development. I’ve had discussions with other developers who also find themselves at times with a block that doesn’t want to budge.
How does one get past the block? I suggest moving on to something else. Often I have used the times I’ve been blocked to catch up on that article I ripped out of the tech magazine a few months back — the one I wanted to read but didn’t have the time to dig into. Physical movement helps too — a trip to the water cooler perhaps, a conversation with a co-worker. It never ceases to amaze me how well even a short change of focus works to help get the creative juices flowing again.
Try it, you’ll like it!