I will try to answer this as coherently as possible without downloading too much trouble into your brain:
I had two engineering degrees and did very tiny tiny bit of programming in C,C++, and Java. I did a whole lot more scripting in MATLAB and modelling with SIMULINK. I also did some TTL diagram-based dataflow programming using Design Architect, a nearly-obsolete solaris hosted application for stick diagram and logic circuit design.
WHY A DEGREE IS ALMOST IRRELEVANT FOR A PROGRAMMER
Now these days, a lot of universities do not really focus on making you an expert. They are either busy making money and saving by employing really pour PhD (no disrespect to anybody here) students who are not good at programming. Thereofore, I never expect any university to teach anything more than the theory. A lot of good programmers in this world are not uni graduates, they sometimes even did not have any university qualification. What they had is the ability to ask "right" questions. It can also be argued that universities help you expose yourself to the world of technical knowledge so that you can start asking questions about some of these. Therefore, it is down to you most of the times and surprisingly, you can do all the things that universities offer; by YOURSELF.
University degree is unfortunately, favoured in pretty much all modern organisations due to "certain" reasons. I am not going to go into that (in big trouble already :D).
Therefore, University gives you the "Education" about things like s/w development cycle, h/w design principles, different techniques, practices, EMC regulations etc. is. But, unless you do everything hands-on, it is not possible to be an expert or specialist in anything.
PLEASE DON'T TAKE IT AS AN ARGUMENT, People like Martin Fowler have been to the university. But I am sure he became an expert by assessing the knowledge that university was providing, asking the right questions, and coming up with better solutions to do existing things.
WHAT I THINK ANYONE NEEDS TO APPLY FOR PROGRAMMING/SPECIALIST JOBS
If I use your case as an example, I think the best evidence is how much work you have done and how concisely you can describe it to the employers in the resume. I know a colleage of mine who had to do C# programming when we joined. He only did Java and Android Apps, but quite extensively. Most of the industry-leading HL language syntaxes are quite similar (arguable). He simply transferred his knowledge about "how to do thing" rather than "What tools can I use to do the things" - because 7 or 8/10 times the code guts will read the same. He did a lot of work outside his uni timetable.
CAN YOU APPLY FOR JOBS THAT WOULD REQUIRE YOUR SKILLS AND EXPERIENCE
Given your short profile in the original question, I would say you should try for jobs in Research and Technology of a company. The reason is that they do quite fundamental, proof-of-concept type R&Ds and also sometimes application deployment which may require your background knowledge and practical experience.
Rumour has it Physics people are good in Algorithm development :p. is it? Then definitely R&D of major companies should be good for you :)
CAN YOU COMPETE WITH GRAUDATES E.G. WITH CS?
Yes and No - Yes if it asks for an engineering/technical degree. No, if a job asks specifically about a degree in fundamental computer/software engineering or cs. Sometimes, the discretion is up to the recruiter whether or not they would like to take you too. You will be surprised to know that sometimes even the job adverts and not conclusive and they hope that people with more practical experience applies. I have seen jobs going to people with a degree in information management, but they had 2/3 pages of work experience (open source, companies, private venture, etc.). THey get the calls before anybody. So if you are someone like them, don't worry too much. It is entirely what the company is trying achieve with your input (e.g. fundamental study, programming, quick app making, industrial collaboration, etc.).
ANY SPECIFIC EXTRA IN CV
If you have previous experience, put it first after your name. THIS IS THE MOST RELEVANT PART. Be reasonably descriptive about your exprience. Cover these:
- What you have done?
- How long did the project take?
- What did you use and what experience you obtained?
- Any public/private recognition for these. e.g. certificate
- Any possible ID (innovation disclosure) e.g. Any patents etc.
These should boost your CV to 90%. The next section is degree and projects. Also, be reasonable in describing your final year project.
I think that's pretty much it. I hope this helped.