I have recently had the peculiar experience of trying to hire software developers. I have read resumes, posted on different job boards, talked to people live and by phone.

The funny thing is that I have had to reject almost every single applicant.

You might say that perhaps I was too demanding. That’s certainly possible, but I don’t think that’s the case. The only thing I was looking for was the ability to independently solve simple programming problems. If I had lowered my requirements any further I don’t know what I’d be hiring but certainly it wouldn’t be software developers.

After having read dozens of resumes I felt confident in the abilities of a few candidates. They all had the right keywords in their resumes. They all had valuable real life experience. They all had been able to keep a job for more than a year. They had good educations.

So I administered my little litmus test. The test was to write a routine that finds the largest possible product of two numbers in an array of positive integers. I like this test because it’s just a couple of lines of code, so it shouldn’t take too long for the candidate – I don’t want to waste their time unnecessarily. At the same time there are many ways to solve the problem – some better than others.

I gave each candidate unlimited time to solve the problem. Since there weren’t any time constraints I didn’t think anyone would fail, and I expected to see excellent solutions.

What I saw was… strange. I gave the test to the people I thought were the top ten people from a set of 40-50 candidates from Silicon Valley.

Only two candidates came up with a working solution.

Even people who submitted their answers via email submitted non working solutions!

It’s not a large sample. Maybe I failed to find the top candidates out of all the applicants. But as anecdotal as it might be I am still shocked. How can highly educated software developers with many years of experience fail to write software to find the two largest numbers in a list?

What do you think? Is the educational system so horrible? Is software development fundamentally hard? Are resumes misleading? Did I just run across a bad batch?

For an online company, a CMS is almost something required. I would go as far as saying a CMS is for an online business as a binders with indexes are to an accountant – it’s simply necessary.

However, since we’re just starting up, we still have no need for a CMS, a small blog is all we have to offer you at this point. But this doesn’t mean that we don’t have any experiences with CMSes. I have for instance been working with another company to migrate their old static (Frontpage-made) homepage into a modern CMS with a webshop.

The result? The company was extremely happy, and was surprised that I could create such complex web-page for that cost.
So what was the cost of the software? $0.

I guess you know us by now, and that you probably already figured out that I was using Open Source software for this, and that was the reason for the low cost. So what did I learn by setting up this CMS? What software did I use? What should one consider when choosing a CMS?

What software should I choose?
A good start is to surf over to Opensourcecms.com, where you will find pretty much every Open Source CMS/Blog on the market, set up in the default mode. Here you can both browse the admin- and frontend-interface. In addition to this they also have a good list of features for the different softwares.

My initial choice here was Mambo, because I liked both the front-end and back-end as well as the features.

Will my server support the software?Most likely. Most of the more sophisticated hosts do run their servers on Apache with PHP4/5 with MySQL as the database-server. However, if your host do not run this setup, you might still be able to run the software, but you have to check the specifications on the software. Whether your server runs Linux (any distribution), FreeBSD or any other flavor of *nix, shouldn’t make any difference.

I want to set up a webshop that integrates with my CMS, what CMS should I choose?
There’re plenty of CMSes that can be set up with webshops, but I ended up choosing Mambo, because it could be easily integrated with VirtueMart, that is a sophisticated Open Source webshop.

However, I said that I initially chose Mambo. I’m currently in the stage of migrating away from it. The reason for this is that I did experience problems with the compatibility between Mambo and VirtueMart. They seem to work nicely together in general, but I’m having major problems with Firefox, which of course bothers me a lot.

The CMS I’m currently migrating to is Joomla!, which is a development of Mambo, where parts of the Mambo-development team broke away from Mambo and went their own way. Joomla! and VirtueMart are closely connected, and the VirtueMart-team recommends Joomla! rather than Mambo to run with their software.

Another reason for migrating away from Mambo is their upgrade to 4.6.x. This upgrade is a major upgrade from the previous 4.5.4-release, but it came with a big price. I’ve spent several hours trying to migrate over to the new release, but every time I ended up going back to 4.5.4 due to miscellaneous errors that occurred. In addition to this, when 4.6.0 was released as stable many people started to upgrade their sites, and most people ran into serious problems. A day or two later 4.6.0 was declared unstable. This lead many, many webmasters to spend several hours in this progress up upgrading, and finally having to give up and move back to the previous release (if they had a backup that is). I’ve read many stories in the forum from webmasters who had major downtime on their sites due to this problem. Sure everybody can make mistakes, but this was one severe mistake from the Mambo-team. If you’re trying to make a software that appears to business-clients, you simply cannot afford these kind of mistakes.

What is the major drawbacks of running Open Source CMSes?So far, the only real problem I’ve experienced with this setup has been problems with VirtueMart. Sure, Mambo/Joomla! and VirtueMart does have a fairly steep learning curve for the average computer user, but once you understand the system it’s fairly straight-forward.

One word of warning though, don’t expect equally good forum-support for VirtueMart as in many of the other Open Source-projects. The code of VirtueMart appears to be something of a mess, where only the lead programmer knows how things really works. Their forum is filled with posts without answers, so don’t count on getting all your posts answered.

Blogger decided it didn’t want to stay up during our hackaton. I’m not sure why but Blogger seems to be having a lot of issues lately. Anyhow, that didn’t keep us from finishing an initial site design, get some code written and get our new intra web server almost fully configured before we had to wrap up. Pretty good progress all in all!

In order to start development of our server software we are installing a new server which we will temporarily host all our software on. This means we don’t have to start paying $150 a month or wherever for a dedicated server just yet.

We’re currently installing FreeBSD on an old old laptop (4 years is a lifetime in CS!).