Microsoft's Eric Nelson conducted a poll on how many businesses still use Visual Basic 6. It is hard to make sense of the statistics, since there was a built-in bias:
This survey was sent out to individuals we "suspected" had Visual Basic 6.0 heritage but it was also widely advertised through the MSDN Flash to UK developers.
In other words, only Windows developers were consulted, and those more likely to be using VB 6 were specially targetted. Some results:
See the original post for more detail. I'd like to know more about the wider picture - how many companies overall still use VB 6 - but although these figures are skewed I can well believe that there is a lot of VB 6 out there.
Incidentally, the respondents are correct in believing that the VB 6 IDE is no longer supported. Extended support ended in March 2008. However, note that Visual Basic for Applications, which partly shares the same runtime, remains part of Office and therefore is supported. The VB 6.0 runtime is supported at least until 10 years after the release of Windows Server 2008; see this paper for exactly what is and is not included.
I noticed that msvbvm60.dll, along with other VB 6.0 runtime files, is also in my beta copy of Windows 7. I guess that will nudge the support life for the runtime even further into the future.
The bottom line is that Microsoft would be crazy to release a mainstream version of Windows that could not run VB 6 applications. For the most part, laggard VB 6 developers are safe, though there could be third-party components that stop working. Another point is that VB 6 will always be 32-bit.
All this prompts a few observations.
First, if you have skills in VB 6.0, it looks like you will be in demand for a while.
Second, my own views on VB 6.0 are mixed. I recognize that it was a revolutionary and very capable tool; but if anyone is inclined to wax lyrical about its merits, I point them towards Verity Stob's Thirteen Ways to Loathe VB and Bring your Hatchet by Bruce McKinney. At best, it is a flawed platform.
Third, I do see the sense in leaving well alone in many cases. VB 6.0 is lightweight compared to .NET, and runs on a wider range of hardware. Migrating code is perilous unless you have rigorous unit tests; some quirk in VB may catch you out, so that ported code does not work in quite the same way.
It strikes me that there is little value in migrating from, say, a VB 6.0 client application to a .NET Windows Forms application. My instinct would be either to leave it be, or redesign it as a web application. Otherwise the risk is that your new ported application will be just like the old version, but slower.
Microsoft has a summary of the options here, which seems to promote the idea of hybrid applications, perhaps using the Interop Forms Toolkit to embed .NET controls in VB 6 forms. Maybe, but there is a danger of getting the worst of both worlds. That said, every case is different so there is little value in generalizing. The important thing is to have a technical and business rationale for the path you choose.
OK, so you are out of work and you are not getting any interviews. How can you improve your chances of getting a new job quickly?
Well like anything in this World you've got to work at it. In fact your new job..is to find a new job! Yes, that's right, you've got to work at it 8 hours a day (at least!). So what does this "job" involve? First things first, give your CV a complete makeover, make sure that you have a really strong profile and set out some of your key achievements and skills clearly. Have a look at my earlier blog on this subject - Writing a Winning CV With your new (and hopefully much improved) CV, you can place this on a job board like www.cwjobs.co.uk. This should generate interest from recruiters. At the same time you should be actively responding to job advertisements on the the job boards. Start pro-actively calling some of the better recruitment agencies and build relationships with several recruitment consultants. Try to identify Consultants who either specialise in your field or frequently advertise jobs in your field. Many Recruitment Consultancies have teams who focus on particular sectors (ie. Legal, Retail, Telco, etc.) while others focus on specific roles. (ie. Business Analysts, Developers and so on) either way it makes sense to work with Consultants who understand what you do and will be actively canvassing employers for your kind of job. Once you identify the right Consultants, offer to go and see them. Even if you meet up for coffee for ten minutes it's worth meeting face-to-face. Recruiters will be impressed by your motivation and will be more likely to think of you when the right job comes up.
What else can you do to improve your chances? Start thinking about the companies you would like to work for. Who were your last employer's competitors? What other companies or organisations operate in the same field? Try sending your CV to these companies on a speculative basis.
Don't forget to network, pull out that little black book (or Blackberry) and get in touch with all your old contacts and make sure that they are all aware that you are available. You might also consider attending industry events. There are a surprising number of free IT Conferences that you can attend which provide excellent opportunities for networking, have a look at http://www.events-on.net/ for the latest conference news and don't forget to take your CV!
Good luck with you new job!
Hyper-V may not be the best virtualization platform out there, but it does not have to be. Its unique selling point is deep integration with Windows Server 2008, complete with an easy to use management console. I've been using it extensively, though on modest hardware, and overall I'm impressed. Enable the hypervisor in the BIOS, install the Hyper-V role, create a new virtual machine, and go. I've used both Server 2008 and Windows 2003 as guest operating systems, and everything works as advertised. You can assign an .iso image to the virtual DVD drive, which is handy for me as an MSDN subscriber, since I test new Microsoft software by downloading it from there. A great feature is that you can backup both host and guests in one shot, even when the machines are running. Provided that the Hyper-V integration services are installed in the guests, the host backup will talk to the Volume Shadow Copy Service (VSS) in the guests to ensure the integrity of the backup.
Hyper-V is handy for Windows developers since you can run servers like SharePoint and Exchange without the clutter and expense of real boxes. Once the new machine is up and running, I generally connect through remote desktop on another machine, and it looks just like any other remote Windows server.
That said, there are a few snags with Hyper-V. While performance is generally good, I've found that disk I/O can get slow. There are a couple of things you can do to mitigate this. One is to be generous with RAM - more memory means less disk access. Second, Microsoft states that a fixed virtual hard drive is faster (though less convenient) than a dynamic virtual drive, which is the default. It is possible to convert from one to the other, though it is a slow operation.
Another issue is that because of the VSS integration, you should not attempt to back up simultaneously from the guest and from the host. It would be easy to do this by accident through scheduled backups, as Microsoft also recommends that you should do both kinds of backup for critical servers.
Using the supplied Windows Server Backup in a Hyper-V guest is awkward, since drives attached through USB or eSATA are not recognized automatically in the guest. You can backup to a network share or a second mounted virtual hard drive. I've heard that this problem is fixed in Hyper-V R2, which you can currently download as a beta.
The subject of Hyper-V and domain controllers is rather complex. Sandy Berkouwer has two separate posts which are helpful. Actions like pausing or saving state in a domain controller can cause problems, and Berkower suggests that having at least one physical domain controller is wise. Microsoft warns against having the host machine joined to a domain managed solely by a guest.
Another issue is that if you are unlucky, and are using snapshots (giving the ability to roll back to a previous time), Hyper-V can occasionally revert to an earlier time without being asked. If this happens, shut the machine down right away and see if you can recover it, as I did, by restoring a backup and doing a manual merge with the snapshot differencing file.
Microsoft appears to be handling the Linux integration services with all the enthusiasm you would expect. You can find the services here - though you have to sign in with a Live ID. Only Suse Linux Enterprise Server is supported, and the site forum, which is noticably lacking official Microsoft participation, includes telling comments. Why does the code have build dependencies on Xen (an open source alternative to Hyper-V), and only works with version 2.6.18 of the Linux kernel? However, note this comment from a user:
For anyone not aware, doing even light disk IO under a hyper-v linux guest without linux_ic will chew on your cpu the entire time, which makes it very unusable for any server that's not mostly idle.
The good news on the Linux front is that Microsoft has just announced an agreement with Red Hat to support Red Hat Enterprise Linux 5.2 and 5.3 - 32-bit and 64-bit, but apparently uniprocessor only - complete with integration services; we have to hope this works out better than the Suse partnership has, so far. It deserves some effort from Microsoft, since running a LAMP stack on a Windows Server machine via Hyper-V is useful.
Despite some hassles, Hyper-V is invaluable, and there is now little excuse for wasting power and space on numerous lightly-used servers. Virtual servers have many advantages, in cost, in ease of management, in flexibility, and in backup and restore. My guess is that they will become the norm for test as well as for production, hosted either locally or in the cloud.
The last decade has seen huge investment in ICT for schools, with a figure approaching £5bn being dedicated to technology and innovation. And with a further £857m earmarked for schools in the next three years, Britain could in many ways be seen as leading the charge with technology in the classroom. Some 99% of schools have made the switch to broadband, and over half have interactive whiteboards in the classroom. Add to this the successful 'Computers for Schools' initiative, which has already benefited some 100,000 young people in the UK as well as Civica's recent deployment of IT services to a number of secondary schools; we can soundly say the education sector is a thriving area of opportunities for IT professionals.
It's often noted that the public sector has some great prospects for IT professionals and the field of education is no different. With budgets available and long-term investment planned by the Government, the education sector remains one of the few that is actively recruiting for skilled IT workers, even in therse difficult times. Educational software packages, school hardware and increased investment in school technology infrastructure, present a number of job openings for both graduates and seasoned IT professionals.
In terms of breaking into the industry, education is similar to many other areas of the public sector. Having relevant experience working in education will of course give you an advantage but it isn't the be all and end all for prospective employers. Accreditations go a long way in any IT job application so highlight any that you already have or consider investing in a few relevant courses to get a few! There are several key players in the education technology market and even some that cater soely to the education sector; as such there will be opportunities available for the right candidate.
With the ever changing nature of the IT industry, so called 'growth areas' tend to come and go on a regular basis. However education appears to be one sector which bucks the trend, making it the place to be in IT circles.
Using the following simple techniques will ensure that your CV comes up in searches and that your skills and experience match the recruiter's search string.
When writing your CV, think carefully about your choice of words. If you are applying for a job advertised on one of the job boards such as www.cwjobs.co.uk then look carefully at the words being used in the advertisement and utilize these same words in your CV. I'm not suggesting that you mention skills and experience that you don't have but it does make sense to use the same terminology.
Remember that if your CV is sitting on one of the job boards, or perhaps on a recruitment agency database (along with thousands of other CVs) then these are the words and terms that a recruitment consultant will probably use to search for CVs.
For example, if you are looking for a position in IT as a Project Manager then a quick scan of the on-line advertisements for Project Managers might throw up a number of words and phrases that are common to all. These terms may include: Project Manager, Project Management, Prince 2, life-cycle, budget, change control, risk register and Microsoft Project. These are the words that a recruitment consultant may use to search for Project Managers. Make sure that you include all the appropriate words and phrases and all their variations in your CV.
Using the right job title is also another important factor. Many organisations use job titles that are meaningful and relevant within the context of their own business but which would not be used very commonly in the outside world. If your CV records that you have been (for example) a "Senior Critical Situation Manager" when in fact you are looking for a position as a "Problem Manager" or "Service Manager" then be sure to use this job title in your CV, perhaps in the Profile section.
I have seen many instances of Recruitment Consultants searching for candidates on a CV database and "missing" some of the best candidates simply because they didn't have the "right" job title on their CV. Identify all of your target job titles and ensure that you use all of them in your CV. For example Analyst Programmer, Software Engineer, Software Developer and so on.
When listing your IT technical skills you should also try to use all the variations of terms that a Recruitment Consultant is likely to search on. For example if you have good Java ME skills don't forget to use "Java Micro Edition" as well. Remember that Recruitment Consultants can't be experts in every technical field and if their client's job specification indicates a requirement for "Java Micro Edition" that's probably the term they will use in their search.
Finally remember that Recruiters will probably be viewing your CV on a computer screen so make sure that you get these important words and phrases at the beginning of your CV and not hidden away at the bottom of the secord or third page.
Using these simple techniques will ensure that your CV comes up in searches and that your skills and experience match the recruiter's search string.