It's easier for me to get in Big Tech

I've heard that it's really hard to get into big-tech companies. That, since they pay top salaries, they can be very selective in who they hire. I'll plainly admit that it's not my experience, and offer a different narrative.

And while I admit I believe I understand more or less why it occurs, I still find it counter-intuitive that it was easier for me to find software engineer job at Amazon and Google[1], than to join smaller French companies.

Note

[1] I also heard good feedback from Meta recruiter, up to a sudden email stating that there were no more job in my location. Followed two days later by announcement of mass layoffs.

I'll start with a few failed-recruitment stories, and then tries to generalize. Except that, while writing this post, I realize that this story only generalize to me, and probably not to most developers that are not fan of theoretical computer science. However, as I was told to post it anyway, here is the post.

Pay-related discussion

First, I want to mention the best rejection I ever got. I was looking to come back to France. I already had Google and Amazon on my resume. I had a call with an in-house recruiter of a fast-growing French company. Some well-known national website, with a good reputation.

The recruiter quickly explained to me that, even if my profile was interesting, they fear they could not offer me enough money to retain me. So, they decided not to go forward with my application to avoid making us all lose time. This was particularly honest and frank, I sincerely appreciate that.

And they were right, I was able to get the double of what they could have offered. I'm not blaming them, they probably really could not afford my current compensation, and I'm sure plenty of devs on the marked could fulfill their need. Worse, since it's not a "startup", they don't pay with stock, options, or anything fancier than a base comp and annual bonus, they could not even compensate the low base salary with some vague promise for the future. Still, if most companies paying an average French salary won't consider my application because of Google on my resume, that may be a problem if one day I need to find a job again.

I also had the reverse problem once. The recruiter asked me how much I wanted to be paid. I gave her my current compensation, and she immediately answered that I should give myself realistic expectations. This is a mistake I don't do anymore, and just stop the conversation if I don't get their salary range[1].

We require year of professional experience in this particular field

I often hear recruiters mentioning that it's too bad I don't know such or such field. I kind of agree, a lot of fields seems fun, and I don't have time to know them all. Still, I just want to mention one case that was utter most absurd. But first, a slight bit of context.

My Background

I've been contributing to AnkiDroid, an android app with millions of monthly users, since 2019. My resume, my linked-in profile, state that I'm proficient in Android development.

I'm certainly not an expert in Android. I don't care about becoming an expert. I'm never going to know the in and out of every details of the Android operating systems. But I certainly know enough Android to do the changes that need to be done to our applications, and to help newcomers grow as contributors in our project.

More importantly, I can read documentation and usually start working on whatever needs to be done quickly, even if I'll always be slower than the mythical 10x engineer that knows everything by heart.

Home cooking

I was on a call with a recruiter. They were looking for talents for a "start-up". The goal of the start-up was to create an app that suggest recipes to use the food you have in your kitchen$$And if you miss an ingredient, they'd partner with a fast delivery company so that you can get the missing ingredient in 15 minutes. That's how they would make money I guess.$$. It's not rocket surgery, I'm pretty sure I'd have the level required to work on it.

It seems like the recruiter could not agree with my assessment. She explained to me that they were looking for people with at least a year of professional experience of Android development. However, as my job never involved Android, we could not move forward. She could not take open source contributions into account in the forms HR gave them. The fact that our project had 4.8 stars and 2 millions active users does not matter, I was not getting paid to do it.

Now that I'm not desperate for a job anymore, I find this story very funny. Because, when I joined Google Chrome for iOS, I had never done any iOS development. Still, the hiring manager trusted that I could learn the skills needed, and indeed, I'm now an active contributor and regularly contribute to Chrome.

The usual explanation is that a young start-up need immediately productive devs, while a big tech company takes can afford to spend a few month training new employees. Also, Chrome is huge, so even an experimented dev will need time to discover the codebase, while a greenfield employee can start contributing immediately.

Still, this lead to the usual issue: "you need experience to get experience". It seems like I can change my career in a big tech company, and get the time to learn and improve my skills. I have no idea how I could join such a kind of French small company, given that I would need the professional experience in the specific skills they need before I could get a job.

Interview question

Let's now consider the interviews themselves. After all, sometime, I go to the interview step of the application.

Android specific questions

For another Android job, the first question consisted in creating a new Android app. They provided mock and the app should implements it. I plainly explained to the interviewer that I have no experience creating new Android app, and I would need to take some time reading how to do it. Visibly, it has proven to the interviewer that I'm just incompetent, and the interview quickly ended.

I'm still conflicted about this experience. On the one hand, I since learned this skill, and I admit it's extremely easy to create a new App in Android and implement an activity with a view. Today, I could certainly do the exercice in less than 20 minutes. And if I were creating new apps every month, I could probably learn to do the exercice in five minutes top. On the other hand, in which context must you create a new app every month? Yeah, maybe if you are a freelancer doing small ad-hoc app for various clients, it would make sense. I'm certain people have this experience. And I feel like a question that excludes people who worked on big project, spending years on a single application, ensuring the application can grow over time and adapt to user demand.

Big tech interview question

On the other hand, when applying at Google and AWS, I was asked general algorithmic and system design questions. The kind of very generalist problem that you learn to solve at university, and that does not require expertise in the details of any specific program language or developing platform or IDE.

Sadly, my job never rarely consists in solving complex algorithmic problem. Even when I was doing query-optimization software, it was a very small part of the job. So, I must admit that those questions are even less relevant to my day-to-day job than "creating a new android app".

Even during my time at AWS, when I was working on a software to optimize SQL query, it was rare that I actually had to consider complex algorithmic question.

Comparing the questions

I used to be a searcher, I created algorithm during my PhD and post-doc. Algorithmic questions are simple to me, and it's something I actually enjoy to read about for fun. On the other hand, I never cared about learning the intimate details of any system, any library. Paradoxically, not being an expert means that it was easier to get a big-tech job than a small-company job.

Note

[1] unless they seems to be a very exciting opportunity.

Why I had to be rich to earn a high income

Nothing new under the sun; having money helps to earn money. Still, I believe it may be interesting to document my particular - why I could not have had the well-paying job I have today if I was not quite confortable - as a very concrete example. And while other paths do exists, and I don't claim it's necessary to already have money to get the kind of income I get as a software engineer, I just note how much being financially secure helped.

Continue reading

Kotlin migration of AnkiDroid

AnkiDroid successfully converted its entire project from Java to Kotlin. In this first AnkiDroid dev blog post, we’ll explain our goal, our methods, and what remains to do.

Our goals

The main goal of the migration is to improve developers' experience. Kotlin code is easier to read, write and review than Java. Anki AnkiDroid is 13 years old. If we are still here in 13 years, we hope that the time spent during this migration year will be entirely saved. We also hopefully will decrease the number of bugs and get more readable codes using Kotlin features, such as better nullability check, scope function, and high-order function over collections.

Here is the extra goals we discovered along the way:

  • git history should still allow us to track the origin of each code line.
  • Each commit should compile
  • New contributors should be able to help us easily
  • Kotlin migration should not introduce bug

Continue reading

Why Anki is not well-known

Quite some Anki fans wonder why Anki is not well-known. Using Anki changed the life of more people than I can count, and they wonder why there are not more people using it; or at least why it is not well-known. I'll try to answer to the best of my ability. I should not however that, it's a question on a negative, so I can only offers educated guesses. "Educated" because I've been active in Anki ecosystem since 2017, but "guess" because it's pretty hard to answer a question on a negative and this is hardly a question for a software developer.

Continue reading

Using Anki while driving

Don't review while driving

I don't believe I have to state it's a horrible idea, that nobody should review flash cards while driving. Actually, I had not even considered that anyone would do it. But someone did. Actually, according to some redditor who do it :

I can guarantee you at least 50% of the Anki-using people in my medical school class (myself included) have done Anki while driving, whether stuck in a traffic jam on the way home or at an obnoxiously long stoplight.

And, as I answered:

You know what. I've been contributing to Anki ecosystem in one way or another for the past 5 years. This post is the very first time someone was able to make me reconsider whether it was a good choice.

Continue reading

Syntax coloring of code in Anki

b1er84ly53c61.png, mar. 2022

Programmers, we love having our code colored, bold, and so on, to get a quick overview of the code structure. Highligh does a really great job, however up to now, I have not seen anybody successfully using it in Anki and AnkiDroid. This is now done. Please, user of iOS let us know whether it works too

Continue reading

What can Anki ecosystem do with more money

Anki ecosystem in general, and ankidroid in particular, evolves with a lot of constrains. There is few developpers, most of us are students or have a full-time job with it. Also, AnkiDroid do not officially exists, we are just a github repo and a play store account. This mean that AnkiDroid and anki ecosystem is currently limited by volunteer time and the little amount of money that we get through donation[1]. In this post, I'll consider what we may be able to do if we got a lot more money.

This are my personal thought, published without reviews by anybody else. In particular it does not endorse my employer, or any other maintainers or contributors of any mentioned product.

Note

[1] Plus sales for AnkiMobile on iOS, but that is only for AnkiTekts, and pay for AnkiWeb, the synchronization/hosting/deck sharing service.

Continue reading

I don't find myself queer

People I meet regularly think that I am non-binary and queer. I have to say, the more time passes, the more people assign me as woman - especially when wearing a mask for COVID. I have already written a post (in French) about why I am a man. I want to talk here about why I don't see myself in the word "queer".

A friend of mine offered me to co-create a queer open-mic. I said I didn't see myself in that word, to which she asked "Do you have impostor syndrome?". Here it made sense: "Do I really belong in this scene?". But I thought her more general question very interesting.

Continue reading

Plausible deniability

I find it funny how mentioning that something is done for plausible deniability diminishes it but not extinguish it. Here is an example of plausible deniability that should not exists for entirely logical beings, but will still exists if you will too. I suspect you may appreciate it. Hopefully for  […]

Continue reading

Google Summer of Code, point of view of a new admin/org

It's been a month since it has been announced that AnkiDroid was selected for Google Summer of Code (GSoC). Here is the story of a new admin, in a first-time organization. As it’s standard to state, views are my own, not my employer nor my organization. It explains how we went from unprepared to a huge success even before the end of the application phase!

Continue reading

What the "Rationalist Community" means to me

For years, I wanted to write about what the aspiring rationalist community meant to me. Seeing a lot of people criticizing it, sometime with argument I agree with, often with ones which does not represents the reality I've seen, I made a twitter thread about it. Threads are helpful because I find it more acceptable to write whatever comes through my mind randomly, which makes it easier to write than a blog post. I'll translate and post it here too.

Continue reading

The scheduler problem

The Scheduler problem is the biggest open problem in the Anki/Spaced repetition learning community I believe. As any good research problems, there are two questions to consider: what are the problems we want to solve, and how to solve them. I've no idea how to solve them, but at least, I hope I can  […]

Continue reading

Effective altruism and criticism toward activism: Answer to a paradox

For a little while now, I have been exploring the notion of Effective Altruism - EA for short. My readings on the topic so far have been very interesting[1], and I would like to add my own idea that I deem important and have yet to read elsewhere. If ever this has been written down somewhere, I can at least attest to it being all well too hidden. Personally, I believe that it should be discussed in introductions to the EA topic.

Note

[1] I have attempted some meeting with the French EA group, and have seen nothing but discussions yet. As it seems I have been more effective through direct actions against LGBTPhobia in high-school - for all my uncertainties about them - it had seemed pointless for me to join.

Continue reading

Collaborative decks in Anki

A lot of people want to create collaborative deck for Anki. In September 2018, I had already made quite a few add-ons, and some people contacted me thus to discuss collaborative decks. It has always been in the back of my head since. I'm going to try to write down every thoughts I had and why it seems quite complex.

Continue reading

How hard can it be to code a feature to let users resize images in a software.

In this post, I expect to show you why it may be difficult to create a seemingly simple program. In particular, to do it well. I'll show case with the last program I wrote, an add-on for Anki. More precisely, the most wanted add-on for anki, according to the vote of users of anki's subreddit: being able to resize image in the editor. This seems to be a simple add-on; after all, resizing by dragging corner has been done in every editing software for decades[1]. In this post, I intend to document all of the things which made me loose time when I created the add-on "Resize image" for anki. I also created a video showing how the add-on works.

Note

[1] Appart from LaTeX, but let's not consider it.

Continue reading

How I learn lyrics with anki

After years of using anki, I finally found a nice way to learn lyrics. I think I tried three different methods before finding one which works for me. More precisely, I found it a few months ago, and after testing it, I can finally way I found something which works.

To be more precise, I want to learn lyrics of song I love. Songs I've heard a lot of time, and whose meaning I know. The method I give here would not be efficient for a new song. In this post, I'll first explain what I want anki to do, and why I want it. I'll explain how to do it in a second part.

Continue reading

Page top