Computers, programming and me

| | Comments (0)
Coding

C++ Code snippet from Boiler Manager

PIC Debugging

PIC Debugging session (the LCD/RS232 project)

BoilerManager

Screen capture of CAD editor in Boiler Manager

A small snippet of code that is part of a large system I have developed a while ago, called Boiler Manager, is shown at the top of this page. It is a member function of the CAD helper class used to draw entities on a CAD like interface. And no - I do not still program like that. I now use more descriptive variable names and constants ;).

I was in standard 8 when one of the teachers in my high school - High School Dr. Malan in Meyerton - asked me why I was not taking computer science as a subject. So I told her it is because I absolutely detest computers. Yes - that is what I told her! And it was the truth. I had a pact with myself that I would never ever lay as much as a finger on a computer.

Obviously something changed. A few days after her inquiry, I started pondering about what she said. I went to her asking her to explain a bit more what this "programming" stuff is all about (for a reason I still do not know why). So she gave me a quick introduction, and I started taking computer science as a seventh subject. I did not understand anything in the beginning, so I have decided to change this. I took standard 8,9 and 10 handbooks of the Pascal programming language (which we used then), and started reading it. In one weekend I taught myself basic computer programming - up to the level students in standard 10 should be. I then started reading about DOS - the operating system widely in use in 1993 (by the makers of great software applications like Edlin). Next to follow was computer hardware and firmware. The next subject I took on was programming in C. I studied the language for almost a year before I got my first computer in late 1993 - an Intel 80486 SX-25, 2MB RAM, 130MB HDD, 14" 1024x768 Colour monitor, OAK Technology video card with 1MB VRAM. I was highly excited and started playing immediately on it. After 5 minutes of use I knew I did not do the right thing, as I set a password on the BIOS that I could not bypass. The computer obviously did not accept the password I have typed, and used a default password. But I did not know that. I was just so anxious to get it working again. It cost us getting a computer expert in to type the default password. From that day I was not a bit more careful!

Well, since then I have taught myself Pascal, C, C++, Assembler (x86), Java, Python, Basic, Visual Basic, JavaScript, JSP, ASP, HTML, XML, XHTML, low level DOS programming, low level Windows 3.1 API programming, low level Windows 95/98 API programming, low level Windows NT 3.51/4.0/2000/XP programming, Linux programming, PalmOS programming, PIC programming, Database design, Networks (yeah this is a huge field but I know pretty much the basics and here and there some more advanced aspects), software design using procedural as well as object oriented principles, UML, testing methodologies, documentation principles and the software life cycle. I can administrate the following operating systems: DOS, Windows 3.x/95/98/Me, Windows NT 3.51/4.0 Workstation+Server/2000 Professional+Server/XP Professional/Linux v2.2+.

On the hardware side, I see myself as a moderate expert. This means that I am not always on top of all new technologies, but for most of the mainstream hardware out there I know enough details to fully understand the components' technical operating principles.

As this is a field I am totally involved with, and find utterly intriguing, I have decided in 1994 to make this my profession. So after university, I started working at a company called CellPoint Systems. CellPoint is a company specialising in GSM location based technologies. They had three subsidiaries - one in the United Kingdom, one in Sweden and one in South Africa. I started working at CellPoint Systems South Africa on the 15th December 1999. This is where I have learnt lots about the more practical issues surrounding software development. I learnt the project life cycle, project management, testing and quality assurance procedures and techniques, working with other people in teams etc.

In August 2001 I have started my own software development company called PWN Consulting. I always dreamt of starting my own company, and now I have it. In the past year I had been away on a contract in the Czech Republic, Prague for CellPoint and since I came back in February 2002, I started doing consulting work for Openware and Eskom.

As far as the future is concerned, I have learnt a very important lesson in my life. That is not to invest and plan too much - especially when you are in the information technology field. Things change very frequently, and one needs to have an open mind and be dynamic. So I tend to plan only for about one to two years ahead - by the time a year or two have passed, the market has changed significantly and you need new goals and methodologies.

Leave a comment


Type the characters you see in the picture above.