How do you break into Big Tech? Mr. Vinícius Fraga found out firsthand. Starting in IoT research at university in Brazil, he felt the pull toward creating something with “faster impact on people’s lives.” That drive led him from research labs to engineering roles at major big tech companies, where he’s spent years building systems that serve millions of users.
In this edition of Calculated Conversations, I dove into his journey from Brazil to London, exploring what it really takes to break into competitive big tech roles and thrive in high-stakes engineering environments. This conversation reveals the problem-solving mindset, resilience, and practical strategies that drive someone committed to building impactful technology at scale.
1. You moved from IoT research to big tech seeking “faster impact.” What was that transition like for you, and what advice would you give someone thinking about shifting from a research path to an industry role?
There is more than one difference between research and the industry, but I would like to focus on the one which stands out to me: maintaining production services with actual customers. Which is what I was looking for, right? But it’s one thing to write a proof of concept or have simulations running on a server in the back of a university room. It’s very different to have thousands of people relying on your software and expecting it to work all of the time. To do that right, you need a series of things: security and privacy reviews, load tests, metrics, logs, dashboards, automated alarms, runbooks for emergencies, and rollback mechanisms. You need someone on-call at all times. The first time I was on-call for big tech, I got paged at 2 am and had to stay up until about 4 mitigating an issue. That was when I realized things got real. Getting used to that can take some time, and can also be scary and stressful at first.
My advice for someone moving from the academy to the industry is to make the most out of your onboarding period. Because you are doing a career transition of sorts, you might feel anxious to deliver as soon as possible and prove that you can get the job done. Resist that urge and take your time to go through all the training, to build as solid a foundation as you can in the internal tech stack. And do ask for help when in need. It’s best to ping someone (or even page them if it is an emergency) when you are stuck than to waste time trying to figure everything out yourself.
2. Landing a role at a top big tech company is a dream for many. What skills or experiences do you believe were most crucial in helping you secure positions in these highly competitive environments, and what’s a general aspect of their engineering culture young engineers should know about?
The most important skill you need is problem-solving. Languages, frameworks, and tools don’t really matter to get a job at big tech (although you will need CS knowledge like algorithms and data structures to solve most of the problems). Focus on the problem you are trying to solve, and make sure you understand it before jumping to a solution. If you don’t, everything will fall apart. Let me expand a little bit here: a “problem” can be a coding question, a system design question, or even a question in a behavioural interview. I’ve seen multiple experienced people fail behavioural interviews because they did a poor job at answering what was asked, digressing into tales full of irrelevant technical details instead. Know what you are solving.
But, to get to that stage, you need an interview first. The two best ways to get an interview at Big Tech are when one of their recruiters reaches out to you, or with a recommendation from an employee. All the interviews I got were through recruiters who reached out to me on Linkedin. But I’ve referred people myself and can confirm they do reach out to referred candidates in a couple of days. So if you are interested in a role and you know someone who works at the company, ask them for a referral instead of applying on the website.
With the interview secured, you need to prepare. There is plenty of material online about how to practice for these interviews; for me what worked best was to do coding questions every day, write down answers for common behavioural interview themes, and solve system design problems. Basically do everything you are likely to do during the interview, as close as possible to the real thing.
About the engineering culture, it depends on the company. Some will have more or less structure around things, move faster or slower, and have more or less meetings. Overall, what these companies have in common is that they are full of smart people and feedback plays an important role. If you get into one, expect people to review and give feedback on your work. Expect them to be direct and point out flaws and mistakes. It’s bound to happen. Just remember it’s not about you, it’s about doing what’s best for the business and the customers.
3. You’re passionate about areas like distributed systems, DevOps, and security. For students and young engineers figuring out their path, why might one of these fields be a particularly exciting or valuable area to dive into for a future-proof tech career?
I would say security is the most future-proof area, especially with the rise of AI-generated code. That said, I don’t think distributed systems or dev ops are going anywhere as big tech still has thousands of physical and digital resources to manage and orchestrate. People will still have to know how to design such systems and deploy them in reliable, replicable, and auditable ways.
The interesting thing about security though is that the work never ends. Software, whether written by people or generated, is never perfect. There are always vulnerabilities and bugs. And it keeps changing, which means new bugs and vulnerabilities are introduced. With the current tendency of people using AI to generate code, sometimes even non-technical people, the attack surface is going to increase to unseen levels. I expect the demand for security professionals to increase one way or another: either because companies are building faster and need more security experts to keep shipping as safely as possible, or because they will suffer losses from security breaches and will be forced to hire security teams.
4. Engineers in big tech often tackle incredibly complex, large-scale challenges. Without discussing specific company projects, can you share your general philosophy or a key strategy for breaking down and solving really tough technical problems?
Focus on the business problem being solved. And notice that I said business problem. Why are you about to build this thing in the first place? The problem statement of any design document is arguably the most important part of it and the first thing to get right. When it comes to building large-scale systems, there are often many moving pieces to deliver the required functionality while addressing non-functional requirements. It gets trickier the larger the system has to be: trade-offs come in like availability vs consistency, performance vs maintainability and cost. If you get the problem wrong, i.e. you are addressing the wrong requirements, chances are you will make bad trade-off decisions and build the wrong thing. Is eventual consistency acceptable? Do we need read-after-write consistency? How long can a search query take for it to still be useful to customers? How long after the write should the data be consistently available? What are the availability expectations? Should failed tasks be re-processed? Do they ever become irrelevant? This kind of question will help shape the system architecture.
Also, an interesting tool when you have an idea of a solution to something that hasn’t been solved before is to write a proof of concept, so that you can have at least some data to validate the approach.
5. Your international career journey, from Brazil to working in big tech in cities like Cape Town and London, is very inspiring. What’s one crucial piece of advice, perhaps about a key decision you made or a skill you focused on, for young engineers aspiring to build an impactful, global tech career?
Don’t be afraid of failure. In fact, expect to fail. I failed many interviews and passed others. Big tech is hard, the interviews and the work. Failure is a part of the process; the best you can do is to learn from it and keep going. Resiliency is crucial to build a career in tech. Especially if you want to live abroad because guess what, that is also hard. It can be lonely, isolating, and confusing, as you try to assimilate the culture of a different country. But what I mean by resiliency here is not to portray yourself as if nothing can take you down, or try to be immune to feelings or whatever. It is to have patience, to give yourself time, to absorb feedback, and try again.
After this conversation with Mr. Vinícius Fraga, one thing stands out: success in big tech isn’t about knowing every framework or having perfect code. It’s about understanding the problem you’re solving and being resilient enough to learn from failure. His path from research to senior engineering roles wasn’t built on shortcuts; it was built on embracing the complexity and never being afraid to ask for help when stuck.
Leave a Reply