[{"data":1,"prerenderedAt":53},["ShallowReactive",2],{"$f1i3y72i5kpfa2":3,"recommended":22},{"title":4,"path":5,"date":6,"updated":7,"tags":8,"excerpt":11,"readingMinutes":12,"commentCount":13,"html":14,"comments":15,"next":16,"prev":19},"[TSTIL] Autopullpep8 and the Facebook adventure","\u002F2022\u002F10\u002Fautopullpep8-and-facebook-adventure\u002F","2022-10-02T13:30:00.019Z","2024-06-11T09:14:08.636Z",[9,10],"mendix","the-software-that-i-love","[ This is a part of \" The Software That I Love \", a series of posts about Software that I created or had a small part in ] Achiel, my team lead at Mendix, showed me Python and it quickly became my go-to language. I got…",4,0,"\u003Cp>[ This is a part of &quot;\u003Ca href=\"\u002F2022\u002F10\u002Fthe-software-that-i-love\u002F\">The Software That I Love\u003C\u002Fa>&quot;, a series of posts about Software that I created or had a small part in ]\u003C\u002Fp>\n\u003Ch2>2012 - Autopullpep8 and the Facebook adventure\u003C\u002Fh2>\n\u003Cp>Achiel, my team lead at Mendix, showed me Python and it quickly became my go-to language. I got frustrated with the different coding styles, whitespace errors, and learned about pep8, flake, etc. Nowadays we use `black` but back then there was only `autopep8`. A tool that reformatted python code to the pep8 standard.\u003C\u002Fp>\n\u003Cp>Learning about GitHub, its API and autopep8 I got a \u003Cem>brilliant\u003C\u002Fem> idea. What if I created a script to clone the top 100 most starred python projects, applied autopep8 and submitted a Pull Request. All completely automated. This was simple. I was nice enough to check the diffs before sending the PR. Autopep8 got a lot wrong and made some things really ugly. I spent 20 hours cleaning up code and then submitting PRs. I got my (small) contributions into a handful of top python projects. Pretty cool! Now more people figured out this trick and it is frowned upon in the open source community, but I think I did more good than harm.\u003C\u002Fp>\n\u003Cp>I will never know for sure, but I suspect getting patches into top python libraries triggered some recruitment algorithm in Silicon Valley. In mid 2013 I got a message from a recruiter at Facebook for a position in their Production Engineering team. I actually really disliked Facebook and had deleted my account a few months prior. On the other hand the job was super cool and I loved California. I thought I had 0 chance of making the interview but it might be a great learning exercise. So, the process started. Over a period of 2 months I had 5 late night calls with the US West Coast that I had to keep secret from my bosses. I didn't prepare much and had the feeling that I passed every interview by the skin of my teeth.\u003C\u002Fp>\n\u003Cp>My brain works a bit strangely. I can't grasp theoretical knowledge well, so while studying Computer Science a lot of concepts did not stick. But in these interviews, I finally understood what the engineers were struggling with and how we could create solutions. The theory finally had a useful application! I learned so much during and after these calls, and I'm super grateful for the experience.\u003C\u002Fp>\n\u003Cp>At this time I was offered an incentive package at Mendix because of all the projects I did in my free time. I felt obliged to come clean and told Johan about my &quot;affair&quot; with Facebook, and that I appreciated the effort but first had some choices to make. I think the news spread quickly and most people considered me a lost cause. Facebook flew me out to Palo Alto for two days of on-site interviews. I did a bit of a road trip with my dad who by pure chance was doing a freelance project in LA. He came over to the Bay Area for 2 days, we rented a fancy car at Facebook's expense and had fun.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2022\u002F10\u002Fautopullpep8-and-facebook-adventure\u002Fa6381db8-img-20131110-234325.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>My dad taking a rest on the car between the sequoias\u003C\u002Fp>\n\u003Cp>The Valley was cool. While at 1 Hacker Way I saw Sheryl Sandberg doing a walking meeting across the FB campus with 5 of her reports. When I checked into the Sheraton there was a guy in an Instagram shirt standing next to me, he looked very happy. Instagram was bought for $1B a couple of months prior and the guy was now worth north of $50M but he still looked pretty normal. This was a different world. I also saw my first Teslas on the road and I was stupid enough to put my actual current salary on some HR form.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2022\u002F10\u002Fautopullpep8-and-facebook-adventure\u002F6b2c1c8f-img-20131110-211951.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>The first Tesla Model S I ever saw\u003C\u002Fp>\n\u003Cp>Back home I got a good offer, negotiated a bit and got a better offer. IIRC it was 128k + 2x yearly 20k signing + stock, and for a 25-year-old engineer from Europe back in 2013 that was amazing. I still don't make close to this amount now, even though I probably could ;) In the Valley it was probably &quot;meh&quot; and that's why they recruited from overseas. But remember, I never expected to get an offer because in my head I wasn't good enough for the Champions League of the tech industry. So now I had to think. While thinking I discovered that:\u003C\u002Fp>\n\u003Col>\n\u003Cli>I don't care about money beyond basic needs.\u003C\u002Fli>\n\u003Cli>I'm very loyal and liked our mission at Mendix a lot.\u003C\u002Fli>\n\u003Cli>I care about the environment. Flying back to Europe 2 times a year with Stephanie my wife and a brand-new kid did not sit well with me. We now have 3 kids and it still doesn't.\u003C\u002Fli>\n\u003Cli>I don't like joining a winning team, I like a challenge and have a giant weak spot for the underdog.\u003C\u002Fli>\n\u003Cli>I'm actually a pretty great engineer.\u003C\u002Fli>\n\u003Cli>The H1B visa would not allow Stephanie to do any paid work. The H1B spouse club is real and that's a pity.\u003C\u002Fli>\n\u003Cli>I want to work on something good and meaningful and still hate Facebook.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2022\u002F10\u002Fautopullpep8-and-facebook-adventure\u002Fcb01a025-img-20131111-133301.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>I snapped this picture in the Facebook office\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fphotos.google.com\u002Fphoto\u002FAF1QipOPf2hOWEZLqhhtC8kftVY8T1vRqye7RIYHpYpe\">\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>I declined the offer. I felt bad about the super smart engineers and the recruiter for going through all this trouble (sorry Phil). I had made it clear from the start that declining was a very real opportunity. Thank you Zuck for sponsoring the free trip and the great learning experience. At Mendix, Roald told me he was very relieved I decided to stay. That was nice.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>next\u003C\u002Fstrong>: \u003Ca href=\"\u002F2022\u002F10\u002Fjudo\u002F\">2012 - JUDO\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>previous\u003C\u002Fstrong>: \u003Ca href=\"\u002F2022\u002F10\u002Fsocial-gravity\u002F\">2011 - Social Gravity\u003C\u002Fa>\u003C\u002Fp>\n",[],{"title":17,"path":18},"[TSTIL] JUDO","\u002F2022\u002F10\u002Fjudo\u002F",{"title":20,"path":21},"[TSTIL] Social Gravity","\u002F2022\u002F10\u002Fsocial-gravity\u002F",[23,28,33,36,40,43,46,50],{"title":24,"path":25,"note":26,"series":27},"Mapping out Dark Code","\u002F2026\u002F03\u002Fmapping-out-dark-code\u002F","2026",false,{"title":29,"path":30,"note":31,"series":32},"The software that I love","\u002F2022\u002F10\u002Fthe-software-that-i-love\u002F","Series · 36 posts",true,{"title":34,"path":35,"note":26,"series":27},"Navigating the Fog of War: Age of Empires, AI Agents, and the Rise of Dark Code","\u002F2026\u002F05\u002Fnavigating-fog-of-war-age-of-empires-ai\u002F",{"title":37,"path":38,"note":39,"series":27},"The Future of Programming Systems - four thoughts","\u002F2024\u002F09\u002Fthe-future-of-programming-systems-four\u002F","2024",{"title":41,"path":42,"note":39,"series":27},"Always Optimize the Feedback Loop","\u002F2024\u002F07\u002Falways-optimize-feedback-loop\u002F",{"title":44,"path":45,"note":39,"series":27},"\"Security Is Our Top Priority\" is BS","\u002F2024\u002F07\u002Fsecurity-is-our-top-priority-is-bs\u002F",{"title":47,"path":48,"note":49,"series":27},"10x teams","\u002F2025\u002F02\u002F10x-teams\u002F","2025",{"title":51,"path":52,"note":49,"series":27},"Hiring, from the Other Side","\u002F2025\u002F10\u002Fhiring-from-other-side\u002F",1792876808992]