Please note that any similarity to anyone you know is coincidental.
Well today I arrived at my new job in London.The company's name is "Lighthouse Software Group" and they are basedin this huge building near the river. The building has about 6 floors (OK, so itsnot really that big but I seems like it!) Anyway, meeting my new boss was aninteresting experience...
His office was situated on the third floor soit didnt take me too long to get there. With half a pound of butterflies inmy stomach, I followed the secretary into his office.
Through the glass door, which looked like ithad been replaced several times (very poorly I might add) I was confronted by alarge amount of cardboard boxes containing, as far as I could make out, newcomputer equipment. In the middle of this cardboard city I could just see thetop of a balding head of a very irritated man.
"Ah hello! Looks like you arrived just onthe right day!" he boomed as he stood up to greet me.
After initial introductions to all the rightpeople he explained to me that the company manager (his boss) had told him thatthey needed to move into the 20th century and therefore had splashedout an amount of money that he wasnt going to tell me on new computerequipment for the whole company.
Before I asked why the computers were piled upin his office, he told me that their "storage area" was currently fullof junk, and to save himself having to distribute the computers himself, heinstructed the delivery people to put each floors computers in the head ofdepartments office and each floor.
Without much further ado my boss got to thepoint, what was I going to be doing. "Your first job will be to set-up andinstall all the new computers on this floor. But dont worry" he said,"I will get a couple of people to give you a hand"
The company was made up of several differentdepartments, each one taking up about one floor with about 50 people assigned todifferent departments within that floor. Each floor was responsible for oneparticular thing in the company.
For example, the 1st floor mainlycontained the reception area and some meetings rooms, and the 2ndfloor was the internet department. They took care of web design and hosting forseveral clients, and, as you would expect, they already had all the latestcomputer gear.
The floor above me, floor 4 was intoadvertising. They run an online advertising agency called Single Click, whooffer low cost advertising through resellers. They also take care of advertisingfor the company (i.e. handouts, leaflets and newsletters)
The 5th and 6th floorsare mainly used for the "people in high places", e.g. The main bosses.Their offices could be found there, along with a small canteen and a few othermeetings rooms.
And finally, me new floor, the 3rdfloor. On this floor there is a range of applications development teams usingVisual Basic, Visual C++ and Java to develop applications for our clients.
My main area is Visual Basic, so naturally Isuppose after setting up these new computers, I will be working with a smallteam in VB (at least, that is was the job description said!)
After a quick tour around the office I decided that the high management whohad ordered this upgrade was probably saving the company from certain death.Most of the machines I saw were 486s running Windows 3.1, and when I came tothe VB development area, I found VB 4 was the primary development tool!
So I rushed back into my boss's office to start shifting the boxes. Acouple of people (as promised) gave me a hand and then started to unpack some ofthe equipment. From reading one of the labels, I saw that these new machineswere Pentium 400s with 12GB Hard drives, 128MB RAM and 17" screens!
I had to tell the others to stop as they jumped upon the boxes like hungryanimals, because I realized that we needed to plan where the machines were goingto go. As we had two new file servers, I asked to see where the existing fileservers resided. For the first time that day I was impressed. Two nice rackmounted servers with UPSs, surge protectors and even a dedicated phone all ina nice air conditioned room!
What didnt impress me was when I looked at the back of the cases where theservers were. I think one word can describe what I saw, "cables!" Yes,there were literally hundreds of cables coming from everywhere, and worst ofall, they were all the same colour! I realized that it would take several hoursjust to sort this lot out.
Anyway, on returning to the main office, we decided that we would find somespace and put up a couple of tables and install all the software on all thecomputers and get it working so the possibility of the computers working when wemoved them into their actual locations could be slightly increased.
After waiting for about 10 minutes while one of the three of us dashed off tofind out where we could go, we started to shift all the boxes down to thebasement. Apparently the person in charge there had got in serious trouble fordumping the computers in the offices that he had cleared up the mess and evenrushed off to get us some tables when we arrived.
By five oclock we had managed to get both of the file servers set up andabout six of the workstations all working correctly.
As I left the building feeling quite satisfied that this was the place forme, I wandered back to the tube station to return to my flat.
Well, another day, and it is pouring downwith rain. The taxi driver didn't seem to have any change for a fiverwhen he was only driving me a few hundred yards.
Anyway, upon arriving at the building, I managed to wander throughwithout anyone checking my id! As I approached the office, I bumped intothe two guys who I was working with yesterday. They told me that we hadto carry on working with the network until it was sorted out. Apparentlythe boss had seemed a little surprised at out rapid progress that heasked what we were doing in the way of fault tolerance? (The other guyshadn't a clue, and I got the feeling that the boss didn't know either)
Fortunately I had read up on this subject before I joined (I readEnterprise Application Architecture from Wrox Press). The boss had founda package which he had forgotten to give to us when the boxes had beenin his office.
Upon opening it, I discovered a little cream coloured case - a ha! Itwas a RAID storage device that can be used for preventing data loss. Itworks by having three hard disks installed (this is for a RAID level 5system). Two of the three hard drives can be used for storage space -the other is used to automatically kick in when one of the disks fails.This way users get a constant flow of uninterrupted data.
Also in the box was a very heavy UPS (Uninterruptible Power Supply).Armed with these two items, we headed down to the basement to get thingsgoing.
Setting up the RAID was very easy - although placing three 10GB harddisks in one box felt a little wasteful. The UPS was also easy toconfigure and provides a useful 20 minutes up time with a power downoption built in.
The clients were talking to the servers nicely, and so far everythingwas running fine. Our next step was to look at the software requirementsmade by each department, look at the resources we had and make decisionson how we were going to set things up - in other words, define thearchitecture that we are going to use.
Most of the software requirements were off the shelf packages and notcustom made programs - this fact alone makes things a lot easier. Theresources were mainly in front of me (the PCs) although I had been givena free hand to order new equipment if I deemed it necessary. As I sawit, the current applications didn't really require much. Possibly oneserver running a database system such as SQL Server or Oracle, butotherwise not much.
Apparently the users have been screaming for an all-in-oneapplication that combines email, contact management and otherdepartmental specific data handling. At the moment no such thingexisted, although I was looking forward to working on it. With that inmind, I needed to create an architecture that was scaleable - i.e. onethat could easily be added to. So, I decided to just keep the twoservers together and distribute the clients office by office. Then, asdifferent departments asked for different things, I could place theappropriate server (whether it would be running MTS, SQL Server or IIS)in that office.
After discussing it with the other two guys who seemed to agree thatit made sense, we relocated the servers to our office and then startedto setup the client machines. The problem was that people were stillworking and had their machines turned on. This meant that there was ashortage of power sockets so I suggested that we setup the ones wecould, and waited until people started to go home.
Well, after spending a long timedeploying the new network system, I have finally finished and most ofthe time the network is running sweetly.
The management finally realised the internet revolution (only a fewyears late!) and decided to set up a dedicated unit to deal with newinternet developments.
For some reason they chose me to head up the group, and I was"given" five other people to work with.
This now means two things: more pay for me and a chance to develop myfavourite kind of applications: internet ones. Due to my Visual Basicknowledge and its RAD capabilities, I can deploy them to create easy touse web ready applications using a combination of ASP, CGI and XML.
Part of my new description is to monitor and report on new and breakinginternet technologies, and, at the moment, that means XML.
Yesterday I had to give a presentation on XML, why it's useful and howit will help us to develop our applications.
Just after a rather mind numbing presentation of about eighty carefullyplanned PowerPoint slides, my boss came up to me and handed me a specfor a new internet application that needed to be deployed with the nextmonth!
After the initial shock I read through the report and realised that itwould involve a number of technologies that I had already looked into:Active Server Pages, CGI scripts, XML and some server side VBprogramming.
In a nutshell, the spec was to design and develop a suite of tools towork together. Based around an SQL server database, a front end ASP/CGIweb site would read the data for internet users to view. Internally, thecompany wanted some content on their intranet that read some data andoutput it to a browser version based HTML page. They also wanted a VBapp to administer the data both for the web and intranet from theirdesktop PCs. And they wanted it in all ready in a months time!
My first reaction was to tell my boss that this was impossible. I saidthat my initial forecast for the time would be at least 4-6 months justfor developing the stuff. Testing and deployment would probably take atleast another month providing there were no major problems.
In a desperate attempt to keep my interest he said that he would getback to the company concerned, and put forward the new purposed timescales.
Later that evening while I was still sitting at my desk (such a sadperson!) I was pondering on how I would do this project. SQL serverseemed to logical choice for the backend database, but the intranetwould be a problem as they only wanted a scaled down version of thedata. Fortunately the presentation I had just done was on XML, a new webtechnology. As I had found out, it's not so much that XML is powerfulbut that XSL, the accompanying style language that makes it very useful.
With these technologies at hand, I set out to make a rough draft of howI would go about doing things:
- Set up a couple of boxes running MTS and SQL Server for the internetbackend
- Use ADO and ASP with some CGI for the front end web site
- Deploy a set of XML files to contain the local data and format itusing XSL
- Write some VB DLLs for the middle tier for the web site
- Write a couple of quick VB apps that interact with the above DLLs toprovide a simple desktop solution.
Pretty simple you might think? Well, at that point I was almost ready tosay no even if I had several years and unlimited pay to do it. Rightthen my inbox made a sound and I had just received an email from myboss. Good news (apparently), the company had reviewed their spec andhad decided to allow us the time recommendations that I had made, butthey had required to lower the price. As my boss was desperate to makethis new unit a success (it was his initiative in the first place) hewanted to keep this big job.
So, lucky me! At about 9:00 pm I realised that I was falling asleep anddecided to head home, not thinking about the joys of planning tomorrow.