Skillset
Introduction
Skillset Many programmers start of employed by companies within IT departments or software houses, often these organisations don't value high quality programmers, preferring to promote them out of programming into design and management roles. This doesn't leave a career route for people who want to be programmers all their life.

So most programmers give up what they enjoy and are good at for a pay increase, some leave and become freelancers and some like me accept a comfortable living, in a low stress environment; no commuting, no boss, no politics.

Although most people don't like hearing it, almost every business is the same from an operational perspective, so whatever you want, I have probably done it before.

As I am free to choose what I do, I am up-to-date on the latest technologies as well as happy working with "what came out 30 years ago". If you want to keep your COBOL app going for another 20 years, fine by me, as it starting again with a .Net browser based solution.

The Desktop Or The Internet?
The web/cloud or the desktop?
Cloud For an experienced developer the web or the desktop is just a matter of a different presentation layer, the core programming skills don't change.

However the user experience and the costs of development are quite different because of the fundamentally different models of computing.

These differences are explained here.
Programming Languages
Programming Languages
Code/HTML C# and VB.Net - These are the most popular languages used by businesses wanting Microsoft Windows based systems.

Many programmers only know one language and write code because they have been told that this is the way to do it.

This is often wrong, inheritance is not always a good thing, there is no point in creating Interfaces when there will only ever be one data source, don't use Linq or data tables if you need high performance.

In other words stop spending all of your day writing pointless code and solve the business problem!

C++ and C - Outside of technical projects these languages are falling out of fashion, they deliver high performance solutions at the expense of longer development times. However programmers who can use these languages often write better code in other languages as they understand what is going on behind the scenes.

VBA/VB - The mainstream PC business systems development language prior to .Net and VBA is still the basis for automating and customising MS Office.

COBOL - Out of favour outside of legacy mainframe systems, but a good balance between productivity and performance. A few Unix based systems are still in use as well.

BCPL - Totally obsolete.

Assemblers - The best possible performance at the cost of very low programmer productivity. Most of my experience is with 8 bit microprocessors and microcontrollers but I do have limited Intel x86 experience.

Javascript - Scripting within a browser, I don't really regard Javascript as programming language, as it is usually used to tweak the behaviour of page within a browser, Javascript is pretty much simplified C.
Databases
Database Servers
data MS SQL Server - Probably the most popular choice for SMEs.

Informix SE/i4GL - A once innovative databases and 4GL.

Oracle - A major player.

PostgreSQL - A major Open Source database.

MySQL - Probably the most popular Open Source database.

Personal Databases
data MS Access - The dominant personal database, but it when it is attached to an SQL Server database it is a great Rapid Application Development Environment.

dBase - Once the dominant personal database.


Frameworks
Web Based
data ASP.Net - The only framework that I work with as generally I don't like them. However ASP.Net has such a large presence that my normal concerns don't really apply.
Side Notes
padding picture