[{"content":"Welcome to my personal corner of the internet.\nI\u0026rsquo;m Alberto Gragera, an engineering manager and builder. This is where I write about engineering management, building teams, technology, and whatever else I find worth sharing.\nThis site is a static archive of my writing — no paywalls, no newsletters, no tracking. Just thoughts in their purest form.\nThe blog was previously hosted on Ghost and has been migrated to a plain Hugo site, served via GitHub Pages. It\u0026rsquo;s as simple as it gets.\n","permalink":"https://gragera.me/about-this-site/","summary":"\u003cp\u003eWelcome to my personal corner of the internet.\u003c/p\u003e\n\u003cp\u003eI\u0026rsquo;m Alberto Gragera, an engineering manager and builder. This is where I write about engineering management, building teams, technology, and whatever else I find worth sharing.\u003c/p\u003e\n\u003cp\u003eThis site is a static archive of my writing — no paywalls, no newsletters, no tracking. Just thoughts in their purest form.\u003c/p\u003e\n\u003cp\u003eThe blog was previously hosted on Ghost and has been migrated to a plain Hugo site, served via GitHub Pages. It\u0026rsquo;s as simple as it gets.\u003c/p\u003e","title":"About this site"},{"content":"Remote is here to stay , there is no question about that.\nIt opens the market for people that for any given reason can not or don\u0026rsquo;t want to move to a particular location, and it enables companies to access talent worldwide.\n1Commutes are generally terrible, specially in areas where most of the jobs are, and folks want to spend that time doing other things. Offices can be productivity sinks, with a lot of noise and distractions. Remote work is a perfect solution for folks that fall under these buckets.\nI say this as a person who does not particularly enjoy working remotely.\nThat said, there are ramifications that are unclear to me.\nGrowth of junior profiles How will remote affect the growth of new grads / very junior engineers?\nIt is much easier to onboard in a new company when you have experience. You will probably know the tools, you will be familiar with the processes, and in general you will know how software is made. Onboarding into the new company might be challenging, but it will most likely be doable.\nPeople might come from a zero knowledge background. This is specially hard for people coming from Bootcamps or similar education programs.\nThe talent war Every time I read someone from my home country (Spain) announcing that they will start working for a foreign company, I feel truly happy for them.\nAt the same time, that is a highly talented person that will most likely not be accessible for the local companies in a very long time. Not even the hottest startups in Spain can compete with an average American, or even UK company hiring remotely.\nI think this will go two ways: either this pushes the local market to compete for global talent, even if it it without money (looking at you, 4-day work week), or this might hurt the ecosystem in the long term.\nIn-promptu collaboration In a remote world, there is a rather high barrier to get someone\u0026rsquo;s attention, which is not necessarily a bad thing per se.\nBest case scenario you know what you want to know, you already know the people and how everyone prefers to be contacted, and you have developed enough trust to schedule time on someone else\u0026rsquo;s calendar.\nThis can be specially tough for more junior profiles. Would I be asking dumb questions? Would I waste this person\u0026rsquo;s time? is 15 mins enough? 30? her calendar looks incredibly busy and I don\u0026rsquo;t want to disturb her with my questions \u0026hellip;\nIt is arguably easier to access someone when you work in the same space. You might see this person coming from a coffee break, or just going back to her desk after helping another perosn, which might be a good time to ask a quick question.\nYou can also read body signals (is this person tired? focused?), which are harder to get in a remote-only workplace.\nCommunication bandwidth In a very Javascript Framework fashion, a new remote work tool is created every hour. While some of them are truly impressive and useful, for certain types of tasks nothing beats people in front of a whiteboard.\nRapport It is harder to feel connected\nThe pandemic forced companies to replace the in-person bonding with all remote activities that are hideous. Since the pandemic started I have talked to many people (some extroverts, some introverts) working of different roles (some technical and others not), and everybody hated these remote team building activities. These events caused stress, dread and left them depleted for the day.\nI don\u0026rsquo;t know what the solution is, but I know for sure that a remote murder mistery where you dress up in front of your camera is not.\n","permalink":"https://gragera.me/on-remote/","summary":"\u003cp\u003e\u003cstrong\u003eRemote is here to stay\u003c/strong\u003e , there is no question about that.\u003c/p\u003e\n\u003cp\u003eIt opens the market for people that for any given reason can not or don\u0026rsquo;t want to move to a particular location, and it enables companies to access talent worldwide.\u003c/p\u003e\n\u003cp\u003e1Commutes are generally terrible, specially in areas where most of the jobs are, and folks want to spend that time doing other things. Offices can be productivity sinks, with a lot of noise and distractions. Remote work is a perfect solution for folks that fall under these buckets.\u003c/p\u003e","title":"On remote"},{"content":"June 1st was my last day at WhatsApp. After roughly nine months I decided to leave the company and find new challenges.\nDespite being a world-class organization where I had the chance to work with incredibly talented individuals, there were some things that were not the right fit for me:\nRelocation to London: I had to relocate to the UK for tax purposes in the middle of a global pandemic. Then the country completely shut down for nearly five months, which let’s say did not do wonders for me and my family wellbeing. Split by technology rather than product vertical: I was supporting three platform teams, that were running a bunch of projects at the same time. This approach had a lot of communication and sync overhead, and it was causing me to drift away from product and tech. This resulted in me doing a lot of work that I was able to do, but did not enjoy at all. Hello Google! I wanted something different, possibly outside the UK. I reached out to one of my HR contacts at Google and talk about the possibility of joining. The process was quite streamlined and I could not be more excited to join Youtube in Zurich by mid July!\nI really miss focusing on a single product and support a team that can build full-stack, and now I will have the chance to do it.\nCan\u0026rsquo;t wait! :D\n","permalink":"https://gragera.me/bye-whatsapp/","summary":"\u003cp\u003eJune 1st was my last day at WhatsApp. After roughly nine months I decided to leave the company and find new challenges.\u003c/p\u003e\n\u003cp\u003eDespite being a \u003cstrong\u003eworld-class organization\u003c/strong\u003e where I had the chance to work with incredibly talented individuals, there were some things that were not the right fit for me:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRelocation to London:\u003c/strong\u003e I had to relocate to the UK for tax purposes in the middle of a global pandemic. Then the country completely shut down for nearly five months, which let’s say did not do wonders for me and my family wellbeing.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSplit by technology rather than product vertical:\u003c/strong\u003e I was supporting three platform teams, that were running a bunch of projects at the same time. This approach had a lot of communication and sync overhead, and it was causing me to drift away from product and tech. This resulted in me doing a lot of work that I was able to do, but did not enjoy at all.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"hello-google\"\u003eHello Google!\u003c/h1\u003e\n\u003cp\u003eI wanted something different, possibly outside the UK. I reached out to one of my HR contacts at Google and talk about the possibility of joining. The process was quite streamlined and I could not be more excited to join Youtube in Zurich by mid July!\u003c/p\u003e","title":"Bye WhatsApp"},{"content":"I will be joining Facebook as an Engineering Manager on the WhatsApp Business team.\nThe road until this moment has been tough, and I wanted to share my experiences throughout the process. This might help you out if you are thinking about interviewing at any of the FAANG companies.\nOf course your mileage may vary, but this is what worked for me.\nNetwork I had the immense luck of working with some very smart folks during my career. Folks that ended up working in the aforementioned FAANG companies, which are in Linkedin, along with the recruiters from those companies.\nI had a few recruiters as 1st level connections which I could now write to. I also had some previous conversations in which I politely declined the opportunity to join. And here comes the first tip:\nAlways be nice and polite to the recruiters.\nYou should be nice and polite to everyone as it is basic human decency, but recruiters tend to get a lot of extra crap from engineers. I somehow cultivated these relationships during months or even years, which now allowed me to directly write to them and kick-off the process.\nI had a conversation with a Facebook recruiter I had been politely declining for a while, and we always agreed on touching base in a few months. Well, now it was the perfect time to go through the process.\nWhile I was having the preliminary conversations, I was contacted by an Amazon and a Google recruiter (the timing was suspicious, but it was definitely good for me, so 🤷🏻‍). I told both that I was interested in hearing more, and that I was in a process with Facebook as well. This sped things up quite a while and I was now able to do three loops at pretty much the same time. The second tip is clear:\nRun several loops in parallel if possible\nThe reasons are:\nThe preparation is pretty much the same, there is no reason to not explore the market a little bit more for the same cost. You can get competing offers, which will be good in the negotiation step. You will speed up the process as they all become time sensitive. You will get more training in real life interviews. Preparation During the initial conversations, I told the recruiters of each company that I needed time to prepare. My last interview experience was around 2009 so I really needed quite some time, and we agreed on around 8-12 weeks, though I had been preparing while these calls were happening (to get a head start)\nI prepared for three things: coding , system design and behavioral interviews. And here comes the third and final tip:\nIn all three categories, try to practice the real world scenario (somebody interviewing you) as much as possible.\nReally, do it. I can\u0026rsquo;t stress this enough.\nCoding I have been switching between management and IC roles throughout my career (I recommend this awesome post from Charity Majors) so I have not been away from the code that much. But I needed to practice. A lot.\nReally, unless you are into competitive programming or do problems on a regular basis, you need to practice.\nThe first thing I did was to do the Grokking the Coding Interview course on educative.io. It is pretty amazing as it goes through different types of patterns that will be very helpful when facing the problems, so you don\u0026rsquo;t start trying to solve problems without any kind of base knowledge (I think this can lead to a lot of frustration). This kind of knowledge helps you reason about the problem rather than memorizing the solution.\nAfter that I signed up for leetcode and upgraded to premium, so I could filter by company. I think paying for the premium is worth it as you will be able to see previous questions and assess how far or close to the bar you are at every step of the way. I did around 120 problems from Amazon, Google and Facebook, focusing on easy and medium difficulty ones, and sorting by popularity.\nWhile doing leetcode problems, I also worked on problems from the book Elements of Programming Interviews in Python. While it is an excellent book, the explanations are very formal sometimes. This is not bad by itself, but you might struggle a little bit when getting stuck.\nAnd lastly but not less important, I started to do mock interviews on pramp. This helped me to reduce the anxiety when facing the interview situation: a person will be looking at you while you code on a google doc or something similar. This scenario is vastly different from you trying to solve problems on your own, without explaining your train of thought. I highly recommend doing as many mock interviews as possible.\nSystem Design The recruiters told me that these interviews were very important for the EM role, so I wanted to be ready.\nI did another course on educative.io called Grokking the System Design Interview. This is an excellent course that I highly recommend. It covers some theory as well as some practical cases which are very detailed and well reasoned, as well as a guide on how to approach this kind of interview.\nI also did some exercises from the Systems Design primer repo, which are also good (though I think the educative course was better).\nAnd finally I read a bunch of papers on how some of the systems that work in these companies work, including BigTable, Azure Storage, Spanner, Haystack, GFS, etc. While some parts of the papers were very hard, I always learned something from the read, so it was absolutely worth it.\nI did some mock interviews on pramp, but I don\u0026rsquo;t think they are as effective as the code ones. I asked some friends from other companies to do several mock interviews with me so I could practice the real world scenario.\nBehavioral I have done many many behavioral interviews as an interviewer during my time at Cabify, so I know what the interviewer is expecting from me.\nI prepared for them by making a project matrix. For each project I worked on in my 3 previous companies, I wrote down:\nChallenges Mistakes What I enjoyed What was my role and what was my direct influence Conflicts What would I do differently This gave me plenty of samples to work through the interview questions. I think it is quite important to do this exercise beforehand so you can jump into the appropriate samples for each question.\nAlso, structure your answers using the S.T.A.R. method and be direct and concise. Your communication skills are being evaluated as well, and your interviewer does not want to hear a 45 mins monologue.\nThe interviews I interviewed with Google and Facebook during a 3 days span. I believe this was great, as after the preparation you want to get it done as soon as possible. Also, the outcomes and possible offers will happen at roughly the same time, which is something very good as you might end up with competing offers.\nI signed and NDA for both processes so I can not share a lot of specifics, but they were what you might expect: 5-6 interviews in total including coding, system design and people management/project management.\nI found both processes equally difficult on average.\nBoth companies look for technical expertise in their managers, so you need to perform good on the system design and the coding rounds.\nOutcome Things were pretty good on both loops, though the google coding round was not as good as I would have liked.\nOverall, the loop at Facebook was much quicker. Two days after the interviews I got the positive feedback from the recruiter, and I was able to have a chat with who would be my manager to discuss the projects, teams, etc. I got an offer a couple days later.\nGoogle has the Hiring Committee step, which usually takes a while and it is what determines the final outcome: offer, reject, or more interviews. My case was a little bit strange as I did the matching rounds before having the final outcome, but I guess that was because I had the competing offer and they wanted to move as quick as possible. After the matching rounds, my position was given to an internal candidate (I think this is quite normal), but I got an offer anyway. I just needed to wait for an opening to pop up.\nI felt super well throughout both processes. Recruiters were very nice, as well as the hiring managers and the interviewers.\nAlso, both offers were very good.\nAfter much (much much) deliberation I decided to join WhatsApp. The mix between the location, the team and the product feels just right.\nI can\u0026rsquo;t wait to get started!\n","permalink":"https://gragera.me/landing-a-job-at-facebook/","summary":"\u003cp\u003eI will be joining Facebook as an Engineering Manager on the WhatsApp Business team.\u003c/p\u003e\n\u003cp\u003eThe road until this moment has been tough, and I wanted to share my experiences throughout the process. This might help you out if you are thinking about interviewing at any of the FAANG companies.\u003c/p\u003e\n\u003cp\u003eOf course your mileage may vary, but this is what worked for me.\u003c/p\u003e\n\u003ch2 id=\"network\"\u003eNetwork\u003c/h2\u003e\n\u003cp\u003eI had the immense luck of working with some very smart folks during my career. Folks that ended up working in the aforementioned FAANG companies, which are in Linkedin, along with the recruiters from those companies.\u003c/p\u003e","title":"Landing a job at Facebook"},{"content":"I worked at a pretty big social network in Spain from 2009 to 2013. Tuenti peaked at roughly 16 million users and 25 billion page views a month, which was pretty insane back in the day. We made it to the Google Zeitgeist for a couple of years, and in 2011 it was estimated that 15% of the internet traffic of Spain was through Tuenti, more than Google and Facebook combined.\nThere was no Google Cloud (the app engine was launched in preview in 2008, but it was nothing remotely production ready) nor AWS.\nEverything ran in bare metal.\nSome days (usually after some weekend/holiday) we needed to configure frontend servers as image uploaders and image processors to be able to cope with the load. This was a manual process that was done on-demand, not a lot of elasticity at the time.\nNowadays the cloud is really, really convenient. Having the ability to spin up more computing instances when needed, with predefined docker images that will do the task you want them to do is amazing and has transformed the way we build digital products. It provides flexibility. It has made the market much more accessible (no need to buy or lease actual machines from your won pocket) and it is easier and much cheaper to try things out and see if they have any traction.\nEngineering teams: Specialist vs Generalist When building engineering teams, I want the same flexibility. I want to have engineers that are able to do many things, depending on what needs to be done at a given point in time. Sometimes you will need to push more in the apps, some other times in some backend services and some other time it will be the frontend.\nIt is very hard to anticipate the needs when building the teams. Every project is different, each part of the system moves at a different pace and the roadmaps are not written in stone. What your team planned to do in Q4 while being in Q2 tends to be different to what your are really going to do in Q4. We must embrace this as the reality.\nWhile having deep knowledge about a particular technology is very valuable (depending on the problem at hand), I am a firm believer of horizontal knowledge, specially when working at a startup. The ability to jump between codebases and problem spaces without worrying too much about the underlying technology is a blessing.\nAnd the wheel keeps spinning: the more you do this, the broader your knowledge of the system is, and the more you (or your team) can impact, as you will be able to go faster.\nElastic teams (slightly) mitigate one of the most common problems of companies at pretty much any scale, cross dependencies. Rather than asking whatever team to do something, you can get to an agreement on what needs to be done (this is really the biggest problem in the industry, communication) to solve your specific use case, and then execute on your own.\nManager / tech lead A manager/tech lead with a broader knowledge about different parts of the system and technologies (mobile and backend, for instance) is incredibly valuable as the lead will be able to empathize with the team, understand pain points, anticipate problems and provide much better insights.\nI am not telling that you should be a top iOS developer and a super specialist in building scalable distributed systems, but you should try to know your way around that, even at a basic level.\nHiring This is one of the trickiest parts. It is very hard to find people with this set of skills right off the bat, so you are better off hiring people that are willing to learn and then invest the time and money to make it happen.\nHire assessing values rather than a specific skill set is one of the best things I have learned to do in the past two years. Hire people that fits in the culture and values of your company and let them learn.\nLearning is the easy part most of the time.\nPS: The cloud also has downsides (what does not) but we are not here to talk about that.\n","permalink":"https://gragera.me/elastic-teams/","summary":"\u003cp\u003eI worked at a \u003ca href=\"https://en.wikipedia.org/wiki/Tuenti\"\u003epretty big social network\u003c/a\u003e in Spain from 2009 to 2013. Tuenti peaked at roughly 16 million users and 25 billion page views a month, which was pretty insane back in the day. We made it to the Google Zeitgeist for a couple of years, and in 2011 it was estimated that 15% of the internet traffic of Spain was through Tuenti, more than Google and Facebook combined.\u003c/p\u003e","title":"Elastic teams"},{"content":"Hi! I am Alberto Gragera, an engineering manager based in Zurich currently working at Google.\nBefore Google I worked at WhatsApp, Karumi (a small consultancy company that I co-founded) and Tuenti (the biggest Spanish social network ever). I started coding at 12, building forums and websites for fun, and never stopped.\nI care deeply about how teams work — the dynamics, the culture, the systems that make collaboration either soar or sink. Most of what I write here reflects that.\nYou can find me on Twitter and LinkedIn.\n","permalink":"https://gragera.me/about-me/","summary":"\u003cp\u003eHi! I am Alberto Gragera, an engineering manager based in Zurich currently working at Google.\u003c/p\u003e\n\u003cp\u003eBefore Google I worked at WhatsApp, \u003ca href=\"https://karumi.com\"\u003eKarumi\u003c/a\u003e (a small consultancy company that I co-founded) and \u003ca href=\"https://tuenti.com\"\u003eTuenti\u003c/a\u003e (the biggest Spanish social network ever). I started coding at 12, building forums and websites for fun, and never stopped.\u003c/p\u003e\n\u003cp\u003eI care deeply about how teams work — the dynamics, the culture, the systems that make collaboration either soar or sink. Most of what I write here reflects that.\u003c/p\u003e","title":"About me"}]