What are job prospects like for MATLAB programming, and where can I pursue online training for it?
John Michell answered .
2025-11-20
MATLAB is much more widely used than most people realise - I know it’s a rather vague statistic, but the TIOBE index currently puts MATLAB as having very close to the popularity of something like Objective-C or even Ruby, and growing.
Nevertheless, the job market for MATLAB programming is somewhat different from the job market for other languages (such as Java, C++, Python, Ruby etc.), because MATLAB is a somewhat different kind of thing from those other languages. In particular, MATLAB is:
Because of these differences, you'll typically find that there are not many people who have a permanent job, with a job title of something like "MATLAB developer". More likely they would be an engineer, or a scientist, or a quant, or a data analyst, who is qualified in those areas, and use MATLAB as part of their job.
So if you're looking for a permanent job involving MATLAB programming, you'd be better off getting trained in one of those areas, and supplementing that with MATLAB skills. If you're in one of those industries, MATLAB expertise can be a fantastic thing to have on your resume, but it’s unlikely to be your core competency.
However, if you’re considering contract work rather than a permanent role, the picture is a bit different.
The MATLAB users above will typically start off using MATLAB interactively to do analysis or modelling. Then they’ll start to automate that analysis using the MATLAB programming language in a “scripting” style, or maybe a suite of reusable functions. Then they’ll share that within their organisation, it gets recognised as useful, and eventually they’ll want to take those scripts and rewrite them into a proper application, or scale them up by parallelising them, or productionise them in some other way.
It’s at this last stage that they commonly have problems. Note that this is not because of some deficiency of MATLAB that makes it unsuitable for large-scale or productionised applications; it’s just that scaling up, or productionising applications takes skills in software engineering, and these users are basically engineers/quants etc who can code, but not software engineers.
I make a pretty prosperous living helping these people out, as a contract MATLAB developer, and I’ve never been short of contracts at all. On a typical contract, the client I’m working with has implemented some technical algorithm, and it works well, but they need to improve it in a way that is beyond their skills. They might need to wrap their algorithm in a robust, usable GUI. They might need to parallelise it to speed it up on a much larger dataset. They might need to call it via a web service rather than as a desktop application.
And alongside those improvements, they pretty much always also need, and appreciate, some education in basic software engineering and devops processes. They may not have used a version control system, they are unlikely to have implemented any unit tests, they are probably not very good at effectively documenting code, and they are very unlikely to have any experience in implementing an automated build process, or a deployment and release strategy.
If you are able to combine the right set of skills, an ability to work collaboratively with experts in a technical domain, along with very solid MATLAB programming expertise, there are plenty of employment opportunities for MATLAB developers.