Recognized rust certification?

Hello,

I'm exploring the possibility of introducing Rust into our organisation. We're a contracting company and would like to be able to project confidence in the skills of our engineers to customers e.g "We have certified Rust engineers". Are there certificates out there that are officially recognized or even given by the Rust foundation? Optimally with levels like beginner, intermediate, advanced, and expert and not multiple choice.

Given the homepage has no section on certifications, I fear what the response will be, but it should be asked anyway - to at least show that there is interest in this.

A quick search has mostly turned up Coursera, EDX, and Udemy at the top of the results. To be honest, those seem like good courses for personal development (having taken some courses from those websites myself) or at least preparation for certifications, but not good indicators of actual skill.

Thank you. I look forward to your responses.

My controversial opinion:

As a customer, I would be suspicious if a contractor would advertise with "we have certified <programming_language> engineers". With a software engineer, I usually do not care what programming languages they learned. I'd rather discuss with them our system and architecture requirements and see from their responses whether they have sufficient knowledge to implement our requirements.
If they also have programmers, I'd hope that they're fit in whatever language they'll use.
If we want to be included in the software development process, our own programmers can review each PR and if the produced software does not meet our standards, we can ask for a different team of programmers of the contractor to take over, or bail out of the contract.

At no point in time I'd be interested in whatever "certificate" the company bough for their "engineers" from a shady certifier.

13 Likes

While I don't know of any formal certification programs for Rust engineers, there is Ferrocene which provides certified versions of the Rust compiler for industries that need such things.

2 Likes

Interesting idea. Never my 40 years career I have worked with anyone who had certifications any programming language. Not even in safety-critical areas like avionics or military projects. Usually knowing the language was not even a strict requirement for getting a job on a project. It was just a detail one could pick up on the job.

So I'm curious as to the motivation for certification in any programming language. What other languages have you been using? Do you have certifications for those?

Anyway, not exactly a certification but just for fun I recently completed this online course in Rust from Aalto University in Helsinki: Aalto FITech101 Courses That earned me 3 credits (Think one needs 250 credits for a whole CS degree). And a certificate is on the way!

3 Likes

I'm afraid that you got me curiosity. What industry and what language even cares about certificates?

I think I knew about some certificiate from Microsoft (Microsoft Certified Professional that was called, right?), but even that it wasn't related to any language (and I have found out that one of us team members had it when we talked informally about something unrelated, no one really cared about them).

Thus, I guess, before any certificates may be established we may need to know who even wants them and why.

Certifications do exist in the industry, for example from Microsoft and Red Hat, but neither of those have anything about particular programming languages AFAIK.

More of a thing in devops/sysadmin space, and also are widely regarded to be a borderline scam.

5 Likes

I've never even interviewed with a company that requires or expects A+ or other CompTIA certifications. But then again, I have also never worked for a company that requires any credentials of any kind, not even a high school diploma.

Perhaps the labor landscape has changed drastically, but I grew up believing that a college education was non-negotiable. Turns out, all of it is! Can you do the work? You're hired.

A certificate heavy resume is a red flag.

The measure of a Rust developer is the quality of software they have written, and ideally, what is proven in production.

If you're looking to dazzle, sell and snare uninformed clients with a subpar offering, you may as well just make up some certs and concoct some fake domains and landing pages for them.

If you're looking to build quality software and deliver value to your clients - just do that.

Being able to confidently talk through the solutions you can offer and point to successes in past work is an infinitely more valuable approach to sales and client acquisition than a list of certificate names.

1 Like

I'm veering off topic here but I've always thought that it is kind of wild how software engineering still lacks widely established formal professional qualifications.

Like you wouldn't expect your doctor to just be someone who taught themselves medicine from the internet in 6-12 months. You might be surprised to hear that a new building in the city center was being built by a few people with a radical new idea how to build skyscrapers.

Don't get me wrong, there are differences between software engineering and physical engineering. But it's also interesting to think of software engineering as still so very young, as professions go.

2 Likes

If your rust code compiles and you don't use "unsafe", that is a pretty good certification.

I personally think there are three reasons for this:

  1. Bad medicine and bad civil engineering kills people. So does bad software, of course, but a lot less often and a lot less directly (in most cases), so there is less demand for mandatory certification.

  2. The parts of software engineering that can be usefully made really rigorous often are, by building them into the design of our languages and libraries, so they apply to everyone who uses that prior work. When you use Rust you don’t need to be taught not to make the “billion dollar mistake” — nullable pointers everywhere — because most of the language doesn’t include them.

    When you try to formalize more things, you often end up with inflexible design principles that make people write complex and boilerplateful code that, often, is not better in any specific way other than “obeys this principle and is comprehensible to people who know that principle”.

    Of course, lessons learned this way are often lost when people design new languages and rewrite libraries, or disregard libraries and write things from scratch. This is not a truly solved problem — just a meaningful difference from doing work on physical objects. When we figure out something that should be done every time, we have our computers do it every time for us, ideally.

  3. Empirically, no certification program that has been run so far has obviously increased the quality of software in any domain. As far as I know, the most any has ever done is act as a resume filter for “it’s not a complete falsehood that this person knows about this technology”.

5 Likes

There are also varying degrees of certification requirements in civil engineering. The requirements for architects are very different from requirements for construction workers.

You mean… Sagrada Família, right? And famous Hanging Chain Models approach?

Yes, surprising, that's what is happening. From 1889 (not typo!) and still in progress.

That's not too common, but sure, it's happening, too.

Have that actually worked for any other industry? Certification is not about making anything better, nope. Never was.

Certification is about creation of shortage and thus making sure people would be getting higher salaries and thus would be going into that profession. Or, if job is already too popular, culling the competition and making people look elsewhere.

Sometimes, when profession is dangerous enough it's there to ensure that responsibility in case of failure would be spread far enough that doing that work would even make any sense (bridge crash or skyscraper collapse may lead to thousands dead and if the most you can expect to get would be posessions of poor sap who designed that thing because he believed he is genius… you need insurance and insurance and reinsurance and that brings the need for the certification, too).

The fact that certification also making things a tiny bit better is also there, but that's somewhere between goal #3 and goal #10.

The UN was not created to take mankind to heaven, but to save humanity from hell – certification works on the same basis.

Finding good software engineers is hard enough without any extra certification requirements and salary is, usually, high enough thus certificates are simply useless, because the raison d'ĂŞtre is just not there.

Certifications for dangerous cases exists (Ferrocene does this job with Rust), but certification just for making sure there would be less candidates available? Why?

I'd expect a software programmer, and even more so an engineer, to have some sort of formal education and degree. This does not include knowledge of a specific programming language.

Similarly I want a surgeon operating on me to have some form of medical education. I'd not expect them to have a certificate from the scalpel's manufacturer.

1 Like

Hmm... One of the best software engineers I ever worked with had no formal qualifications and had spent the first decade of his adult life making a living as a dope dealer. But there he was as a team leader in company building military radar systems. Of course he had grown up with the first generation of 8 bit computers and as a kid made money selling hacks and cracks for games as well as writing his own. Just what you need when you need someone who understands real-time programming and how to squeeze performance out of limited hardware, as we did there.

I recall he said to me once "Why does the company force me to manage this team when I have to come in at the weekends and rewrite all their work so as to make it work."

But yes, most of the people I have ever worked with had no language certifications let alone formal CS education. They had educations in electronic engineering, maths, physics all kind of subjects. At the end of the day the actual language in use was considered a minor detail they could pick up as they go.

1 Like

Most "software engineering" is a lie, and it a mess that largely doesn't work. For nearly all projects, if you went to get professional liability insurance for the correctness of your work as a software engineer -- like is normal for P.Eng. -- you'd get laughed out of the office.

Other than outliers like NASA or some safety-critical work, TBH the most engineering-like work is the stuff that's looked down on for being boring, like if you're just setting up websites for restaurants or something. But of course boring and commoditized is exactly what the people who ask if you have certificates want, because they want to hire the cheapest person possible who still has the certificate.

Anyone who believes there's a major productivity difference between programmers, rather than just a bar of satisfactory, probably doesn't have much use for certificates.

But that's precisely where software certification ended. We have insane difference in age with my sister, 10 years… she is former “software engineer” from an era when certificates existed… and I just remember the moment when she started seeking another profession (she's now accountant): after 3 years with a kid, when she brought her pile of certificates to interviews… and they told her they no longer matter and can she, instead, show them what she can do, right here, in this PC…

What ended that era of flowcharts and UML diagrams with pile of personnel that would transform all that into a programming language? Certificates were in demand, back then…

Yes, and that was what people were trying to build with computers, too, around half-century ago. The whole thing crashed and burned, spectacularly, ending with Taligent and Workplace OS fiasco… but I don't think the whole era ended because of problems with IBM's bureaucracy…

Yes, that's probably it. In most professions the “top guys” don't actually show a certificate, everyone knows them because of what they did, not because they have some papers… but there are also lots of boring and commoditized work – and since that's where they typically start their career even “stars” end up with pile of certificates, in the end.

But with computers… after “PC revolution” that role have disappeared: why would I ask my employer to hire some cheap commoditized worker with a certificate – if that job can be easily automated and run by computer that's asking for much smaller sum (to pay for electricity) than even cheapest worker?

The general consensus seems to be: there are none.

Some people shared links to companies that give training, thank you for that :pray:

It would be great if the Rust Foundation had a list of recommended training partners on the homepage (the learning page would be a good spot). Go does, and Oracle has their own training and certification, Kotlin has a list of learning materials which include recommended courses, and probably there are other languages that do the same.

Cheers

P.S I can't link to more than two things as a new user, so the referenced pages do require a quick search.

1 Like

If you are interested in Rust training, Training - Ferrous Systems might be a good fit for your company. There are others, but none are "blessed" by the Rust Foundation or Rust Project, and there is no path to accreditation. It's more of an independant contractor landscape.