I am moving from Amazon/AWS to join a non-profit startup Dfinity. My last day was Friday 1/22/21 and my first day will be Monday 1/25/21. No rest for the weary as they say.
As I sit here though on a Sunday afternoon in an almost liminal space between the two jobs, trying to write this post on the transition between the companies, it just feels surreal. Maybe it's the unnaturally cloudy sky, the broken glitchy monitor I'm typing this on, combined with the odd circumstances of departing in the midst of a pandemic while my career at AWS was at a steep upwards trajectory. It all nearly doesn't make sense. To that end, let's dive into a brief summary of my career at Amazon, where I was at before I left, why I left, and what I intend on doing moving forward. Hopefully through trying to write everything in a post, I can also gain some sense of closure.
I joined Amazon originally as an intern in the summer of 2017. There I worked on forecasting demand for rapid replenishment businesses (PrimeNow, Fresh, Bookstore, etc.) and received a return offer. I returned in the summer of 2018, but with a slight wrinkle, I had graduated a year early and was interning, as a graduated senior. It was a slightly confusing situation, but I enjoyed the experience all the same, working on big data ingestion into a centralized Amazon data lake. I returned in January 2019 to that team and worked there until about June.
In June, I transferred to AWS EBS , following an excellent manager I had that had mentored me through my internship and through full-time up until 3 months before my transfer when he left to EBS to start a new team. There my scope grew tremendously and I had the opportunity to help establish a new team, set our sprint/team practices, lead the development on some of our initial products. Due to this work and autonomy, I was promoted to SDE II in March 2020. After that I doubled down on my growth, independently delivering components, leading cross-team initatives, and being actively involved in design meetings, both proposing my own and giving feedback to others. I became an advocate for certain positions I believed in and in general became much more vocal about giving my opinion.
This change and growth were leading me to be in the conversation for another promotion. At this point, I had one major hole to work on, which was growing other engineers and sharing my knowledge. I had the impact in the org, I had the support. I just needed to continue my performance and add that next level of mentorship along with scaling my impact beyond myself. I had the perfect opportunity too since in 2021 we would be starting a very ambitious new project which would impact the way the whole org works potentially. Yet in the face of all this, I decided to leave.
While the year was wrapping up, I got reached out by Dfinity. To be clear, I often get communications about different initiatives and I even take some of them just to see whether there are any really interesting opportunities out there. Until that point, no opportunity had interested me enough to interview. Dfinity's did. A non-profit startup that was taking on the cloud market through creating a decentralized cloud which would be powered by independent datacenters.
That's definitely a mouthful! Pre-pandemic I was going to various conferences with some friends and what struck me were all the different crazy blockchain companies. I joked that we could probably pitch an AI blockchain cloud company that could scale and get funded.
The difference was Dfinity was dead serious. They had created a new language (Motoko), had a test net up and running, had custom hardware nodes, and had a strong team with cryptographers, researchers, and engineers. Being very interested in the cloud and distrubted systems, I decided to talk to the recruiter learn more, and ultimately interviewed with the company. After a set of very interesting interviews, I received the offer.
At this point I had a decision to make. I knew I was getting close to the next level since I was getting a lot of hints from my management chain about that. I also knew that I was very interested in the overall idea of Dfinity, the technical challenges, and some of the ethos behind the project.
Building a decentralized cloud isn't easy, there are challenges to tackle in performant consensus across machines, maintaing security in the face of hackers trying to compromise the network, autoscaling, network connectivity across machines, creating a good developer experience, and so much more! In addition, there's the added challenge of going against entrenched players in the industry that have years of experience and huge numbers of staff working on their initiatives.
Another aspect was the ethos behind the project. They don't shy away from going against traditional technology in terms of hosting, considerations when building, and even developer experience. The vision is for an internet people can build on top of with much lower amounts of platform risk instead of the current status quo. Will this vision and ethos be realized, only time will tell.
That brings me to the decision. I chose to take the offer and join Dfinity. One aspect it came down to was the learning opportunity. I want to learn what it takes to build a cloud from the ground up, and not just any cloud, but one where anyone can plug in a node and potentially join the network. This results in far more considerations than a typical cloud where the datacenters are owned by the company.
Another portion is the ethos and the vision. It's bold and demands a lot from the team, but that's the type of thing I'm looking at working. Even if the endeavor fails, I think I'll still be proud to have worked there and play some role in attempting change. I do think though that it does have a good shot at success and does offer some interesting values to entrepreneurs and customers.
Finally, titles and promotions, while impressive and helpful in landing jobs as well as increasing comp, are not what I'm chasing. A title helps define the value one brings to the org. It does not define who that person is. The title would help me gain a lot of incredibly useful experiences such as interacting with senior leadership, sitting in org strategy meetings, and getting involved in general at a much higher level which would help expand my perspectives and skills to work at a layer above just executing at technical projects. That said, I think I'll definitely get there eventually. I'm in no rush to get there, and conversely, I am in a rush to gain technical experience. I want to broaden my knowledge and experiences by trying things that are interesting to me and which are valued by the industry at all (which cloud most definitely is).
I suppose the conclusion is oftentimes there are no right decisions to make, only different tradeoffs. I made a decision to take my career in a certain direction. Will it pay off or will it set back my career? Will I continue to learn and grow rapidly or will I get comfortable. Time will tell! In the end though, I am just incredibly grateful to the opportunities that I've been given. My team was fantastic, management team incredible, and we just overall worked fantastically together to deliver incredible value to our customers. Thanks to these kinds of experiences, I am the developer that I am today. Looking forward, my main goals are to use my skills to create an impact, expand what I know, and grow as a person as well as a leader.