This is the fourth of a series of articles that reviews where Well House Consultants has been - and where we're going - after 6 years of blogging and some 3000 articles. - "towards the next 3000"
Moving Course Subjects Forward
I previous wrote a long article looking - at post number 3000 - how we may move training delivery forward over the next 3000 posts - that's six or seven years. But I left out - intentionally - any references to existing courses and subjects or possible future ones. You've read my thoughts for the framework (if you haven't, it's [here]
) - now what about content
• Subjects become easier and more complex at the same time
. Eh? What do I mean? Let me give you an example from the Seploying Apache httpd and Tomcat
course which I presented on Thursday and Friday. Over the years, we've moved from connecting the two through mod_jk2 to mod_jk (see [here]
to mod_proxy (see [here]
). Mod_jk2 was commonly regarded as a bit of a nightmare to learn and set up, mod_jk had a number of "gotcha"s that we had to train on but mod_proxy is really rather easy; there have been a couple of interesting things that we make sure delegates know, but it's become trivial compared to mod_jk2. But at the same time
people want to do more with the products and make full use of extra facilities. When we first got involved with httpd and Tomcat, we weren't often required to do much with clustering of load balancing at the 'advanced end' of the course. But now they're regular, required, and neatly fill in the time that's been made available by dropping coverage of the deprecated / fading and more complex connectors.
• Movement to modules and applications
. Following on from subjects becoming more complex, we've been seeing a movement away from programming at the core or the language, and seeing much more requirement to cover standard and optional modules. For instance, I'm always using standards like Data::Dumper ([example]
) and Carp (a href=http://www.wellho.net/resources/ex.php4?item=p219/stx>[example]) in Perl, and Python modules like numpy and matplotlib ([resources]
) are being requested much more than they were a short while ago. And we're going along with those requests - adding in new examples as required to keep the content of courses up to date with customer needs.
Looking at applications, many people are using their programming skills to tailor code for Moodal, Drupal, OSCommerce, Magento, or to write plugins for Selenium, Watir, and World of Warcraft. And teaching those programming skills (be they PHP, Ruby, Lua, Perl, Python or something else) is very much what we'll continue to be involved in. Whether we branch out to providing training on the complete applications is debatable, and whilst there are some good opportunities out there (and with other software such as the Gimp too), I would be surprised to see us go forward in that direction, at least without some other significant developments first.
• Learning to ...
. On one hand, major code development is going offshore from the UK. Our web site is ranked 10,123rd in the UK by Alexa (today's snapshot) but it's far higher - at number 6424 - in India. Worldwide it's at 19,843. See [current details]
. And that strong showing in the Indian subcontinent (Pakistan is high up there too) for a UK based site is significant; a lot of it is to our technical resources. But at the same time, code tailoring and near-application work, especially smaller ad-hoc tasks, can't economically by specified and managed in distant countries, and these factors lead to a dropping off of overall training needs in some subjects, and increase in others, and a need for more and more people to have some basic training for relatively small, customer facing coding tasks.
The outcome of that? More emphasis on "learning to program in ..." courses - courses for which no prior programming knowledge is assumed. People get "dropped in it", people want a career change ... and the two-step approach of sending newcomers to college to learn to program in Basic, or Pascal ... then having them learn a new syntax and different set of rules, seems perverse. We're already drifting towards more of these courses, and I can see that drift continue.
• Existing Programming Subjects
. Broadly - "steady as she goes" with gentle development and change rather than anything dramatic:
remains important, although not as important as it was six years ago. It's incredible to report that we're still awaiting Perl 6 ... and with it we might see an upward curve in Perl's adoption again. Our Perl on the Web
course now largely covers a superseded set of standards and is available only at special request; we have chose not to do a specific course on Mason
, though we could do an introduction at customer request. Perl 6 course - ah ... "sometime".
has been a growth area, and it will continue to grow, I'm sure. We've got a four day "learning to program in Python" and a three day "Python Programming" public courses, and I would expect to see intermediate / advances extensions which currently are provided only on private courses.
is extremely important - with a range of basic and advanced courses. But with PHP above all our other subjects, we're looking at a tailoring and a glueware of applications, and also a lot of newcomers to coding, which may influence course development in a differing direction to the other languages.
Tcl-Tk and Expect
are amongst the oldest languages that we teach, and have been superseded for many applications. We retain them on our product list, keep up to day, and teach them from time to time - we probably will continue to do so for a couple of years yet. But I have stopped scheduling the Tk toolkit
course and as from 1.1.11 will run it as required as a public course.
is a great language - a small base of delegates and users compared to the others we teach, but also few (if any) alternative training providers. I enjoy giving Lua courses, they're fun, and I expect this one will give is a small but steady flow of work for years to come.
. What a superb language - but (apart from the "killer" app of Ruby on Rails), it's been squeezed out by other languages here in the UK; I know that's not the same worldwide. We have chose not
to run Rails courses with a bit or Ruby, so offerings here are very niche indeed. If Ruby takes off (as it might) in other uses, we're well placed with our courses that do NOT concentrate on Rails!
C and C++
. These language are the foundations of modern computer systems - but that doesn't mean that everyone needs to know the; far from it, they've become niche languages - and ones that don't often require near-customer coding to that they can be off shored; somewhat against the trend, we introduced C and C++ courses as the languages became niche in the UK, and I don't see us changing this.
... I have a love / hate relationship with this language. For the right use - fantastic; for the wrong use (and I've seen a lot of wrong uses) a disaster. And I really hate training people up knowing that they're in for a fall. Public courses - you may see me try and drop (again). Private courses - if you've got the right application, yes ... but also look ahead to the next paragraph and MySQL.
• Other Existing Subjects
. A collection of individual topics:
. A powerful database product - fast, sleek, clever ... to the extent that it became a threat to the big boys. Bought out by Sun (into the same ownership as Java), and then both bought out by Oracle, I'm nervous about the real long term future of the product. I'm also very much aware that there's only so much training that's needed / that we can do on a database in comparison to a programming language. Even though some of the pages on our web site that bring the most traffic are the MySQL ones, we won't be building future plans on this product.
we are (and will remain) something of a side player here - covering enough linux for users and web server admins, but not getting ourselves involved in courses that run over multiple weeks and cover everything from logging in to Mail servers, DNS and firewalls even though we *do* look after such things on our live dedicated server.
... we will continue to offer courses on Tomcat Deployment. Release 7 is now at Beta ... talking about release levels:
• Release levels
I would forecast that in 3 years time, we'll be primarily teaching with PHP6, Python 3, Tomcat 7 ... and I would not like to extend that forecast to Perl (if pushed, I'll say "still Perl 5 for most people"). Release levels used always have - and will continue - to reflect what's in major use, with coverage to alert delegates to what's coming up. For private courses, there's extra flexibility - I've booked a Python course for December to use 2.6, but I was using Python 3 right back in the spring for a private course somewhere else.
• Other New subjects?
Links to other articles in the series
A brief look back
Looking forward in overview - the next 3000
How will course presentation change in coming years?
Course subjects - what does the future hold?
Well House Manor - the next six years
Personal stuff - back and forward six years.
(written 2010-10-17, updated 2010-11-08)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesG209 - Well House Consultants - Keeping up to date 
PHP training - refreshed modern course, backed up by years of practical experience - (2014-11-16) 
Endorsed Perl, Python and PHP training - Tcl, Lua, Ruby and C too! - (2013-10-24) 
Cruising on the Mersey Ferry? - (2012-06-07) 
What is happening in 59 days time in Melksham? - (2012-03-14) 
Teaching dilemma - old tricks and techniques, or recent enhancements? - (2011-10-08) 
Training course locations - Melksham, UK; Buxton, UK; Lake Constance, Germany; Venice Italy, the USA and India - (2010-08-30) 
Microblogging services - Plurk, Twitter, Jaiku and more - (2010-01-05) 
Printed Directories - the start of the updating season - (2009-08-12) 
A lot has changed - but the memory lingers on - (2009-03-12) 
Mobile Internet - an alternative to hotel WiFi - (2009-02-09) 
New trainee laptop fleet for our Open Source courses - (2007-12-30) 
The next technologies - (2005-07-29) 
We dont stand still - (2005-03-18) 
Review of the Autumn - (2004-12-22) 
Network Camera - (2004-12-07) 
Talk review - Idiomatic Perl, David Cross - (2004-10-12) 
Geek Cruising - (2004-10-11) 
Keeping up to date - (2004-10-10)G908 - Well House Consultants - Language Comparisons 
Programming languages - what are the differences between them? - (2012-06-27) 
Rekeying a table - comparison in #Ruby #Perl and #Python - (2011-02-14) 
Public and private courses - subjects available for 2011 - (2010-12-29) 
Teaching Lua to a Perl advocate - (2010-09-06) 
Ruby - how does it compare and where is it the right language? - (2010-07-11) 
Books in the store in the USA - still a portent of the UK market to come? - (2010-05-08) 
The same very simple program in many different programming languages - (2010-03-31) 
Speaking all the languages - (2009-01-12) 
Q - Should I use Perl or Python? - (2008-07-23) 
Ruby, C, Java and more - getting out of loops - (2008-03-19) 
FAQ - Perl or PHP - (2005-02-11)
Some other Articles
Setting up a matrix of data (2D array) for processing in your programSanta announcement, 5th December 2010, MelkshamLots of ways of doing it in Perl - printing out answersIncrement operators for counting - Perl, PHP, C and othersWhat will we be teaching in six years?A list of special method and attribute names in PythonHow will we present courses over the coming years?Looking forward - the next 30002999 - looking backUsing an exception to initialise a static variable in a Python function / method