I'm looking to start a career in the tech sector without a computer science background. I studied A-level Computing at college (= high school), and my undergraduate degree was in linguistics. I've applied for a number of software developer apprenticeship roles, but I was starting to wonder whether it's possible to gain work as a software developer simply by building up independent knowledge in the field I'm applying for, without a CS degree. I'm in England, for context.

Now, I know that this is question is going to be domain specific and that My Mileage May Vary accordingly, but what I'm looking for is a rough ballpark. For example, if I applied to a "Java developer" position, what kinds of skills might they expect of me? Would an interviewer be looking for a good-enough knowledge of Java, or are there other factors?

  • There are many, many resources available online detailing what to expect in software developer interviews. You can also look specifically at what the top tech companies ask (e.g. Google, Amazon, Facebook, Apple, Microsoft), but they are notoriously more difficult than what you might find elsewhere. Beyond that, read the job description: if they say you need to know certain technologies, then you should expect questions about those. They also tend to mention how much knowledge is required ("expert knowledge" or "basic understanding"), even if such descriptions are vague. Jun 20, 2020 at 0:18
  • This can vary greatly from one company to the next, and tends to be quite broad, open-ended and highly technical, which means this question is unfortunately not really a good fit for this site. Jun 20, 2020 at 0:23

6 Answers 6


What level of expertise is expected of someone applying for programming jobs?

It depends mostly of two factors:

  1. what the business needs and wants for a specific job;
  2. what you are able to provide from the technological point of view.

If you manage to reach an agreement with the business, the job is yours.

The jobs can be from intern, to entry-level, to senior and expert. Where you are on this scale, only you can find out - maybe undergoing some test.

According to your explanation, you should target for a while jobs for interns and entry-level. Once you gain experience, you can target higher-level jobs.

My Mileage May Vary

You provided so little specific information, that your mileage will actually vary quite a lot. That is not a real problem, since you should be able to use the information you have (not provided here) in order to find the better ways.


It very much depends on the position you're applying for. You can't expect a one-size-fits-all answer here. Some companies are looking for someone who can get started right away, others are open to training their new hires. You need to find the job listings that are listed as entry-level.

For example, if I applied to a "Java developer" position, what kinds of skills might they expect of me?

I suspect you're thinking that a specific title has a specific skillset that you're required to have. That really isn't the case, especially for software development. When I apply for the same "C# developer" role, different companies use different technologies and give different importance/weight to certain technologies.

If you're looking for an entry-level job, there shouldn't be too many expectations on your proficiency with specific technologies, but the point still stands that there is no universally applicatble list of skills for a given job title.

I would suggest that you shift away from the "specific skills for a role" mindset, as it is often the willingness to adapt to different technologies that companies value. It's not just about what you know, it's about what you're willing to find out/learn.

Would an interviewer be looking for a good-enough knowledge of Java, or are there other factors?

It's usually not even that technology specific (though mileage may vary). I've applied for several positions where I didn't have specific experience with the technology the company used, but my experience with other tech stacks and willingness to learn were more than sufficient for a company to still make me an offer.

Don't just tell the interviewer you don't know how to do that, focus on telling them you're willing to learn. If you have equivalent experience in similar enough languages/techs, refer to that.

The skills of a developer is not just which syntax they know, it's the general skill of developing software (analysis, breaking down a problem, learning new concepts, keeping up with new releases) that is the main selling point of a developer.
If you showcase that skill, you'll vastly improve your chances to get an offer even if you don't know the specific language in question yet.

... whether it's possible to gain work as a software developer simply by building up independent knowledge in the field I'm applying for, without a CS degree

You don't need to have a degree in CS. I didn't have one but I found an employer willing to take me on. In my case, there is a government-sponsored employee training program that made it more attractive for companies to hire people without a degree or practical experience, but colleagues of mine have been similarly hired without a degree nor that sponsored program.

But I do strongly suggest that you build up a portfolio, enough that people can see you've got the aptitude for software development. Build a few simple applications and put them on a public repository, contribute to some open source projects, build a website, ...

Software development and IT in general is a field where a degree isn't a hard requirement (barring highly specialized roles, which "developer" isn't), and experience/aptitude are given significant weight as well. But in absence of a trusted certification like a degree, you're going to need to proactively demonstrate your experience/aptitude in order to be considered for the position.


When you can not prove your abilities as a software developer with your employment history or your academic qualifications, then it helps to build a portfolio of software you developed.

You an create such a portfolio by creating some software other people might use and publish it. You can also create a GitHub account and contribute to open source projects.

This allows potential employers to look at your work and see for themselves if it lives up to their expectations.

  • 1
    Why has this answer received a downvote? Seems like perfectly viable advice to me.
    – Lou
    Jun 19, 2020 at 14:41
  • 1
    Downvoted because literally nobody looks at GitHub, and making a "portfolio" is more or less a waste of time. I have around 10 projects on my GitHub that various companies have asked me to do for them over time, and still I continue to get requests to do coding tests and assignments despite having my GitHub prominently displayed on my resume. That said, if OP does not have a programming background, learning how to use Git by creating a GitHub account and hosting their own personal practice projects there, is not a bad idea. But it is not a "portfolio".
    – Ertai87
    Jun 19, 2020 at 17:42
  • 1
    When I was in charge of hiring on my last time I would look at candidates GitHub profiles, especially more if they were less experienced. During one interview I pulled up the candidates GitHub so we could talk through what he'd done, face to face. Having a strong portfolio isn't going to allow you to skip technical tests, but it sure might help you get to the test in the first place if your CV is weak
    – tddmonkey
    Jun 20, 2020 at 18:05

I studied A-level Computing

This is a really strong qualification but not one that is recognised by all employers.

Finding a job might be tough but you should be persistent. Sooner or later you will meet an employer who has completed the qualification themselves (and who therefore understands how useful it is).

In your applications you want to focus on:

  1. Your degree
  2. Any jobs you have done
  3. Any job-like activities you have done (e.g. organising social events)
  4. Your current programming project (you need something current that you can talk about enthusiastically)
  5. Previous programming experience
  • How can a certificate be strong but is one that isn't recognized by employers? If it isn't recognized by employers that's an indication it's not worth the paper it's printed on.
    – Donald
    Jun 23, 2020 at 0:27
  • @Donald plenty of high quality qualifications are not universally recognised. Most employers will recognise: degree, masters, PhD... and any exams that they have completed themselves. Anything outside of that is going to be an unknown quantity for most people, regardless of how useful the qualification is or isn't. Jun 24, 2020 at 0:52

Fortunately for you, Software Engineering is probably the field in the world in which employers care the least about your education. Among others, there's the famous story about Bill Gates did not graduate from University and went on to, well, you know the rest. Famously (or perhaps not), recently companies such as Google and Apple have begun removing university requirements from their job postings. So yeah, don't sweat it too much if you don't have a CS background on paper.

What you should do first and foremost is make sure you actually know some programming. Pick a language and become at least a novice level in it. Understand basic concepts like conditions, loops, functions, and do on, and make sure you know how to use them, because that will definitely come up in the interview. Think of a (VERY SIMPLE) project you'd like to build, and build it, just for practice; you don't want to read a bunch and then think you're ready and then as soon as the interview starts you realize that all the reading you did didn't actually help you.

Once you've done the above, then you can start applying for JUNIOR-LEVEL jobs. Stick to junior, because you are junior, or perhaps even lower than junior. You'd need to find a company that will allow you to compete in their hiring pipeline against people much younger than you with perhaps more experience (i.e. university new grads), but some might be willing to let you try. If you have third-party recruiters in your area, you can connect with them, they might give you some help.

Good luck!


The first job I ever had, at the college computer center, was to tear printouts off the line-printer and shove them through the appropriate slot. I didn't care: I was inside.

Look for any position that puts you "inside." You will learn on the job.

  • I don't think this is helpful advice for modern job hunting. The market's a lot more competitive for a grad today.
    – Lou
    Jun 19, 2020 at 19:23
  • Did you become a professor in this college?!
    – guest
    Jun 19, 2020 at 19:47
  • 1
    People aren't generally hired internally anymore, so I doubt this is practical. Jun 19, 2020 at 21:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .