tl;dr: my current job search: a short view, a subtle rant, a good-looking Sankey plot (using SankeyMATIC), free (horror) stories and future planning!
Edit (2024.07.12): sadly, one of the two out of seven rejected me đ˘ so I decided to publish all the technical assessments (appropriately anonymized).
Often I heard that âSearching for a job is a job.â but I was always sceptical if this is true or not. Before now, I was quite lucky because I always maintained the âacademic pathâ until recently, i.e. the end of my postdoc. I (and many others) can fill quite a long essay on reasons why âacademia is (sadly) unfair/too stressful/unstableâ but I will keep this for another time!
My main reason for leaving academia is stability: Iâm tired of relocating to âyet another countryâ every 2-4 years and having to juggle with banks, apartments and bureaucracy. I would prefer some stability: doing something interesting and challenging and not having to move! That is why, I put all my efforts into searching for a remote-ish job in cryptology research1.
As my short or extra-long CV can point out, I have quite a lot of experience in cryptology research, mainly theoretical but some applied research too. In cryptology, the distinction between theoretical and applied research is as blurry as it can get.
My own mental image of the distinction is based on answering the question: âdoes it run and produce stuff in real life?â if yes, that piece of content2 is applied research. If not, it is theoretical.
Stereotypically3, the theoretician will write some problem on a coloured board, a notebook or a laptop and later stare at the void searching for a solution. Whenever a solution is found, the theoretician will write down the solution and get it published.
Any start-up/industry mainly cares about selling products which would look like mainly applied research according to my mental image. However, any industry has a big space for theoretical research too because the effective goal is to rush and push to get the most advanced research into a product, before anyone else.
Imagine building a Formula 1. Clearly, you need an amazing driver and an amazing team of mechanics who know the inside out of the car. Additionally, you need some (theoretical) mechanical engineers who find new technologies to improve the performance and later other (applied) mechanical engineers who build such findings into prototypes to test.
Theoretical engineer, applied engineer, mechanic and driver.
Theoretical researcher, applied researcher, developer and user.
Does not sound that different, am I right?
So, Iâm searching for a mainly theoretical, cryptology researcher, remote-ish job. Applied research and coding are fine too but not if the job is only developing, mainly for my lack of software engineering experience in big projects.
From January 2024, I applied to 52 jobs of which descriptions fit my requirements and interest. Here is a Sankey plot of how the application status is currently evolving!
I made $52$4 applications of which $42\%$ never replied5 and a third ($33\%$) rejected me without any specific motivation leaving exactly $25\%$ of applications successful enough to get me to the next phase: screening interview!
A screening interview is a breaking-the-ice interview where you have the opportunity to present yourself, your background, your knowledge, expectations and goals. In reverse, you get to understand what the job is about, the context of the role in the whole industry and their expectations. The goal is to filter your candidacy.
Out of the $13$ interviews, $2$ concluded with a rejection with no motivation and Iâm getting ghosted on another $4$ of them since Iâm still waiting for an answer, one for more than two months!
Why am I getting ghosted and how do I know?
I believe that I do not fit their expectation but since we had an interesting interview, they might find it hard to give me the bad news and go from almost instant email exchange to complete silence a couple of days after the interview. Which I understand, but that is part of their job and a result that I have to accept. What you are doing by not doing your job (and being professional), is losing my trust in your company.
Luckily for me, I passed the screening $7$ times making me eligible for the technical interview! Such an assessment is focused on my technical skills and can either be oriented on solving a research problem, implementing some protocol, preparing a lecture on a research article or a mix-match of these, both written or as an oral interview. This is the big game where one should show all its potential!
Iâm still waiting for some feedback for $2$ out of $7$ applications (wish me luck đ¤) while the other $5$ ended in a rejection, each with a different reason some of which are a horror story! The only two of which I got feedback pointed out that I was (sadly) not the best candidate or that the company was searching with someone with more coding/software engineering experience than me.
Both these companies were searching for a precise figure and wanted to find the perfect candidate. Being a remote position, these (and many other) companies want to hire someone who can work from âday $0$â with minimal to no onboarding into the companyâs working process. I was not their best option because I might have wide knowledge but I would require time to learn the precise research area where these companies are developing. One feedback particularly pointed out that I would be an interesting âinvestment assetâ for their research team however their needs are currently different. So, either not the best candidate or a good candidate but bad timing!
Everyone wants to hear about these! I will keep them short, you can let me know if you want me to expand and get some more details!6
I applied to CompanyA in February and I never got an answer, like nada de nada. Mid-may, a recruiter contacted me to see if they have a job for me! They indeed have a perfect job for me!
After fixing a last-minute screening interview in between other interviews, we finally got to know each other. In their eyes, I perfectly fit the job and they are so happy to explain to me about CompanyA and the jobâŚ
âCompanyA?â, I asked while searching into my spreadsheet7 to keep track of all the applications.
âYou know what is funny, I applied exactly for this position three months ago and I never got a reply.â I naively shared.
The recruiter was shocked and explained to me that this was not possible since they got the job listing only one week earlier. After both realizing that indeed the advertisement was the same, they shared that the company always provides feedback, even an automatic one. So, maybe the IT system lost my applicationâŚ
⌠so they told me they would ask and figure out why I never received anything and that my CV would be presented again to the hiring team.
After two months and several emails from my side of getting some news, neither CompanyA nor the recruiter ever replied. Maybe my emails are all getting lost by their IT system?
After discussing with a recruiter for CompanyB, we both realised that I fit their job description like a glove. So, my CV got pushed to the next phase and I managed to book a technical interview quite early.
Everything was set up and the interview day arrived.
I got ready and was waiting to join the meeting when, like thunder in a clear sky, I got an email stating that the meeting must be postponed because of an unavoidable problem with the technical leader. The company will send soon a calendar to reschedule the interview.
I replied, âOk, no problem, I hope that everything is all right.â and waited for instructions for rescheduling the interview. The day after, I got an email: âThank you for the chat! Really interesting! However, we are sorry but we decided to proceed with other candidates.â.
But⌠we never had any chat?!
CompanyC quickly interviewed me, got the technical interview with the CTO done and, as a plus, I had to prepare a lecture/presentation which went really well as one of the researcher managers told me. âWe will let you know in one or two weeksâ were the final words.
After a couple of weeks, I got in contact with the recruiter who was following the process. No reply⌠after some minor âstalking via LinkedInâ I managed to contact them and got a reply: âSorry the team was away and we got new candidates that we must interview to decideâ. Apparently, the job listing was reposted by CompanyC together with many others thus they got new candidates to interview. Ok, so, letâs waitâŚ
After a month-ish, I asked for an update and I got a âWe are still interviewing, we will let you know as soon as possible.â which meant more waitingâŚ
After two months, I asked again and I got the same reply. I already put the application into the rejected pile since it was taking too much and it felt weird.
And I made the right choice, since after $2.5$ months, I got a rejection with no motivation. Or better, âYour CV doesnât show enough experience in zero-knowledgeâ.
Like⌠couldnât you filter me out earlier? And on top of that, how is this a problem after two technical interviews on exactly this topic? đ¤¨
CompanyD makes me do a technical project and Recruiter#1 promises on their companyâs honour to reply in âone weekâ. The next day, LinkedIn magical algorithm suggested I should congratulate a never-seen-before human being for their new job: at CompanyD at exactly the same position. Uhm⌠something feels fishy.
As you might expect, I never got an answer in one week, not even a month! So, I saw that the same position at CompanyD was still open but was followed by Recruiter#2. I promptly re-applied and added a note that âI already did the technical project a month but never got an official answerâ.
After a couple of weeks, I got a reply from Recruiter#2: âSorry for the delay, thank you for the application and the technical assessment. The team decided to move with someone else. Best regards, Reviewer#1â.
Wait, why is Reviewer#2âs email signed by Reviewer#1?
Do they have multiple personalities? Or is Reviewer#1 (higher in hierarchy), sending emails in Reviewer#2âs name (lower in hierarchy)? I really hope into the multiple personalities!
CompanyE makes me feel sick.
I got contacted via LinkedIn at random by a lovely (external to CompanyE) recruiter. We get along really well, I fit the job and Iâm interested in what they are doing so my CV gets sent to the CEO.
What I didnât knew is that via me, all my (Italian) cryptography researchers friends got contacted for the same position too! I thought it was funny since many of them suggested I should check out the job and see what it is!
I finally managed to meet the CEO: a stereotypical businessman who mainly wanted to show off their career and networking achievements, paranoic and against the status quo. Personally, some red flags, some brown⌠the job was fine but too many questionsâŚ
But, despite this less-than-optimal chit-chat, I got invited for a technical interview which was a shit show, IMHO. After meeting the CTO, I was left talking with the CEO who asked me to come up with an algorithm for a reasonable problem8 which for sure a known optimal solution was out there in the literature. Since the question was not to find the optimal algorithm but to see how I think and solve the problem, I started describing what I would do, knowing that the CEO knew the optimal solution.
During our back and forth, I was pushing a lot on requiring some uniform randomness to be guaranteed. The CEO laughs and ends the brainstorming with a âNow let me tell you what is THE solution to the question.â and starts explaining an algorithm from 1938 (seriously) as if it were their invention. During this âmagnificent and modestâ explanation, I interrupted and pointed out that THE solution was not adhering the rules given by the problem provided.
A good thirty seconds of awkward silence passed and the âmagnificent and modestâ explanation turned into a âlife and businessâ lecture: one must always find the correct trade-off between security and application/business. In the discussionsâ context, arguable but definitely a good saving from the CEO.
The interview ends with some discussion and a common acknowledgement that (a) I will be relocating to Paris (đŤđˇ) and that (b) I donât want âspecialâ salary treatment because Iâll not be in Italy (đŽđš) any more.
After some weeks I got an email from the lovely recruiter rejecting me because âThe CEO was delighted by the discussion and they really-really tried to come up with a good salary for you living and remote-working from northern Europe but that was not possible. Sorry.â.
Quite offended by the total negligence of (a) where Paris is and (b) I explicitly asked for no special treatment, I contacted the recruiter to get a precise number for this âtentative not-good-enough salaryâ but I never got an answerâŚ
âŚhowever, one of my friends got an offer from CompanyE, for exactly that position! Apparently the âtentative not-good-enough salaryâ was plenty enough, however, there was a hidden requirement: I had to live/work/be in Italy (đŽđš).
What I found funny is that, for the whole two-ish months of the hiring process, everyone stated that it was fine if I would work remotely, even the CEO does the same! But apparently, it was not fineâŚ
This was a really long writing and I hope you had fun hearing about my horror stories!
What about the next months? Well, I believe that I have some stuff for the next months:
I will be following up on the two ongoing applications, hoping that at least one turns into an offer! If not well⌠I will continue filling up my spreadsheet and maybe do an update with new horror stories!
after a two-ish month break (interviews, travelling, relocating, etc.), I will start implementing
the last notes on the LeakSolver
project.
I have a pen-and-paper framework for solving the problem and how to code the generalized version.
It requires time and writing the solution while learning Rust and having a lot of long breaks is
definitely not ideal!
Iâm collaborating on a paper that is a (massive) improvement on this other recently published paper. IMHO, there is an interesting observation which might spawn an algorithmic efficiency research direction and I know already who would be interested in knowing more about! Letâs see how this goes!
I will definitely take some time off and enjoy the summer, climb more regularly and discover Paris!
I started using âcryptologyâ instead of âcryptographyâ because it is technically more correct (Greek word origin, Wiki) but I might use both as synonyms! LOL, sorry! ↩
Before the community starts calling me a witch, a research paper can be a nice mix of theoretical and applied results. Usually, one provides the theoretical framework and proofs for a primitive/protocol/attack and later implements it to test the code in real life. ↩
I always love to joke with my wife/family/friends that this is what I do! It is often true, donât get me wrong! However, a lot of time is spent searching and reading other papers/books, scribbling incomprehensible notes with mainly symbols and getting mentally fatigued too often. ↩
In start-up/industries. I made an application for a tenure track in academia too but got rejected so quickly that I would not even count it into my statistics! ↩
Iâm confident they will send an automatic rejection email as soon as they find someone, right? ↩
Iâm deliberately being professional and keeping the companiesâ names private. IMHO, some lost all my respect and I hope to never cross them in my career. ↩
Oh yeah, you know you got into your thirties when everything is better organised if you are using a spreadsheet! ↩
How to efficiently generate a random permutation. An optimal solution is the Fisher-Yates shuffle. ↩