What Language Should I Learn First?

This is a question I often see asked online – what language should I learn first?

The answer – don’t worry about it – just pick one!

At school I was taught COMAL, which is similar to BASIC. At University, Java and Visual Basic. I then learned PHP in my spare time, which I initially used when I landed my first job, before eventually switching to C# and ASP.NET.

I now program exclusively in C#, yet that isn’t where I started out.

Your choice of language is a very personal thing – C# just happened to appeal the most to me. The syntax made a lot more sense than any other. Some others love python and swear by that, others love Java. Some even like Visual Basic (Weirdos!). Whatever you start with, probably won’t be what you end up using.

You’re Not Learning a Language, You’re Learning Programming

The one thing I learned in my career is that programming itself is a skill, and that’s what you need to master, not a particular language. You need to learn to think logically, in a way that the computer will understand. You need to understand structure, in terms of objects and classes, and also loops and functions.

None of this is language dependent.

Once you master programming, you realise that the rest is just syntax – it’s like when you were young you first needed to master the skill of speaking, writing and reading. Once you had mastered that in one language, learning a second language is straightforward.

I do C# now, but if I wanted to switch to Java or Python, I could do so in no time at all.

So what language should you learn? Don’t worry about it – just pick one and start learning, you can always switch later – and you almost certainly will.

Read More

Don’t Ignore The Freelance Sites

It’s often said that you shouldn’t even bother looking on freelance sites such as PeoplePerHour and Upwork if you are looking for freelance work. In fact I’ve been guilty of saying the same thing myself. I’ve tried looking for work on these sites on and off for a few months now, with little success initially. But after speaking to a friend recently, he persuaded me to keep trying, saying he had succeeded in finding some good customers on PPH in the past, so I kept trying, and finally I landed a major client, paying close to my normal rate.

Below I will share some advice on how to succeed on these sites.

The Problem With Freelance Sites

The biggest problem most people have with freelance sites such as PeoplePerHour, Upwork, Rentacoder etc is that they are a race to the bottom. Due to their international nature, anyone from anywhere in the globe can bid on a job, meaning those from countries with a lower cost of living have a massive advantage over those from countries such as the UK and US where the cost of living is higher. This puts a lot of people off at first, when they start getting drastically underbid by someone prepared to work for £5 an hour, when you’re trying to charge closer to £50.

As a client trying to hire a programmer, this presents an easy way to complete a project on the cheap. But not everyone is on the site trying to find a freelancer on a budget, there are still many companies using these sites as an easy way to recruit an experienced freelancer. By persevering, you can still make a living and find some high value customers on here.

Ignore The Number Of Submissions / Applicants

I’ve used PPH as both a buyer and a seller, and one thing I’ve come to notice is that few people bother to read the specifications of a job. When posting a job, I would always get flooded with applications that were clearly a copy + paste response. If I’m outsourcing a job, it’s normally because it contains some specific technology I’m not familiar with, yet I’d receive countless generic responses from people who clearly hadn’t read the specification, and were just applying to any job in the category they had chosen, and didn’t seem to have any experience with the technology at hand.

Anything that looked like a generic copy and paste, I just binned immediately out of principle. If they don’t take the time to read the job and formulate a proper response, then I don’t expect their work to be of a very high standard either.

As a result, you can all but ignore the number of submissions. A job may have 20+ applicants, but you can bet at least half of those will be rejected instantly for being generic, or showing no apparent experience with the technologies at hand.

Only Bid On Jobs With Proper Specs / Detailed Descriptions

The way to really succeed is to become selective on what you bid on. As you spend more time on the sites, you’ll soon get a feel for what jobs you are likely to succeed with, and what jobs are just looking to get something done on the cheap. The biggest giveaway tends to be the level of detail they have provided in the description. Any user posting a very brief description of the requirements, probably isn’t terribly serious about the project, and just wants it done quickly and cheaply. Those taking the time to fill out an exact description or provide a full specification, are more likely to be serious about the project, and will pay better.

Bid On Jobs From Your Own Country

Another good strategy is to always bid on jobs from your own country. I now search exclusively for jobs posted by people based in the UK, like myself. There’s a huge advantage to working with someone in the same country as you – common language for a start, no time difference, and the ability to pick up the phone and speak to them easily when you need to. It’s also a lot simpler for the client, without having to deal with foreign currency conversions and taxes.

Those who are prepared to pay a decent wages will almost always hire someone from the same country as them. This can be another reason why the number of submissions can be ignored – most of them will be from abroad.

Check The Budget / Experience Required

PeoplePerHour forces every job poster to select an experience level required when posting a job – this can be a great indicator of how much they are prepared to pay. Those choosing “Beginner” generally want the job done on the cheap, while “Expert” level jobs tend to pay a lot more.

Upwork has a similar setting, showing “beginner”, “intermediate” and “expert” level projects, but also for each person posting a job, it will show you an “Average Hourly Rate Paid” figure for previous jobs they have posted – make sure this is at least close to your normal rate, but bear in mind this is an average, so charging slightly above this rate may still be acceptable.


After much trial and error on these sites, I finally found a system that is fairly reliable in finding decent prospective projects. I now search exclusively for “Expert” level job posted by people from the UK, who have an average hourly rate spend of at least £25+. I then read the descriptions and specifications to see how much detail they’ve gone into – anything with just a brief description I discard immediately.

By following these rules, I’ve been able to land clients paying my requested rates. Let me know how you get on.


Read More