Disclaimer: this post is clearly a rant about the whole ordeal. I’m sorry about this, but there is not much I can do except share this horror story, my thoughts and maybe find some lesson to learn.
As many people know, I was looking for a job and, as an amazing autumnal surprise, I received an offer that I promptly accepted. After some minor bureaucratic delays, everything was set-up for getting and signing the contract. However, a different fate, a way more horrible one was awaiting me.
I will take my time to explain the whole story, from the first contact to the final one, and I will try to not lose my shit every couple of sentences.
After a (relatively) long thought, I decided to not hide the identity of this company because of the extreme level of unprofessionalism that should never be condoned. To be honest, I think that for the same reason I might expand in the future on other disrespectful companies for which I decided to not publicly reveal my experience (for now).
Of course, I will bring up facts and objective thoughts, keep identity hidden to the people/entities that deserves (and have) my full respect. The reader can extrapolate on my emotions and fill up with complementary curse-words, following personal taste.
tl;dr: got contacted by a recruiter, interview with CEO and COO, waited for an answer for 3 months because “they got busy”, accepted an offer, the company got “busy” while I was providing all the paperwork, a month later instead of a contract, I received a “sorry, we changed our plans”.
At the beginning of June, after receiving a double-negative rejection from two good positions for my birthday, I received a LinkedIn message from a really professional and kind recruiter. The job description did not fully fit my skills and, IMHO, was slightly too vague:
Is this a developer job? Does that “custom” imply research? This is a summarized and paraphrased list of requirements:
and as nice-to-have :
I know that the advertisement searches for a non-existing human but my concerns were on “how much implementation is there in this job” since the description points to at least 95% while, for the recruiter’s point of view, this percentage is closer to 30%.
I even suggested them to modify the advertised title to better fit the effective description!
After some back-and-forth, the recruiter believed that I would be a good fit and I should be asking precise questions on the type of job to the CEO. If they think I’m good, who am I to told them not?
So, that’s what I did!
I got an interview with the CEO and the CEO of the recruiting company. Before the interview, I was still unaware about the name of the company and, to be honest, I was unaware even during the interview because, I must admit, I liked this weird interaction.
The CEO was on point, no fuzz and full focus on what matters: checking if I know my shit.
After a quick description of what the company does, I finally receive a clear understanding of what the job is about. This is my interpretation of what we discussed and I think it fits perfectly on what I got promised the job is about.
We have a big team of experienced developers that knows how to bring ideas to life.
What we lack is someone that knows how to solve custom/specific security-related problems
by providing strong security/privacy guarantees.
We need a "Bob the Fixer" that can help up design secure solutions for our specific applications,
knows how to interact with developers since it will help them to bring
the secure features to life.
I got sold! This is indeed what I would love to do: fixing problems, finding solutions, sharing my knowledge with others that are experts in their domain!
The chat was fun, I got a lot of questions on zero-knowledge, communication protocols, GDPR stuff, homomorphic encryption and then it moved into verifiable computation, both hardware/software and as cryptographic primitives.
I still remember this (classical) challenging question on “how can we guarantee that a specific algorithm got computed” with many twists and requirements. I have a couple of papers on verifiable computation and I had some wild suggestion on how one might design a translator from code to polynomials, just for the sake of not using these too-heavy-to-be-realistically-practical ZK framework.
The CEO was impressed! He clearly loved the chat too and, without hiding it too much, he sent me to the next phase to have a more technical chat with the CTO.
I was happy since, well… I already knew I went to the next phase!
While waiting for the technical interview, the recruiter shared with me some information on the company: Ice Open Network and some videos on what they are and planning to do. Wanna know what they do? Here is my twitter-summary:
Ice is a a-la-web3 decentralized Reddit with e-wallets for services within-ish the network.
Uhm, ok, maybe this is too much compression but, to be honest, this is basically what was going on at the moment and what their webpage promotes. Back in that days, they were still working of bringing everything out of test-net into main-net, so there were many ideas of new authentication procedures, security guarantees, verifiable computations and so on…
…and this was definitely clear from the 2 hours long interview with the CTO!
A lot of ideas, plans, directions and interesting problems to solve. Not only cryptographic ones, even computational, communication and infrastructure! The best and most probably the weirdest to discuss, is the multi-device password-less authentication or, as I like to call it, the authentication’s chimera.
I enjoyed1 the interview and, guessing by the discussion, the CTO too!
So yeah… It was mid-June and the “we will let you know soon, like… 1-2 weeks” was a promising way to start the summer: waiting for a reply and moving to Paris!
The two weeks passed by and I was in a different country, starting a new adventure. However, no answers from Ice.
After contacting the recruiter, I got the news that the Ice team had to pause the hiring process to fully focus on something more important. They explained to me that they have a lot to do for the main-net launch and since they have a deadline, it has maximal priority. This position is important for bringing new feature in their product but it is more essential that the product exists! So yes, I can understand why they had to focus on something with higher priority.
After re-reading the messages I noticed something:
\[...\] has to pause the hiring \[...\]
…“pausing” means it might return back. I thought it was cancelled since this would not be the first time this happens to me.
So… how long might all of this take?
The nice recruiter shared their thought: “I’m unsure. The team told me this might take a long time.”. Oh… ok… so… let’s wait…
It is July so… I guess I can continue my search and do my stuff as nothing happened…
Spending a whole summer looking at a dry e-mailbox with no answers, no news, no new jobs is…
…how can I put this mildly…
…it is shitty as fuck.
It makes you question your career choices, but this might be a sad topic for a different post on “WTF is going on in the cryptography domain, both academia and industry”. I started to really struggle to see any hope in finding a job in what I invested my last ten years of work and study…
Hello Carlo! How are you doing? Ice defrost the position, so are you still available?
Oh my… I think I never replied “Yes!” so fast!
After some small discussion, I found out that it would be nice to have a chit-chat for the next day and clearly I was busy so I asked if it can be postponed.
Well, instead of getting a new timeslot, I received an offer which was shared with my wife even before I could read the whole email!
After reading the contract’s draft and giving it a good thought, I accepted the offer. Now, I had to provide them with passport and business ID/code or so. From job-search to create-your-business and, I have to admit, French bureaucracy is as bad as the Italian one, just in a language I don’t fully understand.
After exactly one year of being unemployed, I accepted a job! One full year… “I should update the blog!” was one of my first thoughts.
I cannot deny that I was happy, almost reborn and full of hope. But I was quite shy in sharing the news: I accepted a job but I haven’t signed a contract. In fact, I have to do quite some paperwork before and I hope to get everything done ASAP!
It took me some time before sharing it with people because that’s who I am: I’m paranoid and I want things to be black-on-white, under control and clear. I got a clear offer, I have to do paperwork before being done and I’m still missing a to-be-signed contract.
Getting the paperwork done was stressful, as one expects from south-European bureaucracy but it got fixed and “I shall receive my business code in 2-6 weeks via post”. So… yeah… it is time to wait again!
After a week, I got pinged regarding the code and the self-entrepreneurship status. “Still waiting” and a “Ok, no problem. Let us know!”. After another week, I got pinged again with an additional “It would be optimal if we can start next Monday.”
How can I expedite a letter?
Well, after some digging, I discovered that I was fully registered in the system and I manage to get my business code before receiving the letter2! Good, I sent everything to Ice and the recruiting company which are mediating the hiring process and started waiting. Before doing so, I added that I will be in Italy for some weeks and I might have some connectivity issues in the first days. Problems that I can solve with my phone’s data-plan, if necessary. I got reassured that I will receive the contract in 1-2 days.
Sadly I have not received the contract in 1-2 days. After the weekend, the recruiter contacted me to clarify my internet connection. The CTO was unsure if it made sense to start if I don’t have an internet connection. A clarification was required: I had a stable connection but quite limited bandwidth for some time. The recruiter got the misunderstanding and told me that in this case, they will explain it to Ice and the contract should arrive as soon as they solve some last-minute problems, highly related with their main-net launch which got postponed.
I waited another week and I updated everyone that I will move to a location with good internet and
I asked for updates.
None from Ice, not from me and neither for the hiring company.
In my mind, it makes sense.
Why hiring someone new as a consultant and not having anyone that can follow them in the beginning?
I can wait, sure.
Despite I would like to get a ping…
Another week passed by, with no news…
…and at the third week without news, I updated again everyone to let them know that I will go
back to France.
…then, out of the blue, right before having dinner, an unexpected email:
hi Carlo,
unfortunately we have decided that we will not proceed with the collaboration.
we were planning to hire a full time expert phd cryptographer to do the poc + a
full time junior/middle cryptographer to do the implementation.
however we couldn't find an expert to work full time, as most of them have limited availability, so
we changed the approach and we are now looking for a different type of position, that requires more
experience than you have now.
thank you!
The mix between confusion, sadness and chaos were all over 9000.
WTF?!
So… you decided to change plan after you made an offer that got accepted?
What experience? Which PoC/implementation? I was meant to be hired as a full developer?
If I wouldn’t had to wait for the paperwork, I would have get hired and now fired because you
couldn’t find who?
Funnily enough, I replied asking for clarification on these questions but… come on… I will of course never get an answer. If there is something I learned in this one full year of job-search into is that whenever people must give bad news or rejection, they either hide and start ghosting, or they throw the stone and run as fast as they can. No C-suite, HR/recruiters have the balls to reply with genuine feedback and maintain a professional attitude and explain their decisions.3
Where they allowed doing so?
Sure, no one signed anything.
Is this a good reason to accept the facts as they are?
Hell no!
Was it a massive asshole move?
Yes, for fuck’s sake.
It is such a dick move that even the recruiter and their mediating company are shocked and I suppose they will have some discussion with Ice about this unprofessional behaviour. Or at least, I hope since I think it is quite corporate-bad when a company must add “we do not condone Ice’s actions” in their replies to the guy that was left without a contract.
Well, I hope that the recruiting company gets something that fits my profile. They are kind and have all my respect in being always highly professional (even after the shit-show), helpful and kind.
Regarding Ice, they are supposedly releasing the main-net stuff after a whole month of delay
and, as far as I get, moving forward in searching their first cryptographer to join their team,
despite not having any public job listing around and, after the whole story, probably quite
a confused idea on what a cryptographer does.
As far as I saw, no one will ever invest the time to check if what they are doing is secure or not.
No one has the energy to dig into millions of line of code, hundreds of dependencies and layers of
forked repositories.
I hope that their “changing direction” decisions bite them in the ass, crocodile-style.
It is not a good time to be a cryptologist4. It feels like the term became a synonymous of developer despite the two having quite different skill-set and backgrounds. There is no research-job I can find around and, to be honest, I see some weird trend going on in the academic PhD positions too: they are all turning into ZK development/maintaining.
The impression is that the big names, the research groups with money are still able to do research in any direction only because they get the money from that couple of Web3/ZK-industry projects in which they are either advisors or maintainers. All the other researcher, well… they are now trying to switch to that area just to get some money and survive.5
Who would have thought that in just 10 years, the community went from “a renaissance of crypto-possibilities” after Snowden, FHE, ZK, post-quantum into “research monopolism decided by oink-oink capitalism” where only specific products and direction are considered important.
Regarding me, well… time to start searching again. At this pace, I will definitely be able to write some statistic for the whole 2024 search, so stay tuned, and I suppose I will continue working on my code-projects. Maybe I should start looking into other people’s code and see if they are doing a good job… If you have suggestions, please let me know.
Thank you for reading my spooky rant. Hope you had fun.
Ok, ok… I had more fun in the interview I had one hour before Ice with three experienced researcher in cryptography and bitching on how no-sense academia is nowadays. Sadly, I got rejected later on after the home-assignment for “we have better candidates”. ↩
To this day (4 weeks), the letter never arrived. ↩
I only had two exceptions, out of ~70. There were no specific problems, just better candidates so, I received a clear explanation on why I was not good enough. ↩
or someone doing research in ML/AI/etc.. Their area is ever more fucked-up because of all the hype. ↩
I’m not blind, I see that there are many researcher still doing amazing and diverse work and are able to survive the academic survival game of “finding funds”. I’m mainly considering the general trend and this does not look promising. ↩