Official Certification Path?


#1

Hi all,

I find the rust language very interesting, obviously. I’m currently working as a Java developer and am very interested in learning rust on a deeper level. However, I find that my current main limitation is the lack of time, working a fulltime job and having a private life at the same time narrows down my possibilities quite a bit.

To my point with this thread, I am wondering if there are any chances of an official “Certification Path” being provided in the not-too-distant future? Having an official Certificate to point to would make for an easier pitch to my employer, most importantly it might even allow me to spend a few work-hours per week studying for such a certificate. Now I know there are online courses I could take which could serve as a substitute, but in my opinion an official certificate would simply be an easier “sell”.

Anyway, just wanted to ask and see if there is anything like this being developed or not. Thank you in advance for taking the time to answer :slight_smile:

// cb


#2

Hi,

are you speaking about an online certification or an in person course?

I give professional Rust courses in Europe through https://asquera.de, in the US I know at least of https://integer32.com. (Courses in South America might be incoming) But at least for me, that’s an on-premise offering.

I give out certificates for the course material, but there’s no formal certification path. That’s a bit of a catch - I’m squarely rooted in the FOSS community and not that much in the enterprise world, where formal certification doesn’t matter that much. So, there’s no clear case for me to offer certification. Also, the business is viable, but not large enough to go through all the effort of researching and investing into what a proper certification path would entail.

We (asquera) do consider providing courses to a wider audience currently, but I’m not sure when I can manage to offer that.

So, my question there would be: what would be the minimum necessary for you to cover your argument? If courses and training are available, would that be enough or do you need a certification from some authority?

Best,
Florian


#3

Hi

When it comes to courses I would primarily consider online offerings, as in the form that are offered by, for example, Coursera.

However to answer your question, mainly I am wondering about any existing or upcoming possibility of obtaining a certificate with the authority of the “official Rust team”. For example, something in the shape of “Certified Java SE Professional” (or whatever it’s called these days) that Oracle provides for Java. In general, this would then probably be something that entailed taking a “certification exam” in order to receive the certificate.

// cb


#4

Here’s the thing: I definitely see the interest of setting up such a program, but personally speaking, unless someone wants to invest hard cash into setup, I don’t see it happening.

It’s definitely only of enterprise interest, which means I’d be hard pressed to find someone who would set up a certification program in an open source organisation fashion. “Growing the language in the enterprise” is certainly a worthwhile goal, but given the longevity that such a program needs, I wouldn’t want to take this on. The only way I’d see where for someone to invest into the setup, which means we have to make some case for an appropriate return on investment.

A “Certified Rust Professional” from the Rust team has similar problems: we’d need people to divert their attention and time to that program. Certainly, I’d not be opposed to a solution to have a group of “blessed” service providers overseeing that, but this poses the problem that such a program would still need oversight and - well - openness. Java and Rust are fundamentally different languages there, community wise.

Note that this is strictly my personal opinion, not as a member of the Rust community team.


#5

At some point, this is a thing I’d like to see; the Node community has just started this, due to popular demand. I think we’re still a bit early for it though.


#6

@steveklabnik, you and @carols10cents are excellent teachers. I bet if y’all started a Coursera course y’all would get overwhelming attendance.


#7

@steveklabnik Glad to hear it’s at least a possibility, sometime in the future :slight_smile:

As @skade accurately points out, it would of course require oversight and hence resources, to implement. My personal opinion though is that such a cost could be well worth the investment, seeing as how it would undoubtedly help further the language, not least with respect to enterprise adoption.

Speaking for myself, an official certification is what I would value the most. But as an interim offering, an official Rust Course would also be highly interesting.

Anyway I appreciate the response guys, and will definitely keep an eye out for something like this down the road.

// cb


#8

@crudbits, what does one usually gain from this kind of certification? Do people usually do these sorts of courses for personal development or just because having an extra bit of paper with your name on it is attractive to potential employers? Forgive my ignorance, I’ve got a mainly FOSS background and was hired as a developer on ability and willingness to learn instead of any formal qualifications (I was actually an engineering student at the time :stuck_out_tongue_winking_eye:).

Something to think about is that Rust is still really young and evolving and has a stereotypically open-source community. All of which is probably not conducive to creating formal courses and certification. Imagine putting lots of time and effort into making an awesome course and then having to rewrite large chunks of it 12 months down the track because things like impl Trait, non-lexical lifetimes, specialization, and rust’s equivalent of constexpr became stable.

That said, if some sort of formal qualification came along I’d definitely be interested in doing it!


#9

@Michael-F-Bryan I can only speak for myself here, in this case it would be an easier case to make with my employer in order to present something I want to spend (non-billable) time on, but which will give some form of “return of investment” to both myself and the company.

I imagine it would be easier for someone already working with lower level programming, in which case Rust presents a direct alternative to what they’re already using, and also being compatible with pre-existing software? In my case on the other hand, being a Java developer it’s not too easy to motivate since it’s not directly beneficial in my role as a Java consultant. Sure there are ways to call native code using JNI and JNA, but this is rarely motivated in anything more than a PoC, IMHO.

One more thing, I also landed my first programming job partly on being driven and highly interested, but also in part on the condition that I took the aforementioned Java SE certification. And while I haven’t bothered with any certification since (not counting Coursera courses), I do imagine it would be helpful if I ever switch to lower level programming professionally.

// cb


#10

That’s pretty much what happened with me. About half a year in I had a chat with the lead developer and we came to the conclusion that as long as I can provide a module as a DLL and expose a C API it doesn’t really matter what language something is implemented in (use the right tool for the job and all that).

As long as you establish a well specified interface between systems and can bundle components up in self-sufficient chunks it usually works out pretty well. I was lucky in that interfacing directly with a C API is fairly easy, but I imagine if you exposed your Rust code as a command-line program or a web service you could interoperate between Java and Rust quite painlessly.

Something else to consider is that Rust isn’t only for low level tasks. It’s great for text manipulation and working with data, although nowhere near as good as Python and NumPy. It’s really good for working with web APIs thanks to serde and reqwest, and it’s the nicest language I’ve found so far for writing small unix-style command line programs in.


#11

Not speaking for @crudbits, but from my understanding of this kind of thing, coming from many discussions I’ve had as well as my experience doing software training:

Enterprise users care about risk a lot more than smaller companies. If they can spend money to reduce risk, they will. One kind of risk they run into is, “can the person I hired do the job that I hired them to do?” Certifications are a way of de-risking hiring; someone who has been evaluated by someone else and received a passing grade means that they at least know the things covered by the certification. This means that technologies that have some kind of path towards certification are also lower-risk than ones that don’t, as those technologies have built-in ways to mitigate risk.

Now, this is all predicated on who is offering the certification; it doesn’t have to, and I’m not aware of any case where it is, the core team. Rather, it has to be by some sort of organization which has the credibility that they do a good job certifying. Bootstrapping that is a whole other kind of problem.

So, I’m not suggesting that the Rust Project start trying to certify developers. But, when the time is right, someone doing something along these lines would really help the enterprise adoption of Rust.