Otherwise am well, I have to go back into the boring and really repetitive work of Oracle Financial Support.
I hope you are having a time of your life.
Dear Fellows, it has been a while since I last penned my thoughts and memoirs on this lovely page. This has been partly because at my new place of work (Celtel) we have a serious web marshal running called “Web sense” that denies access to this lovely “Social Networking” site, am actually penning this from IFES Kenya-I drop by them once in a while. Anyway am doing well my new place of work is in a way a bitter –sweet lemon , bitter cause I am to do very little programming and the projects are far spaced. It has been a strange 2 weeks where I have engaged in serious Oracle Financial training; boy don’t Java Products look funny all that look and feel nonsense makes Microsoft and Macs look like Gurus. But all in all it is a through system built on solid principles and deadly requirements. The sweet part is that I have more time to sit back and relax, doing coding is engaging stuff and takes a lot from you, so give the option of supporting “strange” looking Java-based products is welcome anytime. I of course have enough time to surf the net and learn new things like how to write a CLR based stored procedure or a CLR Function in SQL server 2005 (boy am I late) but its been a strange 3 week.
Well, my last day at Ascribe Nairobi is here (...tick..tock) the clock is ticking; this day dawned with mixed feelings of both Nostalgia and the thrill of Adventure. Ascribe has been my home for nearly two years now, and consequently I have made fairly strong ties and relations here. So the thought of rebuilding my life somewhere else is to say the least depressing but must be done. The thrill of adventure is as a result of my undying desire to grow in computing and Celtel provides an environment that suits my yearning and my craving. There are many quotes that seem 'deep' quips of wisdom on change.
"Everything Changes, nothing remains without change." - Siddhartha Gautama, Buddha.
"In a progressive country change is constant; change is inevitable."- Benjamin Disraeli
"Everything that has a beginning must come to an end; This is the one thing that makes me happy when am sad and sad when am happy" -Charles Abere Simba
On another cheerful not my CISA exams are out and I passed, am hoping to wield it on my next performance review to see if I can earn a few more coins. Of course this marks an end to the “Drought” of certification that plagued me…Oracle, Microsoft and ISACA here I come.
Over the previous weekend I have been sparingly indulging in the new Found Joys of WPF. WPF really does what I choose to call the First amendment to the way of development i.e. It effectively separates Presentation and Code-behind in desktop applications. Generally speaking few people have the gift of knowing how to create a stunning UI and design optimal code, this is generally due to the fact that Creative Artistic Juices rarely flow in the same veins as Creative Analytic Juices (except my friend Emmanuel Kitonyo). This has led to a need to segregate duties and thus a it results in a great deal of documentation and work on paint shop pro to design a useful UI that can be sent to the developers to implement AS IS. XAML now enables the implementation of the UI design to be done away from the code behind. so naturally the designers will be left with Expression blend and most of us with Visual Studio.
WPF has introduced the concept of Styles in desktop Apps (any one who has done CSS understands what am talking about). Thus it is my recommendation that every programmer/developer/engineer should have a run on this (not so newly) found technology. you can get Expression Blend, it really makes some neat UIs.
In the next few weeks I will run an article on how to create a mapping application for
On another front, I yesterday took some IQ test and scored really well and knowing the mindset of programmers/coders/developers/engineers and scientists of this computing field. I wish to challenge you my beloved reader to test yourself. You will feel really nice when you finally get to tabulate your "Superior" intelligence therefore confirming your long held belief that you are indeed...The Smarter one Now!!!...but don't take my word for it- do the test.
The big fight as far as programming is concerned can be summarized as a fight between two kinds of people. People who love to use BASIC-like languages vs. the Rest who love delimiting their lines with semicolons and using curly braces all over. The latter loves to bash the poor former and in day gone by “Dim x As Integer” loving coder/programmers/scripters were regarded as Para-Programmers who seemed to know nothing and had nothing to offer to the development environment. Fiery quips of “VB6 provides a better GUI development environment” were quickly pacified by the then quite effective “If VB (6) is so great, why doesn’t Microsoft use it?” and most definitely they (me included) didn’t have an answer to it. Arguments of Memory Access (like anyone used it anyway) were additional armory in the Arsenal of the Pro-semicolon faction. As they years passed so the argument evolve and with the evolution (re-writing) of VB6 to VB.NET and finally we had something in common - the CLR that made “Us Equal and Had No” equal (sorry Java Folks). Thus the argument changed form to “VB.NET can do anything C# can do.” This has been going on for a while and is kinda tiresome. So this is what I say, if you only know one language, you are crippling yourself. The world is out there, the weekend is ripe, fire up a new IDE and jot down a few lines of a not so friendly language –you might actually like it.
By the way what happened to “Managed C++”? No one seems to be defending it so much!
My reflections on the life cycle of a Kenyan developer are as follows, the Kenyan breed of programmer/developer e.t.c has a life cycle that tends to be like a soccer players. You start in college and proceed to start working of course depending on how luck/good/both you follow the following steps.
This is where you are picked by the small boys, you generally do every thing, “Mambo ni one man show”, and this place have problems in that the salary is always late. You work too hard, you basically learn the ropes ,you may get to ‘management’ level here but its only a title-the salary is “Mteja hapatikani” and get to discover the best software development…sorry soccer clubs around. There are no KPIs, and basically what you earn can stagnate for X number of years , depending on the Managing Director/Owner/CEO or can grow in “Leaps and bounds” depending on your Managing Director /Owner/CEO.
This are basically better paying clubs that people move to and it seems like the best of places to be around, get a better developme...sorry playing side. More structure, the salary is seldom late and of course it harder to climb the programming ladder, you get in as a Junior guy-regardless of your performance in Division three but you are still ok of course until the next review meeting and you get a few coins to your pocket...and as the old adage goes-the rest is history, you start looking for opportunities to move up the ladder.
Most “Big Software Firms” in
This is a place where you find even more structure, but the roof top is ceiling is quite high, you rarely get to be “Head” anything without serious “Siasa” and well, KPIs are a bit stringent. In
This are basically multinational companies that rarely get guyz from
Of course any programmer/developer/coder e.t.c worth their salt dreams of either two things,
Going into number 2 above however tends to take you to Division one…but as the Manager/CEO/Director, then “doing unto others what was done unto you.” This stage is normally characterized by research, one starts researching on how Bill Gates made it big in the software business or how Larry Page and Sergey Brin had their big break. In a number of years depending on wit and/or luck you make it big and follow the same steps of a player but as a Managing Director/CEO/Director.
In conclusion, you whoever you are; wherever you are in the development cycle, work hard and progress to the next level. But all in all its like chasing the wind.
By the way if you haven’t noticed yet this blogs address is 'wordsofankenyanprogrammer' which and should be ''wordsofakenyanprogrammer'...but who cares? It’s my blog and thus it will remain!! (Read: it is a problem renaming this blogs)
I think a coder is just a fellow who simply writes code, any type of code. For a hobby, for kicks or for a little bit of money. Work from coders generally would be likened to a street fighter's prowess in fighting-Raw,
Brute-force and sometimes inefficient. But one thing is for certain he has passion.
A Programmer:A programmer, on the other hand, is a coder who kinda went to class a bit. A programmer knows about data structures, the difference between bubble sort and quick sort, OO techniques i.e. Polymorphism, modularity encapsulation, why not to use "GO TO" statements. This fellow can be equated to a street fighter who went to a Dojo and was taught the art of war. He is more elegant yet passionate. He/she is better equipped to do damage. He/she works alone so does not get the usual team benefits. But has the benefit of working from system analysis, design, coding,
Well this is a programmer in a larger team; he sticks to the implementation of a design or the interpretation of a Requirement to a code design. A Developer writes Components and not the whole program. Software developers are also concerned with Version Control, Build Process. Software developers also experience team benefits and thus slowly get to trust the other developers in the team. They basically reside in companies that have software development as their core duty. The analogy is that of a street fighter whose gone to a Dojo then later joined the Justice League as Batman.
This is a glorified name for a Software developer who has hang around the development circles for a while. He is the old Batman in Batman of the future; he gives experience to the younger developers in order for them to avoid pitfalls that cost him.
A Computer scientist:
These are folks that went through a computer science course, they think about optimizing algorithms, low level memory operations e.t.c. they may or may not have programming tendencies. he/she is seldom involved in the 'crunching' of requirements to make code- they consider that work to mundane and repetitive and when they do get involved they operate only as 'consultants'. He thinks Visual basic and any other Microsoft software development product are verbose and thus is a “Waste of their Fries”, they are obsessed with put “semi colons” at the end of each line. Using the fighting analogy, this is the “Master” in a dojo, always finding ways of validating himself and criticizing the street fighter. He ends up being a lecturer.
So you might ask who I am. I am a software developer, at least to my definition.
I woke up this morning feeling kinda angry because of matters which I will not divulge on this forum, but later as I realized their are two kinds of people, programmers and others and my analysis of all this brought me to the point where I got to understand folks who watch “Art scene” and that Tim Njiru program- “In Sync” or is it “insync”. Not that am implying that you can’t belong to the two sides but it is kinda hard to be in touch with the artistic side and be thorough and passionate about writing code. As far as work is concerned today has been a kinda slow day and am hoping that it ends soon, as far as what I have learnt today...
That u can actually invoke activex objects in Javascript e.g.
var WshNetwork ;
WshNetwork = new ActiveXObject( "WScript.Network" );
document.write(WshNetwork.ComputerName );
Writes the name of your PC on the page that hosts the script. of course the page has to be a 'HTML application' i.e. a '.HTA' file.
Today also marks the “Genesis” of this forum namely- the Mass exodus of one and it is my solemn prayer that I keep this blogspot running.