How to Transition from iOS Engineer to Distributed Systems Engineer?
I _think_ what I'm interested in now are distributed systems. The problems that interest me are the challenges of building systems that are efficient, correct, and can scale to millions of users. I have read a bunch of papers on the theoretical side of distributed systems, and it seems like it would be fun to work on these problems.
Ideally I would like to stay at my current company because of my unvested RSUs, and my company does have some open distributed systems engineer positions. I fear that I would currently be rejected outright because I don't have any work experience building distributed systems and so I need some way to demonstrate proficiency/potential. This is challenging because my current job is far removed from distributed systems.
Here is my current plan: - Set up 1:1 chats with hiring managers to better understand what their engineers do, and what they are looking for. Also ask them what I can do to improve my application. My company encourages these type of chats.
- Work on some distributed systems side-projects. Some ideas: Implement a simple form of Raft/Paxos, build a simple distributed key value store, multi-player load balanced game. I could also simulate traffic to demonstrate how well the system scales, and could try different approaches to see the perf impact.
Any other suggestions for how I can transition into a distributed systems engineering position?
6 comments
[ 3.8 ms ] story [ 29.2 ms ] threadhttps://pdos.csail.mit.edu/6.824/
Edit: I might have misinterpreted your comment. The actual architecture of scaling by adding more hosts is quite common, if you’re processing independent messages.