I’m an iOS dev and want to transition to backend. There are tons of runtime env, frameworks & languages. If someone is targeting Netflix, Facebook, Google. Where should they begin and what to learn? Any youtube channel, blog, book, course suggestions?
Hussein Nasser on YouTube is a fantastic backend engineering source where he goes deep on database technology, streaming and concepts you need to know in advanced backend engineering. Can not recommend him enough
Start by learning SQL, AWS lambdas and API gateway. Publish a rest api this way. This is the tip of the iceberg.
+1, lambda will force you into learning sqs or similar which is way better from a system design perspective than some monolith setup
Is’t Azure function the lambda of azure? I work on it a lot and I don’t see much deep understanding.. it’s pretty straight forward
Don't learn a framework, learn core principles. Server less architecture, microservoces, EDA, SOA, ect.
When you say targeting what do u mean ? Cracking their interviews or be a successful backend Dev there? If it’s cracking - then LC,Grokking and some cool hands on on SD should do. Else there are plethora of things and I believe you can learn along with projects too.
Assuming they won’t hire an iOS dev for a backend opening. Before applying I want to learn it and get some experience. What is SD?
System design.
Following this topic. I have worked on microservices, severless architecture, soa,api gateway,pl/sql, Java, complex event processing etc. I am grinding LC and DDIA. Am I in the right path?
Learn cloud patterns too.
Yes. Working on PaaS,SaaS,FaaS from last couple of years. Based on my work experience,what role should I target in FAANG? I haven’t done anything on distributed or cp. I have sound understating on load balancers, clusters,database design. I am ok with learning a new technology if required.
Distributed systems(DB, CAP, Caching, PubSub*), Scalibility blog, microservices patterns. And some general basics of K8, Docker. DSA interview would be same only system design might be more focused on scalibility and fault tolerance.
Focus on LeetCode and Grokking the system design interview. :-)