First and foremost, I must note that I always knew that I could go back live with my parents, and they would have no problem paying for my food if I could not afford it myself. Actually, I spent two months living with them while searching for a job. There is no question that this safety allowed me to take risks that would be extremely dangerous otherwise.
In December 2019, a US company was interested in hiring me and paid for my trip to the Bay Area, California. While I didn't get the job, I decided to stay for two months and try to find job there. After all, it's the ideal place for software developer. It is obvious to anyone knowing the Bay Area; this is a sinkhole for money. Everything is extremely expensive. I never had to spent that much money per week; even while I was subletting in a shared room in Berkeley. Worse, it was far from certain I'd ever get a job, as most companies would took the time to answer explained that they could not sponsor a work visa.
I finally got an interview at Google Sunnyvale, and then a job offer. I had already applied to Google France and never got any answers. While I never got any official explanation, I assume that the difference of size and number of open position may explain why a US recruiter would consider my application while French recruiters would concentrate on other resumes. Whatever is the reason, this experience clearly shows that if I could not have given an address in the USA, I would never have had the job in the first place.
Google offered to help me relocate to the USA. I had the choices between cash or a service that would take in charge of moving my furniture, helping find a school for my children, and English lessons for my family, one month of hotel and a real estate agency to find a place to live, etc... Given that I did not own any furniture, I had no family to move with me, and could probably book an hotel myself, I decided for the cash. However, the cash would only arrive with my first paycheck. Meaning, once again, that if I was not able to afford myself a month of hotel in the Bay Area, and to find a place to live, potentially buying furniture, I may not be able to start the job in the first place. Admittedly, this is all theoretical, with the pandemic, I never moved to the USA.
## Rejecting less interesting jobs
I was able to spend two months in the Bay Area because I was still searching for a job. In September 2019, I was offered a job with a gross pay of N€/year, open source, full remote... On the paper, it sounded great. After I accepted the offer, the contract mentioned Nk€/year net pay, full remote was an option after a few years in the company, and open source was only when we didn't have any client who had more important task to do. I was able to stand for myself, not sign the contract and spend more time looking for a job. This would have been impossible if I had no money available and needed to earn as soon as possible.
I also considered being a temporary high-school teacher. France needs a lot of mathematics teacher; I finally decided against it. Even if I love teaching, given what I've heard, the working condition are nightmarish. Also, the actual time required to do the job are so heavy - at least when you start - that I would not have time to look for a stable job.
## Becoming a developer
I've got a PhD in computer science. However, I never actually learned how to contribute and improve software during my 12 years in universities. I knew how to write line of code; I knew how to implements algorithm to solve very specific questions, and even how to create new algorithm. However, I never actually learned how to write great code, that other people could understand, that can evolve over time. I never learned how to participate in existing code base with dozens or hundreds of other participants and a decade or two of legacy code. All of this, I learned how to do it thanks to Anki and AnkiDroid community. While I can never know exactly how much those skills helped me secure any jobs, it is certains that it taught me how to write readable code, how to explain my code to people, and it gave me a lot of experience to answer behavioral questions. Being able to tell "I wrote software which were downloaded 100 000 times" or "I crowdfunded a software" is not enough to get a job, but still helps show that I'm a serious developer and that you should seriously consider hiring me.
Technically, I guess that I didn't have to be "rich" to contribute to free software. However, I certainly needed to have time. I could never have accumulated all of the experience I mention above if I didn't have a ton of free time; if I had not applied the maxim "free before cheap", i.e. accept to work for free to improve my skills instead of accepting less interesting job that would pay an acceptable but small salary.
## Studies
As I mentioned above, I've got a PhD in computer science. I don't know whether it helped to convince recruiters to schedule interviews with me, but it seems credible. However, getting a PhD also required to have money.
To be clear, I was paid during the four years of the PhD. And clearly, people can live with the salary of a PhD searcher, since people are actually living with less than that. Still, it would not be confortable, at least in Paris. I suspect that if I was not already quite confortable, if I didn't have a place to live-in rent-free, I would probably have tried to find a job with a better pay sooner. This is not even exceptional, most of the PhD students in Computer Science I know were financially comfortable. If earning money were a priority, most of us could get better paying job relatively easily.
Before the PhD I did a licence and a master in Computer Science. Once again, this is due to the fact that my parents accepted hosting me, up to the fourth year of university, and to pay my rent during the last year. That I never had the pressure to shorten the studies to earn money quickly.
## Computers
I was born in 1987. My parents already had a personal computer at home at this time. I do not remember exactly when I first touched a mouse; but I know for sure that I had access to my own personal computer at 13 years old, when my teacher of technology taught us HTML. My parents even paid for a "Summer Class and Coding camp" a few years later. I don't think I really benefited from it, because my English skills were quasi-inexistant, hence I never understood anything that the professor told. But clearly, I had access to computers and could mostly get familiar with coding.
And while my First Year university professors tried really hard to put us all at equality, by teaching us recursive programming in Dr Scheme - something that no teenager would have ever learned by themselves; the fact that my computer science grades were 99/100 let me believes that they were too optimistic about how useless it was that I had the opportunity to learn how to write lines of codes.