The Peek and Poke of my life Growing up in Jamaica
This was My first Computer on my dining table
- The BASIC function PEEK returns the memory contents of the specified address
I never knew I wanted to be a software developer. When I was growing up, the thought had never even crossed my mind. First, I wanted to be a farmer thanks to my grandmother on my mother's side. Then a scientist and after that, a Nation Building finger wagging Revolutionary Politician, thanks to Michael Manley. While I was going to school I never wanted holiday work, as far as I was concern, school was my work and my holiday was my holiday, for me to do what I wanted to do. One summer my aunt took it upon herself to enroll me in a US Computer Summer Camp at The University of the West Indies to which I protested, until I realized girls from all over the world was also attending this Computer Summer Camp, so reluctantly I agreed.
I had lots of fun at the summer camp and met lots of people and thought that was the end of that, a productive fun summer. While there I was introduced to the world of computer programming and algorithms. I found it interesting and easy but did not think any more of it. One day I got home from school and my aunt had bought me a computer, a Commodore 64. At first I used it to play games but I was never a gamer, so I did the only other thing one could do with it and that was, learn to write computer programs in various languages. I joined local programming groups, exchanged compilers, codes, ideas and various development tools and tried to impress on others my programming skills. I as learned a lot from others and adopted new programming skills.
My aunt continued to supply me with computers books, magazines, hardware’s and software’s and I continued to devour them and demand more. My first real job was working for the Government and one day I convinced my boss to allow me to write a program to make inputting and sorting a massive list with millions of items required for statistical research. After which I was never again allowed in the field, my job was to generate the sorted list and dispatch it to people in the field. I was chained to the office computers which was then the IBM Personal Computer XT 286 and later the IBM XT 386 with PC DOS, BASIC, Ashton-Tate dBASE III, Fortran, C and COBOL and WordStar before WordPerfect came along. I was sent by my boss to take a programming certification course and the owner of the school was so impressed, he asked me if I could teach COBOL programming on the weekends, which I accepted. Now I was working 7 days a week but it still did not feel like work. I was in a computer lab with about 30 different computers and did I mention these classes also had girls.
June 26 1988
Create Data Entry Screen for Cash Entry System
Modify COBOL Program to Load Statistical Data
Install new version of CTS in Production
I was later “forced” to transfer to the Government Computer center (I cannot tell you why) where I developed my COBOL programming skills on a VAX-11/780 and later the VAX 8600, 8800 and 9000 after which I became a C Programmer.
June 1988 Task Finished:
CTS System Implemented
Splitting Program Created
Convert EBCDIC to ASCII program completed
Update Valuation Database with External Data
Overseas Education and Work Experience
After some years, I left Jamaica to further my education where I got my first overseas entry level Software Development job with a fortune 500 company. I was placed in charge of maintaining their badly written and problematic invoicing system. I would work all day and night trying to put out fires and walk thousands of invoices through the system. It was not uncommon for the overnight jobs to continue executing well into the morning and me going without sleep.
One morning, I walked into my boss's office exhausted and asked his permission to rewrite the entire old problematic invoicing system. He told me that it was not in the plans and there was no budget for it. I told him that I would redevelop the entire system on my own time and only ask that he examine and test out the new applications when I was finish with it. If it was good, then consider switching to the new software platform, to which he gladly agreed. He was also having sleepless nights with the old system because when I needed to do something that required management approval, the operators would wake him up.
So, in addition to my regular job and nightly maintenance of the badly written and problematic invoicing system, I embarked on a one-man redevelopment of this fortune 500 company's invoicing system. I worked through the night most times not going home and work through the nights at home also. However back then I was connected to work via a modem, so the work was slow with frequent disconnections. I worked during public holidays and even on Christmas and Boxing day. I worked during my free time and dreamt about coding and problem solving when I was sleeping. I had to sleep with a pad and pen by my bed so I could write down solutions from my dreams. I was tired and exhausted and cursed myself for starting the project but I kept going. Every time I walked away in disgust, a new idea popped into my head and I was back at it, chomping away at the keys.
I am a perfectionist when coding, I was not afraid to rubbish a finished programme even though it was working, simply because it was not efficient and effective enough, I would start over. Back in those days, Structured Analysis, Structure Design and Structured Programming was all the craze and I was a dedicated disciple of Edward Yourdon and Tom DeMarco, thanks to my training in Jamaica. So the work was not done until every aspect of Structured Software analysis, design, coding and testing as well as documented.
Finally, the day came, several months later and I was finished! I called meetings with my boss and he called meetings with the operation group and upper management. I presented my documentations and explain the system analysis and design. I created a new Environment on the QA machine and asked the operators and users to do double duty, to execute the daily and nightly processes in parallel. I also created a QA program that imported the outputs from both production and QA systems and compared the data. I generated daily and nightly reports from the old and new to compare the data. We found several computation errors in the old system and my boss was told that the new system must replace the old system as soon as testing was over.
On a good night the old system took about 6 hours to execute while my system only took about 2 hours and on a bad night which was the norm for the old system, it would run form 8 to 10 hours depending on the severity of the outage. I gave the operation staff a new smart interface to execute the nightly batch jobs. This new interface had an auto start job control feature, where one job communicated with the next job in line telling it, that all was successful and okay to begin the next process without the need for manual intervention. I identified jobs that could execute in parallel, so several jobs could run simultaneously and synchronized sequential jobs with precision. I implemented a third-party notification software that was connected to the email and beeper system and send out job status notification.
Implementation to production was scheduled and I flew out to join up with divisional management for the big night. The nightly batch started on time and finished just under 2 hours, It had never done that before. All reports sent out, including inventory report which the sales force in the field did not have to wait for, since it was ready for them on demand. Management sent emails and made phone calls to upper management detailing our achievements. I was happy and everyone was happy. To say Management was pleased was an understatement. On the morning I returned to corporate headquarters, I was called to HR and told I made them look bad because I was, undervalued, underpaid and under-positioned. I was promoted and given a raised on the spot. 3 months later I was called again to HR and further promoted and with an increase in salary and given responsibility to upgrade several other legacy systems that was badly coded and problematic.
Finally, the day came, several months later and I was finished! I called meetings with my boss and he called meetings with the operation group and upper management. I presented my documentations and explain the system analysis and design. I created a new Environment on the QA machine and asked the operators and users to do double duty, to execute the daily and nightly processes in parallel. I also created a QA program that imported the outputs from both production and QA systems and compared the data. I generated daily and nightly reports from the old and new to compare the data. We found several computation errors in the old system and my boss was told that the new system must replace the old system as soon as testing was over.
On a good night the old system took about 6 hours to execute while my system only took about 2 hours and on a bad night which was the norm for the old system, it would run form 8 to 10 hours depending on the severity of the outage. I gave the operation staff a new smart interface to execute the nightly batch jobs. This new interface had an auto start job control feature, where one job communicated with the next job in line telling it, that all was successful and okay to begin the next process without the need for manual intervention. I identified jobs that could execute in parallel, so several jobs could run simultaneously and synchronized sequential jobs with precision. I implemented a third-party notification software that was connected to the email and beeper system and send out job status notification.
Implementation to production was scheduled and I flew out to join up with divisional management for the big night. The nightly batch started on time and finished just under 2 hours, It had never done that before. All reports sent out, including inventory report which the sales force in the field did not have to wait for, since it was ready for them on demand. Management sent emails and made phone calls to upper management detailing our achievements. I was happy and everyone was happy. To say Management was pleased was an understatement. On the morning I returned to corporate headquarters, I was called to HR and told I made them look bad because I was, undervalued, underpaid and under-positioned. I was promoted and given a raised on the spot. 3 months later I was called again to HR and further promoted and with an increase in salary and given responsibility to upgrade several other legacy systems that was badly coded and problematic.
That year I was called up at the corporate company conference and given the "You can Make a Difference Award". My picture was all over the company on the walls, on every floor which was most embarrassing. What I was most proud of was that they took the time to mention Jamaica in the write up. You see I have been on interviews where people ask me if Jamaica had computers, some even mention some rubbish about coconuts, yes during an interview. So to mention that I was a trained programmer from Jamaica was a big deal for me.
My old stomping Ground.
During my travels I left the world of the VAX/VMS COBOL and C and entered the world of C and C++ Programming on UNIX/LINUX, working on Financial Trading systems and Market Data Engines, using C++ implementing algorithms where speed was a major requirement
$ gcc -Wall hello.c -o hello
$ ./hello
I then jumped off the Linux servers and back onto Windows PC’s developing websites using Microsoft C-Sharp MVC framework. In between all of this, I started developing in other languages and platforms because I was always interested in how things were done with other languages and on other platforms. These days it is MVC, DOT NET CORE and DOCKER using C# with Oracle and MS SQL Servers. However C++ is my favorite language and C++ on Linux is where I felt challenged.
Looking back I am very proud of some of the places, people and locations I have worked and the life experiences I have acquired over time.
When I look at where I'm coming from
I know I'm blessed, and I close my eyes and smile
Sometimes I feel like
The richest man in Babylon
And I've done my best
So everything's alright inside
-----------
----
Oh every morning, Oh every morning
I rise, I stare at the sun
I know it is a blessing
So when the evening comes I
Lift up my eyes to the hills I'm blessed, oh man
With my two hands in the air as far as I can
As far as I can
I can, yeah
My two hands in the air as far as I can
kill -9 666
Software Development over the years became work, hard sickening, stressful, demanding work and consulting even worse, so much so that I now resent it. In the very near future when I am finally finish with it, retire from it, I do not want to see another computer for the rest of my life. I intend to completely disconnect myself from this aspect of technology. I am heading back to my first love farming, Organic Permaculture farming and homesteading.
But I owe my love of computers and programming to my dear Aunt who has been my mother since my own mother died when I was a baby. The Computer Summer Camp and my Commodore 64 started something in me I never knew I had.
I was talking to my nephew trying to get a feel for what he would like to do in life and he was totally clueless then I remember, sometimes you need to try something first before making up your mind. Sometimes young adults need to experience things first without any pressure or with pressure and sometimes they may end up loving the things they try, which will help to determine their future.
Comments
Post a Comment